Bug Report - (batched option & tensor shape)

Description
I have met some bugs while running python example.py
1. batched problem
If setting batched=True at algorithm.py: 105 by default in your code, the exception below raised:
Traceback (most recent call last):
  File "/data/sdb/sunyuhan/exp/lorahub/example.py", line 239, in <module>
    main()
  File "/data/sdb/sunyuhan/exp/lorahub/example.py", line 211, in main
    module_weights, model, tokenizer = lorahub_learning(lora_module_list=modules,
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 264, in lorahub_learning
    dataset = load_dataset(example_inputs, example_outputs, tokenizer)
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 103, in load_dataset
    processed_datasets = dataset.map(
  File "/root/miniconda3/lib/python3.10/site-packages/datasets/arrow_dataset.py", line 2092, in map
    return self._map_single(
  File "/root/miniconda3/lib/python3.10/site-packages/datasets/arrow_dataset.py", line 518, in wrapper
    out: Union["Dataset", "DatasetDict"] = func(self, *args, **kwargs)
  File "/root/miniconda3/lib/python3.10/site-packages/datasets/arrow_dataset.py", line 485, in wrapper
    out: Union["Dataset", "DatasetDict"] = func(self, *args, **kwargs)
  File "/root/miniconda3/lib/python3.10/site-packages/datasets/fingerprint.py", line 411, in wrapper
    out = func(self, *args, **kwargs)
  File "/root/miniconda3/lib/python3.10/site-packages/datasets/arrow_dataset.py", line 2469, in _map_single
    batch = apply_function_on_filtered_inputs(
  File "/root/miniconda3/lib/python3.10/site-packages/datasets/arrow_dataset.py", line 2361, in apply_function_on_filtered_inputs
    validate_function_output(processed_inputs, indices)
  File "/root/miniconda3/lib/python3.10/site-packages/datasets/arrow_dataset.py", line 2340, in validate_function_output
    raise TypeError(
TypeError: Provided `function` which is applied to all elements of table returns a `dict` of types [<class 'torch.Tensor'>, <class 'torch.Tensor'>, <class 'torch.Tensor'>]. When using `batched=True`, make sure provided `function` returns a `dict` of types like `(<class 'list'>, <class 'numpy.ndarray'>)`.

Solution : set batched=False:
processed_datasets = dataset.map(
    preprocess_func_with_tokenizer,
  ->batched=False,
    num_proc=1,
    desc="Running tokenizer on dataset",
)

2. padding problem
All the padding value is True currently, and the exception below raised:
Traceback (most recent call last):
  File "/data/sdb/sunyuhan/exp/lorahub/example.py", line 239, in <module>
    main()
  File "/data/sdb/sunyuhan/exp/lorahub/example.py", line 211, in main
    module_weights, model, tokenizer = lorahub_learning(lora_module_list=modules,
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 279, in lorahub_learning
    recommendation = optimizer.minimize(get_score_partial, verbosity=1)
  File "/root/miniconda3/lib/python3.10/site-packages/nevergrad/optimization/base.py", line 671, in minimize
    result = job.result()
  File "/root/miniconda3/lib/python3.10/site-packages/nevergrad/optimization/utils.py", line 137, in result
    self._result = self.func(*self.args, **self.kwargs)
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 165, in get_score
    loss = get_loss(example_dataset, model, batch_size)
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 127, in default_get_loss
    for _, batch in enumerate(train_dataloader):
  File "/root/miniconda3/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 633, in __next__
    data = self._next_data()
  File "/root/miniconda3/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 677, in _next_data
    data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
  File "/root/miniconda3/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 54, in fetch
    return self.collate_fn(data)
  File "/root/miniconda3/lib/python3.10/site-packages/transformers/data/data_collator.py", line 70, in default_data_collator
    return torch_default_data_collator(features)
  File "/root/miniconda3/lib/python3.10/site-packages/transformers/data/data_collator.py", line 136, in torch_default_data_collator
    batch[k] = torch.tensor([f[k] for f in features])
ValueError: expected sequence of length 81 at dim 2 (got 90)

Solution : set all paddings in algorithm.py to 'max_length':
inputs = tokenizer(
    dataset["input"][i : i + batch_size],
    max_length=2048,
    return_tensors="pt",
  ->padding='max_length',
).to(device)

3. tensor dimension problem
The shape of input has now became [5, 1, 2048] due to the modifies before:
(Pdb) p batch['input_ids'].shape
torch.Size([5, 1, 2048])

And it will cause shape error:
Traceback (most recent call last):
  File "/data/sdb/sunyuhan/exp/lorahub/example.py", line 239, in <module>
    main()
  File "/data/sdb/sunyuhan/exp/lorahub/example.py", line 211, in main
    module_weights, model, tokenizer = lorahub_learning(lora_module_list=modules,
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 280, in lorahub_learning
    recommendation = optimizer.minimize(get_score_partial, verbosity=1)
  File "/root/miniconda3/lib/python3.10/site-packages/nevergrad/optimization/base.py", line 671, in minimize
    result = job.result()
  File "/root/miniconda3/lib/python3.10/site-packages/nevergrad/optimization/utils.py", line 137, in result
    self._result = self.func(*self.args, **self.kwargs)
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 166, in get_score
    loss = get_loss(example_dataset, model, batch_size)
  File "/data/sdb/sunyuhan/exp/lorahub/lorahub/algorithm.py", line 131, in default_get_loss
    outputs = model(**batch)
  File "/root/miniconda3/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/miniconda3/lib/python3.10/site-packages/peft/peft_model.py", line 1080, in forward
    return self.base_model(
  File "/root/miniconda3/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/miniconda3/lib/python3.10/site-packages/transformers/models/t5/modeling_t5.py", line 1678, in forward
    encoder_outputs = self.encoder(
  File "/root/miniconda3/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/miniconda3/lib/python3.10/site-packages/transformers/models/t5/modeling_t5.py", line 986, in forward
    batch_size, seq_length = input_shape
ValueError: too many values to unpack (expected 2)

Solution : squeeze the unused dimension at algorithm.py:128:
with torch.no_grad():
    device = "cuda" if torch.cuda.is_available() else "cpu"
    for _, batch in enumerate(train_dataloader):
      ->batch = {k: v.squeeze(1).to(device) for k, v in batch.items()}
        with torch.no_grad():
            outputs = model(**batch)
        loss = outputs.loss
        train_loss += loss.detach().float()

Summarization
All the bugs maybe caused by setting batched=False, but I can not set the batched=True due to unknown reason. And after above 3 modifies I can successfully run the example.py.

@sunyuhan19981208 Since our codebase is hosted on several demo spaces and it works well, I do not think there should be some bugs on the codebase itself. Can you check your environment at first? Maybe the datasets lib does not support the batched option?

@SivilTaram This is my datasets lib:
#pip show datasets
Name: datasets
Version: 1.17.0
Summary: HuggingFace community-driven open-source library of datasets
Home-page: https://github.com/huggingface/datasets
Author: HuggingFace Inc.
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /root/miniconda3/lib/python3.10/site-packages
Requires: aiohttp, dill, fsspec, huggingface-hub, multiprocess, numpy, packaging, pandas, pyarrow, requests, tqdm, xxhash
Required-by: FlagEmbedding, lorahub

@sunyuhan19981208 Below are the environments we can run the code:
Name: datasets
Version: 2.13.1
Summary: HuggingFace community-driven open-source library of datasets
Home-page: https://github.com/huggingface/datasets
Author: HuggingFace Inc.
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /mnt/home/liuqian/miniconda/envs/lorahub/lib/python3.9/site-packages
Requires: aiohttp, dill, fsspec, huggingface-hub, multiprocess, numpy, packaging, pandas, pyarrow, pyyaml, requests, tqdm, xxhash
Required-by: evaluate

@SivilTaram Thank you!!!!! pip install datasets==2.13.1 works for me.


[stable/redmine] Update Redmine dependencies

Signed-off-by: juan131<EMAIL_ADDRESS>What this PR does / why we need it:
This PR updates Redmine so it uses the latest major version of PostgreSQL as dependency.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] title of the PR contains starts with chart name e.g. [stable/chart]

/assign @tompizmor @carrodher

/lgtm


RAG: Integration with AutoGenStudio

Fantastic work.  I was able to successfully vectorize my markdown docs, search them, and add the skill to agstudio, but am stuck on the last tiny step--how to configure the agent to use this rag in conjunction with a model.  3 or 4 sentences here would go a LONG way to help us understand how to stitch together the last mile.

I've checked out the setup, and it looks like the key step is to ensure the AI knows where to access the index for the RAG skill. Here’s how to do it:
For example, if you're instructing the AI, your input might look something like this:
"Use the RAG skill to retrieve documents related to 'XYZ'. Use the index located at the following path: '[Index Folder Path]' for document retrieval."

Replace [Index Folder Path] with the actual path to the index on your system.
Remember, you don't need to change anything in the code itself for this; just input the correct path when prompting the AutoGen Studio agents.
Feel free to reach out if you have any questions or need further assistance!

I'm going to fix the code, so the index path is used automatically without the need to prompt.

I've made some improvements to the skill based on the feedback received. Thank you for your valuable input!
To ensure the skill works seamlessly for your specific use case, please make sure to update the path to the index folder in the configuration section before adding the skill to your project. Here's the relevant snippet for clarity:
# Configuration - Users/AI skill developers must update this path to their specific index folder
# To test with sample data set index_folder to "knowledge"
CONFIG = {
    "index_folder": "path/to/your/knowledge/directory",  # TODO: Update this path before using
}

This small but crucial step will ensure the skill can access your index correctly and function as intended. If you're testing with sample data, you can simply set index_folder to "knowledge" to get started.
Thanks again for your support and feedback. It's greatly appreciated and helps make the skill better for everyone!

there was already a place in the code to edit the path and the README.md had instructions on how to set it

Issue I have now is it errors out when calling the RAG with this error:
 File "C:\Users\xyzzy\miniconda3\envs\ag\Lib\site-packages\httpx\_transports\default.py", line 84, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.

The gist of my question is what is the config for a minimal configuration of this in autogen studio.  I assume 1 skill that contains the contents of document_retriever.py.  But what about Agents and Workflows?  Two Agents or Group Chat?  Simple instructions for minimal setup for working example in RAG would be super helpful!

Thanks for the details. I've configured "Two Agent workflow" one agent specifically for testing this skill, setting it up to use the document retriever skill exclusively. It's clear that the primary issue we've encountered revolves around specifying the correct knowledge path. If it's not provided correctly in the prompt, that seems to lead to errors, which might be similar to what you're experiencing. Hopefully, this addresses your question.

hi @madtank , as @fil512  suggested, we would need some instructions to make it work, maybe a video tutorial is the best option, have you walked all this long journey to not ending it well? :)

@micuentadecasa  wondering what part you are stuck on? I did update the README and got @fil512 working fine. There is a video posted in the autogen discord channel.

thanks @madtank , I will check the discord channel.

@micuentadecasa cool. Let me know if I can help. I remember on Windows it needs the path to escape backslash, so it requires two like C:\rag\knowledge.

Many thanks @madtank  for your support.
Regards.


Add retry to cleanup

Issue:

Problem

Solution

Testing

Engineering Testing
Manual Testing

Automated Testing

QA Testing Considerations

Regressions Considerations

@igomez06 sure!


Review website builder functionality

Detail
Linked to #16, in order to understand the best method for designing the website we should understand what is possible, and cost implications of different providers.
This includes understanding whether we can pay for e.g. 5 years of hosting before the end of funding in March.
Providers include:

[ ] ReadtheDocs
[ ] Jekyll
[ ] Wordpress
[ ] Webflow/Wix similar

Any others?
Who can help
@Davsarper

Covered in #16


[QUESTION]: how to update workflow parameter value with a task output?

I have such requirements:

at the start of the workflow, I need to  put some common parameters (such as journal number, current timestamp, etc) into workflow parameters.  These workflow parameters should be generated by program fraction,  not from input.

Maybe some workflow parameter should be updated by some tasks in some cases .

Can somebody please help to tell me how to make above happen?
Thanks in advance.

Hi @ladenjet ,
For 1. The workflow input can be in the form JSON and that JSON can be dynamic. So we can add dynamic attributes.
For 2. Since tasks are updating these params we can have task output to generate these params and all subsequent tasks can use these params.

Hi @ladenjet , For 1. The workflow input can be in the form JSON and that JSON can be dynamic. So we can add dynamic attributes. For 2. Since tasks are updating these params we can have task output to generate these params and all subsequent tasks can use these params.

Thanks for your reply.
But my point is :

how to add workflow parameters by program, not by input?
how to update workflow parameter value by a task?

You could use set_variable task for this. Instead of setting workflow inputs you set workflow.variables and then access it in future steps.
https://netflix.github.io/conductor/reference-docs/set-variable-task/

You could use set_variable task for this. Instead of setting workflow inputs you set workflow.variables and then access it in future steps.
https://netflix.github.io/conductor/reference-docs/set-variable-task/

Thanks.  I have read it.
but take the following task definition for example,
the task set the value 'Orkes' directily to key 'name',  but in most cases, value should be generated by program, not from definition.
I mean, how to compose the variable set logic program....
{
      "name": "Set_Name",
      "taskReferenceName": "Set_Name",
      "type": "SET_VARIABLE",
      "inputParameters": {
        "name": "Orkes"
      }
    }

{
"name": "Set_Name",
"taskReferenceName": "Set_Name",
"type": "SET_VARIABLE",
"inputParameters": {
"name": "${othertask.output.mycomputedparam}"
}
}

Thank you all.


Label Values composite index

I see from this doc that we are going to have composite indexes. But it is still un-implemented.
@fabxc I am assuming this is a TODO item and you have not dropped the idea of a composite index.

Yes, this is a to-do that should be possible to add seemlessly at a later
point. The label value index interface shows support for it already.
It is useful for advanced autocompletion in Prometheus. For example, if we
want to suggest values for a certain label, it makes sense to only suggest
those that exist for the given metric name (name label). The composite
index provides the required lookup.
On Wed, Mar 29, 2017, 9:52 PM Goutham Veeramachaneni <
<EMAIL_ADDRESS>wrote:

I see from this
https://docs.google.com/document/d/13uK6HoEXzX67DuWsJ2PKo8zjpqlgpQ0SIHz2nvMa7f0/edit#heading=h.zzd5egnpdp5
doc that we are going to have composite indexes. But it is still
un-implemented.
@fabxc https://github.com/fabxc I am assuming this is a TODO item and
you have not dropped the idea of a composite index.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabxc/tsdb/issues/26, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEuA8iGyoy3yj2qwMCQVLMlMTxytn2b9ks5rqraOgaJpZM4MteST
.

@krasi-georgiev I was about to implement this in my GSoC. But as there were not many use cases with this, it was decided that we don't implement it for now.

yeah that is what I wanted to know.
Autocompletion sounds very useful so really surprising why it didn't get more interest.

Yes. Also @codesome has a branch somewhere that does this, I think (:


[apps] remove need for precompile package zips via usage of vagrant

Background
StreamAlert apps currently have some pre-packaged zips due to the need for natively compiled libraries in the lambda environment (shakes fist at cryptography lib). These are extracted as part of the lambda packaging process and injected into the other pip-installed OS independent libraries.
This is currently needed because we cannot guarantee that people are deploying from a Linux environment. For instance, if we did not have these packaged libs, and installed directly with pip, users on macOS would run into issues when their code runs in the AWS lambda environment.
The biggest problem with this is that it's very annoying to update dependencies when we need to, and requires some janky stuff. See the README.rst for apps.
Desired Change
Leverage the new vagrant stuff to build Lambda packages.
Notes

The vagrant environment would only need to be used for certain lambda packages, and we should create some sort of flag that says skip_vagrant (with the default being using vagrant to be safe). I think the only package right now that needs it is the apps function. This would probably speed up deploys of functions that do not have OS specific dependencies.

Regarding the above change - if (read: when) we move to a better management model, where the streamalert and streamalert_cli code is not stored with config / rules, we will want to the option to let users "toggle" the vagrant usage for any given function. This could be part of the cli deploy --function... command or otherwise, but would need to exist.

Another alternative is to consider using a docker container. This exact issue is one I've ran into when using an XML parsing library within a Serverless Framework Project using the Python Requirements plugin which allows you to "dockerize pip" during the packaging process.
Perhaps the user can have the option of using docker or vagrant?


wishlist: pep8 and/or pyflakes options for runtests.py

See the off-topic discussion in https://github.com/scipy/scipy/pull/3617.  The idea is to reduce the number of rage-commits required by the pep8 bot.

Makes sense to add to runtests.py all types of tests that will be run on TravisCI. So also the doc builds.

@rgommers could we use flake8 instead of pyflakes for this? It makes it easier to exclude files that you don't want to check.

could we use flake8 instead of pyflakes for this

either one is fine. actually I'm not sure this is a very useful thing to work on, simply flake8 scipy in the repo root does the job just fine.
I'd say PR welcome if anyone has a use for this, but no need to keep it open


Allow a user to issue root commands from ddev, fixes #918

The Problem/Issue/Bug:
Users are currently unable to issue commands within a container as root from ddev.
How this PR Solves The Problem:
This PR adds the --root/-R flag to ddev exec, which executes the commands as the root user. A new event hook, rexec, allows a user to define a hook command to be run as root, allowing for automated modifications of the standard container. Documentation on hooks and commands has been updated.
Manual Testing Instructions:
With a running ddev project, execute a command that requires root privileges with ddev exec. For example, ddev exec apt-get update should fail due to lack of permissions.  Execute the same command with root flags: ddev exec --root apt-get update.  The command will complete successfully.
Automated Testing Overview:
Simple test cases that confirm the --root flag provides a root user have been added.
Related Issue Link(s):
#918
Release/Deployment notes:

@andrewfrench Thanks for getting this PR in place! One question before a review by me/@rfay would be any issues related to the docker toolbox test failing.

It looks like either Randy's test configuration changes stabilized the Buildkite tests or it's a Monday miracle, but all the tests are giving us legitimate greens. I think this one's good for manual review.

That change to the container is an elegant solution that I'd support, but doesn't address the entirety of this PR.  Either way, a new hook command is needed to allow a command to be executed either with sudo or as root.
I don't have a ton of background information on this issue, but it sounded like there was a previous change that removed root/sudo access by default from the ddev ssh user — I want to make sure I'm not undoing intentional changes without understanding the reasoning.

Wouldn't the current exec hook just work, with people using sudo in the command?

As far as the background of running containers as the ordinary users, there are two major reasons:

host filesystem security on Linux. On Linux, the docker filesystem mount is native, meaning that a root user in the container can do amazingly nasty things on the host filesystem.
It also can (and has) resulted in file ownership that is just inconvenient.  If the webserver creates files with ownership of the www-data user, that comes through to the host with ownership that is really difficult to deal with, especially for more naive users.

Wouldn't the current exec hook just work, with people using sudo in the command?

Whoops, it would. I was imagining the sudo having to somehow come before the exec.

We've tentatively decided to go with the approach in https://github.com/drud/ddev/pull/935, so closing this one for now. If we think we should go back this way, we'll reopen.


Update README.md

no

means you run the command as root bruh

means you run the command as root bruh

Then add it bruh

Done (:

That's gonna increase the size of the file
Sticking with # is better. Those letters you added are bloat.

That's gonna increase the size of the file
Sticking with # is better. Those letters you added are bloat.

dude. duuuude. not everybody knows that # means to run as root (like me)

That's gonna increase the size of the file
Sticking with # is better. Those letters you added are bloat.

dude. duuuude. not everybody knows that # means to run as root (like me)

well you should learn it lol, everyone uses '#' to mean 'run as root'

well you should learn it lol, everyone uses '#' to mean 'run as root'

Yeah, even ik and I use chromebook.


Automatic conversions upon setting?

I would be interested if some parameter classes can automatically convert values to fit their type.
For example:
class Param(param.Parameterized):
    a = param.Boolean()

p = Param()
p.a = 3  # Generates an error. What about automatic conversion to True?

Would this be in line with the philosophy of param, or are there reasons for strict assigments and no conversion?

My personal opinion here is that automatic type conversion would work counter to param's type checking functionality. What we do do in places is convert arguments passed into a class constructor before passing it up the param.Parameterized via super. In other words, you can choose to promote types yourself if you wish without needing support for it at the param level...

Strict validation is very much part of the design for Parameters; the idea is to catch user errors immediately, rather than to hide them and make things continue to operate but with bogus values.  E.g. if someone were to supply "False" to a param.Boolean, right now that's correctly an error, but with automatic conversion would very confusingly result in the Boolean value True (as bool("False")==True).
In general, it's quite unclear what a user might mean by supplying "3" to a Boolean, rather than, say, supplying "bool(3)", where the intent is clear.
Of course, as @jlstevens indicates, one can always make a new subclass with different behavior.  E.g. you can make an AsBoolean class, which inherits from Boolean but overrides the validation so that the resulting value is always coerced into a Boolean.  Even though AsBoolean no longer verifies that meaningful input has been supplied, it still ensures that the result is Boolean, allowing downstream code to avoid further checking. Users can do this without needing any changes to Param; just declare subclasses as needed.
We could also consider having Parameters accept a flag in their constructor (coerce_inputs=True) that attempts a type conversion on such inputs, but it seems like this will need implementation in every such class, and I'm not sure it's worth the change to the codebase that would be required.  I'd have to see a very compelling argument for a set of important use cases that such a feature would enable.  So for now I'll close this, but feel free to reopen it if you can lay out a good case for where this would be generally useful.

Right, the answers make fully sense.


function app error (captured in log stream) when creating a function with function api manager

Repro steps.

Create a function app (consumption or app, the result is the same).
Attach to log stream (i'm using az client).

az webapp log tail --resource-group <resourcegroup> --name <name>
3. Create a function with function manager api. The json I'm sending is:
```json
{
  "config": {
    "bindings": [
      {
        "type": "timerTrigger",
        "direction": "in",
        "name": "timer",
        "schedule": "0 */3 * * * *"
      }
    ]
  },
  "files": {
    "run.csx": "#r \"System.Net.Http\"\r\n#r \"Newtonsoft.Json\"\r\n#r \"..\\shared\\AZFunctionsShared.dll\"\r\nusing System;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing Newtonsoft.Json;\r\nusing System.Net;\r\nusing System.Net.Http;\r\nusing System.Net.Http.Headers;\r\nusing System.Collections.Generic;\r\nusing AZFunctionsShared;\r\n\r\n\r\npublic static async Task Run(TimerInfo timer, TraceWriter log)\r\n{\r\n\r\n    var content = new StringContent(\"{\\\"Name\\\":\\\"Juanjo\\\",\\\"LastName\\\":\\\"Montiel\\\"}\", System.Text.Encoding.UTF8, \"application/json\");\r\n\tawait SharedLibrary.ApiCallerClient.PostAsync(\"http://somedir.azurewebsites.net/api/MeasureFunctionExecution/?functionName=test152&interval=3\", content);\r\n    log.Info(\"Called http://somedir.azurewebsites.net/api/MeasureFunctionExecution/?functionName=test152&interval=3 with data {\\\"Name\\\":\\\"Juanjo\\\",\\\"LastName\\\":\\\"Montiel\\\"}\");\r\n}"
  }
}

The result returned is
HTTP/1.1 201 Created
And the function is present in file system and is executed.
However, in the log stream, I see:
2018-02-10T12:45:35    Error occurred, type: error, text: Function (test152) config does not exist or is invalid, stackTrace:    at Kudu.Core.Functions.FunctionManager.d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Kudu.Services.Functions.FunctionController.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Threading.Tasks.TaskHelpersExtensions.d__3`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()
2018-02-10T12:45:35    Outgoing response, type: response, statusCode: 404, statusText: Not Found, Server: Microsoft-IIS/10.0, x-ms-request-id: 284b54ec-48a0-4181-8b6a-772ea8c2ec2a, Cache-Control: private, X-AspNet-Version: 4.0.30319, Content-Type: application/json; charset=utf-8
The function is create successfully and runs... but if I try to create, for example, 300 trigger functions with this API, the previous created functions runs slow (if I scheduled them each three minutes, during other functions creation this time may increase up to five or six minutes).
Even in one of my tests, while creating functions with the API, the application ended up blocking and the functions do not longer executed, but I don't know if the above error may be causing the application to stop responding or is another strange thing.
Regards,
Juanjo.

A quick look at functionController https://github.com/projectkudu/kudu/blob/1c964466b760e367c34da9026cbfa24f089f6681/Kudu.Services/Functions/FunctionController.cs#L63-L76 it seems that if there's an issue during creation, Kudu will not return HttpStatusCode.Created
The error you are seeing could be caused by other APIs (which justify why the function still runs) ie: simply try to get function.json
https://github.com/projectkudu/kudu/blob/1c964466b760e367c34da9026cbfa24f089f6681/Kudu.Services/Functions/FunctionController.cs#L95-L100
maybe it was called when function is not fully created? I not am sure, but if you can share you app name I can take a look at the logs

Hi,
I just discovered the error reason.
Before create a function, I check if it exists or not, calling to /api/function/function_name.
This call (in case of function does not exists) is which causes the error. I thought that managed exceptions would not appear on the console :$
Is it normal a call to /api/function/non_existing_function causes the mentioned error? Could this error cause some kind of instability in the container?
If yes, What is the best way to determine whether a function exists?
IN order to avoid error, I'm getting a function list and check if the function name exists inside results, but this operation spends more time tan call to function  endpoind directly and check status code.
Thanks!

Seems like a bug that it returns an error. But still, the http code is 404, no? That should be enough to tell you it doesn't exist.

Yes, of course. In fact, it is I was doing. I only want to know if this error might cause a system unstability (and for now is better to use the function list), or the error does not matter and I can continue using the function endpoint to determine if it exists.
Thanks for your quick response!

It is ugly, but will not cause instability.

there is another option: you can use file system api:

https://{webapp_name}.scm.azurewebsites.net/api/vfs/site/wwwroot/{function_name}/function.json

it will return 404, and kudu will not append exception:
https://github.com/projectkudu/kudu/blob/1c964466b760e367c34da9026cbfa24f089f6681/Kudu.Services/Infrastructure/VfsControllerBase.cs#L62

Hi
If the problem persists and is related to running it on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request
This way we can better track and assist you on this case
Thanks,
Joaquin Vano
Azure App Service


Any alternative which is not deprecated

Can anyone share any alternative which is not deprecated similar to 0xproject

More complicated but Moralis has tutorial videos up for making both DEX and NFT marketplace on their platform.


No print-export.sketchplugin in zipped folder

There's no print-export.sketchplugin in zipped folder.

As explained in the README, the zip files are available for download in the Releases tab.
The latest version can always be downloaded at this URL: https://github.com/sketch-hq/print-export-sketchplugin/releases/latest/download/print-export.sketchplugin.zip

Who the heck reads the README!?


Add images and steps for release task agents

Added images and steps notating which agent to use for phases under release tasks.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: JuliaHazelwood sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Updated steps after doing the lab and not knowing which agent should be used.

Hi Julia,
Thanks for your suggestions. We will do this change in the Azure DevOps Demo generator template itself.
Thanks


resolveField seems to always have empty $args

I'm trying to use the resolveField of my custom type to hydrate some fields.
My use case is that the user can specify in an argument a mutator for that hydration.
Simple test schema:
$queryType = new ObjectType([
    'name' => 'Query',
    'fields' => [
        'test' => [
            'type' => new ObjectType([
                'name' => 'Test',
                'fields' => [
                    'id' => [
                        'type' => Type::string(),
                    ],
                    'name' => [
                        'type' => Type::string(),
                    ],
                ],
                'resolveField' => function($value, $args) {
                    // $args = [];
                },
            ]),
            'args' => [
                'id' => [
                    'type' => Type::string(),
                ],
            ],
            'resolve' => function($parent, $args) {
                // $args = ['id' => 'one']

                $testList = [
                    'one' => [
                        'id' => 'one',
                        'name' => 'One',
                    ],
                ];
                return isset($testList[$args['id']]) ? $testList[$args['id']] : null;
            },
        ],
    ],
]);

Simple test query
query test {
    test(id: "one") {
        id
        name
    }
}

$args is an empty array, and I have no way to access the real arguments being passed from upstream. Not sure if I'm doing something wrong, but I can get the $args in every resolver except this one.

Not enough information to understand what's going on. What is your query? Did you try to reduce the case to only the failing field with arguments?

@vladar I updated the original post with a simple test

So why do you expect args in resolveField? There are no args for id or name field in the query, so there are no args in the resolver.

What do you mean?
$args = ['id' => 'one'] as per the comment on the resolve method. Why is it not on the resolveField as well? That's what I'm not understanding.

The following query will produce args on resolveField:
query test {
    test {
        id(myArg: "one")
        name(myArg: "two")
    }
}

resolveField is actually the same as resolve for each field, except it is moved to the type level. You use it like this:
'resolveField' => function(User $user, $args, $context, ResolveInfo $info) {
    switch ($info->fieldName) {
        case 'id':
          /* Here $args['myArg'] === 'one' */
          return $user->getId();
        case 'name':
          /* Here $args['myArg'] === 'two' */
          return $user->getName();
        default:
          return null;
    }
}

Related docs

I thought there would be some sort of inheritance going on or at least have a way to access the args further up the tree?   The reason is that exact same type can be used in different fields with different sets of arguments. Relying on parent arguments like this is a bad practice and will lead to fragile code.
But if you really, really need it, the only way you have right now is to pass them yourself via $context (setting them to context explicitly in the parent and reading in the child).

Makes sense and fair enough. Thank you for your help mate.   The reason is that exact same type can be used in different fields with different sets of arguments. Relying on parent arguments like this is a bad practice and will lead to fragile code.
But if you really, really need it, the only way you have right now is to pass them yourself via $context (setting them to context explicitly in the parent and reading in the child).

Is there any code example for how to modify and pass  $context ?

See http://webonyx.github.io/graphql-php/executing-queries/

context: Any value that holds information shared between all field resolvers. Most often they use it to pass currently logged in user, locale details, etc.
It will be available as the 3rd argument in all field resolvers. (see section on Field Definitions for reference) graphql-php never modifies this value and passes it as is to all underlying resolvers.

The context is yours to define and you can do anything with it. You pass it in through the initial execuctor call and every resolver receives the value.
Some libraries on top of webonxy default it to the authenticated user object, some others create a mutable class which simply serves as passing data from one part to the other; as suggested here.

I believe none of the examples in https://github.com/webonyx/graphql-php/blob/master/examples/00-hello-world/graphql.php use the executor 😅 but it's as simple as adding the value to the executeQuery call (it's the fourth, set to null here => https://github.com/webonyx/graphql-php/blob/master/examples/00-hello-world/graphql.php#L58 ) and in your resolver it's always the 3rd argument.


arm64 support (Librem 5 phone etc.)

This won't install on a Librem phone...
$snap install argos-translate
error: snap "argos-translate" is not available on stable for this architecture (arm64) but exists on other architectures (amd64)
This seems a very handy library and why does it not run on arm computers?

There isn't currently a snap build for arm, can you try installing from PyPI? If it's possible to run on arm currently is going to depend on if all of the dependencies support it.
A current major area of work is reducing dependencies to make porting to new platforms easier. I don't have a amd64 macOS port working yet but after that I want to run on arm64 and the M1 Mac.
If anyone wants to look into this I would really appreciate it, currently we rely on PyPI to load a lot of dependencies without much recourse if things break. Going forward I think we would be well served to wrangle these and just rely on CTranslate2 and SentencePiece which we can compile ourselves to any platform.

It might take a bit of work but with the new seq2seq sentence boundary detection system running on ARM is probably possible. The only dependencies needed are CTranslate2 and SentencePiece. I'm not sure if they distribute ARM binaries so you might need to compile them but it's only two dependencies. The GUI is written using PyQt and designed for desktops but you could probably get it to run on something like a Librem phone.

https://github.com/argosopentech/argos-translate/discussions/123

Regarding CTranslate2, see https://github.com/OpenNMT/CTranslate2/pull/355


losing styles and fonts when adding a new paragraph

Hi,  whats your recommendation to retain styles/fonts from previous paragraph if we do manage to insert a new para? or is there a better way to add new paragraphs that am missing?

Hi @senthil49 - hopefully this code will give you a starting point:
    // Listen for mount events
    ContentEdit.Root.get().bind('mount', function(element) {

      // Check the element attached is a text element
      if (element.type() !== 'Text') {
        return;
      }

      // Check the element is a paragraph
      if (element.tagName() !== 'p') {
        return;
      }

      // Check the element is a new (empty) paragraph
      if (element.content.length() > 0) {
        return;
      }

      // Get the previous node that supports content
      var previousElement = element.previousContent()

      // Check it's also a paragraph
      if (!previousElement || previousElement.tagName() !== 'p') {
        return;
      }

      // Apply the class and style attributes for the previous paragraph to the
      // new one.
      if (previousElement.attr('class')) {
        var classes = previousElement.attr('class').split(' ');
        for (var i = 0; i < classes.length; i++) {
          element.addCSSClass(classes[i]);
        }
      }
      element.attr('style', previousElement.attr('style'));

    });

The approach I've taken here is to listen for the mount event, determine if a new paragraph has been mounted, find the previous paragraph (if there is one) and then copy any styles for it over to the new paragraph.

great! thats helpful.

Hi @anthonyjb,
I have implemented the above solution, I had to take off this check  if (element.content.length() > 0) as it wouldn't work when the paragraph is split into two.
It works fine but the problem is that this 'mount' event is also being called on page load, which is unnecessarily copying styles to next p tags.
I only want this to be called when 'Enter' key is pressed.
At the moment I have created a flag like ContentEdit.Root.EnterPressed which is set being set in Text.prototype._keyReturn function, and the mounting code is wrapped within the if check. like:
// Listen for mount events
ContentEdit.Root.get().bind('mount', function(element) {
if (ContentEdit.Root.EnterPressed == true){
....
//do copying styles
....
//unset the enter flag
ContentEdit.Root.EnterPressed = false;
}
}
Can you please confirm if there is any better way of doing this?

Hi @mansooraziz,
So taking of the content.length() test will mean that when the editor starts you get styles copied between every paragraph in a cascading style (which I think is what you are describing).
Possibly a better approach is to consider overwriting the _keyReturn method for ContentEdit.Text to handle copying paragraph styles. However the approach you've stated is the only simple way around the issue I can think of currently.
I will have a look at this moving forward though because it would be a useful feature/behaviour to havein the ContentEdit library.

Hi @anthonyjb
Thanks for your reply,  I have update the _keyReturn method, can you please have a look if it's looks fine?

we just wanted to copy font and color and not classes and other styles from previous p tag might    have, like margin-top would not be good idea if we just want it to behave like new line.

`Text.prototype._keyReturn = function (ev) {
.....
....
..
var styleValues = this.getStyleValues(['font', 'color']); //copy selected styles from current P tag
element = new this.constructor('p', { style: styleValues }, tail);
..
....
.....
}
Element.prototype.getStyleValues = function (stylesToCopy) {
try {
var currentParagraphStyles = this.attr('style').split(';');
var stylesToApply = [];
currentParagraphStyles.forEach(function (style) {
style = style.trim();
stylesToCopy.forEach(function (styleToCopy) {
if (style.indexOf(styleToCopy) >= 0 && stylesToApply.indexOf(style) < 0) {
stylesToApply.push(style);
}
});
});
//we dont neeed margins to be added for new P tag unless it was requested in parameter
if (stylesToApply.indexOf('margin') < 0){
stylesToApply.push('margin: 0;');
}
	return stylesToApply.join(';');

} catch (err) {
	return "";
}

}`

There is another modification we had to do i.e. at the moment if user press enter more than once it doesn't allow creation of multiple lines ( i mean empty  tags), so we have added an option (ContentEdit.PRUNE_BLANK_LINES ) and modified whitespace check in _keyReturn as below
// Only add an empty paragraph if PRUNE_BLANK_LINES is not set
if (ContentEdit.PRUNE_BLANK_LINES && this.content.isWhitespace()) {
return;
}
But to make it work we had to take out .trim() from many places, because it trims all the empty  tags that we want to keep.
***It would be great if trimming empty  tags is configurable option. ***

Hi @anthonyjb, Thanks for your help so far.
Can you please take a look at mansoor's question?

Hi @senthil49 @mansooraziz please see this discussion on the topic of empty paragraphs here: https://github.com/GetmeUK/ContentTools/issues/298


Announcement: Scheduled Maintenance October 19, 2024

Search first

[x] I searched and no similar issues were found

Description
A scheduled maintenance window is planned for Saturday, October 19, 2024 starting at 8am CEST / 2am EDT / 1am CDT. During this time, access to services such as Liquibase websites and XSDs (for users on older versions of Liquibase) may be affected.
Any disruptions should be temporary, and are expected to resolve quickly.
Steps To Reproduce
--
Expected/Desired Behavior
--
Liquibase Version
No response
Database Vendor & Version
No response
Liquibase Integration
No response
Liquibase Extensions
No response
OS and/or Infrastructure Type/Provider
No response
Additional Context
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR (Thank you!)

Maintenance is complete.  If you experience any issues please reply here.


Custom Components not loading with .cjs extension

Thank you for providing such a great library.
I would like to report a minor bug related to custom components.
I followed the official documentation (https://www.streamsync.cloud/custom-components.html) to create a custom component.
After building, I got two files: templates.umd.cjs and style.css.

I placed these files under the extensions/ directory and checked in the builder, but the component was not displayed.
Next, I renamed templates.umd.cjs to templates.umd.js and launched the builder again. This time, I confirmed that the component was displayed correctly in the builder.
As a beginner, I might be mistaken, but I think there are two possible solutions:

Modify the loadExtensions function on line 5 of src/ui/src/core/loadExtensions.ts to also load .cjs files.
Change the build process to not generate files with the .cjs extension.

Please consider this issue. Thank you for your attention.
[Execution environment]
PC: macbook pro M3 pro
OS version: Sonoma 14.3
npm -v: 10.2.4

Thank you so much. It's very clear.
We missed this change when we change the declaration of package.json. Library Mode. When introducing "type": "module", it change the behavior of vite build (https://github.com/streamsync-cloud/streamsync/pull/373/files#diff-3bb5cacc1bc1cf9df685fd6f0f368991b94e557444a5639a52d5129d78cd1906).
package.json
{
	"name": "streamsync-ui",
	"version": "0.0.0",
	"type": "module"

We will have a look on that.

@Sanuki-073 thanks for reporting and helping Streamsync become better.
It's now merged in dev and it'll be released with the version.
@FabienArcellier Thanks for the research and the fix.

This issue has been fixed in version 0.6.0.


Better stack trace for RichExecution.from... and adds RichExecution.fromResult

Changes the internals of RichExecution fromHive, fromHdfs and fromEither to provide a more useful stack trace. The stack trace now shows the location that fromHdfs or fromHive where called. This closes #326.
Also adds fromResult.

I don't know, I like the extra stack trace accuracy, but I'm not sure that it will make day to day debugging any easier to add a generic error layer on top of the actual error message, and it's already hard to get all our users to look at the full exception chain.

There are 3 error cases:

msg In which case we return an exception with prefix plus message, so the only thing that has changed is that the exception has a more useful stack trace and the message includes a prefix.
msg plus exception We return an exception with prefix plus message and the original exception as cause. Again the only thing that has changed is the more useful stack trace and the prefix as part of the message.
exception This has changed the most. Previously we would return just the original exception. Now we create a new exception so we can get the better stack trace, set the prefix as message and set the original exception as cause.

When debugging I found it quite annoying that I couldn't see at least where in the Execution flow the error occurred.

Sure. Can we just change the exception case so that we add the original exception message to the new exception message, similar to the other two cases?

But we keep the original exception. It is the cause for the top level exception. Do you want to duplicate the message and have it at the parent level (with the prefix) and the child level without the prefix?

Yeah, exactly. I know it's duplicating the message, but I think it's going to make it a lot easier if the top level exception contains the actual error message.

Ok. I'll do that.

Awesome. With that change: :+1:

Done.

:+1: Looks good. The issues will still persist if we use just Execution.from. I am curious about how other scalding users cope with this.

We should probably discourage the use of Execution.from when an error is expected in favour of using Execution.fromResult.

@stephanh Do you mean Execution.fromFuture?


Vaadin 23: ERROR: Could not resolve "@vaadin/vaadin-element-mixin"

Hello,
i get this error with vaadin 23.2.6 on frontend-build:
2022-10-25 18:22:29.452  INFO 40244 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   : Error: Build failed with 14 errors:
2022-10-25 18:22:29.452  INFO 40244 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   : node_modules/@vaadin/flow-frontend/com/github/appreciated/app-layout/left/left-hybrid.js:12:27: ERROR: Could not resolve "@vaadin/vaadin-element-mixin"
2022-10-25 18:22:29.452  INFO 40244 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   : node_modules/@vaadin/flow-frontend/com/github/appreciated/app-layout/left/left-overlay.js:12:27: ERROR: Could not resolve "@vaadin/vaadin-element-mixin"
2022-10-25 18:22:29.452  INFO 40244 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   : node_modules/@vaadin/flow-frontend/com/github/appreciated/app-layout/left/left-responsive-double.js:12:27: ERROR: Could not resolve "@vaadin/vaadin-element-mixin"
2022-10-25 18:22:29.452  INFO 40244 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   : node_modules/@vaadin/flow-frontend/com/github/appreciated/app-layout/left/left-responsive-hybrid-no-app-bar.js:12:27: ERROR: Could not resolve "@vaadin/vaadin-element-mixin"
2022-10-25 18:22:29.453  INFO 40244 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   : node_modules/@vaadin/flow-frontend/com/github/appreciated/app-layout/left/left-responsive-hybrid-overlay-no-app-bar.js:12:27: ERROR: Could not resolve "@vaadin/vaadin-element-mixin"
What i'am doing wrong or is it a bug ?

Same problem with version 23.3.5

I just add the module with npm manually, as a workaround.


Redshift - keynames is not defined

Trying to insert item with redshift fails because of variable name error.
redshift.js (line 27)
if (keyNames.length == 1) {
should be:
if (keyProperties.length == 1) {

+1

+1;
Core functionality is broken. This should be prioritized;

Pull requests welcome, ideally with tests.


Add UTxOAssumptions abstraction to balanceTransaction interface

[x] BoundedAddressLength matters only for change generation, so let's embed it inside ChangeAddressGen.
[x] Bundle togetherTransactionLayer k ktype SealedTx and shared-wallet-specific arguments inside a new UTxOAssumptions record.
[x] Get CI fully green
[x] Remaining: look over doc comments for new abstractions in .Balance module

Overall strategy

Reduce type parameters of balanceTransaction. This PR changes it from era m s k ktype to era m changeState

Comments

Setup for #3765 where pairs of UTxO and UTxOAssumptions will be generated in both shelley, byron and shared wallet styles in the property tests.


get_user_info limitations

Hello, I was making a bot for the community in my country on Telegram.
Get user info has a limit when my account reached to fetch >30 people in-game profile, is there any solutions to bypass this? 🤔
errors:
genshinstats.errors.GenshinStatsException: 10101 Error (You can access the genshin game records of up to 30 other people)

huh, I didn't even know there was a limit like that. My guess is that this is Mihoyo's way of preventing people from spamming their API.
I think I might just add a way to set multiple cookies at once you can cycle between to make it possible to get multiple users. This will make it pretty annoying since you'll have to create multiple accounts but I can't think of any other solution.
Could you please let me know if you find out how long this ratelimit lasts?

huh, I didn't even know there was a limit like that. My guess is that this is Mihoyo's way of preventing people from spamming their API.
I think I might just add a way to set multiple cookies at once you can cycle between to make it possible to get multiple users. This will make it pretty annoying since you'll have to create multiple accounts but I can't think of any other solution.
Could you please let me know if you find out how long this ratelimit lasts?

I was thought the same, that's why I'm creating a bot. About how long ratelimit lasts is about 5 hours ago I have this problems, I'm about to wait until tomorrow is this ratelimit per-day or permanent.

huh, I didn't even know there was a limit like that. My guess is that this is Mihoyo's way of preventing people from spamming their API.
I think I might just add a way to set multiple cookies at once you can cycle between to make it possible to get multiple users. This will make it pretty annoying since you'll have to create multiple accounts but I can't think of any other solution.
Could you please let me know if you find out how long this ratelimit lasts?

I think I know how long this ratelimit lasts, I waited a day and it can get_user_info again.

Thanks, adding multiple cookies will be supported in genshinstats 1.4


Mysterious registry edits should be explained

The page would be improved if you could change this:
"From the desktop of APP1, open an administrator-level Windows PowerShell command prompt, and then run these commands:"
To this:
"From the desktop of APP1, open an administrator-level Windows PowerShell command prompt, and then run these commands to disable Internet Explorer Enhanced Security:"

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

ID: 7f3352c5-eef3-b0ca-0883-d1db6b38bafe
Version Independent ID: ff14cad8-a6a1-a397-4bb3-af62d823c006
Content: Password hash synchronization for your Microsoft 365 test environment - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/password-hash-sync-m365-ent-test-environment.md
Service: o365-solutions
GitHub Login: @JoeDavies-MSFT
Microsoft Alias: josephd

@robmacf You are correct on all counts! Updated and published. Thanks so much for letting us know.


Show history/log of offers and sales

Make a reverse-chronological list of all the activities in a text file so one can see most recent movements, not just a summary.

https://github.com/dblock/lost-robbies/commit/22b39939fcc817324ae899c44b09188dd3fd872e


Have an Author profile page based off of the author config, which includes the posts they've authored

Is your feature request related to a problem?
Nothing big, but I'll be creating author profile pages for each defined author within the doc site itself, and having a the author link point to that. But this feels like it'd be nice to have out of the box!
Describe the solution you'd like
It would be great to have these pages be auto-generated and as an option for where an author link goes to.
That way you can have a 'profile' built into the doc site itself, and being able to provide more details within the author schema so you can add as many external links as you'd like.
Describe alternatives you've considered
Haven't done anything yet, as I've just started getting things up and running today to use this for an internal docsite.
Additional Context
Thank you for creating so many useful plugins and integrations for Starlight!

Thanks for the feedback :raised_hands:
Author profile pages is not something that was on my radar so far. My very personal thought is that this may be a bit too much for a "small blog alongside a documentation" which is what the plugin is in the end. I think this could also be quite conflicting with the current way author links are handled as an author name would need to be a link to the author profile page. Accommodating this would require some options I assume for users to decide if they want to link to the author profile page or to the provided link for an author.
Of course, I will keep monitoring and would be happy to re-evaluate this if I get more feedback on this feature request.

Sounds good 👍
It would definitely add some more config options, but figured I'd bring it up since I'll probably implement this in some fashion myself and was seeing if you had any plans.

Small update to mention that author pages are now available since the version 0.13.0 of the plugin, e.g. this one.


Default imports

Motivation
It would be nice if there was a syntax for doing default import of modules. Many npm modules are distributed with the only export being the default export.
Proposed Solution
#[wasm_bindgen(module = "pi")]
extern "C" {
    #[wasm_bindgen(default_symbol)]
    pi: f64;
}

Alternatives
There may be another way to import a library such as pi, but I am new to wasm-bindgen and couldn't find anything in the docs that provides instructions.

I believe this should work with js_name = default, does that work for you?

Sorry, what would that look like syntactically? I tried this but it led to a syntax error:
extern "C" {
    #[wasm_bindgen(js_name = "default")]
    pi: f64;
}```

Have you tried using static pi: f64 perhaps?

Same problem here, also when trying to import a class (via type).

Okay, got this working for a class by adding js_class:
#[wasm_bindgen(module = "/mymodule.esm.js")]
extern "C" {
    type MyClass;

    #[wasm_bindgen(constructor, js_class = "default")]
    fn new() -> MyClass;
}


Better Roll Tables not working

I've just recently updated to 0.7.5, and am having an issue where the better table just can't roll either from a macro or from the table itself. I have also realized that this has been true since before I even updated to 0.7.x I get this error in the console when trying to roll from it
Uncaught (in promise) TypeError: (new DicePool(...)).roll is not a function     drawMany http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/core/brt-api-changes.js:22     rollManyOnTable http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/core/brt-builder.js:52     betterRoll http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/core/brt-builder.js:15     betterTableRoll http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/better-tables.js:49     onclick http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/better-table-view.js:79     enhanceRollTableView http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/better-table-view.js:79     _call http://<IP_ADDRESS>:30000/scripts/foundry.js:2426     call http://<IP_ADDRESS>:30000/scripts/foundry.js:2411     callOriginalFunction http://<IP_ADDRESS>:30000/modules/furnace/Patches/Patches.js:57     <anonymous> http://<IP_ADDRESS>:30000/modules/furnace/QoL/Debug.js:42     _render http://<IP_ADDRESS>:30000/scripts/foundry.js:4472     _render http://<IP_ADDRESS>:30000/scripts/foundry.js:5088     render http://<IP_ADDRESS>:30000/scripts/foundry.js:4404     render http://<IP_ADDRESS>:30000/scripts/foundry.js:5553     render http://<IP_ADDRESS>:30000/scripts/foundry.js:28692     _onUpdate http://<IP_ADDRESS>:30000/scripts/foundry.js:29251     entities http://<IP_ADDRESS>:30000/scripts/foundry.js:29229     _handleUpdate http://<IP_ADDRESS>:30000/scripts/foundry.js:29222     update http://<IP_ADDRESS>:30000/scripts/foundry.js:29203     update http://<IP_ADDRESS>:30000/scripts/foundry.js:29278     normalize http://<IP_ADDRESS>:30000/scripts/foundry.js:34133     _onNormalizeResults http://<IP_ADDRESS>:30000/scripts/foundry.js:18603     jQuery 2 brt-api-changes.js:22:38     onclick http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/better-table-view.js:79     AsyncFunctionThrow self-hosted:678     (Async: async)     enhanceRollTableView http://<IP_ADDRESS>:30000/modules/better-rolltables/scripts/better-table-view.js:79     InterpretGeneratorResume self-hosted:1468     AsyncFunctionNext self-hosted:674     (Async: async)     _call http://<IP_ADDRESS>:30000/scripts/foundry.js:2426     call http://<IP_ADDRESS>:30000/scripts/foundry.js:2411     callOriginalFunction http://<IP_ADDRESS>:30000/modules/furnace/Patches/Patches.js:57     <anonymous> http://<IP_ADDRESS>:30000/modules/furnace/QoL/Debug.js:42     _render http://<IP_ADDRESS>:30000/scripts/foundry.js:4472     AsyncFunctionNext self-hosted:674     (Async: async)     _render http://<IP_ADDRESS>:30000/scripts/foundry.js:5088     render http://<IP_ADDRESS>:30000/scripts/foundry.js:4404     render http://<IP_ADDRESS>:30000/scripts/foundry.js:5553     render http://<IP_ADDRESS>:30000/scripts/foundry.js:28692     _onUpdate http://<IP_ADDRESS>:30000/scripts/foundry.js:29251     entities http://<IP_ADDRESS>:30000/scripts/foundry.js:29229     map self-hosted:221     _handleUpdate http://<IP_ADDRESS>:30000/scripts/foundry.js:29222     update http://<IP_ADDRESS>:30000/scripts/foundry.js:29203     InterpretGeneratorResume self-hosted:1468     AsyncFunctionNext self-hosted:674     (Async: async)     update http://<IP_ADDRESS>:30000/scripts/foundry.js:29278     normalize http://<IP_ADDRESS>:30000/scripts/foundry.js:34133     _onNormalizeResults http://<IP_ADDRESS>:30000/scripts/foundry.js:18603     InterpretGeneratorResume self-hosted:1468     AsyncFunctionNext self-hosted:674     (Async: async)     _onNormalizeResults self-hosted:1161     jQuery 2

I have this problem with the new release too

do you have 1.6.2?
the auto update does not work, i will have to fix it but if you manually install 1.6.2 it should work.
can you try to install https://raw.githubusercontent.com/ultrakorne/better-rolltables/master/module.json
(or uninstall and reinstall it again from the modules view)

do you have 1.6.2?
the auto update does not work, i will have to fix it but if you manually install 1.6.2 it should work.
can you try to install https://raw.githubusercontent.com/ultrakorne/better-rolltables/master/module.json
(or uninstall and reinstall it again from the modules view)

That worked! Thanks!

Ah yeah that worked, sorry about that I normally think to check that when I have module issues


from_vb in const context.

It's not possible use from_vb in const context.  Is there any object to adding a from_vb_const function for this?

No objection from me in principle. Though depends how ugly it is.

https://github.com/rust-bitcoin/rust-bitcoin/pull/2206
I mean it's pretty ugly, but only until +1.57 :)

#2206 was merged but I'm keeping this open because I don't like the name.

closing since #2228 merged


Color typed link and signal

I'm thinking about a type system based on color.
In this mode :

a signal keep the color of the first node that emit it.
link have 2 color scales, a signal input color filter, and a target color signal converter
grey link are color agnostic (all signal color/type can go throw them)
grey link transfer signal as is (the signal input value is preserved)
colored node change there internal value only with the value of same color signal.
colored link filter signal to only let pass same color signals
the value of a signal, in a node that split it between link, will only split it between same color output links.

To preserve actual behavior, it could be a global setting (not node or link dependent) :
Color mode :
Aesthetic || Type logic

i will add 2 more switch :
red : is a normal color || red : death signal
normal || kill
green : is a normal color || green : life signal
normal || life

done in #20


use more portable /dev/fd instead of /proc/self/fd

The latter seems to be Linux specific while the former is available
on FreeBSD and illumos as well as on Linux (via a symbolic link).

Code looks good to me
Note that without having some sort of builder for this, we're likely to regress on our compatibility

But no changes required by me. There are a bunch of test failures, if any are caused by this change, then please resubmit for review.


build(maven): use 3.0.3 in pom.xml, not 3.0

The Maven repository uses a three-part version number, so use 3.0.3 instead of 3.0.
This pull request fixes a mistake I made in #1904.

The maven-deploy workflow has been completed and I verified the artifact using pom.xml in a GitHub repo that uses an XSpec Maven plugin. I see the 3.0.3 listing here.

It's also available in Maven Central, now :
https://repo1.maven.org/maven2/io/xspec/xspec/


Need to lock package dependencies.

We need to lock our dependencies so all devs get the same build and so bugs upstream don't break our builds 1. However npm5 is very broken and at last try fails to install react-atlas correctly. So we either need to aggressively push npm5 bugs reports upstream or use yarn or shrinkwrap.

Fixed by #791


Fixed Blob Storage quickstart for CLI

I found what I believe to be two errors in the quickstart:

The environmental variable should be AZURE_STORAGE_KEY, not AZURE_STORAGE_ACCESS_KEY (this is also what the CLI shows in the help messages)
There was a missing escape character in a command, before a newline character

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

Excellent, thank you @ItalyPaleAle .
#sign-off


Lyrics: Search inside lyrics instead of title

https://github.com/swapagarwal/JARVIS-on-Messenger/blob/master/modules/src/lyrics.py#L12
Reference: https://developer.musixmatch.com/documentation/api-reference/track-search

Hey, this is my first time contributing to a project. I would like to try doing this.

Hi, I wanted to work on this, but I started running into issues when I try to run the code.
Quick question - Does it work with python 3.  If not can I make it work  with both python 2 and 3

Hi @phil0s0pher, thanks for taking an interest. It seems @acquayefrank has already created a PR for this. You may pick another one here: https://github.com/swapagarwal/JARVIS-on-Messenger/labels/Low-Hanging Fruit
@acquayefrank: It runs on Python 2.7

i am novice. can i work on this project on desktop than mobile device? any mentor i can tag along with?

Hey @swapagarwal, does that mean using q_lyrics instead of q_track? Let me know if I am correct. Is there any one working on this? If not, can i work on this issue? I am a newbie too :)

Hey, this is my first time contributing to a project. I would like to try doing this.

Hey, I want to work on this!

@KrMantavya Go ahead! 😄
@aguy01 Yes, you can. Create an issue first describing what you'll be doing, and then you can post there if you run into any issues.
@narendravardi @ringztech You may pick another one from here: https://github.com/swapagarwal/JARVIS-on-Messenger/labels/Low-Hanging Fruit

@swapagarwal Thankyou. Will try and raise a PR as soon as possible

@swapagarwal please review my PR.


Centralise utilities for testing controllers

Found myself repeating the same test setup when I started doing the Fleet controllers, so moved this
into a single location (pkg/testing) to make it easier to reuse.

So this is an interesting question - I followed what Kubernetes does (and is that the best thing?), and then use package aliases to manage things.
https://godoc.org/k8s.io/client-go/testing
https://godoc.org/k8s.io/client-go/tools/cache/testing
https://godoc.org/k8s.io/client-go/util/testing
https://godoc.org/k8s.io/kubernetes/pkg/api/testing
(And so on)
I'm not aware of any other patterns, but I'm open!
WDYT?


feat: Subprocess support for Ollma and vllm

Description

launch vLLM and Ollama servers in a subprocess when no url is given

release: v <IP_ADDRESS>

Motivation and Context

[x] I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)
[ ] Example (update in the folder of example)

Implemented Tasks

[ ] Subtask 1
[ ] Subtask 2
[ ] Subtask 3

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[ ] I have read the CONTRIBUTION guide. (required)
[ ] My change requires a change to the documentation.
[ ] I have updated the tests accordingly. (required for a bug fix or a new feature)
[ ] I have updated the documentation accordingly.

thanks @lightaime , updated in https://github.com/camel-ai/camel/pull/930


Remove throw via macro

Pull request to solve #15
If WISE_ENUM_NO_EXCEPTIONS macro is defined, .value() functions now blindly return the contained object, it is up to the user to make sure there is something to get.

I don't think it's correct to simply remove the check from value, it's greatly changing the semantics. Especially given that there is already a function, *, that "blindly" returns the contents. I feel like more correct is either to abort if value is called, or maybe better is just to remove the value method completely. This way, when writing code with no-except, it will use if and *, maintaining identical behavior on a throwing platform. And throwing platform code if blindly moved to a no-throw codebase, will not compile wherever value is used, which is actually a good thing (all these sites need to be examined to determine if e.g. if( !my_optional) return -1; needs to be added).

Excellent example, removing the method sounds like the safest approach, least chance of misuse. I prefer it over aborting because I prefer compile-time errors over run-time errors, which can be hard to detect sometimes.

Now g++ -std=c++14 example.x.cpp -fno-exceptions -DWISE_ENUM_NO_EXCEPTIONS reports that wise_enum::optional<T> does not contain a member called value, as suggested.

Hey sorry I've been so slow to respond to this. Sorry to be annoying as well, but thinking about it more, I think that value should actually do the check and call abort if it fails. The simple reason is that this is consistent with how std::optional behaves. I think it's not really my library's place to be opinionated about this, but rather should try to be consistent with the surrounding ecosystem.
I understand its annoying that this comes in after 3 weeks, so if you don't want to make the changes, no hard feelings, I'll do it. Cheers.

@ilazaric Thanks for your efforts; I've merged functionality to handle avoiding exceptions via macros on master, please feel free to test it out and give me feedback! Cheers.


one source for analysis options

We currently read analysis options from both .analysis_options and analysis_options.yaml files.
As part of Dart 2.0, I suggest we

[ ] add a new hint to detect .analysis_options files and recommend that they be renamed(land this as part of Dart 1.5) - https://codereview.chromium.org/2655073005/
[x] update docs to reference analysis_options.yaml
[x] update stagehand to generate analysis_options.yaml - https://github.com/google/stagehand/pull/362
[ ] update flutter repo
[ ] update sdk repo
[ ] remove support for reading .analysis_options files
[ ] automatically rename options files as part of larger migration tool if one exists

We could take the additional step of migrating analysis options into the pubspec.yaml file and do away with both of the above files.

I like the idea of getting rid of the .analysis_options file.
I don't like the idea of integrating the options into the pubspec.yaml file because (a) not all projects use pub and (b) we'd still need the analysis options file format to support "included" options.

how about a Dart-specific name for this file so that it calls itself out better in a busy root directory? I'd like dart_analysis.yaml or dart_config.yaml for a more general-purpose name

Changing the filename seems fine. Using a more specific name would be helpful to not conflict potential filenames from projects. Something more like dart_analyzer.yaml or analyzer_config.yaml
Of course moving it to pubspec.yaml works too.

Hehe... @travissanderson-wf beat me to it. :-) #quickdraw

We currently read analysis options from both .analysis_options and analysis_options.yaml files.

Do we have numbers on how many existing uses of the former and the latter there are? Seems like we should coalesce to whichever is more common. In my personal experience, I've only ever seen .analysis_options. I didn't even know the latter was a thing.

Some build systems do not support dot-files, thus I'd like to remove support for .analysis_options. I don't have any strong preferences as to the name we choose other than analysis_options.yaml is already in use.

I see 3,045 .analysis_options files and only 72 analysis_options.yaml ones.
I understand the motivation for the change, but it's going to be painful to 98% of existing uses.

Hmmm.... Good point.

I've only ever seen analysis_options.yaml from seeing a co-worker's Dart project and when I did the Tour of Heroes tutorial.
So I would have though the yaml file to be more prevalent.
I highly discourage merging with pubspec.yaml. While yes, pub is the current package manager. As we have seen in the NodeJS community, a contender for package manager may come later as more people get their hands on pub and may not like some design choices.
So it would be better to keep the analysis tooling separate from the package management tooling

What's the plan for .analysis_options? We have a note about it in https://www.dartlang.org/guides/language/analysis-options#the-analysis-options-file — basically that we expect support for the .analysis_options name to go away in the future, so use analysis_options.yaml. Is that note still correct?

Yes, that's still the plan. I'm not sure when we will disable recognizing the old name, but we still plan to do so.

Now wouldn't be a bad idea – before Dart2 goes out!
On Mon, Jul 23, 2018 at 10:51 AM Brian Wilkerson<EMAIL_ADDRESS>wrote:

Yes, that's still the plan. I'm not sure when we will disable recognizing
the old name, but we still plan to do so.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/28385#issuecomment-407144303,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCimCUy-ayEqqVviUlygA0wxs20To0ks5uJg0OgaJpZM4LjFJo
.

If we had the resources to do it now, I'd agree.

Now wouldn't be a bad idea – before Dart2 goes out!

Sorry. I take that back. We're not going to do a merge-to-dev for this.
@kwalrath – I think it'd be fine to not mention it AT ALL in our docs. If folks are using .analysis_options they will get a warning in analyzer, I think...

@kevmoo I don't see any such warning when running the analyzer on a directory that contains .analysis_options:
t2$ dartanalyzer .
Analyzing t2...
No issues found!
t2$ dartanalyzer --version
dartanalyzer version 2.0.0-dev.69.0

I think there is a hint w/ the analysis service.
On Mon, Jul 23, 2018 at 1:32 PM Kathy Walrath<EMAIL_ADDRESS>wrote:

@kevmoo https://github.com/kevmoo I don't see any such warning when
running the analyzer on a directory that contains .analysis_options:
t2$ dartanalyzer .
Analyzing t2...
No issues found!
t2$ dartanalyzer --version
dartanalyzer version 2.0.0-dev.69.0
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/28385#issuecomment-407191605,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCigtG-rocnnKV8i2uQHXUA89eBBikks5uJjL2gaJpZM4LjFJo
.

I believe this was largely completed in https://github.com/dart-lang/sdk/commit/8329bd7ca81e4ff0706cbc9603e2a1ca295ee3a8 (~March 2020).

Sounds like I should update https://dart.dev/guides/language/analysis-options#the-analysis-options-file to say that .analysis-options is no longer supported.
Is that right?

Sounds like I should update https://dart.dev/guides/language/analysis-options#the-analysis-options-file to say that .analysis-options is no longer supported.
Is that right?

YES!!!

Is that right?

Yup; support for the older file was removed several stable releases ago.

Looks like it went away in 2.8.


Fix min/max functions with generators, and 'None' default

I allowed a few fixes to creep into this PR, I can separate them out if desired. This PR addresses:

There is an issue with the min/max functions consuming the first argument of iterators that cannot be looped over more than once. #510
The new min/max functions did not allow None as a default.
Aligned the error message when an empty sequence was passed to the new min/max functions to be the same as the builtin min/max error message.

Oops, didn't see we already had some tests in test_builtins. I'll just add the appropriate new tests there.

A couple more changes crept into this PR, updated the original PR text to reflect this.

Not sure why travis isn't adding the results here, pretty sure the 2.6 failures have nothing to do with this PR though. https://travis-ci.org/PythonCharmers/python-future/builds/599676065

I can confirm this fixes an issue for me which looks like what is described in #510 first post, see https://github.com/PythonCharmers/python-future/issues/510#issuecomment-544539787.
I recommend merging and releasing this


Did not filter data before sorting, now trying to get waveforms

Hello, I have extracted waveforms from my raw data based on best channel and best units, but I realize now that the filtering Kilosort does when it sorts spikes is not saved in the raw.dat file! Therefore my waveforms are unfiltered and basically unusable.
Is there a way to filter my raw.dat file so that I can recover my waveforms the way they are shown in the template-gui?
Many thanks!

I tried to make a filter that would not time-shift my data at all, here is the code I came up with that would filter my raw.dat post-hoc.
fid = fopen('raw.dat', 'w'); % open .dat file for writing

amplifier_data_filtered = bandpass(amplifier_data' ,[350, 4900],...
        frequency_parameters.amplifier_sample_rate,...
        'ImpulseResponse', 'fir'); % fir does not shift peak of trough positions
amplifier_data_filtered = amplifier_data_filtered';
fwrite(fid, amplifier_data_filtered(:),'int16');

Then, I was able to run getWaveForms.m from the spikes repository on my data just fine.


book-latex.ll crashes llines with malloc error on 'q'uitting selection

Menu option 'r'
Enter 'book-latex'
Browse for an individual
Enter 'q'
llines(23858,0x7fffac5c5380) malloc: *** error for object 0x7ff09cf12a40: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug                                                                                Abort trap: 6

You can even skip the browse part - just hit enter at the browse prompt and it will immediately crash.

This has fixed this problem both on Mac 64-bit and Ubuntu. I thought it had failed at first, because I edited yacc.y and went through the usual sh build/autogen.sh->./configure->make->make install sequence.
I then tried deleting the lifelines directory and cloning a fresh set of files from GitHub. Once these had been edited, the recompiled versions were free of this failure.
I had run "make distclean" before recompiling the earlier files, but this seems not to have ensured that the changes in yacc.y were incorporated.

The rules to probably regenerated yacc.y are convoluted.  I need to improve this.  Tracking via #404


Inferno renders bulk download links poorly

Hello,
Our download links for the bulk export response winds up including a bunch of random characters inside the url. I noticed today that when the chars include multiple tildas that the UI will render them as strikethroughs. This makes for a fairly poor UI experience. Below is an example that should trigger the bug.
https://examplefhirserver.com/uuid/filename.ndjson?randomchars~randomchars~randomchars~stuff

I'm not including a screenshot because that would include active download links to potential PHI. Well it's fake test data, but better safe than sorry. I'm only seeing this bug manifest in the Inputs and Outputs sections in the test results views.

Hello,
Our download links for the bulk export response winds up including a bunch of random characters inside the url. I noticed today that when the chars include multiple tildas that the UI will render them as strikethroughs. This makes for a fairly poor UI experience. Below is an example that should trigger the bug.
https://examplefhirserver.com/uuid/filename.ndjson?randomchars~randomchars~randomchars~stuff

I'm not including a screenshot because that would include active download links to potential PHI. Well it's fake test data, but better safe than sorry. I'm only seeing this bug manifest in the Inputs and Outputs sections in the test results views.

The issue is now address in the new release of Inferno core: https://github.com/inferno-framework/inferno-core/releases/tag/v0.4.39
You may update gemfile.lock for the newer version of the core library or reinstall. Let me know if you still see the problem.


Upgrade TinyMCE module

TinyMCE.js is showing this notice in the console:
tinymce.min.js:2 'KeyboardEvent.keyIdentifier' is deprecated
and will be removed in M54, around October 2016.
See https://www.chromestatus.com/features/5316065118650368 for more details.

https://www.chromestatus.com/features/5316065118650368
The current main Chrome release is v53 so it could break at any point.
I haven't tested it with an incompatible browser so I don't know if it outright breaks in the next version or what the exact issue is.
Notes for upgrade

Upgrade module to latest version, its about 30 releases behind
Use dev build so all the un-minified plugin sources are available
Incorporate assets.json pipeline
Investigate extensibility options:

Provide custom configuration
Provide just a customised toolbar
Register extra tinymce plugins

Include a readme.md detailing the steps taken to integrate it so that it's easy to upgrade next time

Tested this just now in Canary v55 which should have removed the deprecated feature and TinyMCE still appears to be working so it doesn't seem like it is an urgent issue.

Investigate extensibility options:
- Provide custom configuration
- Provide just a customised toolbar
- Register extra tinymce plugins

Big +1 for ability to hook into TincyMCE extensibility. Right now we kind of hack the module to get a customized toolbar, would be nice not to have to do that.

Also check for this API in other modules and scripts.


Improved ergonomics for handling dynamic redirects

Context
I am implementing a flow where a user can request additional scopes for Google from any permalink in the product (e.g. /company/post/18), and I would like the oauth flow to allow dynamically refreshing that page in the callback
Problem
Currently the default callbackURL is always /somePath/google/callback. I see that oauth2 provider allows for a redirectUrl searchParam:
https://github.com/bitcomplete/remix-oauth2-lite/blob/8595c4e66f600aa92948b0b36a62a694e4230a62/src/providers/oauth2.ts#L133
However, Google is fairly strict about Authorized redirect URIs, and will not accept dynamic search params, unless you add them all individually (which is not possible here because /post/somePostId will always change)

Solution
The only solution I can think of is to use a window.open() / window.opener popup pattern, where we don't navigate the current tab, but open the oauth stuff in a popup so we can handle the dynamic refreshing of the current permalink clientside.
This means I need to manually create new routes for:

Requesting additional scopes, e.g. /auth/google/drive
Handling the callback, e.g. /auth/google/drive/callback

And window.open("/auth/google/drive"), and pass messages back to window.opener whenever Google redirects to auth/google/drive/callback
Then I also need to add /auth/google/drive/callback to Google's Authorized redirect URIs list.

Writing this as an issue because I wanted to spell out my thinking — it's a tricky case here where some of the nice patterns in the generic oauth2 provider won't work for the google provider due to google strictness. I'm not sure how else this can work!

Oh, as for the specific ask here, the oauth2 or google providers need to provide a way for me to pass in a custom callback url that isn't /somePath/google/callback


Create new transaction for TransactionReferenceNumber tag.

See #18 for explanation.

For some reason the tests appear to be failing but I'm pretty sure that's not related to your changes. I'm a bit busy at the moment but I'll have a look within a few weeks :)

Hmm, after running another test it does seem to be related to your changes but I'm not entirely sure how yet.

I actually think it is my code. When ever you have time to look into this, that's great.
This change seems to be working for me with an export from Knab and the monkey patch in #18 applied.

The issue with the current implementation (and the monkey patch) is that the opening balance isn't captured correctly because a new transaction is created with record 61 which comes after record 60F (opening balance).
I'm open to other solutions for this when you have time to look at it. Thanks.

I'm going to use this branch in my project and will update it if I have further changes. I'll try to update the tests as well.

I forgot to mention that an MT940 block with multiple 61 records will only have the final opening balance on the first transaction, and the final closing balance on the last transaction of the block. This is something that I can document if you want to merge this PR.
We could also generate these values if you think that's better for consistency.

Just a quick note to let you know that I'm still working on this so you shouldn't merge it. My other PRs come out of this work.

Coverage remained the same at 100.0% when pulling eb3faf7d2ecbc591e511679fa57b9aec95f9efd5 on benkonrath:opening-closing-balance-per-transaction into 03cfe0ad72a6f4a34cbe76de3edb2fc1fdd1731b on WoLpH:develop.

This is ready for review. There will be some merge conflicts with my other PRs so just let me know if you want me to rebase.
Some notes about the implementation:

I didn't make the transaction based final opening / closing balance the default behavior but instead provided directions on how to set it up.
The final opening and closing balance is not available on every transaction as it's not available in the STA file for each :61: tag.
You need to manually set the currency when using the final opening / closing balance on each transaction. This is related to how the currency is set on the Amount objects. The could be fixed but I'm not sure what the best approach would be.

Thanks for the patch, I've merged it all and I'm running the tests now. As soon as all tests succeed I'll push out a new release :)


Additional index files are not detected by restic check but result in restore errors

Output of restic version
restic 0.4.0 (v0.4.0-0-ga7c2f28-dirty)
compiled with go1.7.5 on linux/386
Expected behavior
restic restore should work if restic check passes.
Actual behavior
If addional erroneous index files are added by making a simple copy, restic check does not complain, but the restore results in errors.
Steps to reproduce the behavior
# restic -r testrepo -p .pwd init
created restic backend 4821dc29e3 at testrepo

Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.

# restic -r testrepo -p .pwd backup data2bkp.txt
scan [XXXX/data2bkp.txt]
scanned 0 directories, 1 files in 0:00
[0:00] 100.00%  0B/s  60B / 60B  1 / 1 items  0 errors  ETA 0:00
duration: 0:00, 0.01MiB/s
snapshot a565b135 saved

testrepo/index# cp 359c9e42ff3ca91be5e706d32b0e1c8a00c8a35f4b859fb313d88e9bbfd2b79c 359c9e42ff3ca91be5e706d32b0e1c8a00c8a35f4b859fb313d88e9bbfd2b79d

# restic -r testrepo -p .pwd check
Create exclusive lock for repository
Load indexes
Check all packs
Check snapshots, trees and blobs

# restic -r testrepo -p .pwd restore a565b135 -t testrestore/
invalid data returned
restic/repository.(*Repository).LoadAndDecrypt
        /tmp/restic-build-468729902/src/restic/repository/repository.go:64
restic/repository.LoadIndexWithDecoder
        /tmp/restic-build-468729902/src/restic/repository/index.go:525
restic/repository.LoadIndex
        /tmp/restic-build-468729902/src/restic/repository/repository.go:352
restic/repository.(*Repository).LoadIndex.func1
        /tmp/restic-build-468729902/src/restic/repository/repository.go:320
restic/repository.ParallelWorkFuncParseID.func1
        /tmp/restic-build-468729902/src/restic/repository/parallel.go:89
restic/repository.FilesInParallel.func1
        /tmp/restic-build-468729902/src/restic/repository/parallel.go:53
runtime.goexit
        /usr/lib/go/src/runtime/asm_386.s:1612

testrepo/index# rm 359c9e42ff3ca91be5e706d32b0e1c8a00c8a35f4b859fb313d88e9bbfd2b79d

# restic -r testrepo -p .pwd restore a565b135 -t testrestore/
restoring <Snapshot a565b135 of [XXXX/data2bkp.txt] at 2017-02-11 13:19:25.131541513 +0100 CET by XXXX> to testrestore/

Solution
Either restic check should discover inconsistent index files in repo, or restic restore should have no problem with them.

Good point, there's a check missing. Thanks for raising this issue!


multiple roles with 3.4.0

Sorry if this is already reported.  I'm not sure what happened, but when I updated to 3.4.0 (no other changes), Cap is failing to find one of my servers.  The only thing different about it is it has multiple roles:
server 'aws-dev-http', batch_server_id: 2, roles: %{app build}
I don't think i'm doing anything complex, just simply:
on roles(:build) do ... end
That returns nothing.  If I use :app instead, it finds all other servers defined as an app role, except for that one.  Reverting to 3.3.5 fixed the issue.  I glanced through the diff and saw something to do with roles_properties but I don't know exactly what broke this.  Does this need to be defined in a different way?  I'm only defining my servers via "server", not via "role".

That sounds indeed like a bug. I think that might be happening, assuming that's not a typo in your post:
$ irb
irb(main):001:0> %{app build}
=> "app build"
irb(main):002:0> %i{app build}
=> [:app, :build]

This way, I'm not sure why "app" would match (I think, maybe in the beginning of the string?) - where "build" doesn't because it's at the end. Double check please, and let me know, if this is really broken, we screwed something up pretty badly.
Cheers, Lee

Sorry if I misspoke.  What I mean is, my other servers that ONLY have %{app} defined work.  The one that has %{app build} doesn't work at all, for either role.  (listing roles(:build) returns absolutely nothing, but roles(:app) returns only those servers that ONLY have :app defined).
Here's the complete server list:
server 'aws-prod-us', batch_server_id: 26, roles: %{app}
server 'aws-prod-eu', batch_server_id: 40, roles: %{app}
server 'aws-prod-sgp', batch_server_id: 30, roles: %{app}
server 'aws-dev-http', batch_server_id: 2, roles: %{app build}
So, when I do roles(:app) I only get the first three, and roles(:build) doesn't return anything.
I haven't used %i{app build} ...i'll try that, but again this is working in 3.3.5.

I'm relatively new to ruby as well - if this is some stupid thing I'm doing with ruby feel free to call me out on it, but I'm pretty sure I lifted this directly from the docs.

looks like modifying it to %i{app build} works.  I managed to capture the server configuration, and it listed the role as :"app build".  So if that's the recommended way to define roles moving forward that's fine, but it would be nice if it didn't break bc. :)  I'll modify my script.

Wow, i'm pretty dumb, the docs do say %w, and I must have fatfingered the delete key at some point.  Sorry!  Please disregard this issue.

It was working by coincidence last time, %i{} and %w{} define sets, or
arrays ( symbols or strings) and %{} just defines a string (whitespace and
all), if it worked previously, you'd just been relying on quirks of the old
matching implementation, its supposed to define a set/array
On 26 May 2015 4:48 pm, "Eric Salter"<EMAIL_ADDRESS>wrote:

looks like modifying it to %i{app build} works. I managed to capture the
server configuration, and it listed the role as :"app build". So if that's
the recommended way to define roles moving forward that's fine, but it
would be nice if it didn't break bc. :) I'll modify my script.
—
Reply to this email directly or view it on GitHub
https://github.com/capistrano/capistrano/issues/1434#issuecomment-105550356
.

yup. :)  PEBKAC.  sorry about that.


Cask request: Trello

Cask details
Name: Trello
Homepage: https://trello.com/
Download URL: https://itunes.apple.com/app/trello/id1278508951
Description: Trello Desktop official app. Trello gives you perspective over all your projects, at work and at home.

Trello is Mac App Store only.


fix rounding/conversion errors when currency converts to less than 100 sats

When you convert a currency to BTC/sats and the resulting amount of sats is less than 100 sats, the resulting amount of BTC/sats (and currency)is incorrect. The amount of BTC is less than 1e-6 and conversion goes wrong and the exponent is removed from the result. The resulting conversion is 1M to high.
Adding a parseFloat().toFixed(8) fixes the issue.

a fixed implementation is installed at:
https://sats.11tools.com

Thanks!!


faker: resolve the response immediately if delay is 0

The problem with current implementation is that I have to add setTimeout to my storyshots which makes them less stable

What do your stories look like?


fix: poll logic when pipeline active

Closes #3754
the prune changes broke the poll logic when the pipeline is active
https://github.com/paradigmxyz/reth/pull/3566
in which case we were returning pending even if there still is work to do (available engine messages for example)

need to familiarize myself with tokio console features first, if it's possible to monitor certain tasks and their state

cc @jonasbostoen as i saw you using tokio-console before, in case any input