steps initialisation problem with k_dpm_fast

thanks for #73!
when testing that I ran into a problem with k_dpm_fast - it seems to initialise at --steps XX +1?
e.g. imagine "an art deco cat" --sampler-type k_dpm_fast
will run an iteration with 41 steps, not 40
when this happens from #73 example script:
imagine_image_files(prompts, outdir="output")
it looses the plot entirely and just keeps iterating..

I'll have to dig into that. If I recall k_dpm_fast and k_dpm_adaptive may ignore the steps parameter entirely.  Other than the # of steps being wrong is it working?

umm, when scripted as per your helpful script for #73 it seems to go in to a "forever iterations" conditions..
I can replicate problem with:
from imaginairy import ImaginePrompt, imagine_image_files
from imaginairy.samplers.base import SAMPLER_TYPE_OPTIONS

def main():
  prompt_text = "an art deco cat"
  prompts = []
  for sampler_type in ["k_dpm_fast","k_dpm_adaptive"]:
      prompt = ImaginePrompt(
          prompt_text, width=512, height=512, steps=20, seed=1, sampler_type=sampler_type
      )
      prompts.append(prompt)
      print(vars(prompt))

  imagine_image_files(prompts, outdir="output")

if __name__ == "__main__":
    main()

does that help?

even just:
imagine "an art deco cat" --sampler-type k_dpm_adaptive
will replicate the problem, so it's with k_dpm_adaptive, not k_dpm_fast, oops, sorry..

What OS/python version? it's working for me but adaptive did do 60 steps (ignoring the steps argument)

MacOS 12.6, Python 3.10.7, imaginairy in its own py-venv
for me k_dpm_adaptive does weird display too, no progress bar, etc.
e.g. before I ctrl-c (^C), it's reached 153 iterations as per below
(py-venv2) shaun@Shauns-MBPro14 dev % imagine "an art deco cat" --sampler-type k_dpm_adaptive
🤖🧠 imaginAIry received 1 prompt(s) and will repeat them 1 times to create 1 images.
Generating 🖼  1/1: "an art deco cat" 512x512px seed:554043597 prompt-strength:7.5 steps:40 sampler-type:k_dpm_adaptive
Loading model /Users/shaun/.cache/huggingface/transformers/d12e71b67e29abaf317bf9d0e31644872fd2072509a4b3582cbb0c30f70824e9.98fc1312797017a8bac6993df565908fd18f09319b40d9bd35457dfa1459ecf0 onto mps:0 backend...
153it [03:38,  1.43s/it]^C

I was running it on linux. Trying it on an M1 now.

so now I'm getting:
(py-venv2) shaun@Shauns-MBPro14 dev % imagine "an art deco cat" --sampler-type k_dpm_adaptive 🤖🧠 imaginAIry received 1 prompt(s) and will repeat them 1 times to create 1 images. Generating 🖼  1/1: "an art deco cat" 512x512px seed:931973866 prompt-strength:7.5 steps:40 sampler-type:k_dpm_adaptive Loading model /Users/shaun/.cache/huggingface/transformers/d12e71b67e29abaf317bf9d0e31644872fd2072509a4b3582cbb0c30f70824e9.98fc1312797017a8bac6993df565908fd18f09319b40d9bd35457dfa1459ecf0 onto mps:0 backend... 45it [00:56,  1.26s/it]     🖼  [generated] saved to: ./outputs/generated/000356_931973866_kdpmadaptive40_PS7.5_an_art_deco_cat_[generated].jpg (py-venv2) shaun@Shauns-MBPro14 dev % imagine "an art deco cat" --sampler-type k_dpm_adaptive 🤖🧠 imaginAIry received 1 prompt(s) and will repeat them 1 times to create 1 images. Generating 🖼  1/1: "an art deco cat" 512x512px seed:49539039 prompt-strength:7.5 steps:40 sampler-type:k_dpm_adaptive Loading model /Users/shaun/.cache/huggingface/transformers/d12e71b67e29abaf317bf9d0e31644872fd2072509a4b3582cbb0c30f70824e9.98fc1312797017a8bac6993df565908fd18f09319b40d9bd35457dfa1459ecf0 onto mps:0 backend... 54it [01:04,  1.20s/it]     🖼  [generated] saved to: ./outputs/generated/000357_49539039_kdpmadaptive40_PS7.5_an_art_deco_cat_[generated].jpg
looks like I was just unlucky to have it go over 100-150 iterations?
don't know what 'adaptive' does, so previously it looked like it had gone off into a forever loop, but may not be the case at all.. may have just decided it need that many iterations?

The weird progress bar is what happens when it doesn't know how many steps it's going to do.
imagine "an art deco cat" --sampler-type k_dpm_adaptive --seed 554043597 worked for me after 69 steps.
I'm on MacOS 12.5.1 so maybe that's the difference. Guess we'll see after I update.  In the meantime you might find some clues by adding --show-work to the cmd.
I believe adaptive is supposed to do as few or many as needed based on the image quality or something. (I haven't looked into it deeply).

I've noticed that occasionally generations on M1 just fail for no reason. Maybe with adaptive it doesn't know to stop after getting into an unrecoverable failure state.

ok, thanks, then we can probably close this, as I think it was more my misunderstanding (having never used any 'adaptives') than any actual problem..
sorry for the tail chasing..

Well, we should probably do the following:

note that adaptive ignores steps in the docs
check for the failure case and handle it better
So i'll leave it open for now.

Just a note to say - that yes on an M1 (pro), my experience is you get a reasonable number of "just black"s.
I'd be @ a few thousands of generations by now and my guess is the black failure rate might be as high as 5%..
It's not a problem to me, and from my very little understanding it seems entirely reasonable that randomly seeded noise may indeed start off a 'diffusion' that ends up going nowhere..

 I have been unable to reproduce it now. Maybe something else I fixed helped?

no, no blacks for a while now, now I come to think of it, since.. ummm.. not sure, possibly the update circa 4.x so could have been code or maybe change to SD-1.5.. either way all going swimmingly.
couple of other positive observations:

v5.0.0 on my m1 pro (8-cpu, 14-gpu) 'standard' prompt (so allowing all new defaults including sampler-type) is generating at approx 30 secs per image instead of previously circa 50 secs per image - so big improvement there  thanks :-)

just running imagine "an art deco cat" --sampler-type k_dpm_adaptive -r 50
so far 14 in, and not getting any high count iterations (so far range 45-69 iterations, no silly 100-150 instances) so I think that your change to default 15 steps for that sampler has sorted that out too

great - thank you


Volume not created but containers runs fine

From an EC2 machine, I am running RancherOS 0.3.3 with Docker 1.7. I am using the Docker client on the machine.
I can run a container and inspect it:
![docker inspect mysql]
(https://beemapp.s3-eu-west-1.amazonaws.com/0797e634-7868-46a8-b35a-c9fed7937448.jpg)
But no folder is created (whereas it works fine on boot2docker or any docker-machine host).
Is there something special with RancherOS and volume?
Thanks you,

I'll try to answer this, but I need more information to see what exactly is happening:

Are you running a RancherOS VM on EC2 via docker-machine?
What command did you use to run the container?
Where (inside the container, on the RancherOS VM, on the host where you're running docker-machine client) are you expecting the directory to be created? What would be the name of that directory?
What operating system are you running docker-machine client on?

RancherOS does a lot of bind mounting internally, so the issue might be a little tricky.

@ebuildy If you are still having issues, please re-open. We are about to launch v0.4.0 of RancherOS, which is much more useable.


daemon: fix array

The double brackets are non-needed on an array and even if I wanted to
use them they were mispositionned.
creating /etc/ceph/ceph.client.admin.keyring
creating /etc/ceph/ceph.mon.keyring
creating {item//:/ }
bufferlist::write_file({item//:/ }): failed to open file: (2) No such
file or directory
could not write {item//:/ }

Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

@maxmanuylov


[Feature]: The problem of low infer speed in MiniCPM3

🚀 The feature, motivation and pitch
When I deploy the MiniCPM3-4B in 14090, I found the "--force-eager" need to be true. I do not know if because of this, the infer speed is so slow. Generate same tokens, MiniCPM3-4B cost 2~3 time then Qwen2-7B, but in less param then qwen.
1.If the slow problem come from "--force-eager", will it have fix?
2.If the slow problem not come from "--force-eager", how can I got the real promblem?
Alternatives
No response
Additional context
No response
Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Why do you need to set --force-eager, Is it due to resource consumption issues?
For  your case, it  is most likely caused by running in eager mode.

Why do you need to set --force-eager, Is it due to resource consumption issues?
For your case, it is most likely caused by running in eager mode.

if not, it will rise "CUDA OOM", and rise some infer say: "If mode is not static gragh, neet set --force-eager".
btw, the model can deploy on 1a100 with --force-eager=false, can not deploy on 24090 with --force-eager=false

Can you provide your running script?  I' am provide a simple test script that has been tested successfully on a 3090, with setting max_model_len=7800.
from vllm import LLM, SamplingParams
import torch
# Sample prompts.
prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
# Create a sampling params object.
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

# Create an LLM.
llm = LLM(
    model="/MiniCPM3-4B",
    trust_remote_code=True,
    max_model_len=7800,

    # tensor_parallel_size=1,
)

outputs = llm.generate(prompts, sampling_params)
# Print the outputs.
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

I remember that this model is significantly slower than others with similar parameter count. You can verify this by running the HF version.

Can you provide your running script? I' am provide a simple test script that has been tested successfully on a 3090, with setting max_model_len=7800.
from vllm import LLM, SamplingParams
import torch
# Sample prompts.
prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
# Create a sampling params object.
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

# Create an LLM.
llm = LLM(
    model="/MiniCPM3-4B",
    trust_remote_code=True,
    max_model_len=7800,

    # tensor_parallel_size=1,
)

outputs = llm.generate(prompts, sampling_params)
# Print the outputs.
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

I use the script write by our company(they boundle deploy, stress test and version manage together), so may I just put the params?
this success in 1*a100
--served-model-name base_mode
--max_model_len 1024
--dtype float16
--max-num-batched-tokens 16000
--enable-prefix-caching
--disable-custom-all-reduce
--speculative_model=[ngram_pool]
--num_speculative_tokens 6
--use_v2_block_manager
--scheduler-delay-factor 0.5
--tokenizer-mode auto
--tensor-parallel-size 1
--trust-remote-code
--environ VLLM_ATTENTION_BACKEND=FLASH_ATTN
--model /workspace/repository/ai_memory_minicpm4b_20241021_1
--port 9001

this success in 1*4090
--served-model-name base_mode
--max_model_len 1024
--dtype float16
--max-num-batched-tokens 16000
--enable-prefix-caching
--disable-custom-all-reduce
--speculative_model=[ngram_pool]
--num_speculative_tokens 6
--use_v2_block_manager
--scheduler-delay-factor 0.5
--tokenizer-mode auto
--tensor-parallel-size 1
--trust-remote-code
--environ VLLM_ATTENTION_BACKEND=FLASH_ATTN
--model /workspace/repository/ai_memory_minicpm4b_20241021_1
--port 9001
--enforce-eager

I remember that this model is significantly slower than others with similar parameter count. You can verify this by comparing the HF versions.

Oh you trigger me, may be I can set the qwen7b by --enforce-eager on, to remove the diff of two model

I remember that this model is significantly slower than others with similar parameter count. You can verify this by comparing the HF versions.

Oh you trigger me, may be I can set the qwen7b by --enforce-eager on, to remove the diff of two model

You can do more experiments to compare the performance of the Qwen model under eager mode and cudagraph mode

I remember that this model is significantly slower than others with similar parameter count. You can verify this by comparing the HF versions.

Oh you trigger me, may be I can set the qwen7b by --enforce-eager on, to remove the diff of two model

You can do more experiments to compare the performance of the Qwen model under eager mode and cudagraph mode

Oh I come back with the result, the qwen7b is faster 2~3 times in the same set "--enforce-eager" on, may be thats the model problem :(
and thank you for your reply!!!

I remember that this model is significantly slower than others with similar parameter count. You can verify this by comparing the HF versions.

Oh I come back with the result, the qwen7b is faster 2~3 times in the same set "--enforce-eager" on, may be thats the model problem :(
and thank you for your reply!!!


Unreadable output

[NOTICE] Don't forget to make sure the audit scripts are executable. ('chmod +x audits/.sh')
[] Running system audits.
[] Running audits/audit_permissions.sh.
[] Running audits/audit_users.sh.
[] Running audits/audit_network.sh.
[] Running audits/audit_updates.sh.
[] Running audits/audit_ssh_config.sh.
Audit Results: {'audit_permissions.sh': {'output': '\n[] Auditing file permissions.\n\n[] World-writable files:\n/var/crash/.lock\n/tmp/mintUpdate/tv0wvtk1\n', 'error': ''}, 'audit_users.sh': {'output': '\n[] Auditing user accounts.\n\n[] Users with no password set:\n\n', 'error': ''}, 'audit_network.sh': {'output': '\n[] Auditing network settings.\n\n[] Open ports:\ntcp        0      0 <IP_ADDRESS>:53           <IP_ADDRESS>:               LISTEN     \ntcp        0      0 <IP_ADDRESS>:631           <IP_ADDRESS>:*               LISTEN     \ntcp6       0      0 ::1:631                 :::*                    LISTEN     \nudp        0      0 <IP_ADDRESS>:49039           <IP_ADDRESS>:*                          \nudp    12288      0 <IP_ADDRESS>:53           <IP_ADDRESS>:*                          \nudp        0      0 <IP_ADDRESS>:68              <IP_ADDRESS>:*                          \nudp        0      0 <IP_ADDRESS>:631             <IP_ADDRESS>:*                          \nudp    39936      0 <IP_ADDRESS>:5353            <IP_ADDRESS>:*                          \nudp6       0      0 :::54333                :::*                               \nudp6   17664      0 :::5353                 :::*                               \n\n[] Telnet service status:\n\ninactive\n', 'error': ''}, 'audit_updates.sh': {'output': '\n[] Auditing system updates and security patches.\nAll packages are up-to-date.\n\n[*] Available updates:\nListing...\n\n[+] Installed security patches:\naccountsservice/bionic-updates,bionic-security,now 0.6.45-1ubuntu1.3 amd64 [installed]\napparmor/bionic-updates,bionic-security,now 2.12-4ubuntu5.3 amd64 [installed]\napport/bionic-updates,bionic-updates,bionic-security,bionic-security,now 2.20.9-0ubuntu7.29 all [installed]\naptdaemon/bionic-updates,bionic-updates,bionic-security,bionic-security,now 1.1.1+bzr982

print_audit_results Function:

This function prints the audit results in a more readable format, showing output and errors separately.

print_harden_results Function:

This function prints the hardening results in a readable format, similar to the audit results.

Integration in main:

The print_audit_results function is called after running the audit, to display the results in a structured format.
The print_harden_results function is called after running the hardening scripts to display the results.

Updated: main.py


Add stakeholder need per issue #55

Close #55

Will wait on revisions, as per https://github.com/ODU-CGA-CubeSat/mission-conops/pull/75#issuecomment-898030129, to be on the safe side


How to work with drag and drop delegates?

Hello, like to use your frameworks, but now have a problem.
I'm trying to use UICollectionViewDragDelegate and UICollectionViewDropDelegate to reorder cells in ASCollectionNode. But I have strange animations as a result. As I understood, main problem is that performUpdates in ListAdapter works asynchronously instead of performBatchUpdate in UICollectionView. And when drop preview is being generated, adapter doesn't perform changes yet.
Here is my project:
https://github.com/makssooon/DragAndDropWithIGListKit
I think that the problem in this part of code:
    func collectionView(_ collectionView: UICollectionView, performDropWith coordinator: UICollectionViewDropCoordinator) {
        guard let destinationIndexPath = coordinator.destinationIndexPath,
            let collectionViewDragItem = coordinator.items.first,
            let sourceIndexPath = collectionViewDragItem.sourceIndexPath,
            let dragItem = coordinator.items.first?.dragItem,
            let item = dragItem.localObject as? ListItem
            else { return }

        switch coordinator.proposal.operation {
        case .copy:
            break

        case .move:
            let newItemsContainer = ListItemsContainer(listItems: itemsContainer.listItems, id: itemsContainer.id)
            newItemsContainer.listItems.remove(at: sourceIndexPath.item)
            newItemsContainer.listItems.insert(item, at: destinationIndexPath.item)
            itemsContainer = newItemsContainer

            adapter.performUpdates(animated: true, completion: nil)
            coordinator.drop(dragItem, toItemAt: destinationIndexPath)

        default:
            break
        }
    }

I hope you will help me. Thank you in advance!

I have the same issue here, would appreciate help from the devs! :)

Has there been a solution to this problem yet?

Did anyone find a solution to this?


[QUERY] The 'partitionKeyExpression configuration in spring cloud stream does not work in azure-spring-cloud-stream-binder-servicebus

Query/Question
We can not use partitionKeyExpression or partitionKeyExtractorName configuration in spring cloud stream to specify the partition key. No priority to get partitionId by header scst_partitionOverride or scst_partition to construct the PartitionSupplier for SDK interface.
spring.cloud.stream.default.producer.partition-key-expression=payload.name
spring.cloud.stream.default.producer.partitionKeyExtractorName=bean-name-for-PartitionKeyExtractorStrategy-implemention

Why is this not a Bug or a feature Request?
We should try to follow the spring cloud stream specification.
Setup (please complete the following information if applicable):

OS: Windows
IDE : IntelliJ
Version of the Library used  azure-spring-cloud-stream-binder-servicebus-topic:2.2.0

Related PR: https://github.com/Azure/azure-sdk-for-java/pull/19787

@backwind1233

Close this issue because this issue has already been completed in this pr: https://github.com/Azure/azure-sdk-for-java/pull/23193
We can use either partitionKeyExpression or partitionKeyExtractorName when ServiceBusMessageHeaders.SESSION_ID, ServiceBusMessageHeaders.PARTITION_KEY, AzureHeaders.PARTITION_KEY are not configured.


Python 3 support

I saw here that python 3 support should arrive this year with version 1.8.0. Do you have a more precise release date?
If you need some help to port or to test, please let me know.

1.8.0 is due in the next days/weeks. You can already test it with Python 3 by installing a "nightly" (see http://mapproxy.org/download)

OK, thanks!


Is there a way to make Policy more dynamic ?

Is there a way to make Policy more dynamic, something like the below scenario ?
The policies should be configurable from UI. For example in below scenario Super Admin should be able to configure the roles for defined policies.
Role
1 Admin
2 User
3 Super Admin
Policy
CreateProductPolicy - Should be a (Admin)
ReadProductPolicy   - Should be a (User OR Admin)
UpdateProductPolicy - Should be a (Admin AND User)
DeleteProductPolicy - Should be a (Admin) AND have no other role
DB PolicyRole (Super Admin should be able to update this)
ID  PolicyName              RoleConfiguration
1   CreateProductPolicy          1
2   ReadProductPolicy           1|2
3   UpdateProductPolicy      1&2
4   DeleteProductPolicy          1*
UserRole
User 1 -> Admin, User
User 2 -> Admin
User 3 -> User
Authorized Users based on Policy
CreateProductPolicy - 1, 2
ReadProductPolicy   - 1, 2, 3
UpdateProductPolicy - 1
DeleteProductPolicy - 2

The code is now much more easier to support this scenario.


[WFLY-17274] Upgrade WildFly Core to 20.0.0.Beta2

Jira issue:
https://issues.redhat.com/browse/WFLY-17274

Tag: https://github.com/wildfly/wildfly-core/releases/tag/20.0.0.Beta2
Diff: https://github.com/wildfly/wildfly-core/compare/20.0.0.Beta1...20.0.0.Beta2

Release Notes - WildFly Core - Version 20.0.0.Beta2

        Bug

[WFCORE-6107] -         java.lang.ClassNotFoundException java.util.logging.Logger using Bouncycastle Provider

        Component Upgrade

[WFCORE-6105] -         Upgrade Bouncycastle OpenPGP from 1.72 to 1.72.1

Tag: https://github.com/wildfly/wildfly-core/releases/tag/20.0.0.Beta1
Diff: https://github.com/wildfly/wildfly-core/compare/19.0.0.Final...20.0.0.Beta1
Release Notes - WildFly Core - Version 20.0.0.Beta1

        Bug

[WFCORE-6090] -         Unexpected NullPointerException in Elytron tests when init capabilities are missing

        Task

[WFCORE-5979] -         Move com.google.guava:guava and com.google.guava:failureaccess to testbom

[WFCORE-6092] -         Remove deprecation of ExtensibleHttpManagement

[WFCORE-6093] -         Remove Seam2 integration

[WFCORE-6101] -         Remove the deprecated OperationFailedException(ModelNode) constructor

[WFCORE-6102] -         org.jboss.as.test.layers.Scanner cannot handle dependencies with explicit slots

[WFCORE-6106] -         Bump the kernel management API version to 21.0.0

        Component Upgrade

[WFCORE-6039] -         Upgrade JBoss MSC to 1.5.0.Beta3

[WFCORE-6070] -         Upgrade JBoss Modules to 2.1.0.Final

[WFCORE-6084] -         Upgrade bouncycastle from 1.71 to 1.72

        Enhancement

[WFCORE-6100] -         -D[Server:XXX] JVM parameter is out of order

Thanks @yersan


fix: helm version must be semver

As noted in https://helm.sh/docs/topics/charts/#the-chartyaml-file, a helm chart's version must be semver 2.0.0.
Since semver 2.0.0 strictly prescribes the "{major}.{minor}.{patch}" format, the shell string interpolation is used to remove the v prefix.

Thank you for this commit. I am well aware that semver is without the v prefix. However, based on my experience, having only numbers in version causes more issues than it brings benefits.
Now, I'm not against this change, but would just like to check in with you -- have you had any specific issues as to why we would change this now? If we do make this change, it will cause a lot of compatibility issues, that's why I want to make sure we do it properly.

@bokysan

However, based on my experience, having only numbers in version causes more issues than it brings benefits.

I'd be very interested to learn about the cases where that happens! I've never experienced any, my experience is the other way around 😁

have you had any specific issues as to why we would change this now

I'm bringing up this change now because I only recently discovered the project to send outgoing mail from my Kubernetes clusters, that's why I'm opening the PR right now.
I use renovate to update dependencies, which assumes that helm charts use semantic versioning since that's what helm defines. For charts that do not use semver, it will error since the version is invalid.
This can be worked around by manually configuring another versioning scheme for the dependency, but in my experience it's always been easier to make the chart use semver.
However, I do not know the workflows other people use, I assume you're much more familiar with them @bokysan. If there's good reason to not alter it too much, this might be a reason for e.g. a major release of the chart or a completely different approach.
I'm not aware of any compatibility issues with helm charts that are caused by making the versioning semver, so my initial assumption was that this could be handled as a bug fix.
Looking forward to your thoughts and learning more!


Added HTTP security headers to web.go

Added standard HTTP security headers for both the root/redirect requests and all template-based UI pages.
This configuration for the headers is very unrestrictive, while still meeting most compliance frameworks and industry best practices. They should not interfere with any functionality in Prometheus (and did not in my testing).

This isn't covering the main place where there's a risk, which is console templates, as those are controlled by the end user and have access to URL parameters.

I can definitely look into that. This is just meant to address the lack of standard security headers in the UI in a quick and painless way.
I'm new to Prometheus, so I'm still trying to wrap my head fully around it.
By console templates, do you mean these: go_goroutines?
If so, it appears that the /graph base template being called is having the headers applied for these requests.
I also tried adding the lines to the h.consoles function, and while it compiles and runs just fine, I can't tell if it's doing anything(I don't know where to look for the change, and I don't see any UI pages I can access or construct which don't already have the headers applied from the above changes).

By console templates, do you mean these: go_goroutines?

No, that's the expression browser - but it should also be covered.
I'm worried that this PR is taking a piecemeal approach to adding security headers, and so they might be missed as new endpoints are added. An approach that automatically applied to all endpoints would be better.

I agree with @brian-brazil.

I consulted with someone who knows golang, and they were able to point me to where the middleware should be inserted. Reworked function to a middleware, and verified that after building the binary the program functions normally.

Thanks that looks much better.  Just few comment nits and I will test it a bit later.
@Gouthamve do you think we need a new test for this?

I think this needs a unittest per group of endpoints.

just so I know I'm not misunderstanding, a unit test for each endpoint group, to ensure that the headers are being applied to them all?
also, do I build this into the web_test.go file?

Yes.
That seems like the logical place to put it.

recommended changes made, and unit tests are built (just troubleshooting them now). Will have a new commit soon.

I have added header checks to the /version endpoint after testing. I can add some of the other endpoints to the unit tests if needed, but if something pulls from an external file or template it will cause an EOF error(since golang won't pull that in). /version is handled no differently than other endpoints in regards to the security headers, so it's a good test for the presence of the headers without importing additional files.

not sure why the k8s tests are failing in Travis... haven't touched those, and my git branch is up to date with all other changes than my own

we added DCO signing check so please run
git commit -s --amend to sign the last commit. I think that should do the job.

hmm...
Not sure why it's not recognizing the 'Signed-off-by' lines.

I think it might need to be in all commits.

Not the most ideal solution but okay for this PR. You could squash all the commits into one.

@gouthamve  the whole web package needs refactoring :)
is it ok if I merge this one without the DCO?

Should I squash the commits?

So I've been experimenting with this, and I think I have screwed myself by doing a merge instead of a rebase which the PR was open. Now when I look at squash or rebasing to root it makes it look like I'd be altering the commits for the entire project, rather than just my commits.
Unless there is a better way, I'm thinking I should just close this PR, squash my commits, and open a new PR?

A force push should allow you to re-use the PR.

Ok, I think I got it.
D:

LGTM

Thanks!


Release process: Make actions send a PR instead of push into the main branch

Now Github Actions should send a Pull Resquest with code changes in the following files:
doxygen
include/ada/ada_version.h
CMakeLists.txt

In order to this to work, we should provide to actions permission to create pull requests. It can be done through:
settings -> actions -> general -> Workflow permissions

The script should already consider co-authors now (https://github.com/ada-url/ada/issues/345).
I can try to fit the prepare and create workflows into a single one. What do you think @anonrig @lemire.
Currently the workflow release_prepare.yaml should be triggered manually via workflow-dispatch with the target tag as input, and it will create a pull request with the code changes for the next version. When this pull request is merged, the workflow release_create.yml automatically creates the release and attach the artifacts.

So currently it is working like this:

Manually trigger the workflow  Release Prepare Workflow passing the "next tag" as input.
It will call the release-script-test workdlow to verify that the release script is still valid and will be able to make the necessary updates as expected.
If the tests pass, it will run the update_versions.py script, which will update the versions of ada_version.h, doxygen, and CMakeLists.txt with the next release tag.
After the updates to the code base, the workflow will run ada Build && Test and create a PR with the changes if everything is looks fine.

After step 1 is completed, a PR should appear in the repo with the name "chore: release vThe.New.Version".
Once this pull request is merged, it will trigger the Release Create Workflow, which will also run some tests, finally the Amalgamation, create the release notes and then the new github release.


add len while creating slices where it is obvious instead of dynamic sizin

It is a very tiny performance improvement & refactor by pre-specifying slice size (if already obvious).
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[x] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[x] Does not have any changes that may affect Istio users.

Hi @mstrYoda. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Various dependency updates

I've checked that cabal test passes for me locally with the new dependencies

Thank you!


Add multiple attribute count metrics

For quality metrics in supermarket and to encourage poor community cookbook behavior I would like to implement three new checks;

Greater than 20 attributes (disabled by default)
Greater than 50 attributes
Greater than 100 attributes

The reason this is broken into three checks is to show the increasing trouble to letting attribute's go out of control for community cookbooks.

I'm going to post this same response to several issues since we have a theme going on here.
Foodcritic is a pretty versatile cookbook validation tool. You can use it out of the box to get helpful tips on your cookbooks, you can write your own rules, and it's used with Supermarket to enforce quality metrics. Those are 3 distinct use cases and these use cases often conflict with each other. Things we think are code smell within community cookbooks are just fine for private cookbooks. Take for instance the issues we had recently with enforcement of open source licenses and SPDX compliant license strings in the metadata.rb file. That ONLY matters if you're uploading to the Supermarket.
Two Possible solutions (pick one or both)
Supermarket only rules via tagging
So why ship Supermarket only rules with Foodcritic at all? Why not just create custom Supermarket rules we run locally there? Well I strongly believe that users should be able to run those same quality tests locally without significant effort. Requiring an external rules library is significant effort since we don't have a plugin sharing system in Foodcritic, and I have no interest in ever doing that. So what we need is a more formalized process for bringing those rules in and the understanding that we'll disable them by default. We also need to expose information on Supermarket showing how to run cookbooks locally with all these rules enabled. I'm curious what others think. I'd be open to creating disabled by default Foodcritic rules for anything that's been accepted to the cookbooks quality metrics repo first.
"Warning" only rules and a better config system
So the second solution is to create a better config system and use that config system to implement different failure levels for rules. This would allow us to make some rules like this "warning" rules while others were "failure" rules. It's a pretty significant amount of work, but something worth biting off if we consider Foodcritic to be a tool we expect to use in 3-4 more years.


feat(CategoryTheory): define the notion of effectively enough objects with respect to a functor

The notion means that for every object in the target, there is an effective epi to it from an object in the image of the functor.

Could you add a TODO section in the file where you would give examples of situations where this new notion shall be relevant? Otherwise, it seems ok to me.

I added some TODOs, which will be completed in #11518.

Thanks!
bors merge


Dynamic Code Graph Generator implementation

In your paper, you propose a module called Dynamic Code Graph Generator but I can't seem to find the implementation in this repo. Can you show me?

Hi iumyx2612,
Thank you for your concern. The implementation of this module is pretty straightforward because our proposed graph just captures use-define dependency relationships among code files. You can see the code below to construct the graph, which will be called whenever the source code is updated
https://github.com/FSoft-AI4Code/AgileCoder/blob/5e55c331fb074b490bd78f51e4d48f76bb78970c/agilecoder/camel/dependency.py#L21

Thank you for the fast reply!


feat: add lifecycle hooks for indexing

This PR should be stacked on #69. Review and merge that first.

Let's wait for #69 first before I review this.


tags uber-issue

This is, first, an attempt to consolidate and verify consensus on what we know we need to do for tags. I have some ideas for API design and I'm sure @grechaw does, too. We had a conceptual model in mind at one point.  However, I think we ought to make sure we're on the same page as to functionality before we dig back into the API.
Here's what I think we know. It's entirely possible, if not probable, that I've missed something or gotten something wrong. If you have adds/edits/deletes, please comment. I will then update this issue, so that we have a single comment which contains our consensus.
Tags Needs
Lookups in Searches
Tags Filter List
The tags filter displays a list of tags that appear in documents which match any other search crtieria which are active. This "other search criteria" may text criteria, date range filter, and other tags already selected as filters. In other words, the list of tags displayed are only those tags that appear in documents found by the rest of the search definition.
The filter display itself lists a limited number of these tags, in descending order of the number of documents in the search in which they appear, and those document counts are displayed with each such tag.
However, the endpoint should be capable of searching returning a paged result, as this same behavior is used in the next two cases.
Tags Filter Typeahead
The tags filter typeahead allows the user to search tags which are in the above set by a substring -- if the user types "jqu" then "jquery" would be in the subset, for example. Such a list has the same features as the one described above, however paging is not necessary because we expect the user to type a more specific substring if they have not yet located the tag that they are seeking.
Tags Filter Dialog
The tags filter dialog is founded as a mashup of the previous two features. It has a relatively long page length (~35 items?), and it may be filtered by substring. It may also be sorted by count (as the prior features are) or by name.
Show Related Tags
Within the context of other search criteria (excepting any tags filters) we can display a list of "related" tags via Semantics. These are to be tags which are related to one given tag, and which appear in documents that are found in the context of said other search criteria. Given that constraint, the matching counts that are returned are the number of documents that match the other criteria and also contain the given related tag (ignoring all other tags filter criteria).
Search Results
Along with the enablers for defining search criteria above, we also display tag counts for the documents for those tags which are already in search criteria. In essence, this is seen as part of the "regular" search results.
In Ask Question Context
In the context of asking a question, the entire known set of tags is searched by substring without any other applied criteria (except for the list of tags that have already been selected). The user begins to type a tag name, and a list of tags that match that substring (excluding already selected tags) is displayed, from which the user may select a tag.
/cc @grechaw @popzip, @yawitz @wooldridge

Yeah it does have an underscore.  I don't remember the details of that discussion but you could dig up some specs in engweb and it will be there.

Re @popzip:

I'm not set on counts being required to display in typeahead, but they should be displayed on the sidebar once selected. If that impacts selecting a better (simpler, more natural, more scalable) architectural design then we should do away with that part of the wireframe design.

I'm not sure I tracked all of the technical discussion above, but wanted to state that including counts in the popups is an important feature that should not be dropped. The counts provide important information scent (especially in the "related tags" popup still to be done) that helps the user understand the nature of the data, and helps them decide what tag to select to explore the listed relationships.

@grechaw we can assign this back to me once there's an endpoint to try out.

Sounds good.

So with the change to combined query, what do you think of this?  My thought is to wrap the same "search" payload but just to include the extra "forTags", "relatedTo", etc as children there.
Then "qtext" and "query" are the search bar text(s) and structured query for the filtering query.
// POST to /v1/tags in middle tier
{ "search": {
  "forTags": [ "jq*" ],

    // optional, if present, we're looking for tags related to this one
// note -- 8.0-2 feature
    "relatedTo": "javascript",
    "sort": "name",   // or "sort":"frequency"
    "start": 11,
    "pageLength": 10,

    // all the goodies we currently use on searches for documents themselves.
    // forms the set of docs over which to look for the above specified tags
    "qtext":[
      ""
      ],
     "query":{
      "and-query":{
        "queries":[
          {
            "range-constraint-query":{
              "constraint-name":"tag",
              "value":"javascript"
            }
          },
          {
            "range-constraint-query":{
              "constraint-name":"lastActivity",
              "value":"2012-02-17T08:00:00.000Z",
              "range-operator":"GE"
            }
          },
          {
            "range-constraint-query":{
              "constraint-name":"lastActivity",
              "value":"2013-03-04T08:00:00.000Z",
              "range-operator":"LT"
            }
          }
        ]
      }
    }
  }
}
}

Ready to start implementing this -- I wanted a quick run by @laurelnaiad to see if the above payload looks like it would work OK.
The idea is that this is a stock combined-query payload, with extra keys inserted to carry the extra parameters for tags calls.

I think that schema seems reasonable to me. Is this substantially easier than doing it with the more typical marklogisms for the specification for tags criteria?

Thanks for sending back!  Not sure what you mean by more typical marklogisms -- this was a pretty straightforward implementation, and even better, its ready :)

The earlier proposal that we worked up together had two "sibling" objects that were essentially both search specs, just delivered together in "forTags" and "withinDocs". That seemed preferable for code reuse purposes in the long run....
That said, if the schema you chose is already available, that's a very compelling reason to keep moving forward with it! :smile: .

This is all implemented here locally with related tags too. WRT to forTags and withinDocs -- there's only ever one actual search happening here -- the forTag part, if included, is a filter only.  Note -- you do NOT need to inlcude any wildcards in forTag.
So the payload above is the same as for /v1/search -- one partial combined-query payload, with some extra keys to tell the middle tier what to do to embellish the search.
In any event, I think you'll find it in good shape in a merge later on.

@grechaw, did you perhaps add timezone support? I don't think we'd finished spec'ing it when we started drafting this, but it's relevant for the underlying docs search.

oooo I did NOT add timezone support, and I agree, it is relevant.

@grechaw, is there a trick to getting the substring applied? Is the spec above correct?
{
  "search":{
    "qtext":[
      ""
    ],
    "start":1,
    "timezone":"America/Los_Angeles",
    "pageLength":10,
    "forTags":"ja*",
    "sort":"name"
  }
}

yields
{
  "values-response":{
    "name":"tags",
    "type":"xs:string",
    "distinct-value":[
      {
        "frequency":2,
        "_value":".each"
      },
      {
        "frequency":2,
        "_value":".htaccess"
      },
      {
        "frequency":3,
        "_value":".net"
      },
      {
        "frequency":1,
        "_value":".net-3.5"
      },
      {
        "frequency":1,
        "_value":".post"
      },
      {
        "frequency":1,
        "_value":"32bit-64bit"
      },
      {
        "frequency":2,
        "_value":"accessibility"
      },
      {
        "frequency":1,
        "_value":"active"
      },
      {
        "frequency":1,
        "_value":"activex"
      },
      {
        "frequency":1,
        "_value":"activexobject"
      }
    ],
    "aggregate-result":[
      {
        "name":"count",
        "_value":"5155"
      }
    ],
    "metrics":{
      "values-resolution-time":"PT0.000199S",
      "aggregate-resolution-time":"PT0.000442S",
      "total-time":"PT0.034879S"
    }
  }
}

which looks suspiciously like it hasn't applied the wildcard....

Sorry, no trick -- I just realized in impl that there's only one arg possible, and that we have no use for the wildcard.
Edited the above --
use
"forTag" : "ja"
The value is just a substring match filter on the returned tags.

also, timezone is not supported here -- you'll probably get a 400 if you include it.  I know I need to go back and implement time-zone, and will make an issue.   Indeed in /v1/search time-zone needs modification too, as it's used to make the buckets, but not to adjust the search criteria from the date picker.

Created #485

that takes away the ability to wildard only on the right side of the substring. Would it be possible to let the browser add the * (which it will do only on the right)?
Right now "j" yields  as the first result "activexobject", for instance....

Timezone isn't breaking it.

Sure, it would be possible.  Probably not this PR though...

So there's no way to have it match only things that start with the substring? Is this a sever bug?

good timezone isn't breaking - but still would be good to implement something

remember the forTag functionality is all middle tier -- it filters the list of tags from a /v1/values call.  I could certainly implement a start-only piece in there.

I thought it was going to be a server-side transform?

That would have been one way -- same logic though, a post process of the JSON.

Right but closer to the data. Seems like the "right" way to do it...

Could be refactored later...  I didn't see this case as a very compelling one either way.
But in any event, would you like an attempt to implement the wildcard now?

We can disagree about the level of compellingness some other day! :)
I just checked the wireframes and the current behavior is what is specified, so please disregard the whole concept of wildcard on only the right.
I think we have a winner.

Now if we could just get the rest of the app back into healthy shape. :)

Super --
So you might want to consider adjusting the number of characters typed before the call to /v1/tags -- It's entirely possible that single-character patterns should have been handled differently.  Just a hunch but something to look for.  MarkLogic by default starts indexing with three characters - a balance between scalability and speed of searches.  It's possible to turn on two-character indexing, not normally recommended.  one-character indexing is very strongly discouraged - nobody needs it.  In other words, samplestack with 10^15  documents might require some concessions with search.  A future problem.

Stackoverflow has single-character tags (e.g. "C"), so we'd have no way to search for them....

Not at all, a single-character tag would be index by the universal index and by the word index.
The single-character index, which really should never be used, would be for quickly locating all of the letter 'c' instances inside any word.

Ah, I didn't address your concern there @laurelnaiad , go ahead and send the single-character, makes sense to me.

Quick question: when a single char is typed, I see the value in not returning all results that contain that char, but I do see the value in returning all results that start with that char. Is it possible to switch the matching rule depending on the length of the typed string? (I'm assuming this would be an RFE, not a bug with the current version.)
FWIW, the current implementation does follow the behavior of the angular component I cited in the wireframes.

I agree, that makes the most sense.

Just to be clear:
I'm not proposing making this change at this time. I'll fire off an RFE that we can discuss at a later time.

@yawitz the changes aren't available, yet. You're not seeing the latest....

Understood. I'm still assuming the behavior will follow the wireframe description (i.e. matching the search string anywhere). I'm proposing that, in the future, we consider a modified design. (I posted it as an RFE as #488.)

Tags typeahead and browse-tags dialog ready.
TODO is the ask page typeahead/validation.

Tags-related features should be expected to work now, with the exception of these issues which are not yet ready for test and are being tracked separately:

#505 tags lookup/validation on ask question -- use this issue to track anything tags-related on the ask page
#440 also ask-related

Tags Filter List - Pass
Tags Filter Typeahead -Pass
Tags Filter Dialog -Pass
Show Related Tags - POST 8.0-1
Search Results - Pass
In Ask Question Context - Open bug in Mike plate .

@yawitz - there is a lot of new interaction with the addition of the More tags dialog and availability of type ahead. Can you complete the audit for these features since it wasn't previously performed? I'm okay with bugs being added for post 8.0-1 but don't want to lose sight of getting this part up to spec.
Also note that we already have an issue for the total # of tags issue which is impact pagination of tags (#503)

@popzip I did one round of review with @yawitz today.  Here is the link that has latest code deployed : rh6-intel64-80-qa-dev-2:3000/ you can used for any further audits.  Thanks

oh good didn't know he was in the loop on that one then.

Added the following tags-related issues:

#518 Tag list (in all tags dialog) should return to first page when sort order is changed.
#519  "All Available Tags" dialog should follow design described in wireframes
#520 Implement "related tags" feature

Updated the following tags-related issues:

#473 Implement App-wide Tooltips
Tooltips table


Fix keyserver issue

When rebuilding the Docker image, I received the following error message:
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.yOGvv4HtFV/gpg.1.sh --keyserver keys.gnupg.net --recv 8C718D3B5072E1F5
gpg: keyserver receive failed: No name

After a short research it came to my attention that server keys.gnupg.net is just an alias for the server pool pool.sks-keyservers.net (see https://stackoverflow.com/questions/44768657/cannot-add-keys-from-keys-gnupg-net).
Via the web page https://sks-keyservers.net/ I learned that apparently the underlying service is deprecated. To be more precise, at the site it is stated that

This service is deprecated. This means it is no longer maintained, and new HKPS certificates will not be issued. Service reliability should not be expected.
Update 2021-06-21: Due to even more GDPR takedown requests, the DNS records for the pool will no longer be provided at all.

.
One solution to the problem is to use keyserver keyserver.ubuntu.com, which I use instead of keyserver keys.gnupg.net to build the image. And eventually, after this change, building the image is successful again. (At this opportunity I renewed the used base image as well.)

@jcormier Should I provide PRs for the "other" versions of Redmine?

I checked 4.0 and 4.1.  Already pushed the change for 4.1.  4.0 didn't seem to need it.


[$500] [HOLD for payment 2023-09-06] Dev - Unable to select a state

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open App ->Settings -> Workspace -> bank Account
Enter the required details and proceed to step 2.
Attempt to select your state.

Expected Result:
The user is able to select a state.
Actual Result:
The user cannot select a state.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number:
Reproducible in staging?: dev
Reproducible in production?: dev
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/9e072e52-2f04-4358-b6d6-40c46903b974
Expensify/Expensify Issue URL:
Issue reported by: @nodebrute
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693058557198979
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017b84ce7e9fc17d03
Upwork Job ID:<PHONE_NUMBER>094031872
Last Price Increase: 2023-09-13

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Proposal
Please re-state the problem that we are trying to solve in this issue.
On typing any char for statepicker the modal gets hide
What is the root cause of that problem?
Seems regression from https://github.com/Expensify/App/pull/25672 where we migrate the BaseModal class component to the function component. I think we need to do the cleanup  It is doing the cleanup on the dependency changes which should occur on unmounting.
https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/Modal/BaseModal.js#L84-L94
What changes do you think we should make in order to solve the problem?
I think we need to add a new useEffect without any dependency and move this clean up there which acts like a componentWillUnmount.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Dev - Unable to select a state
What is the root cause of that problem?
This might be a regression from this PR #21049.
The component hierarchy is in this way AddressPage -> CountryPicker -> CountrySelectorModal
If we type anything in the CountrySelectorModal that update will be passed all the way to CountryPicker because of the state we have here https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/CountryPicker/index.js#L37.
After the state update tree render would be like this CountryPicker -> CountrySelectorModal
which means all the state in CountrySelectorModal will be wiped off(obsolete and causes re-render as stated in the above proposals) and component Modal get's re-rendered.
Which triggers this https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/Modal/BaseModal.js#L84-L93 that calls the onModalHide.
https://github.com/Expensify/App/assets/59088937/27e73421-1f33-43d0-8672-161e9de1923b
What changes do you think we should make in order to solve the problem?
This happens with both CountrySelectorModal and StateSelectorModal because both of them following same kind of principles.

Input is related to the Modal's component, handling the state outside of modal is certainly causing the
re-renders which is leading to close the modal

I think we need to move the state here https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/CountryPicker/index.js#L37 and here
https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/StatePicker/index.js#L41 should be moved to individual modal components so that component state is isolated and won't cause any re-renders.

Even this approach is also causing the whole component re-render(only state update)  but it's only causing re-render for CountrySelectorModal which doesn't wipe the props which makes doesn't trigger this snippet here https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/Modal/BaseModal.js#L84-L93

What alternative solutions did you explore? (Optional)
NA
Result
https://github.com/Expensify/App/assets/59088937/905a59db-e6ca-49a6-98f7-d1f5fd818875

sorry people for a lot of assignment and unassignments, but because is a deploy blocker and it's causing issues with other PRs that involve pop over behavior, I gonna handle this 🙇

Ok, let me know in case my proposal makes sense and if I can do some help here.

@kevinksullivan I'm so sorry for confusing situation here. But there is the summary

@allroundexperts Our C+
@Pujan92 helped me make the PR throughout the PR review (Although I wrote the code, I just followed their instruction). Let's treat the case as if @Pujan92 made the PR (usual payment)

Gonna remove the deploy blocker label, since this issue happened in dev only and we merged the fix.

@allroundexperts please complete the checklist when you a get a chance. Thanks!

Adding label to get upwork job created, not sure why that was skipped before.

Offers sent to @Pujan92 @Nodebrute and @allroundexperts . Let me know when you accept!

Accepted @kevinksullivan, Just to confirm this needs to be paid using the earlier payment price, right?

Can you elaborate on that @Pujan92 ? what is the earlier payment price?

what is the earlier payment price?

@kevinksullivan I am referencing this as this issue seems created before 30th aug.

Payment summary:

Reporter - @Nodebrute $250
reviewer - @Pujan92 $1,000
reviewer - @allroundexperts  $1,000 (newdot)

Sorry @allroundexperts I missed that. Updated payment amounts

Updated payment to @Pujan92 , just need to pay out @allroundexperts

@allroundexperts could you accept the offer?

Asking @JmillsExpensify in DM about the newdot payment.

$1,500 payment approved for @allroundexperts based on BZ summary.


Update template paths

@mwilliams2014 this is the fix for #129 could you please review?
I tested deploying and applying the layout in portal and it works fine but I was mostly concerned about the "velocity to freemarker translation" ... although I see similar lines in liferay-portal
Thanks!

Based on seeing this work it looks pretty reasonable so going to merge it and we can follow up with any amendments based on feedback from Mike.

@julien , from what I can see in the diffs, the translation looks right for the FreeMarker syntax. I'm not sure how the generator reads it and determines how many columns/rows, etc, but as long as it follows that syntax, it's right. You can see an example in our docs as well: https://dev.liferay.com/en/develop/tutorials/-/knowledge_base/7-1/creating-layout-templates-manually#anatomy


Remove OMOP seeds, rename vocab seeds

It turns out the reason docs weren't rendering for some of the models was because there were seed files in the project with the same names as these models.  To fix that, I:

Removed the empty table seeds and replaced them with SQL queries (which I prefer to the seeds anyways)
Renamed the vocab seeds to have _seed postfix

The docs now fully populate for these models :)

I think this works well now!

Whoops!  It's weird I didn't get that error - maybe because those tables still existed in my schema from previous runs?  Agree with the change; thanks for catching that!  I'll merge in.


Add identifier field to collections

Several users have submitted data as collections of stuff even when they have works. Essentially they needed more hierarchy than is provided by works. The result is that we need to be able to identify collections with DOIs. I've already been providing DOIs for collections in a couple cases, and the DOI resolves to the collection. So we just need to be able to have a DOI field for collections to be fully consistent.

The identifier is in under additional fields.


SOCIALFB-76 Exposing all available image sizes returned from FB

This solution makes it easier for users to protect against changes to the FB-API. They can lookup images of desired sizes by iterating through all available images instead of relying on the existing getters.
However, this is only half of the fix for this issue. The existing getters should be adapted to return images of appropriate sizes again. getTinyImage() for instance currently returns an image of size 480x322.

@theigl Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


The commit for teleport 7.3.2 seems stuck

This is not really a package bug, but rather to report that it seems like this build https://github.com/NixOS/nixpkgs/runs/4034687795 is stuck. 18d running.

Prior to last Thursday / Friday, we only had 1 Darwin builder for ofborg. Once we added more builders, we moved all the previously-queued builds to a backup queue so that ofborg could work on new PRs instead of on the old, queued PRs (the queue was in the 3000s). Not an ideal situation, but IMHO newer PRs are much more useful to have built than old ones.
So, essentially, this is a "known issue", but nothing is planned to be done at the moment.


Add code coverage and ensure stays at current 93%

Better late than never but do you still want to get this merged? I would need you to rebase your branch on the latest master.

Sorry, I don't actively use this anymore.


How do we ensure the Auth header is always set for reply?

we can manually do:
return reply('You Logged in!').header("Authorization", token);

in the handler...
But how do we apply the Auth header to all reply(s) sent to client (e.g. in a plugin instead of having to set in the handler) ?

Simple. we don't. The client is responsible for setting this.


'Continue flow run' of 'On error' Not working

It appears as if the option 'Continue flow run' in 'On error' isn't working.
Here's the error:

Here's my 'On error' setting:

What am I missing?

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

ID: 5ff3d374-1569-6f71-3228-17de1257fab7
Version Independent ID: a1fe549f-80aa-3893-5f1f-df611cc3e33e
Content: Handle errors in desktop flows - Power Automate
Content Source: articles/desktop-flows/errors.md
Service: power-automate
Sub-service: desktop-flow
GitHub Login: @georgiostrantzas
Microsoft Alias: iomavrid

Hello @tito-x, thank you for using Power Automate! The error in the screenshot is a logic error. As a result, you can't handle it using the error-handling options of the actions. To handle logic errors, you should use the "On block error" action. For further help with technical issues, please reach out to our support teams through support ticket.

Is there a way to skip that particular iteration? As the loop works fine for other iterations in the loop.

Because this is a technical question and not related to the documentation, please reach out to our support teams through support ticket.


Disable x-frame-options: DENY headers

Forgot to mention this on the call...
Currently the API (content) responds with a x-frame-options: DENY header. Would it be possible to disable this? I didn't find explicit mention of this header in the codebase, so it may be default fastify logic (or similar)
This is needed for some iframe CSP (content security policy) changes on the frontend

I believe this header is added by Cloudflare, @CharlieC3 do you know?

@janniks @rafaelcr I add this header as a response for all of our deployed APIs; it's a good security standard to have. I've removed it for the Ordinals API, so you should be good now.
Do you know if we'll be able to add this back in the future?

@CharlieC3 I think we could disable this header only for the /ordinals/inscriptions/:id/content endpoint, right @janniks ?

Sorry, I think we can revert the change again 🙈 Turns out there's more CSP issues in browsers that we can't fix currently.
But the originals ordinals.com behaves the same way (e.g. for redirects in ordinals content in iframes)
If we do need this, /content will be enough -- but for now let's revert to whatever is a good security standard again 🙏

@janniks haha reverted, thanks!

@janniks Can you test the Ord-API in dev before I roll the change out further? In addition to removing the x-frame-options header, I also added the frame-ancestors config to the CSP, allowing only parent sites matching https://*.hiro.so to embed iframes from that Ord-API endpoint. So this is more secure than just allowing anyone to embed the content.

Hmm seems it does not. @rafaelcr Are you able to take a look at the dev Ord API deployment? Maybe it's not registered with the dev chainhooks deployment?


Add GCP specific kaniko task

It would be awesome if we could add other providers as well, so that we have a bunch of simple examples for pushing an image & signing with Chains.

/lgtm

/approve


Advice on firing an async request to initialise the background page

The question I have is can someone provide some guidance on the best practice on how to dispatch an action from the background page to initialise my store.
I've created a number of alias'd actions in my middleware so that UI interaction can trigger background actions (which can then dispatch other actions by using redux-thunk) however this only works when the UI popup is triggered.
What I want to do is fire off an async action (using axios) to download some initial data when the background page runs so I can initialise my store - ideally I'd like to call the dispatch() function but I can't seem to find any point that it's in scope.
Anyone got any ideas?

Ok - so I feel a little dumb at this point as all I had to do was call store.dispatch() from background/index.js however (again) I'll close this and leave it here so hopefully someone else might find this if needed! :)

Yep - as with normal redux, you just need to dispatch against the store. :-)
Glad you figured it out @Techdojo


PrimeNumberTools Private Cache - May Cause Duplication

The PrimeNumberTools object has a private ShortPrimeCache member that it uses to serve it's functions.
This cache is inaccessible to users, and so if a user needs a PrimeNumber cache they will have to create one. If PrimeNumberTools is being used, then the cache will be duplicated.
Potential solutions:

Make the cache public
Refactor PrimeNumberTools members to use functional dependency injection, design for any size cache, and remove private cache
Make ShortPrimeCache static

Functional Dependency injection is the most flexible.


Single node fix

Fixes https://github.com/google/TensorNetwork/issues/177

Thanks Martin. Sadly I need a Googler to approve this.

was just curious what would happen :)


Fix namespace of PdkInfoProto to better reflect the intent.

Namespaces for protocol buffers should not be based on path-elements but primarily on what they represent.
This proto has nothing to do with bazel nor rules, just hdl.

Let's fix the name while it is not too late and more people depend on it.


[ENHANCEMENT] CI/CD should create a x86_64 linux tarball

https://github.com/epi052/feroxbuster/blob/master/.github/workflows/build.yml needs to be updated such that the x86_64 build creates a tar.gz file as well.  This will be used for homebrew installs.
An example already exists in the build-macos job. https://github.com/epi052/feroxbuster/blob/master/.github/workflows/build.yml#L62
This issue is the mirror of that for 64 bit linux builds.

Closed in 29abef638621559f5f5330a5bb012ad3828881e8


Add MP2

Adding MP2 to EinHF.

MP2 works! Also added a non-singlet test for unrestricted testing.


Fix Drupal initialization process with respect to errors

Previously, any steps of the Drupal container initialization in etc/cont-init.d/99-custom-detup.sh were non-fatal.  Notably, part of  a non-dev Drupal instance's startup sequence involves importing configuration, which would fail.  In a production environment, this should be fatal (as otherwise, Drupal would start with a possibly indeterminate config that differs from the developer's intentions).
This PR changes the default behaviour of the initialization script so that the Drupal container will terminate with a non-zero error code if any step of initialization fails.
the environment variable DRUPAL_IGNORE_STARTUP_ERRORS can be set to true in order to revert to the old behaviour that allows a mis-configured Drupal to at least run for the sake of forensics/debugging.
Additionally, the following changes were also made:

The logic that detected the presence/absence of mysql tables was wrong, and was previously unable to detect when mysql was connected, but there were zero Drupal tables.  This has been fixed
perform_runtime_config fails for static/cloud configurations, and needs to be looked at in a separate issue.  This PR temporarily allows this failure to happen without terminating Drupal, just so that fixing it doesn't become a blocker

To test

build all images ./gradlew build
copy the resulting tag into the TAG variable in idc-isle-dc/.env
do make up, it should start fine.  then docker-compose down -v
do make static-docker-compose.yml, and make up.  It should fail.  This is because of a bug who's fix is pending
edit docker-compose.yml and add DRUPAL_IGNORE_STARTUP_ERRORS: true to the drupal container's environment.  do make up and verify that Drupal starts successfully.

It's also possible to verify the mysql fix via

in idc-isle-dc with the updated TAG, change SNAPSHOT_TAG in .env to be empty (or do make snapshot-empty).   Do the normal make docker-compose.yml, and try to start.  It should fail.  Look at the Dupal logs and verify that it prints out the expected message "Drupal is not installed, no pre-existing state found"

Resolves #8

To save some time, DOCKER_IGNORE_STARTUP_ERRORS: "true"  you must use quotes

This looks good to me.  Passed all tests mentioned in PR write-up.


Add contracts submodule

This is used to build and deploy an OS contract to the fleet.
Changelog-entry: Add contracts submodule
Signed-off-by: Alex Gonzalez<EMAIL_ADDRESS>

Automation mistake


md-select does not show selected value when options are initiliased after ngInit

Bug, feature request, or proposal:
When  you use md-select with an array of options that is initialised after ngInit has run the current value is not shown.
What is the expected behavior?
When initializing the options array at any time, md select should show the current value.
What is the current behavior?
When initializing the options array at any time, md select does not show the current value
What are the steps to reproduce?
Providing a Plunker (or similar) is the best way to get the team to see your issue.
http://embed.plnkr.co/VSvOY4/
What is the use-case or motivation for changing an existing behavior?
The md-select should mimic the behaviour of the select as much as possible
Which versions of Angular, Material, OS, browsers are affected?
Material: 2.0.0-alpha.11-3
angular: 2.2.1
Chrome 55
(I did not test other browsers or versions)
Is there anything else we should know?
The plunker example shows the difference in behaviour of the md-select and the select. As you can see, the select dropdown picks up the changes, while the md-select does not in exactly the same scenario
The select does work if the options are initialised directly (in the template or using an array that is initialised in the constructor)

Closing as a duplicate of https://github.com/angular/material2/issues/2497. Also there's a pending fix for it.


fix install+config title

hi! we are doing some seo cleanup over in the registry, and w are updating the titles to align with those changes. this will also allow us to support breadcrumbs on the page.
after merging this requires a release for the registry to know about it. thank you!!

Hello @susanev, Do I understand correctly, that I need to release a new minor version in my repository for the pulumi registry to pick it up? This is my understanding, but wanted to double check.

thats correct, thank you!!

Thanks, will get this done soon

Merged and new minor version released.


Does OpenBLAS 0.2.20 conflit with mxnet?

I compiled mxnet with OpenBLAS 0.2.20,  mxnet can use only one thread for decoding image data,  while with OpenBLAS 0.2.19,  mxnet use multithread for decoding data. I checked  multiple  compile options and finally roll back to OpenBLAS 0.2.19 so that mxnet multithread works well. Does OpenBLAS 0.2.20 conflit with mxnet?

While mxnet makes single BLAS call there is no problem that OpenBLAS spins multiple threads, though might be desirable to use development version past 0.2.20 to gain from small sample threading optimisations. You can adjust openblas threading levels with external environment variables. Start with disabling threading in mxnet (thay have documentation), cand compare with mxnet threading and single-threaded openblas (OPENBLAS_NUM_THREADS=1 will reduce multithreaded builds to single-thread)
Obvioulsy if both attempt to fill all cores present you get cores^2 threads and it goes between very slow and nowhere.
Please share timings - what you get by default, then what you get in each restricted case. Best is yours to keep.


The Divio system is called Diátaxis these days

The author of that framework moved on from Divio and now works at Canonical - he's rebranded the documentation system Diátaxis and is promoting that term and continuing to develop it.

Thank you for your 1st nbdev commit! :D


Specific per-module CSS style doesnt override wildcard one

In my  stylesheet I have color style set in the wildcard block (*{ ... }). When I set color in the specific module blocks, (i.e.#window { ... }), it doesn't apply - in all the modules text has the same color no matter what.

Weird, this is more a gtk issue than a waybar one, i'm still going to look at it.

You still have the problem? because I can't reproduce it, blocks order is important you mind check it :)


Increase the integration test timeout.

Description of changes:
Low timeout in integration tests (10 minutes) was causing frequent timeout exceptions in endpoint creation/deletion steps. Increased the tolerance.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: StepFunctionsPythonSDK-integtests
Commit ID: 06517673dcc7360c59e722f82bd700044581cec3
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Added turning flowchart; wind direction conventions

This PR will resolve #82 when it is completed.

What do I need to do with the page tree? It seems like "Types of Turn" is already capitalized in the page tree in mkdocs.yml
I created the flow chart. Do you know if there's a way to split the contents of a box over multiple lines? I couldn't find a way to do this so I used grammatically incomplete questions so that the font was legible and the boxes weren't too large.
I put the wind convention in the miscellaneous page

Just add an "s": "Types of Turn" -> "Type of Turns" to match the page header
@DFriend01 can you help with the flowchart stuff
Wind conventions section looks good

Ok, the s is added haha
👍
thanks!

@jamenkaye You have to use the HTML tag
 to break onto a newline. Here is an example of me using it on your flowchart:
Without

graph LR
    B[Classify a Turn] --> C{Sail change sides?};
    C --> |Yes| E{"Which side of the boat is the upwind end?"};
    C --> |No| D{Pointing higher or lower?};
    D --> |Higher| F[Heading Up];
    D --> |Lower| G[Bearing Off];
    E --> |Bow| H[Tack];
    E --> |Stern| I[Gybe];

graph LR
    B[Classify a Turn] --> C{Sail change sides?};
    C --> |Yes| E{"Which side of the boat is the upwind end?"};
    C --> |No| D{Pointing higher or lower?};
    D --> |Higher| F[Heading Up];
    D --> |Lower| G[Bearing Off];
    E --> |Bow| H[Tack];
    E --> |Stern| I[Gybe];

With

graph LR
    B[Classify a Turn] --> C{Sail change sides?};
    C --> |Yes| E{"Which side of the boat
is the upwind end?"};
    C --> |No| D{Pointing higher or lower?};
    D --> |Higher| F[Heading Up];
    D --> |Lower| G[Bearing Off];
    E --> |Bow| H[Tack];
    E --> |Stern| I[Gybe];

graph LR
    B[Classify a Turn] --> C{Sail change sides?};
    C --> |Yes| E{"Which side of the boat
is the upwind end?"};
    C --> |No| D{Pointing higher or lower?};
    D --> |Higher| F[Heading Up];
    D --> |Lower| G[Bearing Off];
    E --> |Bow| H[Tack];
    E --> |Stern| I[Gybe];

Thanks @DFriend01! I think it looks much better now.
@patrick-5546 now I've actually completed all the changes I wanted to make for the linked issue #82. Sorry I probably should have waited until now to mark it as "Ready for Review". Let me know if you have any feedback :)


docker-compose fails to start the service

Report

![b0714984-e8a8-452f-b27d-44b0779d1b34](https://github.com/user-attachments/assets/11224c18-e5a2-4ed3-acff-f189ca1153ee)
Expected behavior
No response
Steps to reproduce the problem
1.git clone https://github.com/pezzolabs/pezzo.git
2.cd   pezzo
3. echo 'SUPERTOKENS_DATABASE_URL=' > .env.docker
4. docker-compose -f docker-compose.infra.yaml up
Logs (if applicable)
example

Pezzo version
latest
How do you use Pezzo?
Docker Compose

any fix for the DATABASE_URL issue ?

DATABASE_URL 问题有修复吗？

no


CORS is not enabled when there is any error occured

I enabled the CORS support using Microsoft.AspNet.Cors.Core(6.0.0-beta8) and Microsoft.AspNet.Cors (6.0.0-rc1-final) in a ASP.NET 5 RC1 project.
It is ok when the api called succeeded.
But when I use JWT bearer middleware and provided a invalid token, the middleware throw an 500 error, then the CORS is not enabled, no Access-Control-Allow-Origin in the HTTP headers.  Can you help how to add the CORS when there is any error occurred? Thanks.

I'm having the same issue with RC1

@kichalla any idea?

@TonyWoo @andrevlins  Can you share how your Startup's Configure method looks like?
Are you using Cors by doing UseCors (in which case you would be using Cors middleware) or not (in which case Mvc middleware itself has Cors support)?

@TonyWoo @andrevlins Closing this now. Feel free to re-open it if you still see an issue and also please provide some repro code.

My problem was solved using https://github.com/aspnet/CORS/issues/46 solution.

Good to know. Thanks!

@kichalla So I'm definitely having this problem. I tried the proposed solution, implementing a CustomExceptionFilter which inherits from ExceptionFilterAttribute. The problem is that there isnt an Exception being thrown.  Any ideas? A couple of thoughts:

Does this just need to inherit from AuthorizationAttribute instead of ExceptionFilterAttribute and override some other method?

I stumbled across the CorsAuthorizationFilter and am wondering if this should come into play here. Havent been able to find ANY documentation though on how to implement this.

I have what would probably be a working solution using the UseExceptionHandler middleware, but since I have not added the CORS headers, the actual response is moot. Here's that solution:
`app.UseExceptionHandler(appBuilder =>
{
appBuilder.Use(async (context, next) =>
{
var error = context.Features[typeof(IExceptionHandlerFeature)] as IExceptionHandlerFeature;
if (error != null && error.Error is SecurityTokenExpiredException)
{
context.Response.StatusCode = 401;
context.Response.ContentType = "application/json";
await context.Response.WriteAsync(
JsonConvert.SerializeObject(
new { authenticated = false, tokenExpired = true }));
}
else if (error != null && error.Error != null)
{
context.Response.StatusCode = 500;
context.Response.ContentType = "application/json";
// TODO: Shouldn't pass the exception message straight out, change this.
await context.Response.WriteAsync(
JsonConvert.SerializeObject
(new { success = false, error = error.Error.Message }));
}
else await next();
});
     });`

Here's my whole Startup.cs file:
`
private readonly IApplicationEnvironment _appEnvironment;
public IConfiguration Configuration { get; set; }
private TokenAuthOptions AuthOptions { get; set; }
    public Startup(IHostingEnvironment env, IApplicationEnvironment appEnvironment)
    {
        _appEnvironment = appEnvironment;
        // Set up configuration sources.
        var builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); ;

        builder.AddEnvironmentVariables();
        Configuration = builder.Build().ReloadOnChanged("appsettings.json");
    }

    // This method gets called by the runtime. Use this method to add services to the container
    public void ConfigureServices(IServiceCollection services)
    {
        var appUrls = Configuration.GetSection("AllowedApplicationUrls");
        AuthOptions = Configuration.Get<TokenAuthOptions>("TokenAuthOptions");

        var key = RSAKeyUtils.GetKeyParameters(_appEnvironment.ApplicationBasePath + "/signingkey.json");
        AuthOptions.SigningCredentials = new SigningCredentials(new RsaSecurityKey(key), SecurityAlgorithms.RsaSha256Signature);

        services.AddInstance(AuthOptions);
        services.AddAuthorization(auth =>
        {
            auth.AddPolicy("AdministratorOnly", new AuthorizationPolicyBuilder()
                .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                .RequireRole(SecurityRoles.PharosAdmin)
                .RequireAuthenticatedUser().Build());
        });
        services.AddEntityFramework()
                .AddSqlServer()
                .AddDbContext<AppDbContext>(options =>
                     options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

        services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores<AppDbContext>()
            .AddDefaultTokenProviders();

        services.AddCors(options =>
        {
            options.AddPolicy("AllowSpecificOrigin",
                builder =>
                {
                    builder.WithOrigins(appUrls.Value)
                    .AllowAnyMethod()
                    .AllowAnyHeader()
                    .WithExposedHeaders("Content-Disposition");
                });
        });

        services.AddTransient<ILicenseManager, LicenseManager>();
        services.AddTransient<IDbLicenseManager, DbLicenseManager>();
        services.AddMvc(config =>
        {
            var policy = new AuthorizationPolicyBuilder()
                .RequireAuthenticatedUser()
                .Build();
            config.Filters.Add(new AuthorizeFilter(policy));
            config.Filters.Add(new ExceptionHandlerFilterAttribute());
        });
    }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory.AddDebug();

        app.UseIISPlatformHandler();
        app.UseExceptionHandler(appBuilder =>
        {
            appBuilder.Use(async (context, next) =>
            {
                var error = context.Features[typeof(IExceptionHandlerFeature)] as IExceptionHandlerFeature;
                if (error != null && error.Error is SecurityTokenExpiredException)
                {
                    context.Response.StatusCode = 401;
                    context.Response.ContentType = "application/json";
                    await context.Response.WriteAsync(
                        JsonConvert.SerializeObject(
                            new { authenticated = false, tokenExpired = true }));
                }
                else if (error != null && error.Error != null)
                {
                    context.Response.StatusCode = 500;
                    context.Response.ContentType = "application/json";
                   // TODO: Shouldn't pass the exception message straight out, change this.
                    await context.Response.WriteAsync(
                        JsonConvert.SerializeObject
                            (new { success = false, error = error.Error.Message }));
                }
                else await next();
            });

        });

        app.UseStaticFiles();

        app.UseCors("AllowSpecificOrigin");
        ConfigureJwtToken(app);
        app.UseIdentity();
        app.UseMvc();

    }
    public void ConfigureJwtToken(IApplicationBuilder app)
    {
        //var issuer = "http://localhost:65003/";
        //var audience = "099153c2625149bc8ecb3e85e03f0022";
        //var secret = TextEncodings.Base64Url.Decode("IxrAjDoa2FqElO7IhrSrUJELhUckePEPVpaePlS_Xaw");
        app.UseJwtBearerAuthentication(options =>
        {
            options.AutomaticAuthenticate = true;
            // Basic settings - signing key to validate with, audience and issuer.
            options.TokenValidationParameters.IssuerSigningKey = AuthOptions.SigningCredentials.Key;
            options.TokenValidationParameters.ValidAudience = AuthOptions.Audience;
            options.TokenValidationParameters.ValidIssuer = AuthOptions.Issuer;
            options.TokenValidationParameters.ValidateSignature = true;
            options.TokenValidationParameters.ValidateLifetime = true;
            options.TokenValidationParameters.ClockSkew = TimeSpan.FromMinutes(0);
        });

    }

    // Entry point for the application.
    public static void Main(string[] args) => WebApplication.Run<Startup>(args);`


Allow to initialize on start either from alpha account root file or from beta blockchain start

TODO:

Refactor start_node management command to accept any length list of locations for blockchain origination
Detect type blockchain location: alpha account root file or beta blockchain state
Use the first blockchain origination that is available
Inject self into blockchain state for alpha account root file as node and pv instead of adding blocks on top
Add blockchain state validation (with signature)

https://github.com/thenewboston-developers/thenewboston-node/pull/259

https://github.com/thenewboston-developers/thenewboston-node/pull/260

https://github.com/thenewboston-developers/thenewboston-node/pull/261

https://github.com/thenewboston-developers/thenewboston-node/pull/262

done here: https://github.com/thenewboston-developers/thenewboston-node/pull/283


Annotations on ClusterIP services

Sorry for all the Q's, but in my process of getting a demo of this up and running I was trying to see how to have the Canary definition specify service annotations. For example, we have a service annotation that tells our Prometheus instance that that service supports Prometheus scraping and the endpoint where those metrics can be scraped.
tl;dr Does the canary object support ClusterIP Service Annotations?

Also, do you have a Slack for this project or other forum for Questions rather than filing issues?

Will ask on the slack channel!


Download from PodeStaticRoute with EndpointName 404

Similar to https://github.com/Badgerati/Pode/issues/669?
Add-PodeStaticRoute -EndpointName Foo then use -DownloadOnly or Set-PodeResponseAttachment you get 404
Start-PodeServer {
    Add-PodeEndpoint -Address localhost -Protocol Http -Name 'Main'
    Set-PodeViewEngine -Type Pode

    Add-PodeStaticRoute -Path '/assets' -Source './assets' -EndpointName 'Main' -DownloadOnly

    # GET request to download a file from static route
    Add-PodeRoute -Method Get -Path '/download' -ScriptBlock {
        Set-PodeResponseAttachment -Path '/assets/file.txt'
    }
}

Thank you! Works for me 👍
I should have read the documentation, didn't know you can use Set-PodeResponseAttachment without a Static Route. Probably better for security in case of not public files because it's well... not a static route 😅

Aye, it's legacy from 0.X, I might actually look at removing it come 3.0 so it's only static routes.

In that case I will keep using static routes. Why remove it? Dose it have some big disadvantage?

No disadvantages, and there are a few other functions that have the same Literal/Static path logic, so it'll probably stick unless other people flag security concerns

OK
So I set the Download caching folder to use static route as the files there has GUID folders that can't be guessed, I can maybe provide a direct download URL if needed and it restricted to the static route.
And for the Drive I use absolute path without static route as a user can guess the paths and if I will add permission logic in the future it will be a problem. also the delete/show/list files are already using absolute paths so if my logic have security holes it's compromised already anyway ¯\_(ツ)_/¯
https://github.com/ili101/PWT

Under the hood a static route's source path setup as a temp drive, which can be retrieved via (Get-PodeStaticRoute -Path '/download').Source - this is another path you could use 🤔
Only thing you really need to worry about is if someone put a path into ?value= manually like ?value=../../../etc. Using the temp drive, or the static path would prevent backwards traversal - otherwise a user guessing a path within the downloads folder isn't too much of an issue I would've thought, as you're letting them traverse it anyway.

I know you can do ?value=../../../etc this is allowed as long as you don't get out of the base path.
I was checking the option of using a temp drive yesterday evening. didn't knew that this is what you already use 😊. With it you would be able to also do ?value=Drive:/etc so you can have direct links.

I switched to using a PSDrive for the Drive but I create it manually and not from Pode because:

I want to select the name.
I don't need it to be static.
I don't need it on all runspaces.

A few problems I encountered:

In PowerShell as far as I can find you can't normalize a non existing path with a drive https://github.com/PowerShell/PowerShell/issues/5730 and https://github.com/PowerShell/PowerShell/issues/2993 so I needed to use some regex replacement to work around it (Workaround).
Save-PodeRequestFile don't work on PSDrives (like in the point above native .Net (in this case [System.IO.File]::WriteAllBytes) doesn't know what a PSDrive is, so I converted it before sending the path as a workaround for now.


Adding a complex sudoku test

I'm proposing to add this as a test.
@alfonsogarciacaro please take a look at the last line. is this expected to work?

This is nice! :+1: I just left a comment to reply your question. Ideally I'd like to have a pool of projects or scripts with their own tests and check all of them work with every major release. Right now I'm doing something like that manually by compiling the web samples and checking they sill work :)

fixed that assertion. hope I manually solved it correctly :P

Thanks!


Fish completion

refered: #656

Thanks for the contribution! I'll need some time to review this. Does this also work when hub is aliased as git in fish?

Sorry for bothering you.

Does this also work when hub is aliased as git in fish?

But tab completion does not work when hub is aliased as git in fish. I have to check and rewrite fish shell code.

I made this PR work when hub is aliased as git in fish.
https://github.com/fish-shell/fish-shell/issues/3767

I fixed PR.

Thank you for your merge!


fix(cli): merge locales of custom and base theme

Changes
closes #1291
For detailed description see #1291

custom themes now inherit the locales from the base-theme (if there is one)

Checklist

[x] the list of features is updated (if it's a feature and it's relevant)
[x] I followed contributing guidelines

@mkucmus would be great if this could land in the next release :)

@mkucmus would be great if this could land in the next release :)


Add an Example of Creating a Custom Widget

I would love to see an example of writing a custom widget, for example:  A new widget that derives from DrawingArea and implements Scrollable.  Information on how to do this seems to be disjointed and hard to find.

Could you clarify what the "two traits" are?

@mmstick I'm also wondering what the "two traits" are.

Here is a blog post about that topic: https://www.figuiere.net/technotes/notes/tn002/
@bvinc maybe this example covers your needs https://gtk-rs.org/docs/src/glib/subclass/types.rs.html#195-224
Gtk-rs examples cover that question, too:

Basic subclass
ListBox model

I think the issue can be closed


Updated Portuguese (pt_PT) localization to 0.2.5.

Updated Portuguese (pt_PT) localization to Cosmic Reach Pre-Alpha-0.2.5.

Thank you, merging now!


URL in comment is out of date

The url at https://github.com/Microsoft/HoloToolkit-Unity/blob/master/Assets/HoloToolkit/SpatialMapping/Shaders/Wireframe.shader#L35 no longer is valid. You can still access an archive version here: http://wayback.archive.org/web/20140213062544/http://cgg-journal.com/2008-2/06/index.html. I'm not sure if there's a better archive version or not; the link I just gave has missing pictures.

@nuernber would you like to make the fix :)


No config options available

Something like this would be good I think, and easy enough to add.
const snowfall = require('@erikwatson/snowfall')

snowfall({
  count: 250, // The "base" number of snowflakes, as the true total is calculated
  bgColor: '#cccccc',  // the colour of the snowflakes in the background
  fgColor: '#e3e3e3',  // the colour of the snowflakes in the foreground
  wind: 1, // Negative is left blowing, Positive is right blowing
  minSize: 2, // the smallest snowflake radius
  maxSize: 6 // the largest snowflake radius
})

Fixed in the new version.


Make build.sh executable via post-action

See https://github.com/dotnet/templating/wiki/Post-Action-Registry#change-file-permissions for details. This should fix https://github.com/SaturnFramework/Saturn/issues/15.

❤

Apparently the condition should have been "(OS != \"Windows_NT\")" (see https://github.com/SAFE-Stack/SAFE-template/issues/36). I'll open a new PR to fix this mistake.

PR #3 should fix that issue.


Update Asset Pipeline Configuration

After merging #49, I noticed a few things about the current setup:

The -u cssnano option in the build command was overriding / wiping out everything in the configuration file. I noticed this after generating HTML locally (downloading CSS from the raw GitHub source on master). Seeing & in the generated, minified CSS, I thought it had something to do with the Sass syntax and committed 7705c4f4bfd3008c9c052af766debfed5737e8e5. However, as you mentioned, that functionality is already provided by postcss-preset-env.
The distinction between build and watch seemed unnecessary. If we only use watch, we don't need an additional, separate step at the end of the process.
There doesn't seem to be a good reason to keep unminified CSS in Resources.

This PR resolves these by removing the build script, removing and ignoring unminified CSS from Resources, and incorporating cssnano as a plugin.

The idea behind keeping the un-minified output was keeping an eye on potential regressions related to the PostCSS pipeline. But it should be fairly easy to overcome by commenting out the cssnano line in the config. 👍

That's a valid concern, and one that I want to be responsive to.
What ultimately matters is that the CSS looks good with the generated HTML, and that's a subjective measure that must be done manually. I can imagine how seeing a diff of the generated CSS would be desirable, but I see a few downsides to keeping Resources/all.css around:

It creates some confusion about which version is authoritative — the minified or unminified version.
Small changes in configuration could produce chaotic, albeit unsubstantive, changes in the resulting CSS
It's another blob for Git to keep track of, increasing the overall size of our repository

Here's one way to get the benefits of diffing the compiled output without the aforementioned costs:

Install a CSS formatting tool like js-beautify
Add the following to .gitattributes:

+ *.min.css diff=mincss

Add the following to .gitconfig:

[diff "mincss"]
	textconv = js-beautify --css
	cachetextconv = true

This would expand the CSS into a normalized, human-readable form before performing a standard diff over the text.
Not saying that we should add this immediately, but rather to share an alternative solution if later we start to feel the loss of Resources/all.css.

Neat idea! Haven't thought about using git for this sort of thing, which is a natural place to look in in hindsight.

@kaishin It's a neat technique. I learned about it as a potential solution for that perennial issue of Xcode project file merge conflicts.


Homebridge Node warning, tried unintalling and reinstalling help please!

homebridge wont start!
I have run
sudo npm uninstall  homebridge -g
and then
sudo npm install -g --unsafe-perm homebridge
But each time i get the following error on startup
Error: The module '/usr/lib/node_modules/homebridge/node_modules/ed25519-hap/build/Release/ed25519.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 57. This version of Node.js requires
NODE_MODULE_VERSION 59. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).
at Object.Module._extensions..node (module.js:678:18)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)
at Module.require (module.js:593:17)
at require (internal/module.js:11:18)
at bindings (/usr/lib/node_modules/homebridge/node_modules/bindings/bindings.js:81:44)
at Object. (/usr/lib/node_modules/homebridge/node_modules/ed25519-hap/index.js:1:99)
at Module._compile (module.js:649:30)
at Object.Module._extensions..js (module.js:660:10)
Any help thoughts please?
Happy to nuke and start again

what version of Node are you using?
Also insure that the node version that sudo is using is the same as the node version that the homebridge user ends up using. I had a similar problem and didn't realize the issue was different node versions in use by different users.
run
sudo which node
and then run
which node
if they are different that may point to your issues.
I use node version manager to manage my node versions.
https://nodejs.org/en/download/package-manager/#nvm
But sudo was still using the node version installed by apt-get even though i had installed node version 8 via nvm.
So i also followed the directions to update my linux distro to the same version 8 of node i installed via nvm.
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
There was probably a way to get sudo to use the node version as installed by nvm but i didn't look into it.


Restructure the OpenAPI repository

Description:

[x] https://github.com/ballerina-platform/openapi-tools/pull/1564
[x] https://github.com/ballerina-platform/ballerina-library/issues/6009
[x] https://github.com/ballerina-platform/ballerina-library/issues/6055

Close this issue with the favour of this PR https://github.com/ballerina-platform/openapi-tools/pull/1668