Floating IPs provisioning backend

Models: EMS Network Provider using task queue
UI to follow and integrate with tests

@miq-bot add_label euwe/yes

@miq-bot remove_label wip

@dclarizio, @h-kataria, @martinpovolny, @himdel, please review as we'd like this in E release too.

@mzazrivec, thanks for you comments, all fixed now.

@gildub this should be again divided to UI and backend PR (not sure if we need the automate code, since you have there non existent methods)

UI label to be removed please.
@chessbyte , @tzumainn

@miq-bot remove_label ui

As this is for euwe I tend to merge this as its now and do the proper refactoring on master slated for the F release. Otherwise backporting refactorings seems too risky imho

@durandom, @Ladas, +1 for euwe.
That said I'm happy to fix it, in a separate PR, assigned to me if needed.

@durandom sounds good, lets merge it and do non euwe refactoring after

@miq-bot assign @blomquisg

@durandom can you add some pivotal stories/tasks that track refactoring operations.  We need to look at this at a general level.
For instance, there's a lot of calls to check_policy_prevent in the older operations in vm_or_template.  But I only see those calls happening in VMs, Hosts, and a couple container operations.  My guess is that they should be happening for every operation that could be guarded by a policy (should all operations be guarded by a policy?  maybe).

@miq-bot add_label blocker

@miq-bot remove_label blocker

@gildub Is there a BZ for this PR?

@simaishi It'd be needed as part of https://bugzilla.redhat.com/show_bug.cgi?id=1394277 - thanks!

@miq-bot add_label bug
@miq-bot add_label blocker

Euwe backport conflict:
$ git cherry-pick -e -x -m 1 0184457
error: could not apply 0184457... Merge pull request #11819 from gildub/network-provisioning-floating-ips

$ git diff
diff --cc app/models/mixins/supports_feature_mixin.rb
index c9b6361,f2794b0..0000000
--- a/app/models/mixins/supports_feature_mixin.rb
+++ b/app/models/mixins/supports_feature_mixin.rb
@@@ -96,11 -99,13 +98,15 @@@ module SupportsFeatureMixi
      :snapshot_create            => 'Create Snapshot',
      :snapshots                  => 'Snapshots',
      :shutdown_guest             => 'Shutdown Guest Operation',
 -    :suspend                    => 'Suspending',
      :terminate                  => 'Terminate a VM',
 -    :timeline                   => 'Query for events',
 -    :update_aggregate           => 'Host Aggregate Update',
      :update                     => 'Update',
++<<<<<<< HEAD
 +    :update_aggregate           => 'Host Aggregate Update',
++=======
+     :update_floating_ip         => 'Update Floating IP association',
++>>>>>>> 0184457... Merge pull request #11819 from gildub/network-provisioning-floating-ips
      :update_network_router      => 'Network Router Update',
 +    :refresh_network_interfaces => 'Refresh Network Interfaces for a Host',
      :ems_network_new            => 'New EMS Network Provider',
      :update_security_group      => 'Security Group Update',
    }.freeze

@gildub Please resolve conflict and make Euwe-specific PR (referencing this one) or suggest other PRs to backport.

@gildub for some reason the order of support strings is different on HEAD and euwe; I guess it's an easy enough euwe-only pr?

@gildub figured it out; the two diverged because of https://github.com/ManageIQ/manageiq/pull/12162.  Can you create a euwe-only PR for this PR that re-aligns HEAD and euwe?  That should prevent other conflicts as well.

@simaishi @gildub I've created the euwe backport at https://github.com/ManageIQ/manageiq/issues/13383

Backported to Euwe via https://github.com/ManageIQ/manageiq/pull/13383


Regex support?

This is more of a question really than an actual issue... for now at least.
If I read the cel spec properly, it is expected it'd support regular expressions, re2 based flavor.
Trying this out:
#[test]
fn test_matches() {
  let tests = vec![
      ("map", "{1: 'abc', 2: 'def', 3: 'ghi'}.all(key, key.matches('^[a-zA-Z]*$')) == true"),
      ("string", "'foobar'.matches('^[a-zA-Z]*$') == true"),
  ];

  for (name, script) in tests {
      assert_eq!(test_script(script, None), Ok(true.into()), "{}", name);
  }
}

I'm getting a Err(NoSuchKey("matches")) for both map & string tests. Couldn't see anything mentioning regular expressions neither. So here's the questions, is this a conscious decision to not support them? Looking around, I couldn't find a good candidate regex lib to start implementing that support actually... especially as in our use-case we're looking at targeting wasm...
Have you considered that side of the spec? Any conclusion you came to already?

Definitely not intentional, it's been more a lack of demand than anything. I'll definitely get this on the priority list, or I would be happy to work through a PR with you if you'd like to take a stab at it as well. Otherwise I'll take a look later this week.

Great! I'm certainly willing to have a shot at this, as if I can make it work here, I don't have to support two different code path in my own on-going work (see here, tho I'm rewriting the entire support for typing leveraging CEL, as that's how many types are actually represented with Envoy anyways).
I'll look at supporting this while keeping it all working in wasm too then tho. I'll start looking around for a way to support that and will report my findings here. If you have any leads, now or later, please drop them here too 🙏
Thanks for the awesome work you've done on CEL for Rust already!

Looks like regex would do the job... I'll start looking into leveraging it to add support for regex in the interpreter


Only split assets/mounts if they contain ; and modalities field validator

@dyf one last fix! Came up during the last round of testing with the aind-trigger-codeocean

@jtyoung84 implemented field validator as discussed in last commit


Fix typo in HtmlParseMode.cs

Types of Changes
Prerequisites
Please make sure you can check the following two boxes:

[x] I have read the CONTRIBUTING document
[x] My code follows the code style of this project

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

[x] Bug fix (non-breaking change which fixes an issue, please reference the issue id)
[ ] New feature (non-breaking change which adds functionality, make sure to open an associated issue first)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Description
The sentence:

... (chracters will be parsed...

Should read:

... (characters will be parsed...

Closing and merging this change into #1013


Incompatibility with Map Atlases [Forge]

The map will intermittently appear and disappear when opening/closing the accessories UI.
Forge Version: 47.3.5 (1.20.1)
Map Atlases Version: 6.0.8
Latest versions of accessories and cclayer.

A video of the bug in question would be helpful to understand the issue.

https://github.com/user-attachments/assets/da03f35f-690b-46ed-8313-9fb2b4691b35

Hmm, it is very odd such is occurring as I tested with the Fabric version of the mod without much issue. I will need to investigate further to find the cause of this.

Probably related, the minimap also disappears when travelling to a map edge such that a new map is created and starts getting filled.


add note to README.md

add note to README.md  about .env being ignored by .gitignore when running a new project

Thank you @marcos-rios


GraphQL Hive Client for workers

Looking at the current code of @graphql-hive/client, it seems that the client won't work inside an edge (cf) worker? Am I correct, and if so, is it on the roadmap?
The use-case is to use vercel/cf workers for usage reporting.

It would require some adjustments (dispose the client with context.waitUntil) but in a matter of a few lines of code you could make it work. Here's the core logic that you could use (both envelop and apollo plugins are using it under the hood).

I see, my concern was more about using axios as an agent client instead of whatwg fetch for example

I see, yeah it needs to be replaced by something platform agnostic like Fetch API.
Instead of envelop, you could use our (of The Guild) GraphQL Yoga.

I don't think this will fix using hive client in workers env since under the hood it still uses the @graphql-hive/client package.
Anyways I will try to write my own agnostic hive client for the time being

I see, yeah it needs to be replaced by something platform agnostic like Fetch API.

But that's what I meant, to replace axios with something like Fetch API.

I created simple edge client (only usage reporting for now) here: https://www.npmjs.com/package/graphql-hive-edge-client
My use case is to use edge functions as a (security) proxy which does analytics with graphql hive

CF Worker support coming soon #4494

https://the-guild.dev/graphql/hive/product-updates/2024-04-23-graphql-server-integrations-workers-support


x/sys/unix: TestGetwd is improperly written

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
1.11beta2
Does this issue reproduce with the latest release?
unsure
What operating system and processor architecture are you using (go env)?
freebsd/amd64
What did you do?
ran bash all.bash in the src sub-directory (building from the git repo)
What did you expect to see?
all tests succeeded
What did you see instead?
--- FAIL: TestGetwd (0.00s)
    syscall_unix_test.go:493: Getwd returned "/data/usr/bin" want "/usr/bin"
FAIL
FAIL    cmd/vendor/golang.org/x/sys/unix        0.372s

Extra information: on my machine /usr is a symlink to /data/usr. This is pretty common on unix systems with multiple filesystems. The test should not be sensitive to this.

In general there is no protection against this, as Unix does not keep a canonical path for a file. (Shameless plug: See https://9p.io/sys/doc/lexnames.html.)
The test could perhaps find a safer solution but sysadmin creativity will eventually defeat it. Maybe use /etc? I don't know. Needs thought.

A suggestion:

make a temp dir.
chdir to the temp dir, compute Getwd. Keep for later below.
make a sub-dir in the temp dir.
make a symlink to the sub-dir.
chdir to the symlink
compute Getwd again.
Check that the new Getwd is the expected sub-dir of the original result of Getwd (after symlink resolution).

Of course one can do that, but that depends on mkdir working, which if you think about it is a far higher bar than checking whether getwd is working. It's like proving the circle's circumference is 2πr using calculus.
And the proposed test only tests that it is consistent, not that it is correct. That's a lot of work for almost no information.
I'm not saying you're wrong, just that it's not a very good test. It may be hard to do better.

checking the relative consistency of getwd across directories and sub-directories is, IMHO, what applications care most about (that, together with the relative consistency of getwd and abspath)

There is another directory structure that's already there for you where you control the existence of symlinks: the go source tree itself. The test can check the consistency of getwd there without relying on mkdir.

The test is brittle, as discussed, but it can be strengthened by adding more directory test targets, then examining each one in the testing loop and skipping any that don't exist or are/contain symbolic links. I have revised test code that does this.

Second try in the correct repo. I'll check the previous gerrit comments again to see if I addressed the feedback completely. https://github.com/golang/sys/pull/22


Increase AreaWeighted extent tolerance

Addresses #5461

It looks like the mdtol behaviour relies on the missing data being explicitly from a masked source. While I believe the new behaviour in _within_bounds would adress #5461, it remains to change mdtol behaviour so that out of bounds and masked areas are equivalent. There should also be additional tests that this equivalence holds.


Can not show all chinese of input.

when I input chinese like this: '测试测试'
it only show '测'.

Does this happen in all terminal emulators that you've tested? What's the output of running locale?

Sorry, I forget to close this.It is terminal cmder's  bug not oh my zsh.


Unlabeled PR for one of my Contributions to our Application ⁉

I have made this pull request https://github.com/jahnvisahni31/DesignDeck/pull/127 and it looks like we have missed to label them. Kindly assign the labels for gssoc-ext and hacktoberfest level 3 so it will help me on the contributions.

done
@VRtheKing


cross site origin

It's probably something not related to the plugin but I cannot see the media even its uploaded and accessible via the direct url, any idea how to fix

If I remember correctly, @aaronclimbs addressed this for strapi v4: see https://github.com/zoomoid/strapi-provider-upload-aws-s3-advanced#image-previews
Let me know if this fixes the issue 👍

Fixed , Thank you!


Move Project Manager into cached React Query to ensure it is globally unique

Pull Request Description

This prevents two separate Project Managers from being created, due to React.useEffect firing twice when Strict Mode is enabled.
Fix crashes with npm run dev in app/gui2 when there are broken symlinks in the projects directory

Important Notes
None
Testing Instructions

Inspect the websockets with address <IP_ADDRESS>:30535 to make sure that only one of them has any messages at all
Create a broken symlink in the projects directory and confirm that the Local Backend does not fail on this PR (but does on develop)

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

ping @MrFlashAccount for re-review (and maybe QA)

no longer relevant as the local backend is now unconditionally stored in a global React Context


The terminal process terminated with exit code: 2

From @joe3524 at Mar 6, 2018 6:19 PM PST
I got this error message while building a C file using VSCode and gcc, not g++.
/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `gcc /Users/joe/Documents/(programming)/[ C]/VSCode/example.c -o example  && ./example '
The terminal process terminated with exit code: 2

This was when I tested a simple .c file with VSCode.
#include <stdio.h>

int main(int argc, char * argv[]) {
    printf("Hello World!");

    return 0;
}

It's strange that when I build a cpp file with g++, it works. But it doesn't when I specifies 'gcc' in tasks.json file.
Here is my tasks.json:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "compile and run C",
            "type": "shell",
            "command": "gcc ${file} -o ${fileBasenameNoExtension} && ./${fileBasenameNoExtension}",
            "presentation": {
                "reveal": "always",
                "panel": "new"
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

I'm running macOS 10.13.3, VSCode 1.20.1.
Copied from original issue https://github.com/Microsoft/vscode-cpptools/issues/1645

I took a quick look.
The call to gcc is failing due to the path Users/joe/Documents/(programming)/[ C]/VSCode/example.c. I am not sure if ${file} is supposed to escape the escape characters ( e.g. '(' or ']' ) if its within a string, or is it up to the user to put double quotes around it themselves?

No. I just didn't know well as I was new to VSCode yesterday. To my embarrassment.. actually I had to spend a whole day trying to solve this.. You made my day. Thank you!

Dups #32400


Improve performance of escape character checking

Prior to this change, the escapes function in read.rs constructs and returns-by-copy an array of bools for each character processed inside a string by SliceRead.
This change constructs both of the possible arrays that escapes can return once, and then changes escapes to return references to them.
On citm_catalog.json (a fairly representative benchmarking input with a mix of types), this change reduces parsing time by about 15%. On twitter.json (a string-heavy benchmark), this change reduces parsing time by 37%.

Thanks for the contribution - some of the CI is failing. Also, it looks like the #[cfg(std)] directives need a bit of attention.

I'm not really clear why ESCAPE would need to be conditionally-compiled with std; it doesn't seem to rely on std functionality to compute the value?  It sort of made sense before as maybe a binary size optimization when it was only being used from std-dependent IO reader code, but I'm not sure it still does.  It seems to build with the affected toolchains and tests seem to pass on my machine but it looks like it was changed in https://github.com/google/serde_json_lenient/pull/9 and I'm not able to tell what test failure it was intended to fix there, so I'm curious to see where the CI objects to it.

Ahh I see, ESCAPE was dead-code under certain sets of flags ( ex https://github.com/google/serde_json_lenient/actions/runs/5777452893/job/15657636830 ) before its compilation was made conditional.  I don't think this is still deadcode if we're using it from SliceRead.  Tested with cargo +1.56.1 check --manifest-path tests/crate/Cargo.toml --no-default-features --features alloc and I don't get any deadcode errors on this branch.


KAFKA-10787: Apply spotless to clients

This PR is sub PR from https://github.com/apache/kafka/pull/16097.
It is part of a series of changes to progressively apply [spotless plugin(import-order)] across all modules. In this step, the plugin is activated in the

stream:test-utils
streams:upgrade-system-tests-0100

Module and history

Please see the table below for the historical changes related to applying the Spotless plugin

module
apply
related PR

:clients
✅
https://github.com/apache/kafka/pull/16393

:connect:api
✅
https://github.com/apache/kafka/pull/16299

:connect:basic-auth-extension
✅
https://github.com/apache/kafka/pull/16299

:connect:file
✅
https://github.com/apache/kafka/pull/16299

:connect:json
✅
https://github.com/apache/kafka/pull/16299

:connect:mirror
✅
https://github.com/apache/kafka/pull/16299

:connect:mirror-client
✅
https://github.com/apache/kafka/pull/16299

:connect:runtime
❌
future

:connect:test-plugins
✅
https://github.com/apache/kafka/pull/16299

:connect:transforms
✅
https://github.com/apache/kafka/pull/16299

:core
✅
https://github.com/apache/kafka/pull/16392

:examples
✅
https://github.com/apache/kafka/pull/16296

:generator
✅
https://github.com/apache/kafka/pull/16296

:group-coordinator:group-coordinator-api
✅
https://github.com/apache/kafka/pull/16298

:group-coordinator
✅
https://github.com/apache/kafka/pull/16298

:jmh-benchmarks
✅
https://github.com/apache/kafka/pull/16296

:log4j-appender
✅
https://github.com/apache/kafka/pull/16296

:metadata
✅
https://github.com/apache/kafka/pull/16297

:server
✅
https://github.com/apache/kafka/pull/16297

:shell
✅
https://github.com/apache/kafka/pull/16296

:storage
✅
https://github.com/apache/kafka/pull/16297

:storage:storage-api
✅
https://github.com/apache/kafka/pull/16297

:streams
❌
future

:streams:examples
✅
https://github.com/apache/kafka/pull/16378

:streams:streams-scala
✅
https://github.com/apache/kafka/pull/16378

:streams:test-utils
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-0100
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-0101
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-0102
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-0110
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-10
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-11
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-20
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-21
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-22
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-23
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-24
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-25
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-26
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-27
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-28
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-30
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-31
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-32
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-33
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-34
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-35
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-36
✅
https://github.com/apache/kafka/pull/16357

:streams:upgrade-system-tests-37
✅
https://github.com/apache/kafka/pull/16357

:trogdor
✅
https://github.com/apache/kafka/pull/16296

:raft
✅
https://github.com/apache/kafka/pull/16278

:server-common
✅
https://github.com/apache/kafka/pull/16172

:transaction-coordinator
✅
https://github.com/apache/kafka/pull/16172

:tools
✅
https://github.com/apache/kafka/pull/16262

:tools:tools-api
✅
https://github.com/apache/kafka/pull/16262

How to test:
We can run ./gradlew spotlessCheck  check for code that does not meet requirements.
If we get report that error , we can run ./gradlew spotlessApply to review my code.
In this PR, all change(exclude build.gradle) byspotlessApply`

@gongxuanzhang please rebase code

@chia7712  complete, thanks your review

@gongxuanzhang could you add generated-test to targetExclude to fix the build error?

@chia7712  I update it. ignore generated code

@chia7712 I'm coming into this late, but please check in the mailing list before doing large reformattings like we are doing here. It causes a bunch of merge conflicts for work in progress, makes cherry-picks for older branches harder and so on. I see the value of the change, but we should seek broader alignment for things that impact many of the developers.

I see the value of the change, but we should seek broader alignment for things that impact many of the developers.

sorry for large conflicts. We tried to minimize the conflicts by making changes to "imports" only. It seems to me those conflicts are not hard to fix as they are unrelated to "behavior". Also, I have seen many conflicts about the imports before when those import rules are not there. In short, I agree that will cause some panic for a while and I'm sorry, but the benefit is that we can see fewer imports changes caused by each developers' IDE in the future


addAadSupportInSpark

Description
Add aad support in spark.
Why the need
You cannot use any Azure Cosmos DB data plane SDK to authenticate management operations with an Azure AD identity.
Azure Cosmos DB RBAC
Design
Cosmos Config
New config entry has been introduced which allows customer to provide service principle related config
spark.cosmos.auth.type
spark.cosmos.account.subscriptionId
spark.cosmos.account.tenantId
spark.cosmos.account.resourceGroupName
spark.cosmos.account.azureEnvironment
spark.cosmos.auth.aad.clientId
spark.cosmos.auth.aad.clientSecret
Spark catalog
Catalog is the API interfaces which allows customer to interact with the metadata store. CosmosCatalogBase and CosmosCatalog contain all the related implementations, which includes most of the related management operations (like creating database, creating container etc). The idea here is to use ManagementSDK for the underlying operations if customer is using ServicePrinciple based AAD authentication, use CosmosDB Java SDK V4 if customer is using masterKey authentication.

Throughput control
Query database/container throughput throughput AAD authentication is also not supported through Cosmos DB data plane SDK currently, so in order for throughput control to work correctly, it needs a way to query throughput successfully.
A new internal method is being introduced which accept a throughputQueryMono, which will be used in ThroughputContainerController.

Test
Currently spark CI pipeline only targets CosmosDB Emulator, however using CosmosDB Emulator for testing is challenging as:

Emulator does not support management operations with AAD authentication
Emulator only accepts a pre-crafted AAD token

So the following tests is used as gates:

Added new basicScenarioAad notebook which can be triggered through /azp run java - cosmos - spark
Tested locally with prod database account and valid ServicePrinciple authentication in CosmosClientCacheITest, CosmosCatalogITest
Run 01_Batch notebook with masterKey and AAD auth
Will follow up https://github.com/Azure/azure-sdk-for-java/issues/33245

API change check
API changes are not detected in this pull request.

/azp run java - cosmos - spark

LGTM - thanks!

/azp run java - cosmos - spark

/azp run java - cosmos - spark

/azp run java - cosmos - spark

/azp run java - cosmos - spark

/azp run java - cosmos - spark

/azp run java - cosmos - spark


Random Battle: Refactor STAB Move Checks

The current variables in place to check for STAB do not work as intended.
If a Pokemon has two STAB moves of the same type, and one of them is set
as a move that shouldn't be counted as STAB, the Pokemon will be counted
as not having STAB. Since nothing in the code checks for Pokemon having
STAB of a specific type, it is refactored to be a boolean instead.
In order to avoid a situation where a move like Infestation sets the STAB
variable to true when it doesn't count as a damaging move, these kinds of
moves no longer increment counters for abilities that boost damage, like
Adaptability.

While we're on the subject of STAB move checks, why is Aeroblast not counted as STAB in Doubles?

Re: Aeroblast.
41c46e67 fixed that, but only for Singles.

I'm still confused. Why isn't Aeroblast counted as STAB?

https://github.com/Zarel/Pokemon-Showdown/pull/260#issuecomment-20225171

The way the code is set up, Lugia has Aeroblast and Ice Beam equally... in Singles, since Ice Beam passes the check where your only damaging move is an Ice move on a Psychic-type. In Doubles, the check doesn't include Psychic types when there's only one damaging move, so maybe we should add that?
Actually, I just checked the code, and evidently, Lugia doesn't have Ice Beam in Singles for some reason. So that's a thing I'll have to fix too.

Lugia isn't an offensive Pokemon and does run, or need, Ice Beam.


add unit tests for the events table

Created some unit tests for user-defined functions and components used in the events table. Was unable to create comprehensive tests for TableOutputComponent since its entirely built upon the AG-Grid library, and snapshot testing does not show the rendered HTML of AG-Grid. Another way to test TableOutputComponent could be to stub api calls made by the component to fetch table data and check if the internal state of the component (table columns & lines) updates. I was unable to mock tsp-client api calls or stub responses since jest could not reference the requests being made by the component's methods. But I believe we can later add to this test once we figure out a way to do so. Also included snapshot and unit tests for TableRendererComponents which are used by TableOutputComponent
Signed-off-by: hriday-panchasara<EMAIL_ADDRESS>

Excellent work!
Please change the name of the test file from event-table-component-tests.tsx to table-renderer-components.test.tsx, and the respective snapshot.
That follows the way we did with the other tests and makes it easier for other developers to identify what has already been covered when writing more tests.

@Rodrigoplp-work renamed the relevant files


Pressure fitting

[X ] bug report -> please search issues before submitting

Minimal steps to reproduce
Some pressure datasets fail with an internal server error 500.
Expected/desired behavior
Completing fit successfully.
Appears to be too many function calls in the fitting empirical equation. Increased maxfev at the moment but a more elegant solution is likely required.

I think I promised you a PR that commits some failing test data, will do that now.

I think I've sorted the main issues which were:

too small number of maxfev (to minimize compute use, but ultimately stopped reasonable data too)
lack of bounds allowing things to underflow/overflow
no jacobian implemented for BM2 and BM3 fitting (probably increases fevs and the chance of over/underflow too)

There's no jacobian for BM3_PC and empirical at the moment, because it's a faff to do and things are ticking over ok. I've checked against failing data provided by users and my own hard datasets and all run ok. If this reoccurs, we can try harder.


Parallels Server Bare Metal support for Facter (#10233)

I've created a patch so that Facter can identify Parallels Server Bare Metal servers. PSBM is a RHEL-based distro made for web hosting companies and includes virtualization built in.
This is in response to my Redmine ticket #10233
https://projects.puppetlabs.com/issues/10233

Merged into 1.6.x manually.


Vulkan Support

I understand this is isn't actually an issue, and to make it a goal would be to take on a very large goal, but I think it'd be neat to at least discuss.
As many of you have probably already heard, Vulkan 1.0 has finally been released. It seems glfw has actually already added some basic Vulkan support.
https://github.com/glfw/glfw/commit/9b75bffc88939883d8ae77901b73182dda35e733
Vulkan just like OpenGL would be awesome to have some higher level library wrappers for. It'd certainly be awesome to see SFML at some point support Vulkan.

I think it'd be neat to at least discuss.

Yes, please. But please, follow our >> contribution guideline <<

They will help you focus on the important stuff and prevent you from losing (y)our time with requests
that are out of SFML's scope, known issues, and so on.

I'm therefore closing this until it is properly discussed on the forum and that a precise plan is made. Without that, it's just lost energy!

I think one closed issue is enough. (and its comment 2h before this post is hardly a coincidence...)


Fix inbox view scrolling to focused row when updated.

When inbox view receives an update, it scrolls to the current focused row even if the row is out of the view.
In recent view we solve this by moving the focused row to the visible rows as user scrolls.

@amanagr  Can you please share more details about this issue, and how to recreate it?

Please only look for issues with "help wanted" label.

Okay!


[BUG] analysis tool cannot handle a job with no tasks.

Describe the bug
In Analysis.jobAndStageMetricsAggregation there is a bunch of code to do aggregations and they all have this Option pattern when doing the aggregations.  But the problem is Option only becomes a None if a null is passed in. We are not passing in nulls in this case, we are passing in an empty ArrayBuffer if there are no tasks. For the sum aggregations it is not a problem and they still output 0 when summing an empty list.  But for max it throws an error. We need an alternative way to compute the max and return 0 when there are no values.  The Option code is doing nothing because there is no way to return a null from tasksInJob.map(_.SOMETHING) if tasksInJob is empty you get an empty list. If it is null you get an NPE from trying to call map on it.

I just tested with #3342 and it does fix this.


Fix Demo Always Reload the all the Components

Proposed Changes
We never need to fetch the full list of components once loaded
Potential Breaking Changes
None
Acceptance Criteria

[x] The potential breaking changes are clearly identified

Codecov Report

Merging #1284 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1284   +/-   ##
=======================================
  Coverage   99.46%   99.46%
=======================================
  Files         358      358
  Lines        8982     8982
  Branches     2131     2131
=======================================
  Hits         8934     8934
  Misses         48       48

Continue to review full report at Codecov.

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

Demo not working :thinking:

Demo not working 🤔
Try https://coveo.github.io/react-vapor/474f03f92c22cef7d049a8db20639f38/


rename private function _parse_tag

_parse_tag function, will be renamed _parse_char, because, there's more functions, that will use it, as smartCount.
it will be placed at utils.js

311be537b3c8a77367ddeeb08377512037f9bafc #closed


[WIP] update user.info interface so that can ge thte infomation by username

@MatthiasKainer Please review


How to receive props when defineComponent uses  setup function as a parameter

Version
3.2.23
Reproduction link
v3.vuejs.org
Steps to reproduce
https://v3.vuejs.org/api/global-api.html#definecomponent
What is expected?
There is a way to receive props when defineComponent uses  setup function as a parameter
What is actually happening?
in documentation, I can’t find a place to receive props

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.


Add chat commands for server configuration

Allow server admins to configure their server's d-zone with chat commands.
This will let admins set their own password, ignore/listen channels and users without requiring the bot maintainer to do anything.

Certainly not, but I am lazy!


github: init CONTRIBUTING.md #175

Signed-off-by: Matthew Croughan<EMAIL_ADDRESS>Adds a CONTRIBUTING.md which highlights some of the practices I've seen @vanmaegima begin to implement, this will grow over time.

Docs for 57bc9641fcf4c45ab0271f4bb24652c1fd303dd4 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/770/docs/artifacts/html/index.html


Codewindow not working well with Neotree

When I toggle minimap in my current buffer it shows on right side as expected. then i open Neotree to browse my files and now in that buffer i see minimap. It dissapear from my code buffer and appear in other buffer that should not have it (like file explorer).
Other visual problem I have is that in my code buffer minimap bottom is overlapping with status bar (it covers bottom right corner) so I can't see percentage for file, TS icon.
Other than that I see no other major issues. Nice work!

Could this be a mix of https://github.com/gorbit99/codewindow.nvim/issues/11 and https://github.com/gorbit99/codewindow.nvim/issues/3 by any chance? The latter is already solved, the former I'm working on

Oh nice, waiting for #11 then.


Current logic won't match different apostrophes in card names.

Examples:
!site "Antius' Forecast"
Sorry, I don't know the card Antius' Forecast
!site "Antius’ Forecast"
https://parallel.life/cards/antius’-forecast
!site "archivist's pride"
Sorry, I don't know the card archivist's pride
!site "Archivist’s Pride"
https://parallel.life/cards/archivist’s-pride
This is due to the single quote character used in the JSON.
Discord uses ' but the JSON uses ’

I eventually want to implement fuzzy matching, which would probably solve this without having to do any specific apostrophe matching.

Agreed. Something based on Levenshtein Distance is probably best, or at least easiest.


Make Devportal Compatible with Core Modification

Problem
Add required fixes along with the ReadMe file modification to make the devportal codebase compatible with the devportal core.
Solution
Test the devportal with the core changes and fix errors
Affected Component
APIM
Version
4.5.0
Implementation
No response
Related Issues
No response
Suggested Labels
No response

https://github.com/wso2/api-developer-portal/commits/main/?author=DivyaPremanantha&since=2024-11-13&until=2024-11-14


USHIFT-2543: add overrides for CI scripts

Add the ability to override settings used by the CI scripts for local
developer workflows.
/assign @jogeo

/lgtm


Add app-level tests

Right now the only tests are for the generic UrlTable type, not for App itself. Figure out a test harness strategy for App and write some tests.

I have a sketch here: https://github.com/skade/tide/blob/testable-app/src/app.rs#L216-L251. I'll see that I can turn it into a full pull request tomorrow. (It currently doesn't report test failures correctly)

I've been playing around with this a little more and would love to take that topic on.

@gruberb I've written a simple test backend on PR #140. Basically the backend consumes a HttpService and provide some interface to simulate requests synchronously. It works as a test client for our app. Once we run TestBackend::simulate, we can make assertions on the returned response.
Once the PR lands, we can add more integration tests to test whether App works as expected. Moving the test backend into a module (or even a crate) would be the good point to start. Adding helper functions like checking status codes will be helpful. Then you can easily test on some sample app structures.

@tirr-c Thanks, I will have a look on your PR. So I will work on getting the test backend into a module/crate and then run tests against the app. Will get back to you once I started. I surely will need some guidance here and there! Thanks for assisting!

We already run 40 or so tests for app; more would be great, but this should be good to close. Thanks!


Date format

Hi!
I am passing moment object from my component state to data picker, and I have set dateFormat="DD/MM/YYYY", however data picker "selected" recognizes my date as MM/DD/YYYY. For example when my state has 06/05/2016 (06 May 2016)
data picker shows 05/06/2016 (05 Jun 2016) instead.
Seems like this string dateFormat="DD/MM/YYYY" doesn't affects on date format of picker.
How can I fix it?
Thank you!

Are you able to paste your code or create an example page that shows the problem?  The demo site gives an example of this that maybe you can model your code after.

I have just tried on 0.28.0 and it works without issues.
@rafeememon keep in mind that date format should be uppercase for moment to parse it as 'DD/MM/YYYY' or similar. Check moment docs for format options it accepts.

@gor181 yep, this is what the demo site shows and what @flyalex described.
Closing for lack of additional info

Nowhere in the demo it's showing the format of 'DD/MM/YYYY'
For me also when I'm giving format 'DD/MM/YYYY', it's automatically changing to 'MM/DD/YYYY' and suppose if I'm selected '23/05/2016', it's changing to '05/23/2016' and suddenly to 'Invalid date'.
here is the code:
<DatePicker {...input} placeholderText="YYYY-MM-DD" dateFormat="DD/MM/YYYY" className="form-control"               fixedHeight               selected={selectedDate}               isClearable={true}               showYearDropdown />


Investigate the QGB relayer signatures issue

Summary of Bug
When running the QGB, sometimes, the relayer fails to relay attestations and reverts here:
https://github.com/celestiaorg/quantum-gravity-bridge/blob/37b613843c7a0681fe2a8ae82d3422e1f1cfb311/src/QuantumGravityBridge.sol#L220
This should be investigated. A possible problem could be that the signatures are not ordered correctly when creating the sigs array in the relayer.
Version
https://github.com/celestiaorg/celestia-app/commit/2fef6fd9fe4bd34e1bb9edd6bc76c47c1d7e13fc
Steps to Reproduce
Run the QGB e2e tests long enough
For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Update: The commitments queried from core are not deterministic. Will start investigating that.

The issue was a race condition.
Sometimes the orchestrator is getting the commitment for a range where the last block is still not indexed.
So, we only get the commitment over the ones that are indexed.
Example:

Height 30 is committed to
orchestrator asks for commitment [10, 30]
Height 30 is indexed
The commitment received will be on [10, 29]
https://github.com/celestiaorg/celestia-core/pull/838 fixes it.


Feature: make right-click trayicon menu user-configurable

First of all, great piece of software, I can see you put a lot of work into it.
I used to use "Home Assistant Desktop" which is now supposedly dead - I saw that you suggested your own software in this thread as an alternative, so I am trying to set it up as such..
I used Home Assistant Desktop for controlling my light brightness, in the way shown in the screenshot.
one click access to brightness. (without going through any submenus or anything)
I couldn't find any way to make a slider like that, did I miss something or is it just not a feature (yet?) in HASS agent?
Also, I would like to suggest more direct access to controls, ideally being able to click the tray icon once and then accessing the controls directly from there without having to open further submenus / more clicks.
The right click menu doesn't feel very necessary to me, since the main window, opened by double left click, gives me the same options
The following screenshot is basically what I am trying to achieve:

Hi @paccerdk,
Sorry for the late reply - was away for a few days. From what I understand, Home Assistant Desktop was pretty much just a webbrowser-control, so it showed the HA dashboards. That's actually on the shortlist for the next version of HASS.Agent as well.
However, I completely agree with the trayicon menu being useless. I'll add the ability for users to decide for themselves what happens when they right-click, with the webbrowser-control being one of them. Thanks for the tip!

Thanks for your reply, looking forward for future updates!
For the record, I'd still love to see/like to request sliders. I wouldn't have to waste resources running the whole browser engine etc. Makes a lot more sense for audio, light and others instead of having incremental buttons and such - seems like a pretty essential thing to me.

You're right, that's exactly how home assistant desktop did it,  which in my opinion worked but wasn't ideal.
I'd be completely fine with WebView and then native sliders "further down the road", ill take anything I can get.
What I am saying, is just that sliders was an actual suggestion (figured I'd better mention it, because of your renaming of this ticket and not commenting on native sliders in your initial response) - hopefully that makes sense ;)
the last URL i have for "home assistant desktop" download is
https://github.com/mrvnklm/homeassistant-desktop/releases/download/v1.4.10/Home-Assistant-Setup-1.4.10.exe
which no longer works
The program did have an auto update feature, but I believe this was the latest version.
I've made the resulting file from the link TEMPORARILY available here (since its too big for uploading to this ticket)

Oh, and just as a side-note.
It seems the maintainer of homeassistant desktop just deleted the repository without any warning or notice. It may not even have been intentional? I remember reading somewhere, probably a ticket in the repository, that the project "wasn't dead" - this status may of course have changed the mean time.
its also my impression that nobody has been in contact with the maintainer since the deletion.

What I am saying, is just that sliders was an actual suggestion (figured I'd better mention it, because of your renaming of this ticket and not commenting on native sliders in your initial response) - hopefully that makes sense ;)

That does make sense, got it! I'll keep it in mind :)
Thanks for sharing the installer, you can remove it now if you want

This has been added in the latest beta:
https://github.com/LAB02-Research/HASS.Agent/releases/tag/2022.12.0-beta2
I'll keep the native implementation in mind, that would be best :) If something's missing/not working as you'd like/whatever in the beta, please reopen this ticket and let me know!

Wow, you've been busy ;) this is nothing less than amazing! you've made my day, new beta works great!

Hey thanks for the uplifting feedback, you're very welcome! And thanks for testing :)


A few clarifications on Unbounded String

In the String page, we can see this:
https://github.com/AdaCore/learn/blob/2183de64d50bf6c59e4413e8dd475fd4ee4fd552/content/courses/intro-to-ada/chapters/standard_library_strings.rst#L19-L20
The fact is, in computer, there is no infinite size. The majority of people will never reach the limit, but the fact is:

The language-defined package Strings.Unbounded provides a private type Unbounded_String and a set of operations. An object of type Unbounded_String represents a String whose low bound is 1 and whose length can vary conceptually between 0 and Natural'Last. The subprograms for fixed-length string handling are either overloaded directly for Unbounded_String, or are modified as necessary to reflect the flexibility in length. Since the Unbounded_String type is private, relevant constructor and selector operations are provided.
Source: ARM A.4.5 Unbounded-Length String Handling

And from 3.5.4 Integer Types#21:

In an implementation, the range of Integer shall include the range –2**15+1 .. +2**15–1.

So, the Unbounded String max length is 32_767 elements. If someone wants to process a large (unbounded) string, it could be interesting to redirect it to another type, like GNATCOLL.Strings  for instance.

So, the Unbounded String max length is 32_767 elements.

It is at least 32_767 elements. In practice on almost all platforms, native or otherwise, Integer'Last will be 2**31-1.

If someone wants to process a large (unbounded) string, it could be interesting to redirect it to another type, like GNATCOLL.Strings  for instance.

GNATCOLL.Strings has the same indexing subtype (Natural), so if you ever were to use a platform where Integer is too small, you would have the problem with both unbounded string types. That's however very unlikely.
@gusthoff if you agree, let's keep this to reformulate along the lines of "their maximum length is Integer'Last". It might be worthwhile to precise that the big difference between bounded and unbounded is the use of heap allocation.

@gusthoff if you agree, let's keep this to reformulate along the lines of "their maximum length is Integer'Last". It might be worthwhile to precise that the big difference between bounded and unbounded is the use of heap allocation.

Yes, I've just added an admonition that explains these details. Thanks for suggestion!


Lint: add spaces after blocks

This is a very opiniated linter formatting rule, but hear me out.
Especially the publisher has a lot of very dense code. Extremely indendet oneliners after each other.

This linter rule auto-spaces out multiline code, which (at least for me) makes the code so much easier to parse.

I agree, much easier to read 👍


Assets

Main changes

added assets (logo and banner)
docs: improved readme adding new assets

Is it worth excluding the assets from the published artefact by adding them to .npmignore?

Good point, @cressie176 ! I've added the assets folder to the .npmignore file


BUG: IIRdesign function ftype='bessel' not recognized

Describe your issue.
When using signal.iirdesign(wp, ws, gpass, gstop, analog, ftype = 'bessel', output, fs)
Then an error is returned.
Reproducing Code Example
filter = signal.iirdesign(wp=10, ws=15, gpass=0.1, gstop=60, analog=False, ftype='bessel', output='ba', fs=1000)

Error message
PS ..\python\IIR filter design> python .\iir_filter_design.py
Traceback (most recent call last):
  File "..\AppData\Local\Programs\Python\Python310\lib\site-packages\scipy\signal\_filter_design.py", line 2277, in iirdesign
    ordfunc = filter_dict[ftype][1]
IndexError: list index out of range

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "..\python\IIR filter design\iir_filter_design.py", line 335, in <module>
    main()
  File "..\python\IIR filter design\iir_filter_design.py", line 317, in main
    filter = signal.iirdesign(wp=10, ws=15, gpass=0.1, gstop=60, analog=False, ftype='bessel', output='ba', fs=1000)
  File "..\AppData\Local\Programs\Python\Python310\lib\site-packages\scipy\signal\_filter_design.py", line 2281, in iirdesign
    raise ValueError(("%s does not have order selection. Use "
ValueError: bessel does not have order selection. Use iirfilter function.

SciPy/NumPy/Python version information
1.8.1 1.22.3 sys.version_info(major=3, minor=10, micro=4, releaselevel='final', serial=0)

Hi @nielsvanetten, thank you for reporting. Yes signal.iirdesign does not support ftype='bessel'. Maybe the error message could be improved.

Well the most confusing thing was that in the documentation its stated that signal.iirdesign does support 'ftype='bessel'.
See:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.iirdesign.html

Right and this can be fixed. Would you like to make a PR to improve the documentation?

I tried to make one, hopefully I didnt mess up the procedure.

@tupui sorry, but i have no idea which branch I have to create this PR. Sorry, I'm not experienced enough in github.

@nielsvanetten No problem 😃 You have to create a branch from main

done, hopefully i did it right this time ;). thanks for your help


Possibility to add custom input

Hi,
i want to have a form with custom additional input fields that are not present in the json.
For this i made the following form:
<form>
      <input type="date"  />
</form>

The field is shown but it is shown at the bottom of the form. Is it possible to add the date field at the beginning of the form? And if so, how?
Thanks for the great library

hmm.. I'm not sure that this easily feasible. I guess you could add your custom input via a JS function, that would be the easiest way I guess


Autocomplete not active despite Server being queried

Autocompletion worked before, but sometime around updating to the latest version, it suddenly stopped. I can still see the server being queried though.
Starting OmniSharp server (pid:2302)
OmniSharp Location: [PATH]/.atom/packages/omnisharp-atom/node_modules/omnisharp-client/roslyn/omnisharp
Change the location that OmniSharp is loaded from by setting the OMNISHARP environment variable
OmniSharp Path: [PATH]
Starting OmniSharp server (pid:2310)
OmniSharp Location: [PATH]/.atom/packages/omnisharp-atom/node_modules/omnisharp-client/roslyn/omnisharp
Change the location that OmniSharp is loaded from by setting the OMNISHARP environment variable
OmniSharp Path: [PATH]
Omnisharp server running using stdio at location '[PATH]' on host 1977.
Using runtime '[PATH]/.dnx/runtimes/dnx-mono.1.0.0-beta5'.
Scanning '[PATH]' for DNX projects
No project.json based projects found
Could not determine solution file
Detecting CSX files in '[PATH]'.
Could not find any CSX files
Solution has finished loading
started
/projects: 200 99ms
/codecheck: 200 16ms
/v2/getcodeactions: 200 1ms
/v2/getcodeactions: 200 1ms
/codecheck: 200 0ms
/codecheck: 200 0ms
/updatebuffer: 200 2ms
/codecheck: 200 0ms
/v2/getcodeactions: 200 0ms
/v2/getcodeactions: 200 1ms
/typelookup: 200 0ms

Autocompletion is active and works with other languages.
Any ideas what it could be?

Have you updated any of your keybindings locally?  (keymap.cson)

I don't think so.
I'm using the vanilla vim keybindings package though.

does ctrl-space bring up auto complete for you?

No, it doesn't.
Is there a way to query the server manually to see if there is a proper response?

clients[0]._client.autocomplete(clients[0]._client.makeRequest({})) from dev tools should cause the server to attempt to auto complete (it might throw, but that's okay)

I've seen this behaviour when dnx 1.0.0-beta4 isn't installed.

@nosami I do have dnvm installed, is there another dependency I'm missing?

does dnvm list show that 1.0.0-beta4 has the default alias?

$ dnvm list

Active Version              Runtime Arch Location             Alias
------ -------              ------- ---- --------             -----
  *    1.0.0-beta5          mono         ~/.dnx/runtimes      default

that'll be why it's not working then

$ dnvm install 1.0.0-beta4
$ dnvm alias default 1.0.0-beta4

$ dnvm list

Active Version              Runtime Arch Location             Alias
------ -------              ------- ---- --------             -----
  *    1.0.0-beta4          mono         ~/.dnx/runtimes      default
       1.0.0-beta5          mono         ~/.dnx/runtimes

Unfortunately, it's still not working.
I'm on the latest omnisharp-atom 0.22.6.

@tomwor which plugins do you have installed?

I was experiencing the same problem, and then I realized I was on Atom 0.192 when 1.0.3 was already out. Have you updated to the latest Atom?

#456 fixed it for me.
I removed all .sln files and recreated them through Unity. It's all working now.
Thanks for the great support guys!


Bonfire TitleCase

Challenge http://www.freecodecamp.com/challenges/bonfire-title-case-a-sentence has an issue.
The instructions are not clear as to what your asking for when running code. I wrote my code to what the initial instructions asked for. However, when running my code i find that what i wrote is not what you were wanting. [See Screenshots]  If you wanted to test each character, those strings should have been added into your bonfire start code, so that we know exactly what your looking for in the code. After spending time working on my code and getting it to work for what was initially asked for, i find its not even correct to what is being requested. Please, if you are looking to check more strings to see if the code works, either be more clear of instructions or provide them within the starter code so we can see what is being looked at.

Many of the bonfires include test cases that provide the data in different ways to make the programmer think about various things they may not have initially considered in their haste to smash the problem. It's simply impractical for us to include all of those in the initial instructions since space is limited, but very easy for the user to run the code on an empty bonfire to see all the test cases. This is desired so people become very familiar with test syntax.

I've given this some more thought while at work today. @GhostParticle I think it's kind of infeasible to include all test cases in the description, but would a link to our definition of what title casing is help address the issue? http://www.grammar-monster.com/lessons/capital_letters_title_case.htm

@terakilobyte You're not looking for that sort of Title Case though, you still want in-between words like 'and' to be capitalized. If you add the link as a clear definition, the test cases need to be changed.

@GhostParticle what if we switched out "a" for "the" in the first sentence so that it reads as, "Return a provided string with the first letter of each word capitalized."? The entire point of this challenge (and most of the others) is to write a function that will provide expected results no matter what the given input is.
For example, if I only needed to make this function work for the string in the initial code block, then I could just as easily write a pointless function that only does one thing:
function titleCase(str) {
  return "I'm A Little Tea Pot";
}

titleCase("I'm a little tea pot");

As @terakilobyte says, part of the learning comes from running the tests and seeing what fails. You don't need to write any code before you can run the tests. The failing tests will elaborate on what is required. But my recommendation is to not only write to pass the tests. While you're at it, try to cheat the tests. See if you can write a function that allows something to slip by and pass that the tests didn't catch (and then submit a PR so these tests can better for the next person). Ideally, we should be able to throw any possible string at your function and it will successfully title case the input.
As is, these tests are pretty basic. They aren't requiring that you cover all edge cases. But that doesn't mean you can't do so yourself. Ask yourself what would happen in your function if the string input were any of the following:
""
"i"
".this .is .a .sentence .with .incorrect .punctuation"
"A A A"
"1ove"

Also, @terakilobyte like @lumenTeun pointed out, I don't think that specific link will work since we need a title case that capitalizes all letters including "a" and "the." As far as I know, it is not technically a grammar style (at least not AP or Chicago). Here is a simple link for those styles though: http://titlecapitalization.com/

You need to set <-- Just! --> the first letter "toUpperCase" and rest of the letters "toLowerCase". your code is doing right the first part but you are missing the rest.


"Image Push failed  unsupported protocol scheme" for private registry2.0 with nginx

I configed files  with Deploying a registry server and  Authentication for the Registry,and  logined Successed,such as
root@ubuntu:/home/lingsc/docker-registry# docker login -u testu -p testp -e '' devregistry:5043 WARNING: login credentials saved in /root/.dockercfg. Login Succeeded
I copy devregistry.crt to /etc/docker/certs.d/devregistry:5043/ca.crt too, and restart client docker
but when i push to the registry, it's return
The push refers to a repository [devregistry:5043/hello] (len: 1) 91c95931e552: Image push failed  FATA[0000] Error pushing to registry: Put %5Chttps://%5Cdevregistry:5043/v2/hello/blobs/uploads/d8de9659-b230-4d3c-b2d9-4486fe027af0?_state=SHUBTNdDP9FLMIZipetlDzFNSG39TO3MI9sgKXdHkM17Ik5hbWUiOiJoZWxsbyIsIlVVSUQiOiJkOGRlOTY1OS1iMjMwLTRkM2MtYjJkOS00NDg2ZmUwMjdhZjAiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTUtMDctMjdUMDY6Mzk6NDUuMjM3MzcxMTk1WiJ9&digest=sha256%3Aa3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4: unsupported protocol scheme ""

docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64
is there anybody can help me ?

You are on the legacy registry repository.
The new registry that you are trying to use lives under https://github.com/docker/distribution
Nevertheless, can you provide at least the following information?
https://github.com/docker/distribution/blob/master/CONTRIBUTING.md#if-you-have-not-found-an-existing-issue-that-describes-your-problem
From your log it seems tha

Thanks for your reply.
 Login Succeeded
docker tag hello-world devregistry:5043/hello
docker push devregistry:5043/hello
The push refers to a repository [devregistry:5043/hello] (len: 1) 91c95931e552: Image push failed  FATA[0000] Error pushing to registry: Put %5Chttps://%5Cdevregistry:5043/v2/hello/blobs/uploads/14f3024d-6581-42e1-b7a1-0f657dfcc791?_state=sXzvsWi71qbBEvM0M2-8Qh_UTq4Ll6j-pEcZjXPOjUd7Ik5hbWUiOiJoZWxsbyIsIlVVSUQiOiIxNGYzMDI0ZC02NTgxLTQyZTEtYjdhMS0wZjY1N2RmY2M3OTEiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTUtMDctMjhUMDA6NTc6MzguMjA2ODQ1Mjg5WiJ9&digest=sha256%3Aa3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4: unsupported protocol scheme ""

@dmcgowan any idea?

I see the same problem.
Configuration:
$ docker version
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): darwin/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64
$ docker info
Containers: 9
Images: 69
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 87
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.0.7-boot2docker
Operating System: Boot2Docker 1.7.1 (TCL 6.3); master : c202798 - Wed Jul 15 00:16:02 UTC 2015
CPUs: 4
Total Memory: 1.955 GiB
Name: boot2docker
ID: 3KYP:GRLV:N37M:BLHA:OTUW:DJDW:MZCR:JELQ:X5L4:MFUI:7SFC:P46D
Debug mode (server): true
File Descriptors: 11
Goroutines: 17
System Time: 2015-07-30T06:48:31.701666552Z
EventsListeners: 0
Init SHA1:
Init Path: /usr/local/bin/docker
Docker Root Dir: /mnt/sda1/var/lib/docker
$

$ docker exec 9d3a6428e756 registry -version
registry github.com/docker/distribution v2.0.1
$

Commands:
$ docker tag -f 115cbcaef498 docker.XXXXXXta.com.au/XXXXXXta/python
$ docker push docker.XXXXXXta.com.au/XXXXXXta/python:latest
The push refers to a repository [docker.XXXXXXta.com.au/XXXXXXta/python] (len: 1)
115cbcaef498: Image push failed
Error pushing to registry: Put %5Chttps://%5Cdocker.XXXXXXta.com.au/v2/XXXXXXta/python/blobs/uploads/e4c91600-21ad-4ba5-9634-23648944a6bf?_state=MhAArZDANNcopXZFQryt6RbZWSu5etxxTYFGvbBo7DF7Ik5hbWUiOiJoZWxpeHRhL3B5dGhvbiIsIlVVSUQiOiJlNGM5MTYwMC0yMWFkLTRiYTUtOTYzNC0yMzY0ODk0NGE2YmYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTUtMDctMzBUMDY6NTM6NDIuMDgwMTAxMTIyWiJ9&digest=sha256%3A2231bcc2a986f191b84742458a6b966f5265358682d1ac225b4956a77e48c421: unsupported protocol scheme ""
$

This issue was resolve for me by removing incorrect backslash characters from the nginx config file.

@xialingsc see resolution over at https://github.com/docker/distribution/issues/794

@dmp42 Thanks. I works on it referencing  on Installing Docker Registry 2.0.1 using self signed certificates,and I write a artcle for this in chinese to My's Blog


[ollama] with llama3.1 can not give good plans

leave more suggestions will result in a better performance

but llama3.1's hallucination is very bad

I think the reason is this model performs bad on the JSON mode instruction


Allow getting updated man page via -U

It would be nice if users who update their local copy via "youtube-dl -U" could also get an updated copy of the man page.
I guess this should imply adding a copy of the man page source file to the zipped youtube-dl executable, and adding a command-line option to generate/display the man page (something like "youtube-dl --man", following the example of "youtube-dl --help").

Python's pip tool provides such a functionality. That is, man pages are installed and upgraded with the package. Check installation instructions and upgrade instructions for how to use pip with youtube-dl.


Docker

Hi Thomas.  Any plans for a Docker image ?

I don't think there's any advantage of providing docker images given we already ship a self-contained binary. If you really need one it is trivial to implement:
FROM alpine:3 AS builder
RUN apk add unzip
WORKDIR /
ADD https://github.com/airbusgeo/cogger/releases/download/v0.0.7/cogger_0.0.7_linux_amd64.zip /
RUN unzip /cogger_0.0.7_linux_amd64.zip

FROM scratch
COPY --from=builder /cogger /cogger
ENTRYPOINT ["/cogger"]

Thanx.  That'll be useful in a container-based workflow engine.


Please Register Tags the correct way or allow us to have an option to disable certain tags.

For example:

It seems this is registered in JS and using kubejs for example sadly can't remove the tag's from said Item. With larger Tech Packs the last thing I want is to have it mix like that.
If possible add even a config for us to remove it.
Thanks :)

Fabric allows to overwrite any item/block tag list, additional configs are not necessary


After queued export is finished, when do the download start?

I did a queued export, then got a notification the export is finished but my browser did not start the download, how can it be started?

By the time v1.0.0 was released, there was no way to show actions or HTML. Currently, it's possible to add HTML into notifications to show a link, but I will wait for filament/notifications package for dismissible notifications and actions.

Hi there, the filament notifications package is merged!

How can we add HTML into the notification? I can see you've got the logic in there that wraps the file in an anchor tag, but it's commented out.

This will use the new notification package with the next update. Just didn't have the time for the other feature I want to implement.

Closed via #28


Replacing regex pattern tokens breaks semantics

https://github.com/penge/block-site/blob/00d340a493a77603d40cfd01576f438676a12d55/src/helpers/find-rule.ts#L25
replace here means I cannot use regex meta sequence . - for example .{3,}
https://github.com/penge/block-site/blob/00d340a493a77603d40cfd01576f438676a12d55/src/helpers/find-rule.ts#L29
replace here means I cannot use regex quantifier ? - for example y?
https://github.com/penge/block-site/blob/00d340a493a77603d40cfd01576f438676a12d55/src/helpers/find-rule.ts#L30
replace here means I cannot use * with any token other than . - for example y*

As it wasn't designed for full regular expressions, this change isn't a breaking change and doesn't require an apology.
Supporting ? and * (as described in README) offers a balance between rule flexibility and user-friendliness.

TRUE regex mode

Yes, this would be a great addition. How do you think we could implement it? Perhaps as lines formatted like regular expression literals?
/.../i

meant IF you removed

Got it. That'd be the case, then.

remember to add a regex mode toggle

How about we keep ? and * as are for most users, and treat any new lines starting with / (or basically look like as regular expression literals) as regular expressions literals?
No toggle would be needed.
Example:
/.*/watch\?v=.*/i     # and we could even add comments feature at the end of the lines
                      # that I could use to describe regular expressions
                      # or even group rules into sections

Would turn into:
const regex = new RegExp(String.raw`.*/watch\?v=.*`, "i");

And that would:
regex.test("https://www.youtube.com/watch?v=123");   // true
regex.test("https://www.youtube.com/WATCH?v=123");   // true

The input regex should not be modified in anyway (no replace or removeProtocol).
Regex should be matched against the original url (including protocol) and not normalizedUrl.

I agree. Basically, two approaches there would be:
A) user-friendly, some modification, ? and * support
B) regex, no modification

how do we indicate a regex to allow?

We could use the semantics we already use, that would be putting ! in front:
!/.../        # exception, will be allowed

rule tester  ... quite tricky to get right.

True. Let's have a tester then, to ensure it works as expected before visiting the site(s). Could be an input that accepts one or more URL(s) and it lists the rules that match them (if any; one URL can be matched by more than one rule; excluded from blocking should be also possible to test this way).

or, wherever icons or colors come short, just use TEXT 😄
"blocks"
"does not block"
"excludes"
"does not exclude"


Improved project search

Both simplifies and improves the project search process.
It simplifies by removing github_details from the search text. We added it to get the programming language column, but it also added a ton of junk to the search column. We've removed all of that.
It improves by adding a ranking to where the search term came from. The status and tags columns have a higher ranking than the name and description columns.
WIP until we add tests.

I ran these commands to upgrade the db.
heroku run python app.py db upgrade --app cfapi-staging
heroku run python app.py db upgrade --app codeforamerica-api


"coverageReporters" : ["json"] doesn't work.

Setting  "coverageReporters" : ["json"] and running JEST creates the coverage report in JSON format but it just contains an empty object {} in the file.
It also does not display the results of the test in the console.
Extract from our package.json file below
"jest": {     "bail" : 1,     "collectCoverage": true,     "coverageDirectory": "../coverage",     "testPathIgnorePatterns": [       "/node_modules/"     ],     "coverageReporters" : ["json"],     "verbose": true,     "coverageThreshold": {       "global": {         "branches": 50,         "functions": 50,         "lines": 50,         "statements": 50       }     }   },

Please conform to the issue template and provide a downloadable repro


Fix CHANGES.md typo

Fix CHANGES.md typo

[ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[ ] Update the CHANGES log.

Please make sure your commit log clear next time.

Please make sure your commit log clear next time.

I will pay attention to it next time


npm install does not create node_modules directory

Problem
Following the instructions to install zeppelin-solidity, the node_modules directory is not created.
Expected results
The node_modules directory is populated.
Actual results
After running truffle init successfully, running npm install zeppelin-solidity does not return an error, but it does have a ton of warnings:
$ npm install zeppelin-solidity
npm WARN saveError ENOENT: no such file or directory, open '/home/ubuntu/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/home/ubuntu/package.json'
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ubuntu No description
npm WARN ubuntu No repository field.
npm WARN ubuntu No README data
npm WARN ubuntu No license field.

+<EMAIL_ADDRESS>updated 1 package in 0.903s
$ ls -l
total 20
drwxrwxr-x 2 ubuntu ubuntu 4096 Nov 17 20:20 contracts
drwxrwxr-x 2 ubuntu ubuntu 4096 Nov 17 20:07 migrations
drwxrwxr-x 2 ubuntu ubuntu 4096 Nov 17 20:07 test
-rw-rw-r-- 1 ubuntu ubuntu  135 Nov 17 20:07 truffle-config.js
-rw-rw-r-- 1 ubuntu ubuntu  135 Nov 17 20:07 truffle.js

The node_modules directory is not created as expected.
System details:
Ubuntu 16.04
npm 5.5.1
nodejs v8.9.1
truffle v4.0.1
zeppelin-solidity 1.3.0

Please see #475. Run npm init before installing.
I will add this to the README. We didn't realize it was missing there.


Cannot find module "..."

Hello,
I was testing my node task to make sure it worked on the hosted agents, and was getting a "Cannot find module 'vso-task-lib'". I was using relative paths (var tl = require('../../../../node_modules/vso-task-lib'); ) and that worked on my local agent, but not on the hosted one.
I have 2 questions:

I found an article that recommended that the task lib be installed in the task folder; so the task folder now has a node_modules directory with the library and anything that the task requires. Is this the way to go?
Was vso-task-lib renamed to vsts-task-lib?

Thanks!
Alexis

Yes. https://github.com/Microsoft/vsts-task-lib/blob/master/node/docs/vsts-task-lib.md
Yes.

I realize that this issue is closed, but I have a related question. My extension works when I include node_modules/* in the same folder as my task.
My question is if there is a way for typescript to drop in only those modules which are required for that task. It seems a bit overkill to include all the JS, TS, and readme files. Do I only need the *.js files to be packaged up or the *.ts files or both? And if I only need the *.js files, how can I make it so that during my typescript compilation or packaging it pulls in only the files necessary?


net/url: URL.String() on Chrome intent URLs with an embedded "https://" string inside of a Fragment is not being encoded properly

What version of Go are you using (go version)?
1.5.1
What operating system and processor architecture are you using?
Mac OS X El Capitan (Darwin Kernel Version 15.0.0)
What did you do?
See : http://play.golang.org/p/oNl2dEgd9L
What did you expect to see?
intent://path/?query=test#Intent;scheme=something;package=app.mozilla.firefox;S.query=test;S.browser_fallback_url=https%3A%2F%2Fbooyah.com%2Fmy.apk;end
What did you see instead?
intent://path/?query=test#Intent;scheme=something;package=app.mozilla.firefox;S.query=test;S.browser_fallback_url=https%253A%252F%252Fbooyah.com%252Fmy.apk;end
Details:
Note: The Chrome spec here is purely an example on which I was working on
The intention is to produce something like the following based on Chromes specification about fallback URLs: https://developer.chrome.com/multidevice/android/intents
Ref: http://play.golang.org/p/oNl2dEgd9L
Expected URL: intent://path/?query=test#Intent;scheme=something;package=app.mozilla.firefox;S.query=test;S.browser_fallback_url=https%3A%2F%2Fbooyah.com%2Fmy.apk;end
When I use the library somewhat properly embedding the https:// link inside of the URL Fragment, it looks like the following URL: intent://path/?query=test#Intent;scheme=something;package=app.mozilla.firefox;S.query=test;S.browser_fallback_url=https%253A%252F%252Fbooyah.com%252Fmy.apk;end
I might be missing something, but increasingly it looks like some sort of bug just eyeballing the escape() function inside the url library. Note the spurious %25 being added onto the https:// url. Even when I don't encode the embedded https:// - String() does not encode the url at all and leaves it bare like so:
intent://path/?query=test#Intent;scheme=something;package=app.mozilla.firefox;S.query=test;S.browser_fallback_url=https://booyah.com/my.apk;end

Sorry, this slipped through the cracks while everybody was away during the holidays, then it was so far below the fold, nobody found it back until now.
Couple questions:

Is this behavior a regression from Go 1.4?

Can you minimize the problematic code as much as possible? Those URLs have a lot of stuff going on. It's visually hard to find the differences with so much noise.

This happens on 1.4 and 1.6
Here is a [simpler test case] which might help (https://play.golang.org/p/xm0UurgBvt):
u := url.URL{Scheme: "intent", Path: "path", RawQuery: "query=test", Fragment: "https://example.com"}
fmt.Printf("%s - fragment not encoded\n", u.String())

u.Fragment = url.QueryEscape("https://example.com")
fmt.Printf("%s - fragment double encoded\n", u.String())

output:
intent://path?query=test#https://example.com - fragment not encoded
intent://path?query=test#https%253A%252F%252Fexample.com - fragment double encoded
*URL.String() calls escape which calls shouldEscape. shouldEscape does not ignore % characters in mode encodeFragment, though it ignores other reserved characters. This leads to double encoding of the percent escapes if the fragment is escaped already, and no escaping if not escaped.

@kennygrant, as far as I can tell, this behavior is the same on Go 1.4, Go 1.5, and Go 1.6, no? Your message almost implies that Go 1.5 fixed it and then it regressed in Go 1.6.

I only tested with 1.4 and 1.6 so could only talk about those, didn't mean to imply anything about 1.5, I've just checked though and 1.5 is the same yes.

Note that url.Parse un-escapes %xx sequences in the fragment:
http://play.golang.org/p/uiAtaRKJo0
	u, err := url.Parse("http://foo.com/#x%41x")
	fmt.Printf("%#v\n%v\n%v", u, u, err)

Yields:
&url.URL{Scheme:"http", Opaque:"", User:(*url.Userinfo)(nil), Host:"foo.com", Path:"/", RawPath:"", RawQuery:"", Fragment:"xAx"}
http://foo.com/#xAx
<nil>

Note that Fragment is xAx instead of x%41x. As a result, if url.Parse and url.String are going to roundtrip, it must always escape a % byte to %25.
So I don't think there's anything we can do here for compatibility reasons.
If you need to generate such URLs, you can always use URL.Opaque... http://play.golang.org/p/fjgaEJ_Mpj


Package Requested

[X] I would like someone else to build the manifest.
[ ] I would like help so I can submit the manifest.
[ ] I have performed a search and couldn't find this package.
[X] I have checked that the installer for this package is not a standalone or portable executable or a .zip file
[ ] I think there is a new version available and I have provided the URL.

Please provide the following information
Publisher: arecarn
Publisher Url: https://github.com/arecarn/dploy
Package Name: dploy
Description:  Provides the functionality of GNU Stow in a cross platform CLI tool and python module
Package Version: 0.1.2
Installer URL: https://files.pythonhosted.org/packages/d7/7c/36cfbb3bf2db3e5d56a4d176b162ce52fe78b5a8fbeb9d19daaadc3fafac/dploy-0.1.2.tar.gz
Current Package Identifier (for new versions):

The Windows Package Manager currently requires either an MSIX, MSI, or an .exe based installer. Support for zipped/compressed files is not supported.

The Windows Package Manager currently requires either an MSIX, MSI, or an .exe based installer. Support for zipped/compressed files is not supported.

So we need to change the issue template to "not a compressed file", or users will submit issues like this, and say: "hey guys, I found a great software, and it's not a .zip file." At least, the issue template now can only make me think like this. What's your opinion, @denelon ?

Like this? 😁

Like this? 😁

.tar, .tar.bz2, .gz, .bin, or any other compressed files should be listed alongside zip. We need to list all the forbidden types of files, or we should tell users we just allow few types. I mean, the description in checkbox should change.

I'm happy to look at a PR for changing the template. I'm good with what you think would work best.

Even though .zip is unblocked, .tar.gz was not part of the initial implementation. This is still blocked by https://github.com/microsoft/winget-cli/issues/2899


when you enable transformalize, you can no longer delete content items.

The reference to "bootstrap-select" in the admin page doesn't specify version so when I use a newer (beta) version in Transformalize, it breaks the admin's delete button.  I changed my beta version to be "bootstrap-select-beta" so it no longer tries to use the newer beta version that doesn't work with the admin theme.


Add console message when "gauge update X" is already up to date

In Gauge 1.0.4, if you have an outdated Gauge plugin, you see something like this:
>gauge update java
........................
Successfully updated plugin 'java'.
>

But if you are already up to date, no message of any sort appears.
>gauge update java

>

It would be much better if there was a simple message like Plugin 'java' is up to date. to indicate to the user why nothing is happening. As-is, it can look like the gauge update command is not performing correctly.

If the plugin is upto date and we are trying to gauge update java then we are getting the required excepted message Plugin 'js' is up to date.
Tested with below version
Gauge version: 1.0.5.nightly-2019-02-22


Changelog missing for v4.0.0

Thanks for all your hard-work on graphql-request, it is much appreciated.
Is there any plans to issue a change log for v4.0.0? Without one I can't be certain what breaking changes it contains, therefore can't confidently upgrade to the latest version.

For reference, this is the diff provided by renovate-bot: https://app.renovatebot.com/package-diff?name=graphql-request&from=3.7.0&to=4.0.0
Considering 4.0.0 was released 4 days ago, this should be the git diff: https://github.com/prisma-labs/graphql-request/compare/3.7.0...12c2e8d387bf2b4f467335babd2989f0a1d33f53, ie. PR #303

There's problems with the release tool at the moment. The desire to certainly to have change logs. Commit messages are generally well used and should be usable meanwhile.

Reading the commit messages doesn’t make this immediately clear — are there any breaking changes since 3.7.0?
Thanks

This is marked as a breaking change but not sure why, on mobile right now.
https://github.com/prisma-labs/graphql-request/commit/12c2e8d387bf2b4f467335babd2989f0a1d33f53

@jasonkuhrt can you tell me what the breaking change is?
I only see a new feature being added from the commit you shared (cancellation), not changing a previous behaviour, but I could be wrong.

I looked again, it seems that official support for Node.js 12 was dropped. Manually noting this in the changelog now:
https://github.com/prisma-labs/graphql-request/releases/tag/4.0.0


exif_read_data

Describe the bug
Trying to load a .GIF triggers the following error:
 -Aug-2019 19:19:33 Europe/Madrid] PHP Warning:  exif_read_data(auto_qqfile_5d6171922180a.gif): File not supported in N:\a\htdocs\project\includes\xxx\Codeigniter\Images\Handlers\BaseHandler.php on line 517

CodeIgniter 4 version
Latest develop branch
Affected module(s)
CodeIgniter\Images\Handlers\BaseHandler
Session
[24-Aug-2019 19:19:33 Europe/Madrid] PHP Fatal error:  Uncaught Exception: Serialization of 'CodeIgniter\HTTP\Files\UploadedFile' is not allowed in [no active file]:0
Stack trace:
#0 [internal function]: session_write_close()

Expected behavior, and steps to reproduce if appropriate
upload a gif image .

Can you open the GIF outside of your app? (trying to see if this is a data problem)
Can you show the code that triggers the error ... serializing an UploadedFile object doesn't sound right.

Yes can be opened. The image is uploaded and resized .
The image is already on server temp dir uploaded  with FineUploader

 $aItem['photos']        = CodeIgniter\HTTP\IncomingRequest::Instance()->getFiles();

 $ajax_photos            = ParamClass::getParam('ajax_photos');
 // $ajax_photos is an array of filenames of the photos uploaded by ajax to a temporary folder
            // fake insert them into the array of the form-uploaded photos
            if(is_array($ajax_photos)) {
                foreach($ajax_photos as $photo) {
                    if(file_exists(THE_PATH.'uploads/temp/'.$photo)) {
                        $aItem['photos']['name'][]      = $photo;
                        $aItem['photos']['type'][]      = 'image/*';
                        $aItem['photos']['tmp_name'][]  = THE_PATH.'uploads/temp/'.$photo;
                        $aItem['photos']['error'][]     = UPLOAD_ERR_OK;
                        $aItem['photos']['size'][]      = 0;
                    }
                }
            }
 $itemResourceManager = ItemResource::Instance();
                $folder = uploadsPath().(floor($itemId/100))."/";

                $numImagesItems = SiteConfig::max_images_per_item();
                $numImages = $itemResourceManager->countResources($itemId);
 $_use_imagick = false ;
                if(extension_loaded('imagick') && SiteConfig::use_imagick()) {
               $_use_imagick = true;
            }
             if($_use_imagick) {
                 $ImageManager = Config\Services::image('imagick',null,true);
             }else {
                 $ImageManager = Config\Services::image(null,null,true);
             }

                foreach ($aResources['error'] as $key => $error) {
                    if($numImagesItems==0 || ($numImagesItems>0 && $numImages<$numImagesItems)) {
                        if ($error == UPLOAD_ERR_OK) {
                            if(!is_dir($folder)) {
                                if (!@mkdir($folder, 0755, true)) {
                                    return 3; // PATH CAN NOT BE CREATED
                                }
                            }
                            $itemResourceManager->insert(array(
                                'fk_i_item_id' => $itemId
                            ));
                            $resourceId = $itemResourceManager->db->getinsertedId();
                            $tmpName = $aResources['tmp_name'][$key];

                            $file = new \CodeIgniter\Files\File($tmpName);

                            $img  = $ImageManager->withFile($tmpName)->reorient()->rotate(90);
                            $extension =$file->guessExtension() ;
                            $mime = $file->getMimeType();

                            // Create normal size
                           $size = explode('x', SiteConfig::normal_dimensions());
                            $img->resize($size[0], $size[1],true);
                          $img->save($folder.$resourceId.'.'.$extension);
                           // Create preview
                          $size = explode('x', SiteConfig::preview_dimensions());
                           $ImageManager->withFile($tmpName)->resize($size[0],         $size[1])->save($folder.$resourceId.'_preview.'.$extension);
 // Create thumbnail
                     $size = explode('x', SiteConfig::thumbnail_dimensions());
                            $ImageManager->withFile($tmpName)->resize($size[0], $size[1])->save($folder.$resourceId.'_thumbnail.'.$extension);
 if( SiteConfig::keep_original_image() ) {
                                $path = $folder.$resourceId.'_original.'.$extension;
                                FileHelper::copy($tmpName, $path);
                            }

                            @unlink($tmpName);

y also use  phpseclib\Crypt
namespace phpseclib\Crypt;

use phpseclib\Crypt\Common\BlockCipher;

/**
 * Pure-PHP Random Number Generator
 *
 * @package Random
 * @author  Jim Wigginton<EMAIL_ADDRESS> * @access  public
 */
abstract class Random
{
    /**
     * Generate a random string.
     *
     * Although microoptimizations are generally discouraged as they impair readability this function is ripe with
     * microoptimizations because this function has the potential of being called a huge number of times.
     * eg. for RSA key generation.
     *
     * @param int $length
     * @throws \RuntimeException if a symmetric cipher is needed but not loaded
     * @return string
     */
    public static function string($length)
    {
        try {
            return \random_bytes($length);
        } catch (\Exception $e) {
            // random_compat will throw an Exception, which in PHP 5 does not implement Throwable
        } catch (\Throwable $e) {
            // If a sufficient source of randomness is unavailable, random_bytes() will throw an
            // object that implements the Throwable interface (Exception, TypeError, Error).
            // We don't actually need to do anything here. The string() method should just continue
            // as normal. Note, however, that if we don't have a sufficient source of randomness for
            // random_bytes(), most of the other calls here will fail too, so we'll end up using
            // the PHP implementation.
        }
        // at this point we have no choice but to use a pure-PHP CSPRNG

        // cascade entropy across multiple PHP instances by fixing the session and collecting all
        // environmental variables, including the previous session data and the current session
        // data.
        //
        // mt_rand seeds itself by looking at the PID and the time, both of which are (relatively)
        // easy to guess at. linux uses mouse clicks, keyboard timings, etc, as entropy sources, but
        // PHP isn't low level to be able to use those as sources and on a web server there's not likely
        // going to be a ton of keyboard or mouse action. web servers do have one thing that we can use
        // however, a ton of people visiting the website. obviously you don't want to base your seeding
        // soley on parameters a potential attacker sends but (1) not everything in $_SERVER is controlled
        // by the user and (2) this isn't just looking at the data sent by the current user - it's based
        // on the data sent by all users. one user requests the page and a hash of their info is saved.
        // another user visits the page and the serialization of their data is utilized along with the
        // server envirnment stuff and a hash of the previous http request data (which itself utilizes
        // a hash of the session data before that). certainly an attacker should be assumed to have
        // full control over his own http requests. he, however, is not going to have control over
        // everyone's http requests.
        static $crypto = false, $v;
        if ($crypto === false) {
            // save old session data
            $old_session_id = session_id();
            $old_use_cookies = ini_get('session.use_cookies');
            $old_session_cache_limiter = session_cache_limiter();
            $_OLD_SESSION = isset($_SESSION) ? $_SESSION : false;
            if ($old_session_id != '') {
                session_write_close();
            }

            session_id(1);
            ini_set('session.use_cookies', 0);
            session_cache_limiter('');
            session_start();

            $v = (isset($_SERVER) ? self::safe_serialize($_SERVER) : '') .
                 (isset($_POST) ? self::safe_serialize($_POST) : '') .
                 (isset($_GET) ? self::safe_serialize($_GET) : '') .
                 (isset($_COOKIE) ? self::safe_serialize($_COOKIE) : '') .
                 self::safe_serialize($GLOBALS) .
                 self::safe_serialize($_SESSION) .
                 self::safe_serialize($_OLD_SESSION);
            $v = $seed = $_SESSION['seed'] = sha1($v, true);
            if (!isset($_SESSION['count'])) {
                $_SESSION['count'] = 0;
            }
            $_SESSION['count']++;

            session_write_close();

            // restore old session data
            if ($old_session_id != '') {
                session_id($old_session_id);
                session_start();
                ini_set('session.use_cookies', $old_use_cookies);
                session_cache_limiter($old_session_cache_limiter);
            } else {
                if ($_OLD_SESSION !== false) {
                    $_SESSION = $_OLD_SESSION;
                    unset($_OLD_SESSION);
                } else {
                    unset($_SESSION);
                }
            }

            // in SSH2 a shared secret and an exchange hash are generated through the key exchange process.
            // the IV client to server is the hash of that "nonce" with the letter A and for the encryption key it's the letter C.
            // if the hash doesn't produce enough a key or an IV that's long enough concat successive hashes of the
            // original hash and the current hash. we'll be emulating that. for more info see the following URL:
            //
            // http://tools.ietf.org/html/rfc4253#section-7.2
            //
            // see the is_string($crypto) part for an example of how to expand the keys
            $key = sha1($seed . 'A', true);
            $iv = sha1($seed . 'C', true);

            // ciphers are used as per the nist.gov link below. also, see this link:
            //
            // http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives
            switch (true) {
                case class_exists('\phpseclib\Crypt\AES'):
                    $crypto = new AES(BlockCipher::MODE_CTR);
                    break;
                case class_exists('\phpseclib\Crypt\Twofish'):
                    $crypto = new Twofish(BlockCipher::MODE_CTR);
                    break;
                case class_exists('\phpseclib\Crypt\Blowfish'):
                    $crypto = new Blowfish(BlockCipher::MODE_CTR);
                    break;
                case class_exists('\phpseclib\Crypt\TripleDES'):
                    $crypto = new TripleDES(BlockCipher::MODE_CTR);
                    break;
                case class_exists('\phpseclib\Crypt\DES'):
                    $crypto = new DES(BlockCipher::MODE_CTR);
                    break;
                case class_exists('\phpseclib\Crypt\RC4'):
                    $crypto = new RC4();
                    break;
                default:
                    throw new \RuntimeException(__CLASS__ . ' requires at least one symmetric cipher be loaded');
            }

            $crypto->setKey(substr($key, 0, $crypto->getKeyLength() >> 3));
            $crypto->setIV(substr($iv, 0, $crypto->getBlockLength() >> 3));
            $crypto->enableContinuousBuffer();
        }

        //return $crypto->encrypt(str_repeat("\0", $length));

        // the following is based off of ANSI X9.31:
        //
        // http://csrc.nist.gov/groups/STM/cavp/documents/rng/931rngext.pdf
        //
        // OpenSSL uses that same standard for it's random numbers:
        //
        // http://www.opensource.apple.com/source/OpenSSL/OpenSSL-38/openssl/fips-1.0/rand/fips_rand.c
        // (do a search for "ANS X9.31 A.2.4")
        $result = '';
        while (strlen($result) < $length) {
            $i = $crypto->encrypt(microtime()); // strlen(microtime()) == 21
            $r = $crypto->encrypt($i ^ $v); // strlen($v) == 20
            $v = $crypto->encrypt($r ^ $i); // strlen($r) == 20
            $result.= $r;
        }

        return substr($result, 0, $length);
    }

    /**
     * Safely serialize variables
     *
     * If a class has a private __sleep() it'll emit a warning
     *
     * @param mixed $arr
     * @access public
     */
    private static function safe_serialize(&$arr)
    {
        if (is_object($arr)) {
            return '';
        }
        if (!is_array($arr)) {
            return serialize($arr);
        }
        // prevent circular array recursion
        if (isset($arr['__phpseclib_marker'])) {
            return '';
        }
        $safearr = [];
        $arr['__phpseclib_marker'] = true;
        foreach (array_keys($arr) as $key) {
            // do not recurse on the '__phpseclib_marker' key itself, for smaller memory usage
            if ($key !== '__phpseclib_marker') {
                $safearr[$key] = self::safe_serialize($arr[$key]);
            }
        }
        unset($arr['__phpseclib_marker']);
        return serialize($safearr);
    }
}

the only reference for session_write_close in my script is in phpseclib\Crypt library

I've submitted a PR which should address the exif_read ... #2246
I don't know why your session is blowig up - I see nothing in the code you have posted above to suggest that an UploadedFile is being serialized, nor do I see anything in that class which isn't serializable. You also pasted the code for a Crypt library, and its connection to the image uploads isn't clear :-/

Closing this, as the session blowing up appears to be a separate problem.


OCaml 4.11.2 for build checks

We had been running OCaml 4.07.1.
If this passes, we should make build checks mandatory for merging PRs.

The build check fails because setup-ocaml chooses OPAM packages with different versions than used to build Mina. Those versions are used to build ppx_version, because that's the only place the library is used currently.


proto: transaction format cleanup

This commit:

Aligns the TransactionPlan with the Transaction data structure
Moves the fee into the TransactionParameters

Now the transaction body consists solely of:

a list of Actions describing changes to the chain state
a set of TransactionParameters describing under what conditions those changes can be applied
a set of DetectionData (extensible) for assisting with transaction detection
a set of MemoData with encrypted information about the transaction's purpose.

Closes #3391 #3541

We have a lot of memo-related types.


Builtin / default constants

With Tokay v0.5, the language is entering a phase where modularity becomes an important part.
For example, the new builtin native tokens Int and Float can be grouped by a pure Tokay parselet Number, defined as
Number : Float | Int

And together with #10, generic parselets are needed in various ways to provide tools for different use-cases.
Currently, there is no way to define such default parselets, except hacking directly in Compiler::get_constant() or Compiler::set_constant() as with the Whitespace defaults handling.
For sure, Float and Int could either be implemented in pure Tokay code on their own, but this may end in performance lose.
Ideas for this issue (partly from #10):

Number: Float | Int
Token: Word | Number | AsciiPunctuation
Until : @

String: @<Start, End: void, Escape: void>
Repeat : @
 min=1, max=0
Not : @

Peek : @

Expect : @
 msg=void
Separated : @

First step towards this is done by 38a130dd95bc1a4e652d63c0ee63aabf6089e4b6


fix: add static route for custom vpc when create subnet with U2OInterconnection.

[U2OInterconnection.](fix: add static route for custom vpc when create subnet with U2OInterconnection.)
Pull Request

[x] Make sure you have followed Kube-OVN Code Style.

What type of this PR
Examples of user facing changes:

Bug fixes

Which issue(s) this PR fixes
Fixes #3446
WHAT

🤖[deprecated] Generated by Copilot at d8a6584
This pull request enhances the subnet controller to support multiple VPCs and static routes. It allows subnets in different VPCs to communicate with each other through the underlay network. It updates the subnet.go file with new functions and logic for managing the static route operations.

🤖[deprecated] Generated by Copilot at d8a6584

We're sailing on the cloud with multiple VPCs
We need to interconnect them with static routes
So haul away the subnet controller and make it work
One, two, three, heave ho, and update the underlay

HOW

🤖[deprecated] Generated by Copilot at d8a6584

Add or delete static routes for underlay to overlay subnet interconnection when creating, updating, or deleting subnets (link, link, link)
Define helper functions addStaticRouteForU2OInterconn and deleteStaticRouteForU2OInterconn in pkg/controller/subnet.go (link)

@xujunjie-cover please fix the lint issue


Progress Bar Component

Task + Test Plan: https://coherent-labs.atlassian.net/browse/COH-13520

Added tests.
And fixed if negative (invalid) value is used to set the progress (width) and if value is above 100.


Bump version of utilix

After https://github.com/XENONnT/utilix/pull/128

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

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

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
1682

Relevant Lines:
1878

💛  - Coveralls