forgejo: refactor to ease overriding

Description of changes
Introduce new optional arguments to forgejo/generic.nix:

rev: git revision to use, will also be included in the version string.
srcOverride: for overriding the entire forgejo source.
Note that overrideAttrs does not work for this as the frontend npm
package must use the same src as the go module but has its source
specified in an un-overridable let-binding.
extraRuntimeInputs: list of additional packages the forgejo
executable should have access to during runtime, e.g. for custom
renderers or other extensions (e.g. git-annex).

These changes enable overriding the forgejo package to use a specific version or fork and add runtime dependencies without copy-pasting the generic.nix from nixpkgs or using a nixpkgs fork entirely, for example:
  forgejo-aneksajo = (pkgs.callPackage (import
    <nixpkgs/pkgs/by-name/fo/forgejo/generic.nix> rec {
      version = "8.0.2-git-annex0";
      rev = "b62d89ce67";
      hash = "sha256-kjvTPT5Iw2rm3ksP+9mm1tQOTLtr8T2Zikw5dl6aFWI=";
      srcOverride = pkgs.fetchFromGitea {
        domain = "codeberg.org";
        owner = "nobodyinperson";
        repo = "forgejo-aneksajo";
        inherit rev hash;
      };
      npmDepsHash = "sha256-dIf1Sh0jrQPM2IY+VtTtrEioBM1r43mQEI0fG4DcGTc=";
      vendorHash = "sha256-4l4kscwesW/cR8mZjE3G9HcVm0d1ukxbtBY6RXYRi8k=";
      lts = false;
      extraRuntimeInputs = [ pkgs.git-annex ]; # for annex support
    }) { }).overrideAttrs (oldAttrs: { doCheck = false; });

The forgejo and forgejo-lts packages still evaluate to the same, so no rebuild should be necessary.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

[x] NixOS test(s) (look inside nixos/tests)

[x] nix-build -A nixosTests.forgejo

and/or package tests

[x] nix-build -A pkgs.forgejo.passthru.tests
[x] nix-build -A pkgs.forgejo-lts.passthru.tests

or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixfmt changes should not be included regardless.

Good to know. The contribution guidelines said to run nixfmt. 🤷

I can assure you, what you are trying to accomplish is already possible with overrideAttrs, it's just very hacky.

Yep, hacky it is.

Extra dependencies should be added to the service/environment

Good point, I didn't think of that 👍

Just for reference, I indeed managed to do what I want with just overrideAttrs, and I find the hackiness level is reasonable:
https://gitlab.com/nobodyinperson/nixconfig/-/blob/2739a2e8df08a007d3003f3fc7ef5b04de57e88e/forgejo.nix#L5-L60
Anyway, thanks for your time reviewing this PR and sorry to have bothered you 🙏

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/overriding-forgejo-many-issues-trying-to-build-a-fork/55601/2


Fix Node.js 4.x compatibility

no issue

fixes compatibility issue introduced in https://github.com/TryGhost/Ghost/commit/7548ace32d529d4589e741ce9d34f5ea4c1d8059

💇


Adding OHDSI Deployment

PR for issue #1505
Adding deployment for OHDSI with Atlas
Creating new porter deployment
Adding terraform
How is this addressed

Describe the changes made, and if appropriate, why they are addressed this way
Note any pending work (with links to the issues that will address them)
Update documentation

Rough draft architecture and workspace/user workspace split.

Some advantages of bringing OHDSI to AzureTRE

Preconfigured admin environment and user experience
Network Topology Similarity
Airlock features

Closing as superseded by https://github.com/microsoft/AzureTRE/pull/3552


Don't count picking hits on button rounded corners

What problem does this solve or what need does it fill?
In Bevy 0.14, areas removed from buttons via rounded corners still count as hits, changing the value of Interaction components incorrectly.
What solution would you like?
The picking backend should exclude these by default, by getting information about the actual shape of the button.
What alternative(s) have you considered?
We could use alpha testing, but that's likely slower and generally not desirable in the context of UI.
Additional context
Related to but distinct from https://github.com/bevyengine/bevy/issues/14929, which is for sprites and uses a slower but more general algorithm.

If we just use the same border radius SDF function from the UI shader this should be trivial . We should probably store the resolved border radius values in a field in Node, so it only has to be calculated once.

@alice-i-cecile in #14929 I’m using a UiImage which happens to be mostly rounded but in fact the art has a bit of a decorative frame around it. Are you thinking the way to solve that is that I’d need to enable rounded borders on my button and then get a “close enough” result once this ticket is done? I think that’s why the sprite backend alpha testing stood out to me as the solve since for my decorative rounded images it would only trigger interactions when clicking the non alpha parts of the image.

There's nothing to stop us adding alpha testing for UiImage nodes as well that would override the SDF check.

I suppose more generally, it’s not rounded button support I was particularly after, but arbitrary UiImage shape support. Eg I also have some chunky arrow images as buttons and was expecting the alpha part to not be clickable.
As above, if the recommendation is going to be “just add rounded borders to your image button to get an approximation” that’s probably fine and better than what is there now (a rectangular hit space).

Yep, I'd prefer three options for UI: just AABB, rounded corners and alpha testing. Default to either rounded corners or alpha testing, depending if alpha testing's cost can be measured.

https://github.com/user-attachments/assets/5c14d9c7-84f4-4c22-90c3-274f12c05923


Adds integration tests for ansible operator

The tests are migrated from github.com/water-hole/ansible-operator, with
some updates and minor improvements.
Adds two new travis jobs to run the ansible-related tests. Adds artifacts that
are required to build the ansible operator base image, which will find a more
permanent home soon.

LGTM
/cc @shawn-hurley @AlexNPavel

LGTM

LGTM


Add option to reload plugin in plugin-wrapper's dropdown menu

Destroys <webdash-plugin-name> DOM element and then re-injects it


Best way to implement replication

What would be the best way to implement replication for bolt? I am thinking mostly about master/slave replication, where in the event of a server failure the second machine can take over without any downtime.
I searched for the available functions and found func (tx *Tx) OnCommit(fn func()) but I would not know which keys have changed so I could replicate this changes to the slave. Currently im thinking that the only way to implement this would be to write a wrapper around Tx.
I am glad if someone could give me pointers on how they use bolt in use cases that require fault tolerance. Thanks!

@mbertschler Fault tolerance / HA is a much bigger topic and depends a lot on your requirements. You can get strong consistency by using a consensus protocol (e.g. Paxos, Raft) but there are also other approaches that use weak consistency. It's a fairly complicated problem so unfortunately the only suggestion I can make is to read some research papers. :-/
https://github.com/papers-we-love/papers-we-love
https://raftconsensus.github.io/
http://thesecretlivesofdata.com/raft/

@benbjohnson thank you for these tips. This interactive guide http://thesecretlivesofdata.com/raft/ makes it pretty easy to understand.

@mbertschler Did you get anywhere with Bolt replication? If not, is there another solution anyone is aware of?

@unirep no I did not take this further. Bolt and a fully distributed database are quite different things.
An interesting article to read about this is the CochroachDB design document.
They are using RocksDB (different storage architecture but similar to Bolt) as a storage engine, and built their distributed database as a layer on top of that.
I personally have a use case where there is a central server cluster, and many nodes that are distributed over a wide area and not in the same datacenter, you could call that setup IoT. I use Bolt as a database on these external nodes, and CockroachDB in the central server cluster. For this I am implementing my own asynchronous replication. The software on the node can work standalone with just Bolt, but the central server database is used for backup and remote access.
I don't know about your use case but maybe this database could work for you: tidwall/summitdb (also in Go), I haven't tried it though.

@unirep As others mentionned, this is a vast and complex topic.
You may want to take a look at rbolt which provides some building blocks (like a journal buffer) for something that might suit your needs.


GraphQL Endpoint Language

The endpoint language is a variation on the schema shorthand from Facebook.
The purpose of the endpoint language is to declaratively express how a schema is implemented. This includes:

Field resolution based on meta-data annotations such as @DataFetcher.
Splitting a large schema into multiple files
Endpoint code-generation for both server and client

The main syntactic differences from the shorthand are as follows:

Import declarations which allows the schema implementation to be spread across multiple files
"Auto implementation" of fields in a type that should implement one or more interfaces
Meta-data on fields is placed before the field, similar to Java annotations, e.g.

Code example:
# file: main.graphqle

# import the Bar interface:
import "bar-schema-fragment"

type Foo implements Bar {
  @DataFetcher("fooAwesomeFieldDataFetcher")
  awesomeField: String
  # fields from Bar are auto-implemented, but can be declared again to add annotations
}

This issue tracks basic language support:

.graphqle file type
Parser
Lexer
Syntax highlighting
Formatter
Folding
Completion

This sounds fantastic can't wait for it to be released. Is there any official specification for this endpoint language ? I couldn't find anything using Google.

@sergehuber This issue and JSGraphQLEndpointParser.bnf is the only official specification at this time. You won't find any info elsewhere since the language design is done by my colleagues and myself.
We're currently using the Endpoint language to build a product, and once we're happy with the language features, the plan is to include the language in the published plugin version.
For now, I'd recommend that you write your schema in a ".graphqls" file (right click -> New -> GraphQL Schema file). Depending on which stack you're using on the server side, the Apollo team has a great set of tools that help you create a working endpoint based on your .graphqls schema file. See their medium post.
/Jim.

Merged to master.

@jimkyndemeyer hi! What do you think about supporting this functionality now? It looks like it hasn't become a standard and doesn't have a specification, but it still complicates the code and requires support. Is it used by anyone? Maybe it makes sense to delete this code in the next released version, what do you think? If someone needs it, they can use one of the previous versions.

Hi @vepanimas
The GraphQL Endpoint language is actively used by teams at Elsevier, and as part of my work there I have time to support it as needed.
I could potentially see us migrating to use GraphQL SDL, but we'd have to be able to augment the completion of directive argument values and their reference resolution to get the same level of tooling. I recall having seen ways for plugins to provide extension points for other plugins?
In any case, there's a number of ways to approach cleaning this up for easier overall maintenance of the plugin. For now, is there any specific part of the code that you think needs attention due to the presence of the Endpoint language?

@jimkyndemeyer ok, that's all I wanted to know. I mistakenly thought it was outdated, but if it isn't, there are many ways to slightly restructure it with extension points and isolate all the related code in a separate package.
A lot of features inside the WebStorm are done in a similar way. Usually, there is a base class with common functionality that accesses the extension point and polls some providers. For example, this is done with d.ts files, third-party plugins can provide their own definitions so that they are taken into account in the autocomplete and other features.
I think that this could be done later and incrementally, this does not prevent further development in any way.


Authenfication to ACS failed with JWT token addon

I have just clone the main repository of this project et configure the environment with correct config file. Locally function app start correctly. But an error occur in the console when a make a call.
This happen on your last commit "https://github.com/microsoft/call-center-ai/commit/3241b0e236a75bacf097dd648062a31181020056"  =>
Check the log below:
[2024-08-02T15:29:45.627Z] Request URL: 'https://cs-hackathon-group-auth.europe.communication.azure.com/calling/callConnections:answer?api-version=REDACTED'
[2024-08-02T15:29:45.627Z] Request method: 'POST'
[2024-08-02T15:29:45.627Z] Request headers:
[2024-08-02T15:29:45.627Z]     'Content-Type': 'application/json'
[2024-08-02T15:29:45.627Z]     'Content-Length': '8520'
[2024-08-02T15:29:45.627Z]     'Repeatability-First-Sent': 'REDACTED'
[2024-08-02T15:29:45.627Z]     'Repeatability-Request-ID': 'REDACTED'
[2024-08-02T15:29:45.627Z]     'Accept': 'application/json'
[2024-08-02T15:29:45.627Z]     'x-ms-client-request-id': '0c05eab0-50e4-11ef-beea-00155da425e3'
[2024-08-02T15:29:45.627Z]     'User-Agent': 'azsdk-python-communication-callautomation/1.2.0 Python/3.11.9 (Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.39)'
[2024-08-02T15:29:45.627Z]     'x-ms-date': 'REDACTED'
[2024-08-02T15:29:45.627Z]     'x-ms-content-sha256': 'REDACTED'
[2024-08-02T15:29:45.627Z]     'x-ms-return-client-request-id': 'true'
[2024-08-02T15:29:45.627Z]     'Authorization': 'REDACTED'
[2024-08-02T15:29:45.627Z]     'traceparent': '00-7fbb1db4c1b725b67479e92ac022c9c9-c3b5b64ca37d828d-01'
[2024-08-02T15:29:45.627Z] A body is sent with the request
[2024-08-02T15:29:50.683Z] Executed 'Functions.call_event' (Failed, Id=f58a724f-8fb0-4aed-90e8-fd4c6323452d, Duration=5235ms)
[2024-08-02T15:29:50.683Z] System.Private.CoreLib: Exception while executing function: Functions.call_event. System.Private.CoreLib: Result: Failure
[2024-08-02T15:29:50.683Z] Exception: ServiceRequestError: Cannot connect to host cs-hackathon-group-auth.europe.communication.azure.com:443 ssl:default [None]
[2024-08-02T15:29:50.683Z] Stack:   File "/usr/lib/azure-functions-core-tools-4/workers/python/3.11/LINUX/X64/azure_functions_worker/dispatcher.py", line 602, in _handle__invocation_request
[2024-08-02T15:29:50.683Z]     await self._run_async_func(fi_context, fi.func, args)
[2024-08-02T15:29:50.684Z]   File "/usr/lib/azure-functions-core-tools-4/workers/python/3.11/LINUX/X64/azure_functions_worker/dispatcher.py", line 939, in _run_async_func
[2024-08-02T15:29:50.684Z]     return await ExtensionManager.get_async_invocation_wrapper(
[2024-08-02T15:29:50.684Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.684Z]   File "/usr/lib/azure-functions-core-tools-4/workers/python/3.11/LINUX/X64/azure_functions_worker/extension.py", line 147, in get_async_invocation_wrapper
[2024-08-02T15:29:50.684Z]     result = await function(**args)
[2024-08-02T15:29:50.684Z]              ^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.684Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/opentelemetry/util/_decorator.py", line 68, in async_wrapper
[2024-08-02T15:29:50.684Z]     return await func(*args, **kwargs)  # type: ignore
[2024-08-02T15:29:50.684Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.684Z]   File "/mnt/main-call-center-ai/function_app.py", line 385, in call_event
[2024-08-02T15:29:50.684Z]     await on_new_call(
[2024-08-02T15:29:50.684Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/opentelemetry/util/_decorator.py", line 68, in async_wrapper
[2024-08-02T15:29:50.684Z]     return await func(*args, **kwargs)  # type: ignore
[2024-08-02T15:29:50.684Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.684Z]   File "/mnt/c/main-call-center-ai/helpers/call_events.py", line 49, in on_new_call
[2024-08-02T15:29:50.684Z]     answer_call_result = await client.answer_call(
[2024-08-02T15:29:50.684Z]                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/tracing/decorator_async.py", line 105, in wrapper_use_tracer
[2024-08-02T15:29:50.685Z]     return await func(*args, **kwargs)
[2024-08-02T15:29:50.685Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/communication/callautomation/aio/_call_automation_client_async.py", line 308, in answer_call
[2024-08-02T15:29:50.685Z]     result = await self._client.answer_call(
[2024-08-02T15:29:50.685Z]              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/tracing/decorator_async.py", line 105, in wrapper_use_tracer
[2024-08-02T15:29:50.685Z]     return await func(*args, **kwargs)
[2024-08-02T15:29:50.685Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/communication/callautomation/_generated/aio/operations/_operations.py", line 267, in answer_call
[2024-08-02T15:29:50.685Z]     pipeline_response: PipelineResponse = await self._client._pipeline.run(  # type: ignore # pylint: disable=protected-access
[2024-08-02T15:29:50.685Z]
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 219, in run
[2024-08-02T15:29:50.685Z]     return await first_node.send(pipeline_request)
[2024-08-02T15:29:50.685Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 68, in send
[2024-08-02T15:29:50.685Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.685Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 68, in send
[2024-08-02T15:29:50.685Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.685Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 68, in send
[2024-08-02T15:29:50.685Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.685Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   [Previous line repeated 2 more times]
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/policies/_redirect_async.py", line 73, in send
[2024-08-02T15:29:50.685Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.685Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/policies/_retry_async.py", line 206, in send
[2024-08-02T15:29:50.685Z]     raise err
[2024-08-02T15:29:50.685Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/policies/_retry_async.py", line 180, in send
[2024-08-02T15:29:50.686Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.686Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.686Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 68, in send
[2024-08-02T15:29:50.686Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.686Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.686Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 68, in send
[2024-08-02T15:29:50.686Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.686Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.686Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 68, in send
[2024-08-02T15:29:50.686Z]     response = await self.next.send(request)
[2024-08-02T15:29:50.686Z]                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.686Z]   [Previous line repeated 3 more times]
[2024-08-02T15:29:50.686Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/_base_async.py", line 104, in send
[2024-08-02T15:29:50.686Z]     await self._sender.send(request.http_request, **request.context.options),
[2024-08-02T15:29:50.686Z]     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-02T15:29:50.686Z]   File "/home/.pyenv/versions/callcenterai/lib/python3.11/site-packages/azure/core/pipeline/transport/_aiohttp.py", line 348, in send
[2024-08-02T15:29:50.686Z]     raise ServiceRequestError(err, error=err) from err
[2024-08-02T15:29:50.686Z] .
[2024-08-02T15:29:52.507Z] Executing 'Functions.call_event' (Reason='New queue message detected on 'call-33805981322'.', Id=54de6a89-e4bd-4bef-8562-c91e952bfaf5)

The problem come from helpers/http.py in line 50. When we comment this line (TCPConnector), the above error never exist.
Please could you check this on your side ?

I confirmed it works well on my computer (macOS Sequoia 15.0), a VM (Ubuntu 24.04) and the demo instance (deployed on Azure).
I would need more details from your environment and a reproduction steps to fix that or to justify removing that piece of code (which plays an important role in lowering network calls latencies).

Closing that issue. Don't hesitate to reopen with the details asked.


String ConcatenationCop failed while inspecting file

I upgraded to RuboCop 0.90 and had it inspect my files. In one of them it raised an error:
I think it is because of a double string interpolation.
The code in question:
header = { 'Authorization': "Basic #{Base64.encode64("appname:#{api_user_password}").delete("\n")}" }
Since this code is working the way it should, I am suspecting a bug in RuboCop.
The error was raised on the quotation mark in the column where the string "appname..." begins.
Important information

0.90.0 (using Parser <IP_ADDRESS>, rubocop-ast 0.3.0, running on ruby 2.6.1 x86_64-darwin18)

What was the error you got?

It said

An error occured while inspecting '...'

When I ran rubocop -d to investigate, the error did not occur again. Neither did it on subsequent runs.

I can't replicate this (either with autocorrect on or off). Can you try running rubocop without the cache enabled and see if the error returns? (rubocop -C false)

Interestingly, it still did not show up. Weird...
Also, I should mention that the error occured when running rubocop -A

Not sure what can be done without more details. Maybe close this issue and reopen with a backtrace if it happens again?

Okay I'll do that. It's not that bad of a bug, just wanted to let you know!


Build failing

see https://hub.docker.com/r/databoxsystems/databox-export-service/builds/bjzgvygaqgtqhbsdxd2gu36/

resolved in #12


cloudflare_ruleset resource doesn't create firewall rule

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
terraform 1.3.4
provider v4.10.0
Affected resource(s)
cloudflare_ruleset
Terraform configuration files
resource "cloudflare_ruleset" "block_ips" {
  zone_id     = var.cloudflare_zone_id
  name        = "blocking_rule"
  description = "Block api access"
  kind        = "zone"
  phase       = "http_request_firewall_custom"

  rules {
    action = "block"
    expression  = "(http.host contains \"api.example\")"
    description = "Limit IPs api access"
    enabled     = true
  }
}

Link to debug output
https://gist.github.com/m4t22/9cc011dd1eda0f76aa2541e3c6b439ce
Panic output
No response
Expected output
Output looks good but there is no firewall rule in the UI as while using cloudflare_filter and cloudflare_firewall_rule resources.
Actual output
Firewall rule is visible in UI.
Steps to reproduce

Apply code for cloudflare_ruleset resource.
Inspect CloudFlare UI: Security > WAF

Additional factoids
I've followed this guide: https://developers.cloudflare.com/terraform/additional-configurations/waf-custom-rules/#zone-level-configurations
Ruleset is visible via https://api.cloudflare.com/client/v4/zones/<zone_id>/rulesets, but not in UI
References
No response

for some kind/phase combinations, they are not visible in the UI (today) and you must confirm them working either with WAF analytics or the API.

@jacobbednarz would it be possible to get a list of supported (visible) kind/phase combination?
It is about the features' parity - I've used cloudflare_ruleset as I've seen following note:

So I wanted to use recommended resources and because of cloudflare_ruleset did not create rules in the UI, I had to fallback to resources scheduled for deprecation: cloudflare_filter and cloudflare_firewall_rule as using these I was able to get the rule in the UI.

i don't have them; you will need to reach out to support/your account team.


restore from WAL prevents JVM shutdown

The application is started
DB is opened
DB found corrupted.
DB begins restoring from WAL.
This process can take hours
User gets frustrated and attempts to shutdown the server
Restore from WAL thread prevents server shutdown. Other resources in our software are not closed

Orient ought to have some way of recognizing that the JVM wants to exit and shutting the restore from WAL process down so that it can continue where it left off when the server starts up again.
Stacks at 11:39:49 AM (uptime 6m 16 sec)
service [RUNNABLE]
java.util.zip.CRC32.updateBytes(int, byte[], int, int) CRC32.java (native)
java.util.zip.CRC32.update(byte[], int, int) CRC32.java:65
com.orientechnologies.orient.core.storage.impl.local.paginated.wal.ODiskWriteAheadLog$LogSegment.checkPageIntegrity(byte[]) ODiskWriteAheadLog.java:565
com.orientechnologies.orient.core.storage.impl.local.paginated.wal.ODiskWriteAheadLog$LogSegment.readRecord(OLogSequenceNumber) ODiskWriteAheadLog.java:402
com.orientechnologies.orient.core.storage.impl.local.paginated.wal.ODiskWriteAheadLog.read(OLogSequenceNumber) ODiskWriteAheadLog.java:876
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.restoreFrom(OLogSequenceNumber) OAbstractPaginatedStorage.java:2110
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.restoreFromBegging() OAbstractPaginatedStorage.java:2095
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.restoreFromWAL() OAbstractPaginatedStorage.java:1934
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.restoreIfNeeded() OAbstractPaginatedStorage.java:1334
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.open(String, String, Map) OAbstractPaginatedStorage.java:163
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.open(String, String) ODatabaseDocumentTx.java:209
com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.openOrCreate() OrientBaseGraph.java:1716
com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.(String, String, String) OrientBaseGraph.java:162
com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.(String, String, String, boolean) OrientTransactionalGraph.java:102
com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.(String, String, String) OrientTransactionalGraph.java:98
com.tinkerpop.blueprints.impls.orient.OrientGraph.(String) OrientGraph.java:69

After fuzzy checkpoints were implemented restore process does not take hours.
But idea is nice, I will try to implement it in 2.0 if we will have time.
Meanwhile could you try latest version and verify that restore process now will not take much of time.
Create database, fill the date, wait 15-20 min and kill server.
Let see time which we need to restore data.

Andrey
I am using RC1 and the following properties are set:
index.auto.rebuildAfterNotSoftClose = false
index.txMode=FULL
Yet, a corrupted database is taking half an hour to restore. In our
multitenant product, each instance has a database, and there may be 30
or more of them.
I really don't understand the logic behind this.
In our case:

Orient db shutdown seems to be executed, yet the DB still appears
corrupted.
If even if the above weren't true, we are not executing kill -9 on the
process, we are only performing kill -6
If kill -6 is executed, surely the shutdown hook would be executed,
and Orient db would be shutdown correctly
Even in the even that kill -9 was executed, surely, the database would
only restored from the point of corruption. It seems to be restoring
everything from the WAL. This is taking forever as it has to rebuild the
entire database, not just the damaged part.

Orient appears to overly sensitive and we cannot get it to behave in a
robust manner.
Any input would be most appreciated.
Jamie
On 2015/01/06 8:10 AM, Andrey Lomakin wrote:

After fuzzy checkpoints were implemented restore process does not take
hours.
But idea is nice, I will try to implement it in 2.0 if we will have time.
Meanwhile could you try latest version and verify that restore process
now will not take much of time.
Create database, fill the date, wait 15-20 min and kill server.
Let see time which we need to restore data.
—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3293#issuecomment-68830234.

We already fixed this problem in 2.0-SNAPSHOT, please could you switch to this release?

Closed, because of no answer.


Bug: inconsistency in what variable is open by default in subsetting tab

When you first open a study, sometimes the 1st variable in the variable tree is open by default, and other times the 1st variable in the list of featured variables is open by default.
For Example:

Amazonia ICEMR Brazil Cohort (Country is open by default and is not a featured variable but is the 1st variable in the tree)
ELICIT Randomized Controlled Trial (Ward in Tanzania is open by default and is the 1st variable in the featured vars list but the 3rd variable in the tree)

We should pick one option or the other and be consistent.

IMO the first featured variable being the default makes more sense, because presumably it's generally more widely used than the first variable in the tree

@chowington I agree, lets make 1st featured variable open by default. In rare cases where a study doesn't have any featured variables, please make the 1st variable in the tree open by default. thanks!


Add an credential definition based on any existing/published schema from any ledger

This is dependent on multi-ledger compatibility, which is currently a work in progress - as-is Traction only supports one ledger.

If I am understanding this request, this is not supported in Indy.
A CredDef must be on the same Indy ledger as the schema on which it is based.  If you want issuers on different ledgers to use the "same" schema, you have to duplicate the schema on each ledger.
Closing -- please reopen if you mean something else.


Support for -E (print preprocessed output)

You might think that gcc -E would be supported out of the box already, because Wandbox normally shows the output of the compiler. But it doesn't work.
Start
execve: Permission denied
1
Finish

I think the problem is that gcc my-input-file.c -E -o temporary-file.exe writes the preprocessed output into temporary-file.exe (as if you'd redirected standard output to that file); and then Wandbox tries to execve that non-executable file, and of course that fails.
A simple solution could be: "if the output file is non-executable, cat it instead of executing it".

Yes, gcc -E doen't work.
For such purpose, Wandbox provide CPP (C Preprocessor): http://melpon.org/wandbox/permlink/OR6Lx72X1nAeUAii
Please use it.


Travis CI Windows intermittent failures

Describe the bug

pipx's Windows tests on Travis sometimes fail during initial setup steps
Failures
 - python - python not installed. The package was not found with the source(s) listed.
 Source(s): 'https://chocolatey.org/api/v2/'
 NOTE: When you specify explicit sources, it overrides default sources.
If the package version is a prerelease and you didn't specify `--pre`,
 the package may not be found.
Version was specified as '3.7'. It is possible that version
 does not exist for 'python' at the source specified.
Please see https://chocolatey.org/docs/troubleshooting for more
 assistance.
The command "choco install python --version $TRAVIS_PYTHON_VERSION" failed and exited with 1 during .

How to reproduce

This doesn't seem to be reliable, but triggering a build sometimes causes the failure.
This recently occurred in https://github.com/pipxproject/pipx/pull/268, where everything passed except the windows build (https://travis-ci.org/pipxproject/pipx/jobs/625564662?utm_medium=notification&utm_source=github_status). I also saw it once after a merge to pipx's master branch.
Expected behavior

Travis Windows installation should succeed, or fail with a valid test error, not a setup error.
cc @jayvdb @rajibmitra

Obsolete since we don't use Travis anymore.


Getting thread 1 exc_bad_access (code=1 address=0x0) error in Xcode

i'm having thread 1 exc_bad_access (code=1 address=0x0) when running the flutter app for ios in xcode

thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000186e7b6f4 libswiftCore.dylibswift_getObjectType + 40 libswiftCore.dylibswift_getObjectType:

I am getting the same error as @andim27 - I have enabled firebase push notification and added the entitlements and configured APNs. And this issue started coming.

I don't have an Apple device so I can't test on xcode. If anyone feels up to the task, pull requests are welcome.


Dexter.withContext(...) method so Dexter can be created using generic Context

:pushpin: References

Issue: Closes https://github.com/Karumi/Dexter/issues/167

:tophat: What is the goal?
Allow to use generic context without the need to hold reference to an activity
:memo: How is it being implemented?
Added additional method Dexter.withContext(Context context). Method Dexter.withActivity(...) is retained for backwards compatibility.
:robot: How can it be tested?
I added test named testWithLooperAndAppContext to DexterTest. It uses application context to run the same scenario as testWithLooper

@Serchinastico Done!

There is a failing style check in Travis but I'll merge it and solve it in master directly. Thanks for your contribution!


const generics support

Consider the following code. It currently does not compile (on version 1.0.0).
#[auto_impl::auto_impl(&)]
trait Foo {
    fn foo<const I: i32>(&self);
}

fn main() {}

Using cargo expand I believe the macro expands to:
impl<'a, T: 'a + Foo + ?::core::marker::Sized> Foo for &'a T {
    fn foo<const I: i32>(&self) {
        T::foo(self)
    }
}

The T::foo(self) should be T::foo::<I>(self)

Thanks for the report @skittles1412!
We could probably just always list all generic bounds when expanding the `T::foo‘ call there, since that’s what we’d need to do if any const generics show up anyways.


Should be able to expose style information

Probably not by default;
Information like which emphasis markers are used, asterisks or underscores;
This would highly benefit the creation of something mdlint-like.

Not yet. Let’s queue this for now.


Metal with CDLL instead of py-objc

~The cdll.py loads the obj-c and metal runtime, and calls objc_msgSend to interact with objects. api.py imitates the py-objc API, so only the import needs to be changed when this is ready~
~support/metal.py interfaces with DLL libraries~
~Consumer (ops_metal.py, graph/metal.py) calls the send_message to interact with objc instance~
Use ctypes and objc runtime to interact with Mac's GPU. Essentially a simplified implementation of objc_util and rubicon but without the method translation step, so the consumer part will call the objective C method explicitly (aka "sending message") and handle the ctypes pointers.

There are still cases not covered, but you can try out with METAL=1 PYTHONPATH='.' python script.py
from tinygrad import Tensor
Tensor.manual_seed(10)

a = Tensor.rand(6, )
b = Tensor.rand(6, )
c = a + b
print(c.numpy())

Is that api.py auotgenerated? I don't want something handcoded, then it counts toward lines

This approach may not work.. I just realized that some functions are defined inline or as macro, like the
#  define MTL_INLINE static inline
MTL_INLINE MTLIndirectCommandBufferExecutionRange MTLIndirectCommandBufferExecutionRangeMake(uint32_t location, uint32_t length) API_AVAILABLE(macos(10.14), macCatalyst(13.0), ios(13.0))
{
    MTLIndirectCommandBufferExecutionRange icbRange = {location, length};
    return icbRange;
}

so they won't be accessible via ctypes, closing this until I come up with a better solution

This increases line count and reduces readability. Like I have said several times, you are going to need to autogen from the header

Can bump line count to 9800 and remove pyobjc from setup.py

OSError: dlopen(/Library/Frameworks/Metal.framework/Metal, 0x0006): tried: '/Library/Frameworks/Metal.framework/Metal' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/Metal.framework/Metal' (no such file), '/Library/Frameworks/Metal.framework/Metal' (no such file)

Timing on second run of test/test_ops.py:
This branch Ran 307 tests in 16.648s
master Ran 307 tests in 16.635s

Regarding OS error dyld not found, maybe the dyld_find is required after all... source
def dyld_find(name, executable_path=None, env=None):
    """
    Find a library or framework using dyld semantics
    """
    for path in dyld_image_suffix_search(chain(
                dyld_override_search(name, env),
                dyld_executable_path_search(name, executable_path),
                dyld_default_search(name, env),
            ), env):

        if os.path.isfile(path):
            return path
        try:
            if _dyld_shared_cache_contains_path(path):
                return path
        except NotImplementedError:
            pass

    raise ValueError("dylib %s could not be found" % (name,))

The path I have were tested on M2 and Intel mac (both mac os 14), it's possible the path differs on different system and the dyld_find should compensate that

I don't think performance would be gained much, because pyobjc calls the same dyld files under the hood.
This PR is more like a weight shred.
All the python objc bridge projects call the same underlying OS dyld files, so speed should be roughly the same. They all add a lot of code to make the syntax feel more pythonic, and even more code to make the objc reference counting work alongside python's garbage collector. This PR didn't do that which is why it's less readable and some syntax appear weird.
pyobjc differs in that it has compiled code that make memory access easier. One notable example is the as_buffer used before. pyobjc writes that as an C extension to fill a block memory directly Source here.  In this PR I had to do some roundable way to ctypes memoryview((ctypes.c_char * (src.offset + src.size)).from_address(ptr.value)).cast("B") to make it work.
But the fact pyobjc is compiled means most people are just downloading a precompiled version of it, so it may not work with all the package manager, so things might break even when the underlying dyld is performing correctly

why is this bounty locked ? I closed my previous pr because @geohot said he wanted autogenerated bindings & I'm doing that right now and just saw this was locked

I'm not sure performance would be gained much, because pyobjc calls the same dyld files under the hood. This PR is more like a weight shred.
All the python objc bridge projects I have seen (objc-util, rubicon-objcc, pyobjc) all the same underlying OS dyld files, so speed should be roughly the same. They all add a lot of code to make the syntax feel more pythonic, and even more code to make the objc reference counting work alongside python's garbage collector. This PR didn't do that which is why it's less readable, some syntax appear weird and I also had to do manual memory management.
pyobjc differs in that it has compiled code that make memory access easier. One notable example is the as_buffer used before. pyobjc writes that as an C extension to fill a block memory directly (source here). In this PR I had to do some roundable way to ctypes memoryview((ctypes.c_char * (src.offset + src.size)).from_address(ptr.value)).cast("B") to make it work.
But the fact pyobjc is compiled means most people are just downloading a precompiled version of it, so the release may not catch up with all the OS versions. Things might break even when the underlying objc-c runtime and python runtime are performing correctly.

are you sure you are releasing the created objects ? pyobjc & rubicon do it automatically and you only do it on the MTLDevice & NSStrings

@Leikoe , objc_instance has a __del__ that sends "release" message to the pointer, so when the ptr variable gets garbage collected it will also get released in objc. Are there specific places you find that's not handling this properly?

Is this ready?

Yes @geohot

Congrats, bounty is yours<EMAIL_ADDRESS>to claim, can pay via PayPal or USDC (on eth)

I think it will make more sense with all the options listed out below where the expanded form is MTLResourceStorageModeShared = MTLStorageModeShared << MTLResourceStorageModeShift

#define MTLResourceCPUCacheModeShift            0

#define MTLResourceCPUCacheModeMask             (0xfUL << MTLResourceCPUCacheModeShift)

#define MTLResourceStorageModeShift             4

#define MTLResourceStorageModeMask              (0xfUL << MTLResourceStorageModeShift)

#define MTLResourceHazardTrackingModeShift      8

#define MTLResourceHazardTrackingModeMask       (0x3UL << MTLResourceHazardTrackingModeShift)

typedef NS_OPTIONS(NSUInteger, MTLResourceOptions)

{

    MTLResourceCPUCacheModeDefaultCache  = MTLCPUCacheModeDefaultCache  << MTLResourceCPUCacheModeShift,

    MTLResourceCPUCacheModeWriteCombined = MTLCPUCacheModeWriteCombined << MTLResourceCPUCacheModeShift,

    MTLResourceStorageModeShared  = MTLStorageModeShared << MTLResourceStorageModeShift,

    MTLResourceStorageModeManaged  = MTLStorageModeManaged << MTLResourceStorageModeShift,

    MTLResourceStorageModePrivate  = MTLStorageModePrivate << MTLResourceStorageModeShift,

    MTLResourceStorageModeMemoryless  = MTLStorageModeMemoryless << MTLResourceStorageModeShift,

    MTLResourceHazardTrackingModeDefault  = MTLHazardTrackingModeDefault << MTLResourceHazardTrackingModeShift,

    MTLResourceHazardTrackingModeUntracked = MTLHazardTrackingModeUntracked << MTLResourceHazardTrackingModeShift,

    MTLResourceHazardTrackingModeTracked  = MTLHazardTrackingModeTracked << MTLResourceHazardTrackingModeShift,

    // Deprecated spellings

    MTLResourceOptionCPUCacheModeDefault        = MTLResourceCPUCacheModeDefaultCache,

    MTLResourceOptionCPUCacheModeWriteCombined  = MTLResourceCPUCacheModeWriteCombined,

} ;

I agree copying just the 0 << 4 looks quite dangerous... I will make a follow up to populate the header constants

Since I still care about tinygrad as a project, here is how:

parse the bridge support file, its just xml. You will find both enum values & structs.


(Release 3.2) Type explorer - click/navigation not working

egeria-base helm chart version 'egeria-base-3.2.0-prerelease.2'
Includes egeria 3.2, egeria-react-ui 3.2
Go to /org
Go into type explorer
Select mds1 (the only server deployed)

Several issues

In the 'Entity Inheritance' view, clicking (single or double) on any type (label or dot) DOES NOT cause the type information to appear in the details pane. It remains blank
Whilst types can be loaded by selecting from the dropdown top right (and looked at in detail), in the 'neighbourhood' view, clicking on a type results in Unknown type selection category in FocusContext undefined for type undefined

I have tested this & it is now fixed (including in 3.2) - thanks.
Closing

This was caused by a bug in d3 version.
The method needs the name of the type.
There are version where can be read from d.data.name and other d3 versions where is on d.currentTarget.textContent.
There are other versions where d.currentTarget is undefined.
On latest version of d3 (7.3.0) both can be used.
However I'm in the favor of consistence, because this change was done only on one place.
      nodeEnter.append("text")
               .attr("dy", "0.31em")
               .attr("x", 12)
               .attr("text-anchor", "start")
               .text(d => typesContext.isTypeDeprecated("Entity", d.data.name) ? "["+d.data.name+"]" : d.data.name )
               .on("click", d => { typeSelected("Entity", d.currentTarget.textContent); })
               .clone(true)
               .lower()
               .attr("stroke-linejoin", "round")
               .attr("stroke-width", 3)
               .attr("stroke", "white");

My suggestion is to update d3 to latest version and go back to d.data.name


Misplaced tests ?

some tests in app.router.js seems to be misplaced
looking at the code of tests in section "decode query string"
they seem to me dealing with named params and not with query
Shell they be moved to descrive("params") instead ?
decode querystring
✓ should decode correct params
✓ should not accept params in malformed paths
✓ should not decode spaces
✓ should work with unicode

Yes, defiantly the section is misnamed :) Feel free to make a PR, as that would be a good PR to do :) You could probably rename that section to "decode params" or something. The other section looks like it's specifically about tests of the req.params object while the section you're pointing out seems specifically about decoding the values for those params.


New logo and icons suggestion

Hello,
I am a Devilbox user and I've seen on the to-do list in Contributing file that you were searching some help for better logos. I've tried to draw something that could suit well to any desktop (windows, macos and linux) with size variations. Could you tell me what you think of this proposal or suggest what could be done to make it as best as possible?
Thank you,
Maxence Dubois
logo_proposal.zip

@maxencedubois Thank you very much for your logo pack :+1: .
I have look through it carefully. It is well designed and a good idea - even taken literally, but it does not really fit my personal taste. I would rather go with a more minimalist approach. Something like:

Keep current type of colors: red, black and white (other shading of them is totally fine)
Maybe 2d instead of 3d
Should be recognizable, even if it is a small graphic.

But still, I think logos is a very personal taste thing and others might find it much better than the current logo. So this work will be appreciated and added to the artwork and might be scheduled for later voting anyway.
I also have just redesigned the artwork repository for the devilbox. Please send a PR with your work there: https://github.com/devilbox/artwork/
Here is how to do that exactly: https://github.com/devilbox/artwork/blob/master/CONTRIBUTING.md
I will close this ticket here, as the new repository will take care about it from now on.


Reading from tess.verts

Some renderer functions attempt to read back a surface's polygons from tess.verts. There are 3 possibilities, none of them good:

The surface uses a static VBO with multidraw. tess.numVerts will be 0: there is nothing for it to read.
The surface uses a static VBO with a single data range. tess.numVerts will be nonzero so the function will think there is data there. But really it is random data left over from whichever surfaces used the buffer last.
The surface does not use a static VBO; it actually writes data to tess.verts. The function may at least work correctly in this case. But reading data from this GPU-mapped memory may cause poor performance as in #849.

I haven't attempted to search for all functions like this, but happened to notice the following ones:

SurfIsOffscreen PortalOffScreenOrOutOfRange
AutospriteDeform
Autosprite2Deform

Note that some "autosprite" code is already known to be broken (#730). We might detect more suspicious functions by mapping the buffer as write-only, or setting it to null when a static VBO is active.

Another culprit: R_GetPortalOrientations. That one also has a more serious problem: #1216.

For historical interest, some previous examples were fixed in f870d9f392f512ad908a71156f9708944ceabaff :)

#1444 only fixes the portal case, not the autosprite case.

#1444 only fixes the portal case, not the autosprite case.

Doesn't autosprite only write to it rather than read from it?

Autosprite is read-modify-write.

I thought it only reads from tess.vertsBuffer, which is supposedly CPU-side?

Oh right, I changed it to use the CPU buffer so that performance problem should no longer happen. It's kinda hacky but good enough to close this I guess.


test PR with Github API

Please pull this in!

Docs Build status updates of commit 5a9daf2:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/Peachying/testinlineedit, working directory: W:\vtif-s, target branch: HEAD, target branch commit: a41d0b375085a1f841492ad8b126826cd0da1fb2, source commit: 5a9daf2d89a161b3a0206fc3f4f80b9399521e97.

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


admin/login POST does not work

Hello,
nice project and thanks for sharing.
I have successfully deployed and it seems everything is working.
I can use the followig command:
curl -X GET "http://<IP_ADDRESS>:8000/admin/site" -H  "accept: application/json"
and get a proper result.
But if I use the following:
curl -X POST "http://<IP_ADDRESS>:8000/admin/login" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{\"username\":\"marco\",\"password\":\"123456\"}"
I am getting:
{"msg":"Not Found"}
which I don't think it is correct.
In docker container "fastapi-admin" logs I am finding:
INFO:     <IP_ADDRESS>:41788 - "POST /admin/login HTTP/1.1" 404 Not Found

You should create superuser first by run fastapi-admin -c config.TORTOISE_ORM createsuperuser

Thanks for your reply @long2ice
If I execute this command:
echo "select id,username,is_superuser from user;"  | docker-compose exec -T mysql mysql -uroot -p123456 fastapi-admin
I can see there is already one superuser:
id	username	is_superuser
1	long2ice	1
2	admin	0
3	test	0

However I can't find "fastapi-admin" command, may be you mean fastapi_adim/cli.py ?
If I execute:
python3 fastapi_admin/cli.py -V
I am not getting any result.
Could you please give me more information?
Thanks.

fastapi-admin will create after you install fastapi-admin by pip

Ok @long2ice
But what is config.TORTOISE_ORM ?
Because executing the following command:
fastapi-admin -c config.TORTOISE_ORM createsuperuser -u marco
I am getting:
ModuleNotFoundError: No module named 'config'
while executing:
fastapi-admin -V
I am now getting:
fastapi-admin version, 0.3.3

Which is your tortoise config location, and is a dict

thanks @long2ice
For the example in this repository, where is this file ?
I have tried to create a file with the following content:
TORTOISE_ORM = {
    "connections": {"default": "mysql://root:123456@mysql:3306/fastapi-admin"},
    "apps": {"models": {"models": ["examples.models"], "default_connection": "default"}},
}

But I am getting the following error:
ModuleNotFoundError: No module named 'tortoise_orm'

Ok I put the following:
TORTOISE_ORM = {
    "connections": {"default": "mysql://root:123456@mysql:3306/fastapi-admin"},
    "apps": {"models": {"models": ["examples.models"], "default_connection": "default"}},
}

in settings.py in examples directory, then from the example directory I issues the command:
fastapi-admin -c settings.TORTOISE_ORM createsuperuser --user marco

But I am getting the following prompt and error:

and again is prompting me for user name.
Is this process correct @long2ice ? What is wrong?
Kindly let me know. Thanks.

Sorry @long2ice did you have a look to my question?

Sorry @long2ice did you have a look to my question?

set --user=User

set --user=User

Hi @long2ice
I am having the same result:

what is the issue?

Hi @long2ice
I am having the same result:

what is the issue?

--user means User model, not username, usually is User

--user means User model, not username, usually is User

Ok @long2ice
Just created the user but I am still not able to get the login page:

I am getting "detail": "Not Found"

Ok @long2ice
Just created the user but I am still not able to get the login page:

I am getting "detail": "Not Found"

see https://github.com/long2ice/restful-admin

see https://github.com/long2ice/restful-admin


[OOBE] Replace ShortcutTextControl with MarkdownTextblock

We've made a custom textblock that allows us to highlight shortcuts with bolded text. The Windows Community Toolkit has a MarkdownTextblock which is doing the same and (much) more!

So this will emulate the html kbd :) The button Try it doesn't work for me.

No visual changes, just replacing a control with an other control. We'll render shortcuts differently.

Shipped with 0.47


ID-836 Added auth token refresh on accessTokenExpiring and removed it from retry logic

Jira Ticket: https://broadworkbench.atlassian.net/browse/ID-836
Summary of changes:
Adds an event listener for accessTokenExpiring which fires 5 minutes (discovered through manual testing) before the auth token expires.
What

Refreshes auth token 5 minutes before it expires
Assigns new token to oidc store
Does not attempt to refresh a token as part of a failed request
Moved OAuth2 to its own file OAuth2.ts file

Why

Should allow smooth silent signIn that should resolve most of the pain with early "session timeouts"

Testing strategy

[ ] Manual verification that access token refreshes successfully and allows the user to make requests after token refresh (currently believed to be not possible on prod)
[ ] Unit tests

I see what happened with OAuth2.ts, they were not present on a stashed branch but were on the newer version so when the stash got merged in, they stayed. Oops

I realize that error in my ways as far as scoping this PR goes is that I should have created another ticket once we decided to reorganize the oidc code out of auth. So going forward, I will try to be more aware of that.


Tabs are still 8 space-wide instead of 4

Description
The extension suggests that it replaces 8 space tabs with 4 space tabs. However, that doesn't seem to be the case:

How to replicate the issue + URL

Install the extension
Open a file on any repo that uses tabs instead of spaces
Verify that tabs are still 8 space-wide

Reference material:
https://github.com/X1nto/Vencorded/blob/master/vencorded.cpp
https://github.com/Flo56958/MineTinker/blob/master/src/main/java/de/flo56958/minetinker/MineTinker.java
Extension version
<IP_ADDRESS>4
Browser(s) used
Google Chrome 107.0.5304.88

What do you have tab size set to on GH? https://github.com/settings/appearance

We should update the description. Refined GitHub now only sets the tab size where GitHub forgot to


Add BOM to outputed file

Hello.
Please add a config option to write BOM (\xEF\xBB\xBF) in the begining of outputed file.
It solves the problem of opening UTF-8 encoded csv-file in MS Excel. Refer to http://stackoverflow.com/questions/4348802/how-can-i-output-a-utf-8-csv-in-php-that-excel-will-read-properly

Basically what you suggesting is adding the following methods :
League\Csv\Reader::setBOMOnOutput($bool);
League\Csv\AbstractCsv::hasBOMOnOutput(); // returns true or false

Because we don't want any BC break by default:

Ok, you can make it as you wish :)
But not Reader in first line, it must be Writer, I think.

Since it will work on output.. it will be available on both classes Reader and Writer

These names are ok for me.

The dev-master branch now supports BOM on output you can test it and if everything is good for you it will be release hopefully next week as version 6.3

Checked, it works. Thanks a lot!

@RomeroMsk Do
$bom = chr(239).chr(187).chr(191);

work for you (which os? It should work on MS Excel Win but not an Mac?)? I've read this as "best solution" for Excel http://stackoverflow.com/questions/155097/microsoft-excel-mangles-diacritics-in-csv-files/1648671#1648671 which uses
/**
   * Export an array as downladable Excel CSV
   * @param array   $header
   * @param array   $data
   * @param string  $filename
   */
  function toCSV($header, $data, $filename) {
    $sep  = "\t";
    $eol  = "\n";
    $csv  =  count($header) ? '"'. implode('"'.$sep.'"', $header).'"'.$eol : '';
    foreach($data as $line) {
      $csv .= '"'. implode('"'.$sep.'"', $line).'"'.$eol;
    }
    $encoded_csv = mb_convert_encoding($csv, 'UTF-16LE', 'UTF-8');
    header('Content-Description: File Transfer');
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment; filename="'.$filename.'.csv"');
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: '. strlen($encoded_csv));
    echo chr(255) . chr(254) . $encoded_csv;
    exit;
  }

PHP can input and output Unicode, but a little different from what Microsoft means:
when Microsoft says "Unicode", it unexplicitly means little-endian UTF-16 with
BOM(FF FE = chr(255).chr(254)), whereas PHP's "UTF-16" means big-endian with
BOM. For this reason, PHP does not seem to be able to output Unicode CSV file for
Microsoft Excel. Solving this problem is quite simple: just put BOM infront of
UTF-16LE string.

Example:

$unicode_str_for_Excel = chr(255).chr(254).mb_convert_encoding( $utf8_str, 'UTF-16LE', 'UTF-8');

Another problem is that excel opens the csv in one line...
UTF-16LE solution for CSV for Excel by Eugene Murai works well:
$unicode_str_for_Excel = chr(255).chr(254).mb_convert_encoding( $utf8_str, 'UTF-16LE', 'UTF-8');

However, then Excel on Mac OS X doesn't identify columns properly and its puts each
whole row in its own cell. In order to fix that, use TAB "t" character as CSV delimiter
rather than comma or colon.

Which encoding opens CSV files correctly with Excel on both Mac and Windows? see http://stackoverflow.com/questions/6588068/which-encoding-opens-csv-files-correctly-with-excel-on-both-mac-and-windows
=> So using UTF-16LE with BOM and tab delimiter should "the best way" to store the csv file (for MS Excel).

It works for me on Windows and doesn't work on Mac. But we decide to leave this problem as is.
I think, you can try to convert encoding of content to UTF-16LE, add BOM and change delimeter - now Writer allows all of this, I belive.

After more researchs on the BOM issue I realize that to really resolve this issue you need  to know the BOM sequence specific to the CSV encoding charset. I think we should change the signature of the setBOMOnOutput method. This method should accept a BOM sequence or a Class constant which refers to the available BOM sequence.
The developer who wants to handle BOM would require to set the proper encoding AND the proper BOM sequence attached to it.  This is more verbose but less error prone (Of note I'm using the stream capability as League/Csv default encoding charset is UTF8.)
Here's a example code:
use League\Csv\Reader;

$csv = new Reader::createFromPath('/path/to/my/file.csv');
$csv->setBOM(Reader::BOM_UTF16LE);
$csv->appendStreamFilter('convert.utf16encode');
$csv->output('file.csv');

Thoughts ?

Looks good for me. Did you try to open UTF-16 encoded file with right BOM sequence in MS Excel on Mac and Win?

No I did not, first I don't have a Mac ... and I don't use MS Excel at all :8ball: That being said, implementing this way should do it. The only tradeoffs are:

You need to know which client is going to open you CSV prior to downloading
There's the extra work of providing the stream to convert on the fly your UTF-8 encoded CSV into UTF-16 (if your document is do be opened in MS Excel Mac if I follow correctly)

I can ask my collegue to check the file on Mac if you generate it with UTF-16LE + BOM.

The changes are done. Now the new methods are :
use League\Csv\Reader;

$csv = new Reader::createFromPath('/path/to/my/file.csv');
$bom_sequence = $csv->getBOMOnOutput(); // returns '';
$csv->setBOMOnOutput(Reader::BOM_UTF16LE);
$bom_sequence = $csv->getBOMOnOutput(); // returns "\xFF\xFE"
$csv->appendStreamFilter('convert.utf16encode');
$csv->output('file.csv');

don't forget to implement the stream filter converter otherwise the output will be in UTF-8 which defeat the BOM sequence addition. you can use the FilterTranscode class from the example for instance to do so.

Sorry, out of my working place now. Can check changes only after weekend.

no problem I can wait :+1:

Hello. I can't make Writer to use filter. Can you help me?
I've got FilterTranscode example class and changed only namespace. Then I tried to use it like this:
    stream_filter_register(FilterTranscode::FILTER_NAME . '*', '\common\components\FilterTranscode');
    $writer = Writer::createFromFileObject(new \SplTempFileObject);
    $writer->appendStreamFilter('convert.transcode.UTF-8:UTF-16LE');
    $writer->setBOMOnOutput(Writer::BOM_UTF16_LE);
    $writer->insertOne($content);
    $writer->output($fileName);

and got The stream filter API can not be used LogicException. What am I doing wrong?

Streams do not work with createFromFileObject because SplFileObject poorly supports PHP stream
you can make it work using:
$writer = Writer::createFromPath('/my/path/to/my/file.csv');
//or
$writer = Writer::createFromPath('php://output');

Now I'm getting Cannot rewind file php://filter/write=convert.transcode.UTF-8:UTF-16LE/resource=php://output

Here's what I did to test on my computer the file is located in the examples directory.
error_reporting(-1);
ini_set('display_errors', '1');

use League\Csv\Reader;
use League\Csv\Writer;
use lib\FilterTranscode;

require '../vendor/autoload.php';

stream_filter_register(FilterTranscode::FILTER_NAME."*", "\lib\FilterTranscode");

$csv = Reader::createFromPath(__DIR__.'/data/prenoms.csv');
$csv->setBOMOnOutput(Reader::BOM_UTF16_LE);
$csv->appendStreamFilter(FilterTranscode::FILTER_NAME."UTF-8:UTF-16LE");
$csv->output('test.csv');

Hope it helps

Ok, I've got a result with $writer = Writer::createFromPath('/my/path/to/my/file.csv').
MS Excel on Windows didn't recognize a separators in CSV (just loaded entire lines), but with right encoded symbols.
Waiting for collegue to test it on Mac...

The delimiter can be adjust using setDelimiter method

Yes, I know. But after manipulations with encoding MS Excel is not recognizing delimiters correctly.
With UTF-8 everything is ok, but with UTF-16LE - not.
The same situation is on Mac.

it's because the tabulation is still in UTF-8 :-1: you should use the UTF-16 tabulation character instead

But I'm using ; as delimiter, beacuse MS Excel is awaiting it in CSV files.

...see my comment above. MS Excel "wants" tab as delimiter.

Ok, with setDelimiter("\t") it works.

Great!!
I've added a method to detect the BOM in the Input CSV so we will end up having:

getBOMOnInput   (detect and return the BOM sequence used on the input CSV if any)
setBOMOnOutput (set the BOM sequence to prepend on output methods (ie: output and __toString)
getBOMOnOutput  (get the BOM sequence that will be prepended on output methods)

Removing the Input BOM is already possible with the existing extract methods.
When this is stable and bug free I think we will have a complete new and nice feature.
Thoughts ?

For me sounds good, thanks for your help!

Yes :+1:
...and make a section for that infos -also regarding MS Excel- in your documentation page would be helpful imho :-)!

I think @RomeroMsk could write that section, since like I said I'm no MS Excel expert :) . Let me add everything in the source and we will update the documentation when all is done and stable

I'm not an expert too :) Also my English is not very good.

http://csv.thephpleague.com/bom/  <- the documentation you can improve it directly via pull request if needed.

the stable release version 6.3 was released with the stable featuer. Of note the methods names have been changed.

Checked 6.3, everything is fine, thanks! :+1:


Path Aliases only work for typescript projects

js projects can have aliases configured in a jsconfig file.
Currently they won't be discovered if you run the CLI with --tsconfig jsconfig.json, however.
This looks to be because buildFromEntrypoint in packages/skott/src/skott.ts only runs buildPathAliases for .ts entrypoints:
if (isTypeScriptModule(entrypointModulePath)) {
  const rootTSConfig = await buildPathAliases(
    this.fileReader,
    this.config.tsConfigPath,
    this.#workspaceConfiguration.pathAliases,
    this.logger
  );
  this.#workspaceConfiguration.typescript = rootTSConfig;
}

Thanks again for the great work! 🙏

Hey again @PeteBBC, thanks for opening that issue 😄
The only path alias mechanism supported by skott for now is TypeScript.
I'm not really familiar with jsconfig files, is that a widely used standard? I'm aware of path aliases that can be defined through manifest files (package.json) and I believe that this will be the way to go in the future, but never saw jsconfig files in action yet. How are these paths converted afterwards so that they are runtime compatible?
Nevertheless it's definitely something that skott could support, if skott supports TS path aliases there is no reason that JS path aliases aren't, either if that's through jsconfig or package.json!


Run all code up to current line

I'd like to add a command to run all code up to the current cursor line. I'm thinking of mapping it to "Ctrl + Alt + Cmd + Enter". Thoughts?

This would be nice to have.
Maybe by default it shouldn't be mapped to a keyboard shortcut — I don't want to fill up that space too much, since I think lots of people only use Hydrogen occasionally. That way people like us who would use this command a lot can define a shortcut without it getting in the way for others.
That being said, it's probably not a big deal either way.
Rock on!

Don't you prefer to just bind some key for selecting part of file?
In vim-mode it's just vgg other editors should do something look like.
And nobody don't like unexpected keybindings that remaps their own.

I agree in principle with having selection and execution separate, but a
couple of people have asked for versions of this.
Let's add the command but not a default keybinding.
On Mon, Nov 9, 2015, 5:23 AM Slava<EMAIL_ADDRESS>wrote:

Don't you prefer to just bind some key for selecting part of file?
In vim-mode it's just vgg other editors should do something look like.
And nobody don't like unexpected keybindings that remaps their own.
—
Reply to this email directly or view it on GitHub
https://github.com/willwhitney/hydrogen/issues/132#issuecomment-155021928
.

Sounds good. I'll take a crack at it when I have a little time.

@onyxfish how's the new job going? Still interested in knocking this together sometime?

https://github.com/nteract/hydrogen/pull/165


Layer Drawer "Drag & Drop Ordering" Bug

Expected Behaviour
Layers on the layer drawer should stay where you drag and drop it even if all layers in the drawer don't fit the screen at the same time.
Actual Behaviour
Drawer determines the drag and drop location as if it is still at the top of the drawer regardless of its actual position.
https://youtu.be/7niYmLbTju8
Reproduction steps
Have "too many" layers for a single profile.
Frequency
Always
Aurora Version:
beta v0.8.1 (latest stable release as of this time)
Previously an Issue?
 Yes. (At least for 2 years.)
Video: https://youtu.be/7niYmLbTju8
As long as every layer for a single profile can fit on the screen at the same time, this is not an issue. However, once they start overflowing, you can't drag a new profile "down there". I mean you can drag and drop every profile under the threshold of the drawer until you have the wanted order but it is unnecessary.

I found some time to fix it. :-) Can you please test if this build works as expected. https://ci.appveyor.com/project/gitmacer/aurora-8tn27/builds/35263969/artifacts

Please backup your profiles before installing this build to be sure nothing happens to them.

Tested a bit. Drag&Drop seems to be working correctly. The profile data doesn't seem to be affected by the installation.


BoringSSL NotRelease And Out Of Memory

During the project pressure test, an out-of-heap memory overflow occurred
through gdb Dump memory, the unreleased data is the private key 【-----BEGIN PRIVATE KEY-----】
when call
BoringSSL.EVP_PKEY_parse(pemKey, password);  long chain = BoringSSL.CRYPTO_BUFFER_stack_new(ssl, certs);

and not release！
static native long EVP_PKEY_parse(byte[] bytes, String pass);
static native void EVP_PKEY_free(long key);

static native long CRYPTO_BUFFER_stack_new(long ssl, byte[][] bytes);
static native void CRYPTO_BUFFER_stack_free(long chain);

quicserver memory keeps growing and is killed by the system
The memory of our stress test has been growing (frequent chain building and release), and heap memory and off-heap memory have been set, and no memory overflow has been found by capturing javadump, and no memory overflow log has been enabled with -Dio.netty.leakDetectionLevel=paranoid
Grab the stack through gdb and find that the resource of privatekey is not released.
Compared with openssl, I found some suspicious points

netty netty-tcnative
After looking at openssl, SSL.freePrivateKey(key) is called under normal logic and abnormal logic;
https://github.com/netty/netty/blob/c1a6994455cea05c873502416cc34d7d9d9610ad/handler/src/main/java/io/netty/handler/ssl/OpenSsl.java#L330
netty netty-incubator-codec-quic
By looking at the code, it is found that there is no place to call except the exception logic calls netty_quic_boringssl.c EVP_PKEY_free, the normal logic is not called
do you have any suggestion here
@normanmaurer


Only contain google on non-contained environment / Multiple Google Accounts

Hello. I get to know about this add-on recently and I really like it. I love that fact that it automatically opens the Google container and closes it when I open a new website.
The issues I'm having is this. I use multiple Google accounts (Personal, Work, etc) and when I use this add-on, I'm only able to manage one Google account. When I try to log in to another Google account using another container (for example work), this add-on will close that container and it'll open the default Google account using Google container. Because of this, I'm not able to do things like check email (Gmail) on other accounts.
Suggestions
● Only works on the non-contained environment
If an option can be added to let this add-on works only in the non-contained environment, this issue might be able to be resolved. For example, if I'm using a container, then I should be able to do that without any interfering from this add-on.
●  Whitelist URLs
Also, an option to add whitelist URLs can be included.
Anyway, thank you for developing and maintaining this add-on. Keep up the good work!

Well, unfortunately I think that's one of the tradeoffs that comes with using session containerization.  All of google will go into one 'box'.  Since this is URL-based, the ways to separate cookies between your different logins is tough - and in google's case may not be possible.

your logins use /0 and /1 etc, in the URL.  But in different sessions they would both use /0.
if an app had to SSO, how would you decide which container to target?

#2 is maybe solvable, but #1 isn't
You only real options for the 'other login' are:

use incognito mode
use a different browser

I'm inclined to close this, but I don't want you to think the door is being slammed.  Any other thoughts on how?


fix(acm): Include more info to the list_certificates

Context
The purpose of this PR is to approach the behaviour of the ACM list_certificates API call including new fields. I don't know if this is a new feature of the ACM API but it would be helpful.
Also, there are more fields present in the list_certificates call that are not covered by moto.
Rationale: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/acm.html#ACM.Client.list_certificates
Changes
Include the following fields in the list_certificates call:

Status
Type
NotBefore
NotAfter
CreatedAt
KeyAlgorithm
RenewalEligibility
ImportedAt
IssuedAt

I don't know if in this case this is the best approach. I didn't make test for that reason, if so I'll do it.

This looks right to me @jfagoagas - if you can add tests for some of these fields to ensure they are configured correctly that would indeed be welcome.

I've included some changes in the test_list_certificates function but I'm having some issues freezing the time because I'm getting 1 hour difference between the test case and the list_certificates return value even when freezing all the time in UTC with @freeze_time(datetime.utcnow()).


Add Fast2Pay

Have you tried requesting deletion via their contact link?

I did, but haven't heard back. Will update if I do

I'll give it a couple days

I didn't hear back, so I'm pushing it.


Set Up Security Testing

Open in MURAL
CAMD 3-PI Roadmap - EPA CAMD Business Suite - ECMPS and AMPD

Overcome by events, covered by #43


thread 'main' panicked at 'calledResult::unwrap() with some accounts

Hello,
I can't have access with a family account. I'm not sure if that something in your side or on spotify side.
I have a friend who's also premium and he's able to join and play my raspotify but I can't. (i can see it on my android but when I try the device it "pauses".
So it dosen't work with my account but it work with my friend account.
Any idea?
INFO:librespot_core::session: Country: "CH" thread 'main' panicked at 'calledResult::unwrap()on anErrvalue: WireError(InvalidEnumValue(13))', /checkout/src/libcore/result.rs:860:4
note: Run withRUST_BACKTRACE=1for a backtrace.
INFO:librespot: librespot 8971d3a (2017-10-05). Built on 2017-10-05. Build ID: POyxPQVg
INFO:librespot_core::session: Connecting to AP "gew1-accesspoint-b-51qb.ap.spotify.com:4070"
INFO:librespot_core::session: Authenticated as "xxxxxxxxxx" ! INFO:librespot::audio_backend::alsa: Using alsa sink
INFO:librespot_core::session: Country: "CH" thread 'main' panicked at 'calledResult::unwrap()on anErrvalue: WireError(InvalidEnumValue(13))', /checkout/src/libcore/result.rs:860:4
note: Run withRUST_BACKTRACE=1for a backtrace.
INFO:librespot: librespot 8971d3a (2017-10-05). Built on 2017-10-05. Build ID: POyxPQVg

and my friend
INFO:librespot: librespot 8971d3a (2017-10-05). Built on 2017-10-05. Build ID: POyxPQVg
INFO:librespot_core::session: Connecting to AP "gew1-accesspoint-b-csw5.ap.spotify.com:4070"
INFO:librespot_core::session: Authenticated as "yyyyyyyyyyy" !
INFO:librespot::audio_backend::alsa: Using alsa sink
INFO:librespot_core::session: Country: "CH"
INFO:librespot::player: Loading track "Hocus Pocus"
INFO:librespot::player: Track "Hocus Pocus - Original Single Version" loaded

Thanks you

Hi, as I mentioned a few days ago, spotify is rolling out updates gradually to all users, which contain a breaking change. This was fixed in commit 80e0bda. All you need to do is rebuild librespot and it'll be fixed.


Backport: Add in rancher minimum and maximum versions to use with helm charts/catalog service

https://github.com/rancher/rancher/issues/18469

v2.2.x has it's own dedicated branch for charts. The min/max version for 2.2 is not needed anymore.


Update deps for 18.04 support against 5.1.x

Test PASSed

Looks good -- thanks.

CLA signed by all contributors.


Fix the typo in merge script on formatting modified title

/cc @franckcuny

ping @franckcuny

LGTM

#shipit


Fix nested in ng-if issue

Added a check to the initPlaceholder function to ensure it only updates
the element value if there is a value on the element or if there is not
a placeholder attribute on the element.
If the element value is blank and the element has a placeholder
attribute, then the element's value does not get updated.
Fixes #58

Released as 1.6.7


Add error parameter to the examples of AFHTTPRequestSerializer on README.md

Now AFHTTPRequestSerializer always requires error parameter, but the examples on README.md don't follow the change.

Current coverage is 73.80%

Merging #3254 into master will decrease coverage by -0.26% as of 1b6b1d8

@@            master   #3254   diff @@
======================================
  Files            5       5
  Stmts         3027    3027
  Branches         0       0
  Methods          0
======================================
- Hit           2242    2234     -8
  Partial          0       0
- Missed         785     793     +8

Review entire Coverage Diff as of 1b6b1d8

Powered by Codecov. Updated on successful CI builds.

Thanks!


WindowsHostProcessContainers feature gate must be enabled

WindowsHostProcessContainers was introduced as an Alpha on k8s 1.22, and must be enabled so we can use the feature in the Windows nodes

It should be on be default in 1.23+


[Redesign] Favicon needs the new icon

Already addressed, not yet deployed.
Duplicate of https://github.com/NuGet/NuGetGallery/issues/4345.


Fixed #288 by fixing the bounds check

Fixes #288. Added Debug to HistoryInd in the process, left it because it seems good to have.

Looks good!


Length of line still checked when 'skip' attribute is being used on the function

With this code :
#[cfg_attr(rustfmt, rustfmt_skip)]
fn foo() -> u32{
    a_method_with_a_very_long_name_that_cannot_be_handled_by_rustfmt_even_when_skipped_and_it_is_very_wierd_but_well() + 1
}

#[cfg_attr(rustfmt, rustfmt_skip)]
fn a_method_with_a_very_long_name_that_cannot_be_handled_by_rustfmt_even_when_skipped_and_it_is_very_wierd_but_well() -> u32 {
    0u32
}

fn main() {
    let f = foo();
    println!("{}", f);
}

I get the following error :
Rustfmt failed at foo.rs:3: line exceeded maximum length (maximum: 100, found: 122) (sorry)
Rustfmt failed at foo.rs:7: line exceeded maximum length (maximum: 100, found: 126) (sorry)

A more real usecase is https://github.com/rust-lang/crates.io/blob/master/src/db.rs#L61
I can't get rustfmt to ignore this line.

Any input on this? Is it an actual issue or do I use rustfmt badly?

I poked around other rustfmt issues and found https://github.com/rust-lang-nursery/rustfmt/issues/1298 that says this is intentional behavior. https://github.com/rust-lang-nursery/rustfmt/issues/1080 discusses this case where an identifier is too long and rustfmt can't do anything about it.
Before finding the issue that says this is the intended behavior, I looked into changing the behavior, but it's not straightforward since the line length check happens after visiting the nodes in the AST, so it operates only on the text without awareness of skip attributes.

Closing as dup of #1298


Sync doc.go and README.md

Fixes #397.
Change-Id: I30ce336e3a36cf5758b9bf52b9dd77f7c1df5f27

This is so great! Thanks for doing this @gmlewis!
LGTM.


Dev react

Fix eslint issues, Installed prettier, and fix a use Effect loop bug

Looks good to me.


Semantic Highlighting is not tokenizing in Javascript file

VS Code Version: 1.55.2 (3c4e3df9e89829dce27b7b5c24508306b151f30d) x64
OS Version: macOS 10.14.6

Steps to Reproduce:

Open new file, select Javascript as the language. Enter some code that should trigger Semantic Highlighting.
Run Developer: Inspect editor tokens and scopes from the Command Palette.
Observe that the (example) token is not being parsed as any semantic token type and instead is only parsed within a textmate scope.

I've also reinstalled VSCode and disabled all extensions, and still I can't get VSCode to tokenize some text to its semantic token.
Working Example

Problem Example

Does this issue occur when all extensions are disabled?: Yes

Have you disabled semantic highlighting? Check the editor.semanticHighlighting.enabled setting

Also please check if this reproduce in the latest VS Code insiders build with all extensions disabled

Yes, changing editor.semanticHighlighting.enabled to true or false, the token still isn't being parsed semantically (verified by the Developer: Inspect editor tokens and scopes command).
I just downloaded the Insiders version you just linked:
Version: 1.55.2
Commit: 3c4e3df9e89829dce27b7b5c24508306b151f30d
Date: 2021-04-13T09:36:32.643Z
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 18.7.0

I am still seeing the issue unfortunately:

I am expecting that props should have a semantic token type of parameter but instead (as you can see in the screenshot) it is only parsing it as a textmate token.

Thanks for testing
@aeschli Looks like this only happens in unsaved Javascript files. The upstream cause is https://github.com/microsoft/TypeScript/issues/43350 but I thought our plugin should still be enabled for JS file

@mjbvz you are right! Saving the file does make the semantic token recognized.

My guess is that this is related to the way I detect JavaScript files:
https://github.com/aeschli/typescript-vscode-sh-plugin/blob/69b8e117ee4232192ac8e70769e97d854284076b/src/index.ts#L31
I didn't find a way to get the SciptKind of a file.
The Host would have such an API, but then i didn't find how to get the host. @mjbvz Any tricks?

You'd have to ask the TypeScript team about that. I'm fine with just waiting for microsoft/TypeScript#43350 to be fixed, but we need to make sure it makes it into TS 4.3


Add test for Unauthorized API request

Sends an unauthorized request to the API, expecting to get a "401 Unauthorized" response.
It's failing right now because our API currently responds with a "200 OK" with a login form in the response body for unauthorized requests. I think this is incorrect behaviour as far as our customers consuming the API would be concerned.
Related to https://github.com/nanoPayinc/NANOPAY/issues/3149
Code
UnauthorizedRequest();

/** Send an unauthorized request to the API */
async function UnauthorizedRequest() {
  var uri = `http://localhost:8080/service/dig?dao=userDAO`;
  var body = JSON.stringify({
    email<EMAIL_ADDRESS>    password: 'somePassword123',
    firstName: 'John',
    lastName: 'Doe'
  });
  var headers = new Headers({
    'Accept': 'application/json',
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
    // Exclude 'Authorization' header.
  });
  var requestInit = {
    method: 'POST',
    headers: headers,
    body: body,
    credentials: 'omit' // Don't send cookies.
  }
  var request = new Request(uri, requestInit);
  try {
    var response = await fetch(request);
    test(response.status === 401, 'Unauthorized requests get a 401 status response.');
    if ( response.status !== 401 ) print(`Expected status code to be 401 but was ${response.status}.`);
    test(response.statusText === 'Unauthorized', `Unauthorized requests get an 'Unauthorized' status response.`);
    if ( response.statusText !== 'Unauthorized' ) print(`Expected status code to be 'Unauthorized' but was '${response.statusText}'.`);
    try { print(await response.text()); } catch (err) {}
  } catch (err) {
    print(err.message);
    test(false, `Unauthorized requests shouldn't be causing an error here.`);
  }
}

We need to distinguish between unauthorized and authorization-required exceptions so we know when a login request is really required.


fix: correct macos shell errors with native deps

Description
macOS devShells would build, but cargo itself was not able to build the project because of native dependency mixup with having clang provided by pkgs.clang instead of the apple-sdk specific versions. The project now builds the same with cargo on macOS as it does on linux.
Test by entering the devshell and running cargo clean and cargo build, to verify the whole project builds.
Checklist

[x] Commit sequence broadly makes sense and commits have useful messages.
[ ] New tests are added if needed and existing tests are updated.
[ ] Relevant logging and metrics added
[ ] CI passes. See note on CI.
[ ] Any changes are noted in the changelog.md for affected crate
[ ] Self-reviewed the diff

Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges.  Please contact IOG Partner Chains developers to do this
for you.

MacOS: devshell builds and cargo build -p partner-chains-node --release succeeded Finished release profile [optimized] target(s) in 4m 32s


#VULCAN-274/ Group reports in a page and minimise reports functionality

Group Reports and Minimize Reports Functionality
Features

Group one or more reports and we can specify a border and border colour to those grouped reports.
Minimize button for reports.

Note: This implementation can be only be done through JSON for now. If you are okay with this implementation. Then I can create some component through which user can configure the group reports.
Sample JSON
{
    "title": "My dashboard",
    "version": "2.3",
    .......
    "pages": [
      {
        "title": "Main Page",
        "groups": [
          {
            "groupId": 1, // Group Id
            "border": "5px solid",
            "borderColor": "red"
          }
        ],
        "reports": [
          {
            "id": "322e3326-29f9-42d5-972b-e0b0b78ca581",
            "groupId": 1, // Group Id
            "groupOrder": 1, // Group order is used to achieve horizontal compaction
         .....
          },{
            "id": "483908d-29f9-42d5-972b-e0b0b78ca581",
            "groupId": 1, // Group Id
            "groupOrder": 2, // Group order is used to achieve horizontal compaction and it is incremental
         .....
          },
     ]
}

NOTICE
The program was tested solely for our own use cases, which might differ from yours.
Author Info: Monish<EMAIL_ADDRESS>on behalf of Mercedes-Benz Research and Development India
https://github.com/mercedes-benz/mercedes-benz-foss/blob/master/PROVIDER_INFORMATION.md
Sample JSON
sample-moview-json.txt
Signed off: Monish<EMAIL_ADDRESS>

Created a new PR #707 with latest changes.


Creating new filters (spam, flood and caps lock)

Good, but every feature needs to be "modularized" and be able to be disabled, this one should be disabled by default.

Okay, I will make changes as requested.

Good, but both anti spam and anti flood needs specific settings on modules to activate/deactivate it.
You can add an boolean on filter.yml to setup this.
It is the core philosophy of the plugin being able to control everything it does.
Sorry for the very late reply.

cool bros


Table functions

[ ] add update row in place
[ ] add row should add in a particular location in the table
[x] edit table captions/titles (show "no title" if no title)
[x] change endpoints to use github login key (rather than our own login system)
[ ] number of subjects; stereotaxic space (login-dependent)
[x] change z-effective to text by default; edit using contenteditable rather than a text input

Resolved with Anisha's frontend


Create install-delegates-with-custom-certs.md

Added new topic. This topic tells how to modify an immutable delegate image so that the delegate installs with a custom certificate. The topic was created before the migration so went by the wayside for a while though it was about ready to be published at the time.
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ x] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s).  https://harness.atlassian.net/browse/DOC-2208

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-577


PV capacity for PVWatts-Wind-Battery / Host Developer configuration

PV capacity on Hybrid System page is always zero independent of PV System Design value

Closed in 2023_defaults_updates branch of SAM


Change order of items in Handbook Reference Navigation

I change Order because in "Module Resolution" and "Namespaces and Modules" sections we have dependencies on "Modules" and "Namespaces" section and in this order there is no need to go back and forth and have a better user experience.
This PR will close issue #484

👍


More initial docs

This PR improve the structure of the docs and bring all the current content there.
It's not in great shape, but I moved all of it and it's a starting point to have more people contributing to it.

Unclear why cloudflare is not dropping the link here. You can view these feature branches by name though: https://more-initial-docs.chicory.pages.dev/

I am approving, then I'll do another round of review over the text