Update default http_ssl_version - Similar issue to Postmark-gem

I'm running into an issue with Postmark-Rails and Heroku-20 Buildstack.  After a bunch of searching around I found this issue in the postmark-Gem section of GitHub that is showing the same error:
SSL_connect returned=1 errno=0 state=error: no protocols available
Here is the issue:
https://github.com/wildbit/postmark-gem/issues/86
It looks like there is an open PR for it:
https://github.com/wildbit/postmark-gem/pull/92
I think we will need the same type of fix in postmark-rails
I was able to get it working using the temporary fix from 86, thanks to Sergio!
config.action_mailer.postmark_settings = { api_token: ENV['POSTMARK_TOKEN'], http_ssl_version: :TLSv1_2 }

This fix worked perfectly!
My report: I was unable to send emails, the log is full of OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=error: no protocols available). Just adding the http_ssl_version: :TLSv1_2 fixed this issue and my ActionMailer is back to work.
Thanks!

Hi @tonydehnke!
Apologies for the issues with SSL, I've just released a new version of the postmark gem(1.21.3) that no longer supplies a default SSL version and instead uses the default provided via OpenSSL. You can still specify a specific version if you'd like but it's no longer required, let us know if you have any issues! Going to close this for now but feel free to re-open it if needed.

@tonydehnke Forgot to mention it but since this is a patch release you should be able to just run bundle update postmark and it'll bump the version to 1.21.3.

Thanks.. I see know that postmark-rails has postmark as a dependancy, hadn't noticed that before.

I received this email
https://postmarkapp.com/updates/upcoming-tls-configuration-changes-for-api-users-action-may-be-required
I tested :
POSTMARK_API_KEY = 'mypostmarkapikey'
client = Postmark::ApiClient.new(POSTMARK_API_KEY, host: 'api-ssl-temp.postmarkapp.com')
client.deliver(from: "...", to: "...", text_body: 'test TLS')

Before updating the gem , the test failed with the message :
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: no protocols available
I just updated the gem : bundle update postmark-rails
...
Installing postmark 1.21.3 (was 1.15.0)
...
And then the test succeded :
{:error_code=>0, :message=>"OK"}
thanks to @tonydehnke


chore(CplusCplus):Program to check if a point lies inside of a triangle.

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

[ ] Bugfix
[x] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[ ] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR

Other information:

Hi @Kpriyansh,
Please create a new branch and pull request that doesn't have a change of #544 and #545


Add option to use Docker images from master branch

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Huy Tran seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @hbtran - thanks for submitting this PR.  I understand that special processing is needed to work from the master branch, but I sort of object to having branch-specific code in the shell scripts.  The scripts already let the user define environment variables to control URL of the subscriptions and custom resource yamls.  I don't understand why your automation / scripting can't curl the subscriptions yaml, do the sed, and then run the script passing in two environment variables that point to the modified subscription yaml and the custom resource yaml?
I agree that we'd need a way to let the user influence what we print for the example Kabanero CR instance yaml (default.yaml).
The two common use cases we're trying to support are:

User installing from a tagged release (in GitHub)
User installing from code they've pulled down to their workstation.

Installing directly from master via the shell script is neither of these, and is something that we'd be unable to test on a regular basis to determine if we changed something that would break the ability to install directly from master.

I had tested an alternative method.  Could we add another CatalogSource to the kabanero-subscriptions.yaml, labeled 00-catalogsource-master pointing to the Docker master image?  That way, we can add an optional environment variable to override the CatalogSource install selector.  There won't be any special processing anywhere and also @garypicher  wanted users to be able to install from master.   It might interfere with the Makefile though.

@mezarin is working on another solution that is more like your first solution.  I'd like to keep the install script as it is, and we're going to have a second script that is never attached to a release, which is intended to do an install from master.
The workflow would be:

clone kabanero-operator github repo
run the new shell script (no need to set any environment variables)

This will install kabanero using whatever is tagged master out in docker hub.
I will leave this PR open until we've agreed that his solution meets your requirements.

@hbtran We just merged a deploy/install-master.sh script.  Would you please try it out and let us know if it suits your needs?

Yes, it's works, thank you!

Awesome - I will close this PR.


Write documentation on publishing a release

This documentation will be helpful for the team.
Here are some notes:

See issue #330
May want to review issues, milestones, and PRs before releasing
Temporarily make userAgent a required parameter to verify that it is used with every RestRequest
Use find-and-replace to update the userAgent string
Build and run the tests for verification
List a description of the commits in the release note

Complete with 611df4157f56a86364c90fcbddb7b89a393cb44e


Java.lang.ClassNotFoundException

Description
Description
Re-creating this issue as it was accidentally closed.
After doing some research on the Maui.NativeLibraryInterop package it appears that you two maybe the most knowledgable on this so apologies for directly tagging you two on this Github issue ( this is also open for anyone else to comment ).
I'm hoping for guidance or feedback on an issue that I'm facing using the Maui.NativeLibraryInterop package for Android.
I cloned the Maui.NativeLibraryInterop repo and was able to get several the sample projects working on Android and was also able to get MauiCharts example working on Android as well but I'm struggling to get the process used in this repo working for a third party SDK that I'm using called Rokt.
I've created the native wrapper for this SDK using Kotlin which is being pulled into a MAUI Android Binding project in the same manner detailed in MS's getting started with native library interop and also detailed in this blog post. After compiling the MAUI Android Library, I see the generated .aar files for the native wrapper and it's dependencies in the /deps/ folder but at runtime when I try to initialize the SDK, I receive a 'Java.lang.ClassNotFoundException'. Any ideas what maybe causing this? Stack trace is below:
--- End of managed Java.Lang.ClassNotFoundException stack trace ---
java.lang.ClassNotFoundException: Didn't find class "com.rokt.roktsdk.Rokt" on path: DexPathList[[zip file "/data/app/~~9cGZ3C9Iej5_M4dtugRZmg==/com.companyname.roktmaui-dVt8QFJ3n9DOqnoxO18-dg==/base.apk"],nativeLibraryDirectories=[/data/app/~~9cGZ3C9Iej5_M4dtugRZmg==/com.companyname.roktmaui-dVt8QFJ3n9DOqnoxO18-dg==/lib/arm64, /data/app/~~9cGZ3C9Iej5_M4dtugRZmg==/com.companyname.roktmaui-dVt8QFJ3n9DOqnoxO18-dg==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:637)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at com.nubisuno.roktsdkimplemenation.RoktSDkWrapper$Companion.initializeSDK(RoktSDkWrapper.kt:18)
at com.nubisuno.roktsdkimplemenation.RoktSDkWrapper.initializeSDK(Unknown Source:2)
at crc649d470b447c1776a3.MainActivity.n_onCreate(Native Method)
at crc649d470b447c1776a3.MainActivity.onCreate(MainActivity.java:39)
at android.app.Activity.performCreate(Activity.java:8290)
at android.app.Activity.performCreate(Activity.java:8269)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3657)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3813)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2308)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7898)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Questions:

I've pulled in the native Rokt Android SDK dependencies that are list from Android Studio's File -> Project Structure.. -> Dependencies -> roktsdk:4.6.0 into my MAUI app's csproj but I've notice the dependencies located in the /deps/ folder are far more. I also notice this similar implementation for the facebook sample project in Maui.NativeLibraryInterop repo. How did you decide which dependencies were needed to be referenced in the Facebook MAUI sample project?

I asked this question in a different issue raised for this repo but I'd like to ask here also: For Android, why are Android native .aar files referenced in the MAUI csproj files ( Example: see here )? Wouldn't  the native project, which is being used to create the MAUI Binding library have those SDKs already?

I've seen the videos and posts from @rachelkang & @Redth on how to use the Maui.NativeLibraryInterop nuget package but is there is any documentation on the src projects for the Maui.NativeLibraryInterop located here ? Looks like all the magic is happening here.

I've created a repo that contains a sample project using the Maui.NativeLibraryInterop package, a native wrapper that pulls in the the Rokt SDK for Android and even an Android project using the native wrapper listed below.
Again, any comments or guidance is very much appreciated.
Thanks!
Steps to Reproduce

Clone this repo
Rebuild the MAUI project located in the /RoktMAUI/ folder
In the solution, navigate to Platforms -> Android -> MainActivity.cs
Place break points on lines 15 & 21 in the MainActivity.cs
In debug mode, deploy the app to a device or simulator and you see the 'Java.Lang.ClassNotFoundException' in the catch block

Additional details about the contents in this repo:

The NativeLibrary folder contains the native wrapper written in Kotlin called RoktSDkWrapper.
The NativeLibraryAppDemo folder contains an Android app that imports the RoktSDkWrapper and calls the initialize method.
The RoktMAUI.Android.Binding folder contains the MAUI Android Library that creates the binding library for the RoktSDkWrapper.
The RoktMAUI folder contains the app that attempts to initialize the RoktSDkWrapper.

Please feel to ask any questions.
Thanks!
Link to public reproduction project repository
https://github.com/HomeroLara/RoktDroidMauiInterop
Environment

OS: Mac ( Apple M2 Max ), Sonoma 14.6.1
.NET MAUI: Net 8.0.403 / Maui Workload 8.0.82/8.0.100 SDK 8.0.400
Target platforms: Android and iOS

Hi @HomeroLara - Please let us know if you continue to have issues with .NET 9 after https://github.com/CommunityToolkit/Maui.NativeLibraryInterop/pull/55 is merged.
In the meantime, if you have any other unanswered questions please let us know!

I would also recommend trying this with the newer .NET 9 support that has been added to the .NET for Android SDK. There are some additional build actions available .NET 9 that may be helpful with Java dependency management and ensuring that all of the required .aar files end up in your app. Additional documentation for that can be found here https://learn.microsoft.com/dotnet/android/binding-libs/advanced-concepts/java-dependency-verification


Allow different CTA text

:+1:

No longer relevant with availability being taken out of onboarding flow, closing


Cleanup build instructions

Description
Previous build instructions would not link dotnet library if the  arcade machine was configured without a desktop environment.  In a desktop-less environment ~/.bashrc is not loaded but ~/.bash.bash_profile is. This fixes this problem too.
The old .md file explicitly numbers points rather than using  1., 1.,1.  to generate them automatically. This is a problem in this doc generally, but I will split that amendment into a separate pull if it's deemed an issue.
**update
The arcade cabinet build instructions direct users to a broken link on the Splashkit.io docs site.
The URL points to "https://splashkit.io/articles/installation/ubuntu/"
But this page as changed to https://splashkit.io/installation/linux/ at some point. It's possible to navigate to the correct page from the 404 in a couple of clicks, but there's no reason not to update this URL to point to the correct place.
Also replaced an ugly full link to sharepoint with an embedded link for better readability.
There's also a broken image in the "Configure Start CLI on Boot and Network Manager" section that pointed to a typo'd file that i have corrected.
The other links seem to be free from link rot.
Type of change

[X] Documentation (update or new)

How Has This Been Tested?
.md file has been tested locally to ensure formatting is consistent and remains unbroken.
Testing Checklist:

[X] Tested in latest Firefox

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have requested a review from ... on the Pull Request

Hi Will! Again with this one, mind just fixing whatever issues the linter has? Sorry for having to do this so late, but really these shouldn't have passed peer review when the CI tests were failing. Edit: Also let me know if it's literally just complaining about the numbering! If so maybe that's a setting we should change on the linter side 😃

No worries, I've updated the file but the build still fails. According to the logs its getting stuck on these other documentation files:


feat(LinearAlgebra/Lagrange): Generalize typeclasses.

Generalize some key definitions in the definition of Lagrange interpolation.
In particular, the definition of the nodal polynomial does not need to be over a field.

Did you have to modify any defs or proofs, or is this just a reorder? The diff makes it hard to distinguish the cases. Could you generalize the old lemmas in place rather than moving them?

I did have to modify a few proofs, mostly by removing unneeded dependencies. What I could do is move the moved stuff back (mostly it was just that it seemed odd to have nodal not nearer the top of the file), and focus my efforts just on the actual changes, and save any moving for a larger refactor of the file.

I probably would have done this except my partner wanted to go to sleep. I can look at it in the morning if you like.

There we go.

Thanks :tada:
bors merge


Added fix for agent not deploying

Description
closes #7448
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[ ] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request

Merged into branches master in eabbcd8215b3622cc9cc4ee5eb9d6ec4683d6375

Processing #7464.

Processing #7465.

Processing #7464.

Processing #7465.

Processing #7464.


Update creating-a-default-community-health-file.md

Why
The fact that a CODEOWNERS file cannot be added to the .github repository is missing.
What's being changed (if available, include any code snippets, screenshots, or gifs):
I added the fact that a CODEOWNERS file cannot be added to the .github repository.
Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

Before:
After:

[ ] For content changes, I have completed the self-review checklist.

@diegosogari Thanks so much for submitting a PR! I'll get this triaged for review :zap:

Thanks so much for noticing this omission and opening a PR to fix, @diegosogari! We've taken a look at the article and realized that we need to add more context and clarity on community health files in general to explain why certain files are included and others are excluded.
I'm going to close this PR in favor of that internal improvement. Thank you again! 💖

@meowius I'm glad to be able to help!

So can someone tell me what's all this and do we get paid for this I think I jumped into something I know nothing about and it goes straight to my email when y'all post something


Unable to use it in Nextjs

Is this compatible with nextjs? Nodejs works fine but not in Nextjs
Thanks

That's kind of expected, this command needs python installed in the machine:
https://github.com/microlinkhq/youtube-dl-exec/blob/master/scripts/preinstall.mjs
In any case with no information I can't debug nothing, sorry.

If you use Next.js with SSR it should be works sinde it's running on server-side 🙂
Still not sure what you want to achieve, but alternatively you can use Microlink API:
https://api.microlink.io/?url=https://vimeo.com/868805980


Get out of full iframe slide after interaction

On the example slide that shows the full iframe, I can click inside of it, interact with it, and still my front and back arrows go to the next slide. However, this isn't working for my local version (and it's also not working when I load the demo from this repo and interact with the local version). Once I click inside the iframe, my keydown's aren't making the slide change. Any idea what the difference might be, how I can interact but still move to the next slide?
I do get a warning of Blocked a frame with origin "http://localhost" from accessing a cross-origin frame., even though the iframe still loads. Although I'm guessing that isn't the issue

This sounds like a problem of the propagation of the key presses to the parent.
Are you loading a local content (e.g.: local contained .html with all the code in it) or are you linking to a deployed content (e.g: example deployed on bl.ocks or other)?

Ah, I was indeed loading deployed content. I tried switching to my local one, and then I can indeed click inside of the visual, and still my keypresses are registered.
However, I don't have the local version of all the content that I'm intending to show (full screen), but I would prefer to hold the presentation from my local server. Although not a fix, I've now set an extra data-iframe attribute on this particular section. Then added a function that checks if the current slide holds that attribute, and if yes, set Reveal.configure({ controls: true }), otherwise to false, which shows the controls in the bottom right (you can make them smaller by setting the font-size CSS setting smaller), which do remain clickable, even after having interacted with the background page :)

Yes, indeed, I had encountered this problem too at one point when trying to interact with deployed content.
The problem comes from the Same-origin policy (not to be confused with CORS) which prevents the plugin to add an eventListener on the iFrame content window to propagate back to the parent the key presses event. At least only this stepped is prevented, and the content is still loaded ;)
I tried to implement a workaround to the same-origin-policy by setting up a communication system between the Reveal content and the iFrame content using window.postMessage, but this forces you to modify the code of the deployed visualization, which is not always possible, so I had killed the idea.
My current workaround to this problem is to add an invisible div at the top right corner of the slide (and in front of the iFrame), so that I can "escape" from the iFrame content and come back to the Reveal presentation by clicking on this div element.
This is basically along the same idea than what you're doing by making the controls appear, except that you can control the visibility (opacity) of your div et make it the size you want to make sure not to miss it when you click.

Ah yes, that makes sense indeed.
And good workaround! ^_^

Writing this here as documentation of a workaround to the  Same-origin policy problem:
A workaround to this problem is to add an event listener at the end of the Reveal.js configuration so that the arrow controls appear on specific slides.
Reveal.addEventListener('slidechanged', function (event) {
    if (event.currentSlide.hasAttribute('my-special-attribute') {
        // make the controls to appear
        document.querySelector('aside.controls').style.display = 'block'
    } else {
         // remove the controls
        document.querySelector('aside.controls').style.display = 'none'
    }//else
 })

Writing this here as documentation of a workaround to the  Same-origin policy problem:
A workaround to this problem is to add an event listener at the end of the Reveal.js configuration so that the arrow controls appear on specific slides.
Reveal.addEventListener('slidechanged', function (event) {
    if (event.currentSlide.hasAttribute('my-special-attribute') {
        // make the controls to appear
        document.querySelector('aside.controls').style.display = 'block'
    } else {
         // remove the controls
        document.querySelector('aside.controls').style.display = 'none'
    }//else
 })


[BUG] Bootstrap secret lifecycle isn't respected

Rancher Server Setup

Rancher version: v2.7-head

Describe the bug

The RKEBootstrap data secret is deleted after the associated CAPI Machine object transitions into the Provisioned phase. This prevents upstream infrastructure providers from working properly, since the system-agent will fail to connect if the bootstrap secret does not exist.
To Reproduce

From a QA perspective this is not reproducible, but to reproduce:

Install DO CAPI provider in cluster
Apply the following yaml:

---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: DOCluster
metadata:
  name: do-test
  namespace: fleet-default
spec:
  region: nyc3
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: DOMachineTemplate
metadata:
  name: do-test-0
  namespace: fleet-default
spec:
  template:
    spec:
      size: g-2vcpu-8gb
      image: ubuntu-20-04-x64
      sshKeys:
        - <SSH_KEY>
---
apiVersion: provisioning.cattle.io/v1
kind: Cluster
metadata:
  generation: 4
  name: jhyde-do-test
  namespace: fleet-default
spec:
  cloudCredentialSecretName: <SECRET_NAME>
  kubernetesVersion: v1.25.7+rke2r1
  localClusterAuthEndpoint: {}
  rkeConfig:
    chartValues:
      rke2-calico: {}
    etcd:
      snapshotRetention: 5
      snapshotScheduleCron: 0 */5 * * *
    infrastructureRef:
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: DOCluster
      name: do-test
    machineGlobalConfig:
      cni: calico
      disable-kube-proxy: false
      etcd-expose-metrics: false
      profile: null
    machinePools:
      - controlPlaneRole: true
        etcdRole: true
        machineConfigRef:
          apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
          kind: DOMachineTemplate
          name: do-test-0
        name: pool1
        quantity: 1
        unhealthyNodeTimeout: 0s
        workerRole: true
    machineSelectorConfig:
      - config:
          protect-kernel-defaults: false
    registries: {}
    upgradeStrategy:
      controlPlaneConcurrency: '1'
      controlPlaneDrainOptions:
        deleteEmptyDirData: true
        disableEviction: false
        enabled: false
        force: false
        gracePeriod: -1
        ignoreDaemonSets: true
        ignoreErrors: false
        postDrainHooks: null
        preDrainHooks: null
        skipWaitForDeleteTimeoutSeconds: 0
        timeout: 120
      workerConcurrency: '1'
      workerDrainOptions:
        deleteEmptyDirData: true
        disableEviction: false
        enabled: false
        force: false
        gracePeriod: -1
        ignoreDaemonSets: true
        ignoreErrors: false
        postDrainHooks: null
        preDrainHooks: null
        skipWaitForDeleteTimeoutSeconds: 0
        timeout: 120

Result
/var/log/cloud-init-output.log is spammed with the following log message:
500 received while downloading Rancher connection information. Sleeping for 5 seconds and trying again"

Expected Result

Machine successfully provisions.
Screenshots

Additional context

The bootstrap secret will now live for a machine object in the cluster until the machine is deleted. This behavior can be changed to instead be deleted after the machine is Running, however this change would put rancher in parity with upstream providers.
SURE-6263

This is "QA/None" because it requires "Install DO CAPI provider in cluster" which is not a supported case (using upstread infra providers); the issue is more about adding wiring/unblocking stuff that prevents us from using DO CAPI provider.

reminder to please tag the security team on the PR here - Jira is flagged as security-required

@samjustus @macedogm , based on offline discussions I think we can remove security-required from this one - which I'll do now. Let me know if it needs to be put back. As always, you're free to review any PRs from our team. :)

Moving back to review even though its merged, drone-publish is broken currently due to mirrored images not in origins.go.

Verified that the bootstrap secret is no longer deleted when the machine transitions to Provisioned/Running.
On a v2.7.5 setup:
> kubectl get secrets -n fleet-default
NAME                                                           TYPE                                          DATA   AGE
import-token-test                                              fleet.cattle.io/cluster-registration-values   1      14s
import-token-test-edeea398-d34f-4abe-ac77-31ea2b8557ba-token   kubernetes.io/service-account-token           3      16s
test-bootstrap-template-8gdjp-machine-plan                     rke.cattle.io/machine-plan                    13     5m
test-bootstrap-template-8gdjp-machine-plan-token-z7z4k         kubernetes.io/service-account-token           3      4m19s
test-kubeconfig                                                Opaque                                        2      5m
test-pool1-5a13a63e-2ms76                                      Opaque                                        2      4m41s
test-pool1-5a13a63e-2ms76-machine-state                        rke.cattle.io/machine-state                   1      4m49s
test-rke-state                                                 rke.cattle.io/cluster-state                   2      5m
> kubectl get machines -n fleet-default
NAME                          CLUSTER   NODENAME                    PROVIDERID                         PHASE     AGE     VERSION
test-pool1-64d58bbd99-ngjhm   test      test-pool1-5a13a63e-2ms76   rke2://test-pool1-5a13a63e-2ms76   Running   5m15s
>

On a v2.7-head setup:
> kubectl get secrets -n fleet-default
NAME                                                           TYPE                                          DATA   AGE
import-token-test                                              fleet.cattle.io/cluster-registration-values   1      71s
import-token-test-2e2128ef-77ff-41bb-8ddf-5aaa4c0df599-token   kubernetes.io/service-account-token           3      73s
test-bootstrap-template-k4hml-machine-bootstrap                rke.cattle.io/bootstrap                       1      5m40s
test-bootstrap-template-k4hml-machine-bootstrap-token-65sdb    kubernetes.io/service-account-token           3      5m40s
test-bootstrap-template-k4hml-machine-plan                     rke.cattle.io/machine-plan                    13     5m40s
test-bootstrap-template-k4hml-machine-plan-token-d7v8n         kubernetes.io/service-account-token           3      4m53s
test-kubeconfig                                                Opaque                                        2      5m40s
test-pool1-5a13a63e-x5gxv                                      Opaque                                        2      5m17s
test-pool1-5a13a63e-x5gxv-machine-state                        rke.cattle.io/machine-state                   1      5m30s
test-rke-state                                                 rke.cattle.io/cluster-state                   2      5m40s
> kubectl get machines -n fleet-default
NAME                                CLUSTER   NODENAME                    PROVIDERID                         PHASE     AGE     VERSION
test-pool1-578d46948fxs98p9-d98pj   test      test-pool1-5a13a63e-x5gxv   rke2://test-pool1-5a13a63e-x5gxv   Running   6m12s

Note the existence of the test-bootstrap-template-k4hml-machine-bootstrap and corresponding test-bootstrap-template-k4hml-machine-bootstrap-token-65sdb within the v2.7-head setup.


support default world and interface concept

user code:
invoke_witc::plugin!("wit/world.wit");

use wasi::logging::logging::{
    level,
    log,
};

fn title_bar(context: &str, message: &str) {
  log(level::info, "", "===================================");
  log(level::info, context, message);
  log(level::info, "", "-----------------------------------");
}

interface
/// WASI Logging is a logging API intended to let users emit log messages with
/// simple priority levels and context values.
interface logging {
    /// A log level, describing a kind of message.
    enum level {
       /// Describes messages about the values of variables and the flow of
       /// control within a program.
       trace,

       /// Describes messages likely to be of interest to someone debugging a
       /// program.
       debug,

       /// Describes messages likely to be of interest to someone monitoring a
       /// program.
       info,

       /// Describes messages indicating hazardous situations.
       warn,

       /// Describes messages indicating serious errors.
       error,

       /// Describes messages indicating fatal errors.
       critical,
    }

    /// Emit a log message.
    ///
    /// A log message has a `level` describing what kind of message is being
    /// sent, a context, which is an uninterpreted string meant to help
    /// consumers group similar messages, and a string containing the message
    /// text.
    log: func(level: level, context: string, message: string)
}

default world
package wasi:logging

world example-world {
    import logging
}

use case: https://github.com/WasmEdge/WasmEdge/pull/2535/files#diff-491d05536b62b74a1ecf07d79594eb53e4d630c54ef1543e8e6c60aaa27419c2

We might like to write a pre-processor and drop most advanced things here


is it possible to change spinner size?

I don't think there's an easy way of doing it, but you can ask on the MDL repo: https://github.com/google/material-design-lite


Store size limit to 1GiB

store total size is now limited to 1GiB.
TotalSizeBytes is calculated on load (during the unmarshal) and modified on every kv operation to avoid recalculation

@sduchesneau Please add changelog entry for this change

Looked good in general otherwise ;)


Font Bundling Broken with Flutter SDK <= 3.0.1

Font bundling does not work with Flutter SDK <= 3.0.1.  (I followed the instructions here.)
Steps to Reproduce

Download fonts (e.g., Manrope) and place them in an assets folder at the root of the application folder.
Reference assets folder in pubspec.yaml
Modify the starter project by replacing the main method and MyApp widget with the code under "Code Sample"
Run the project

Expected results:
The fonts would be fetched from assets.
Actual results:
I/flutter ( 6758): Error: google_fonts was unable to load font Manrope-Regular because the following exception occurred:
I/flutter ( 6758): Exception: GoogleFonts.config.allowRuntimeFetching is false but font Manrope-Regular was not found in the application assets. Ensure Manrope-Regular.ttf exists in a folder that is included in your pubspec's assets.

Code sample

In pubspec.yaml:
assets:
  - assets/

In Main.dart:
void main() async {
  GoogleFonts.config.allowRuntimeFetching = false;

  LicenseRegistry.addLicense(() async* {
    final license = await rootBundle.loadString('assets/OFL.txt');
    yield LicenseEntryWithLineBreaks(['google_fonts'], license);
  });

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
          primarySwatch: Colors.blue,
          textTheme: GoogleFonts.manropeTextTheme(ThemeData.light().textTheme)),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

Logs

flutter analyze
No issues found! (ran in 1.7s)

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.2.1 21D62 darwin-x64, locale
    en-US)
    • Flutter version 3.0.1 at [REDACTED]
    • Upstream repository [REDACTED]
    • Framework revision fb57da5f94 (7 days ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version
    32.1.0-rc1)
    • Android SDK at [REDACTED]
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.67.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (3 available)
    • SM A536U (mobile) • R5CT31RNLSL • android-arm64  • Android 12 (API 31)
    • macOS (desktop)   • macos       • darwin-x64     • macOS 12.2.1 21D62
      darwin-x64
    • Chrome (web)      • chrome      • web-javascript • Google Chrome
      102.0.5005.61

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Does #247 address your issue?

#247 is a completely different case.  In #247, the user was attempting to use a variable weight font which, as noted in that issue, is not supported by google_fonts.
Here, all of the .ttf files are in the  assets folder (including, in my example, Manrope-Regular.ttf).  And yet the font is not retrieved from assets.
Note that my environment is:
environment:
  sdk: ">=2.17.1 <=3.0.1"

So it might have something to do with Flutter 3.

I'm unable to reproduce, can you share what your assets folder looks like?

hmm strange. Can you .zip the project and share?

font_bundling_failed_example.zip

Found it!
assets:
  - assets/

Needs to be more indented to the right to be under flutter.

"YAML is the worst form of data serialization language, except for all the others."  -- Winston Churchill.  🤣

That does sound like something he would say, and he's 100% right.


How to import profile

@timmwille
the article is here: https://github.com/ASKnetCommunity/LEAD/wiki/Add-or-update-profile-(for-maintainers)
It's already quite long and I spent a lot of time on it. And still have the impression I could write more... But that would never end... I think the topic itself should be covered well enough, it's more about further topics like:

VSCodium install
VSCodium checkout GitHub Repo
GIMP install
Markdown tutorial

We can leave it like that, or it could be "tested" by somebody who would upload profiles in the future, to check if there are "holes" in the description


Remove mentions of galleries

As per yesterday's discussion on zoom.
(Sorry, galleries!)

This include #144 changes as well so merge them first...

I have removed the unrelated commits from #142 and #144 from this PR, so it has just the galleries change. This will likely end up creating a merge conflict with #142 or #144 so we'll have to sort that out based on whichever is merged first. This is now simple to review though ;-)


Initial downloading of sale artworks

First steps on #972.
I forgot that in eigen, we usually already have an artwork when we retrieve a sale artwork, so I'll need to eventually add in something to retrieve Artwork models, too. Hopefully I can be clever about it, will consult eidolon.
Annnnyway, this is about the extent to which I want to use Interstellar. It's lightweight and seems great at integrating with functions that take callbacks, which we're all familiar with. It just helps avoid callback hell, which is all I really wanted. Let me know what you think, this is obviously open to debate :smile_cat:

I'm wary of mega-abstractions in eigen's codebase. Eigen is always about simplicity given its vast size and scope. We've already hit one wall because of this with RAC and it's going to take me a long time to de-tangle all that, including re-writing multiple VCs. Interstellar looks reasonable at 6 swift files.
Show caution though, the code you write with this is basically your code and the rest of us have to stop working the way we've worked for decades and the rest of this code base to understand, improve and make changes.

@orta I think that's a very reasonable concern, I will temper my enthusiasm and keep things approachable. Part of what I like about Interstellar is that it seems keen on working with established conventions (functions with callback blocks).

This now downloads and displays artworks from the sale:

  | 1 Error
------------- | ------------
    :no_entry_sign: | No CHANGELOG changes made

  | 1 Warning
------------- | ------------
    :warning: | Needs testing on a Phone if change is non-trivial

  Generated by :no_entry_sign: danger

And the refine view's settings are now based off of the actual sale artworks:

@orta I've gone over everything with a comb, and I think this is ready for review. @alloy would appreciate your input, too; I've tried to keep things approachable to the team, please keep giving me feedback on this :+1:

This looks great and well commented :+1:

Looks good to me :+1:

Thanks! Holding off on merging, will leave that up to @orta based on his work (I can merge into his if he likes).

nah, I can rebase aint no issue

:bow:


ConfigurationManager not loading settings correctdly

Everything is working correctly in UI Catalog, but for other apps, things don't get set right.
This is because UI Catalog calls Apply explicitly. Normal apps don't/shouldn't have to.

Correct correctdly, please 😄


Truecolors (direct RGB colors) support

Terminal Colors
There exists common confusion about terminal colors. This is what we have right now:

Plain ASCII
ANSI escape codes: 16 color codes with bold/italic and background
256 color palette: 216 colors + 16 ANSI + 24 gray (colors are 24-bit)
24-bit true color: "888" colors (aka 16 milion)

printf "\x1b[${bg};2;${red};${green};${blue}m\n"

The 256-color palette is configured at start and is a 666-cube of colors,
each of them defined as a 24-bit (888 rgb) color.
This means that current support can only display 256 different colors in the
terminal while "true color" means that you can display 16 million different
colors at the same time.
Truecolor escape codes do not use a color palette. They just specify the
color itself.
This is a good test case:
printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"

or
https://raw.githubusercontent.com/JohnMorales/dotfiles/master/colors/24-bit-color.sh
or http://github.com/robertknight/konsole/tree/master/tests/color-spaces.pl
or https://git.gnome.org/browse/vte/tree/perf/img.sh
or just run this:

awk 'BEGIN{
    s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
    for (colnum = 0; colnum<77; colnum++) {
        r = 255-(colnum*255/76);
        g = (colnum*510/76);
        b = (colnum*255/76);
        if (g>255) g = 510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,colnum+1,1);
    }
    printf "\n";
}'

Keep in mind that it is possible to use both ';' and ':' as Control Sequence
Introducer delimiters.
According to Wikipedia[1], this behavior is only supported by xterm and konsole.
[1] https://en.wikipedia.org/wiki/ANSI_color
Since
ncurses-6.0-20180121,
terminfo began to support the 24-bit True Color capability under the name of
"RGB". You need to use the "setaf" and "setab" commands to set the foreground
and background respectively.
True Color Detection
There will be no reliable way to detect the "RGB" flag until the new release of
terminfo/ncurses. S-Lang author added a check for $COLORTERM containing either
"truecolor" or "24bit" (case sensitive). In addition,
VTE,
Konsole and
iTerm2 set this variable to
"truecolor". It has been in VTE for a while and but is relatively new, being
still git-only in Konsole and iTerm2).
This is obviously not a reliable method, and is not forwarded via sudo, SSH etc.
However, whenever it errs, it errs on the safe side. It does not advertise
support when it is actually unsupported. App developers can freely choose to
check for this same variable, or introduce their own method (e.g. an option in
their config file). They should use whichever method best matches the overall
design of their app. Checking $COLORTERM is recommended though since it will
lead to a more seamless desktop experience where only one variable needs to be
set. This would be system-wide so that the user would not need to set it
separately for each app.
Querying The Terminal
A more reliable method in an interactive program which can read terminal
responses, and one that is transparent to things like sudo, SSH, etc.. is to
simply try setting a truecolor value and then query the terminal to ask what
color it currently has. If the response replies the same color that was set
then it indicates truecolor is supported.
$ (echo -e '\e[48:2:1:2:3m\eP$qm\e\\' ; xxd)

^[P1$r48:2:1:2:3m^[\
00000000: 1b50 3124 7234 383a 323a 313a 323a 336d  .P1$r48:2:1:2:3m

Here we ask to set the background color to RGB(1,2,3) - an unlikely default
choice - and request the value that we just set. The response comes back that
the request was understood (1), and that the color is indeed 48:2:1:2:3.
This tells us also that the terminal supports the colon delimiter. If instead,
the terminal did not support truecolor we might see a response like
^[P1$r40m^[\
00000000: 1b50 3124 7234 306d 1b5c 0a              .P1$r40m.\.

This terminal replied the color is 40 - it has not accepted our request to
set 48:2:1:2:3.
^[P0$r^[\
00000000: 1b50 3024 721b 5c0a                      .P0$r.\.

This terminal did not even understand the DECRQSS request - its response was
0$r. We do not learn if it managed to set the color, but since it doesn't
understand how to reply to our request it is unlikely to support truecolor
either.
Terminals + True Color
Now Supporting True Color

st (from suckless) [delimeter: semicolon] -
http://lists.suckless.org/dev/1307/16688.html
xst - fork of st
konsole [delimeter: colon,
semicolon] - https://bugs.kde.org/show_bug.cgi?id=107487
iTerm2 [delimeter: colon, semicolon] - since v3
version
Therm [delimeter: colon, semicolon] - fork
of iTerm2
qterminal [delimeter: semicolon] - > 0.14.1 versions (issue #78)
alacritty [delimeter: semicolon] -
written in Rust
kitty [delimeter: colon,semicolon] -
uses OpenGL
cool-retro-term [delimeter:
semicolon]
mosh (Mobile SHell) [delimeter: semicolon] - since commit 6cfa4aef598146cfbde7f7a4a83438c3769a2835
pangoterm [delimeter:
colon, semicolon]
Termux [delimeter: semicolon] - Android platform
ConnectBot - Android platform - since 3bcc75ccedaf2136b04c5932c81a5155f29dc3b5 commit.
Black Screen [delimeter:
semicolon] - crossplatform, HTML/CSS/JS-based
hterm -
HTML/CSS/JS-based (ChromeOS)
PuTTY -
landed
in git (patched version [3] {xterm-like approximation to 256 colors} and [4]
{real true colors} available) - Windows platform
Tera Term [delimeter: colon,
semicolon] - Windows platform
ConEmu [delimeter: semicolon] -
Windows platform
Windows
Powershell
[delimeter: semicolon] - aka Powershell 5.x and below Windows 10
Powershell Core [delimeter:
semicolon] aka Powershell 6+ Windows 10
cmd.exe [delimeter:
semicolon] Builtin Windows shell that is mostly unchanged since DOS Windows 10
FinalTerm [delimeter: semicolon] -
abandoned, iTerm2
borrowing it's ideas and features.
MacTerm [delimeter: semicolon] - Mac
OS X platform
mintty [delimeter: semicolon] Cygwin and
MSYS/MSYS2 since commit 43f0ed8a46c6549cb9a3ea27abc057b5abe13bdb
(2.0.1 release) - Windows platform
MobaXterm Windows platform - closed
source (run lscolors to see a truecolor test)
ZOC Windows/OS X platform - closed
source since
7.19.0 version
upterm Windows/Macos/Linux Electron -
A terminal emulator for the 21st century.
Windows 10 bash console, since
Windows Insiders build 14931
All libvte based terminals
(since 0.36 version) [delimeter: colon, semicolon] -
https://bugzilla.gnome.org/show_bug.cgi?id=704449

libvte-based
Gnome Terminal
libvte-based sakura
libvte-based
xfce4-terminal - since
0.6.90
release, if compiled with GTK+3
libvte-based
Terminator -
since 1.90 release
libvte-based Tilix - written in D.
Similar user interface as for Terminator.
libvte-based Lilyterm - since commit 72536e7ba448ad9ef1126ce45fbde3a3407a271b
libvte-based ROXTerm
libvte-based evilvte - no release yet,
version from git https://github.com/caleb-/evilvte
libvte-based Termit
libvte-based Termite
libvte-based Tilda
libvte-based tinyterm
libvte-based
Pantheon Terminal
libvte-based lxterminal - with
--enable-gtk3 configure flag.
libvte-based guake - A top-down terminal for GNOME

All xterm.js based terminals (since v3.13, v4.3 for webgl) [delimeter: semicolon]

VS Code's integrated terminal
Terminus: highly configurable terminal emulator for Windows, macOS and Linux

There are a bunch of libvte-based terminals for GTK2, so they are listed in the
another section.
Also, while this one is not a terminal, but a terminal replayer, it is
still worth mentioning:

asciinema player:
https://github.com/asciinema/asciinema-player

Improper Support for True Color

mlterm - built with --with-gtk=3.0
configure flag. Approximates colors to 512 embedded palette
(https://sourceforge.net/p/mlterm/bugs/74/)

Terminals that parse ANSI color sequences, but approximate them to 256 palette

xterm (but doing it wrong: "it uses nearest color in RGB color space,
with a usual false assumption about orthogonal axes")
urxvt aka rxvt-unicode -
since
Revision 1.570
http://lists.schmorp.de/pipermail/rxvt-unicode/2016q2/002261.html (Note there
is a restriction of colors count still)
linux console (fbcon), since v3.16 - https://bugzilla.kernel.org/show_bug.cgi?id=79551 (downgraded to 16 foregrounds and 8 backgrounds)
Hyper.app [delimeter: semicolon] - crossplatform, HTML/CSS/JS-based (Electron) https://github.com/zeit/hyper/issues/2294

Note about color differences:
a) RGB axes are not orthogonal, so you cannot use
sqrt(R^2+G^2+B^2) formula
b) for color differences there is more correct (but
much more complex)
CIEDE2000 formula
(which may easily blow up performance if used blindly) [2].
[2] https://github.com/neovim/neovim/issues/793#issuecomment-48106948
Terminal multiplexers

tmux - starting from version 2.2 (support since
427b820...)
screen - has support in
'master' branch, need to be enabled (see 'truecolor' option)
pymux - tmux clone in pure Python
(to enable truecolor run pymux with --truecolor option)
dvtm - not yet supporting True Color
https://github.com/martanne/dvtm/issues/10

NOT Supporting True Color

Terminal.app: Macos Terminal builtin
Terminology
(Enlightenment) - https://phab.enlightenment.org/T746
Cmder: Portable console emulator for Windows,
based on ConEmu.
mrxvt (looks abandoned) -
https://sourceforge.net/p/materm/feature-requests/41/
aterm (looks abandoned) -
https://sourceforge.net/p/aterm/feature-requests/23/
FreeBSD console - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191652
yaft framebuffer terminal - issue #12
KiTTY - Windows platform
MTPuTTY - Windows platform
mRemoteNG - Windows platform - issue #717
JuiceSSH - Adroid platform, closed source
Termius - Linux, Windows, OS X platforms,
closed source
SmarTTY - Windows platform - closed source
(sent them a request)
Netsarang XShell -
closed source (sent them an email)
libvte and GTK2 - based:

libvte-based GTKTerm2
libvte-based stjerm (looks abandoned) - issue #39

Console Programs + True Color
Console Programs Supporting True Color

s-lang
library - (since pre2.3.1-35, for 64bit systems)
ncurses library - since 6.1 version
Eternal Terminal - automatically
reconnecting shell
mc - since
682a5....
See also ticket #3724 for
truecolor themes.
irssi - since
PR #48
neovim - since commit
8dd415e887923f99ab5daaeba9f0303e173dd1aa;
need to set
termguicolors to
enable true color.
vim - (from 7.4.1770); need to set
termguicolors
to enable true color.
joe - (from
4.5
version)
emacs - since
26.1 release
micro editor
elinks -
configure.in:1410
(./configure --enable-true-color)
tcell library for Go language
timg - Terminal Image Viewer
tv - tool to quickly view high-resolution
multi-band imagery directly in terminal
termimage - terminal image
viewer
explosion - terminal image viewer
ls-icons - fork of coreutils with
ls program that supports icons
mpv - video player with support of
console-only output (since 0.22 version)
radare2 - reverse engineering franework;
since 0.9.6 version.

Console Programs Not Supporting True Color

mutt (email client) - http://dev.mutt.org/trac/ticket/3674
neomutt (email client) - issue #58
termbox library - issue #37 (there is a fork termbox_next with the support
https://bitbucket.org/McKael/mcabber-crew (jabber client) - issue #126
tig (git TUI) - issue #227
cmus (music player) - issue #799
weechat (chat client) - issue #1364
scim (spreadsheet program) - issue #306
gui.cs Terminal UI toolkit for .NET (curses-like) - issue #48

See the repository https://github.com/termstandard/colors
Or the gist and discussion here: https://gist.github.com/XVilka/8346728

Thank you for all this information!   This is an amazing source of information, so happy to have it!
Will put something together

While I have not yet added TrueColor support to gui.cs, I did use this issue to add TrueColor support to my terminal emulator:
https://github.com/migueldeicaza/SwiftTerm
It should also come soon to XtermSharp:
https://github.com/migueldeicaza/XtermSharp

Is there already a way to use more than the default 16 colors? I already tried to add https://github.com/silkfire/Pastel, but that didn't help.

Does anyone know the status of truecolor support in Windows Terminal?
I'm so happy to see yo working on this @jmperricone !!!

that test was with cmd. It works on windows terminal too.

I mean, windows terminal with cmd if that was what you were asking.

Just kidding. With the CursesDriver you don't need to use a random color. With the current bug he already does that :-)

@jmperricone Does that already work with Windows? I tried to modify the current Windows driver, which works, but the refresh rate is far from being optimal and I'm also not a big fan of how I added there features into the current Windows driver.

Does that already work with Windows?

I didn't tried yet.

Closing this as TrueColor is now partially implemented (as of closing #666).
WindowsDriver now supports TrueColor.
These are the new/remaining tracking issues:
#2797
#2798
#2799


✅  Test mocking midlleware

Codecov Report

Merging #3 (3673282) into master (d7d3022) will increase coverage by 3.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master       #3      +/-   ##
==========================================
+ Coverage   53.06%   56.12%   +3.06%
==========================================
  Files          17       17
  Lines        1029     1028       -1
  Branches      199      199
==========================================
+ Hits          546      577      +31
+ Misses        423      387      -36
- Partials       60       64       +4

Impacted Files
Coverage Δ

api/src/core/graphql.ts
57.89% <ø> (+27.45%)
:arrow_up:

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 d7d3022...3673282. Read the comment docs.


current master does not build eureka-core

testGetAppsDeltaFromAllRemoteRegions() fails With:
java.lang.AssertionError: Apps size from remote regions do not match expected: [2] but was:[1]
at org.junit.Assert.fail(Assert.java:93)

As there was no further followup on this issue, I am closing it.


Feature/refactor merge

Description of the Change

Refactor merge utility to execute most of the work in parallel
Add basic tests for merge routine

Codecov Report

Merging #445 into master will increase coverage by 2%.
The diff coverage is 96.61%.

@@           Coverage Diff           @@
##           master     #445   +/-   ##
=======================================
+ Coverage    80.6%   82.61%   +2%
=======================================
  Files          77       77
  Lines        1789     1783    -6
=======================================
+ Hits         1442     1473   +31
+ Misses        347      310   -37

Impacted Files
Coverage Δ

api/src/models/follow.js
97.5% <100%> (-0.23%)
:arrow_down:

api/src/utils/merge.js
94.44% <94.44%> (+94.44%)
:arrow_up:

api/src/parsers/feed.js
84.88% <0%> (+0.58%)
:arrow_up:

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 35b6213...e79ca82. Read the comment docs.


Inventory full of skill fragments upon new spawn

Forge Version: 1.16.5-36.2.19
Mod Version: 1.0.1
When the skill fragment leveling is set to true, upon creating a new world my inventory is full of skill fragments.

Here's the log
latest.log
:

Hmm, that's not supposed to happen, can you give a list of mods in this instance? Also, do you have any advancements unlocked right after creating a new world?

Yeah I have mods that give you advancements upon joining new world. I did some more testing and it seems to be a mod compat.
I have like 200 mods. Idk how to list em all without taking an hour, so I'll do some more messing around to see what mod or mods specifically are causing a problem.

well, I don't know whether you still want to earn skill fragments through getting advancements, if you don't, you can just tweak the config to never give any skill fragments, and make some other way to get them. If you do, well this is technically intentional, so i can't really "fix" it. i could maybe make some workaround, but i think that wouldn't be a good idea.


Create Script for external table fails

Azure Data Studio Version: 1.1.4

Steps to Reproduce:

Right mouse click on an external table
Script as Create

you get: No script was returned when scripting as Create on object Table

I'll close this as a duplicate of https://github.com/Microsoft/azuredatastudio/issues/3119 to consolidate issues.  Thanks for reporting!


Support long jumps inside an expression

We are generating really long expressions (>1MB) and using conditionals there that can cause more than 64KB jumps.
Today, the args of the opcodes are 2 bytes and long jumps are truncated to this size.
When running the expression, the VM jumps (actual_offset % 64Kb) and runs invalid opcodes.

Wow! Such a big expression. Amazing) So, yes. this is a limitation of the current VM.
I see to possible solutions:

Use bigger opcodes (this will require proper benchmarking to make sure be op size performance as the same level).
Or panic on trying to generate too big jump.

Fixed! I refactored vm. Now it uses int for args. So, jumps can be really long. Also it got 50% faster).


Feature: add "Promote All" to "Delayed" tab

At the moment in the "delayed tab" there is the possibility to promote individual jobs, what would be cool is to have a button to promote all of them or multiple jobs, some similar button as "cancel all" but for "promote".
This will be super helpful for a lot of users because a lot uses repeatable jobs and sometimes these are not triggered by bull mq in time and that resolves the problem partially till finding a fix by triggering them manually, also that will help when we want to trigger them ahead of time.

I am presently working on this.


Control file for 3fd not found

Likely due to changes in the way vcpkg works.

Yeah.. I haven't worked on this project for quite a long time, there are some break changes for vcpkg


gcsfuse v2.0

gcsfuse v2.0 seems to have benefits—not sure if this is an element of the coreos image that is used or if this can be controlled by dsub. If the latter, might be worthwhile.

Thanks for the pointer, @carbocation !
dsub has been pinned to the same gcsfuse docker image for a while now:
https://github.com/DataBiosphere/dsub/blob/main/dsub/providers/google_v2_base.py#L51
# This image is for an optional mount on a bucket using GCS Fuse
_GCSFUSE_IMAGE = 'gcr.io/cloud-genomics-pipelines/gcsfuse:latest'

I see that the gcsfuse repo includes a Dockerfile:
https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/Dockerfile
but there's no indication that I could find of an official published Docker image. Having that would make this much easier.
I don't know if it will help, but please thumbs up the first comment in this issue:
https://github.com/GoogleCloudPlatform/gcsfuse/issues/683
Thanks!
-Matt


Do not insert empty vecs into uid-to-alarm map

An alternative would be always remove from that map (and not only when there are alarms associated with the event), but I don't see a reason for that.

going in, thanks @ftilde


Cleaned up Azure::Core::Context API surface

Updated semantics of Azure::Core::Context

ApplicationContext resumes its documented state as the root of all Context operations.
Independently created Context objects can be cancelled independent of ApplicationContext.
WithCancellation allows the creation of a child Context object that can be independently cancelled.
CreateNewRoot creates a new root Context object – this can be used to reset the cancellation state of ApplicationContext, it can also be used to create new root Context objects that are independent of the ApplicationContext.

Updated documentation for Azure::Core::Context to express the current semantics.
Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

/azp run cpp - storage - ci

/azp run cpp - keyvault - ci

/azp run cpp - tables - ci

/azp run cpp - identity - ci

Ping. At this point, I'm happy with the design and would appreciate any feedback.
Thanks!

Ping :).

Ping :).

Ping again. I would like to get this in soon, so would appreciate feedback.

Ping again.

I'll make time to review and page-back the conversation tomorrow, so I can provide more meaningful feedback.
From a PR review perspective, I trust that you've got the specifics well. The higher order question, that would be great for us to get consensus on, is about the design and end user experience. A PR conversation is likely not the best medium for that discussion (will discuss offline).

I'll make time to review and page-back the conversation tomorrow, so I can provide more meaningful feedback.
From a PR review perspective, I trust that you've got the specifics well. The higher order question, that would be great for us to get consensus on, is about the design and end user experience. A PR conversation is likely not the best medium for that discussion (will discuss offline).

Agreed that PR comments aren't the right place for this, but to help frame the discussion: What parts of this change do you feel require additional discussion?

Ping.

/azp run cpp - core - ci

Ping. I believe that as of the discussion on 6/27, this should be the implementation of the final design.

/azp run cpp - storage - ci

Ping. Waiting on feedback from @EmmaZhu, @Jinming-Hu , @RickWinter , @ahmadmsft, @gkostal , @anilba06 , @antkmsft , @vinjiang , and @microzchang.
This PR cannot proceed until every one of you signs off on it.


Expose install function

In this PR I simply expose the install function without any modifications.
Related issues:  #312

I'm not sure if i need to add https://www.npmjs.com/package/@pika/plugin-build-types, because @pika/plugin-ts-standard-pkg is already used and the docs of plugin-build-types say:

Note: This plugin is not needed if you are already writing TypeScript and using the ts-standard-pkg plugin.


Crash on startup

Sadly I will not a be able to use this fork until this issue is resolved. It crashes on startup without any sort of error message.  Will have to use the original lib until the issue gets resolved. I tried it on both my laptop and my desktop but it yielded no difference.

@CrackerakiUA are there any major diffrences between this fork and the original version?
I still convinced that the libs. should be merged and that we go furter with 1 big and good plugin.

@rickerd alex is not active, he is not merging. We have added many functionality to the plugin.  Ovewise it could be some other issue on your project.

I have the same issue

@achubai good, please create codepen to we can see it too.

@CrackerakiUA
I can't reproduce it on codepen, maybe reason in webpack, and that I have to use this to resolve it

If so, then i can't help you out. I am not user of such things.

But you are welcome modify our lab so it continue to work on codepen and on your projects.

@CrackerakiUA
It crashes foe me at the startup as well, with the error message: "Uncaught TypeError: Cannot set property 'MegaPixImage' of undefined"

@SakshiParakh Will love to fix the codepen you gonna create to show me the error.

Closing issue for the reason it cannot be reproduced by us or other people in Codepen.
I think it's project depended


OC Template Notifications in CSW update needed

@neeranelli I was looking at template notification docs Manage notification settings and templates
 and View notifications
 and I noticed that with UR enabled agents can also receive notifications in CSW (but not CSH). We should update these pages to include information about notifications in Customer Service

@annaka-shewchuk ,
Will agents receive all types of notifications that are mentioned in the topic View notifications?
Please clarify.
Thank you.


Thank you a lot

Well, you don't know how many hours you saved me.
It is just a thank you message. I use OAIB in my MVP and it's great. It is invaluable to absord peaks of demands.
Keep the good work.
My use case, in case it is of interest to you
I made a openai server with OAIB, that acccept batchs, process them in a queue, and transfert the post processing to an arbitrary celery task.
As celery hates multithreading / multiprocessing / async, I use it to quickly difuse big amount of openai requests that I need to process without blocking celery workers in waiting mode (and making my software bloated with waiting workers).
And the cherry on top of the cake, I'am sure to never get API ratelimited.

Thanks man, I really appreciate that. Gonna close just to keep it organized. I followed you on Twitter too.


Publish the vscode extension to the marketplace

After building the extension and getting a few folks to side load and provide feedback on the extension, we should make it available on the marketplace for everybody to use. This work doesn't include the "administrative" work (trademark/accessibility/privacy/legal/OSS/... reviews) that are required but outside of the engineering scope.
We'll need to update the CI according to Microsoft's internal guidelines.

Closing this one since we've done all the work to get there, the only thing left to do is to release.


Rajatagarwal ibm patch 1

Description

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

When merging, use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author. The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).
Merge by using "Squash and merge".

pip comes as a default checked option when installing Python, most of the system which has Python should also have pip.
I have added a new statement to check pip installation too.


facing make error while installing via vagrant

Faced the following error while trying to install mariadb with the command
npm install mariasql --no-bin-skips

Since it appears you're on Ubuntu 12.04, you probably need to update your compiler. You will need gcc/g++ 4.8+.

same here but with gcc 5.3.0 installed
https://s24.postimg.org/uecefz5t1/2017_01_15_10_37_25.png

@young310 Please copy and paste the* entire* text output here.

`[young@DiskStation:/volume1/web/line_push_server$ npm install mariasql --save

<EMAIL_ADDRESS>install /volume1/web/line_push_server/node_modules/mariasql
node-gyp rebuild

make: Entering directory '/volume1/web/line_push_server/node_modules/mariasql/build'
Makefile:1: /env.mak: No such file or directory
make: *** No rule to make target '/env.mak'.  Stop.
make: Leaving directory '/volume1/web/line_push_server/node_modules/mariasql/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.10.77
gyp ERR! command<EMAIL_ADDRESS>"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /volume1/web/line_push_server/node_modules/mariasql
gyp ERR! node -v v4.4.2
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm ERR! Linux 3.10.77
npm ERR! argv<EMAIL_ADDRESS>"/usr/local/bin/npm" "install" "mariasql" "--save"
npm ERR! node v4.4.2
npm ERR! npm  v2.15.0
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the mariasql package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs mariasql
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls mariasql
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /volume1/web/line_push_server/npm-debug.log`

@young310 What do which make and make -v output? Also, are you doing this on a Synology NAS by any chance?

@mscdex Yes, I am doing this on a Synology NAS 1515+ with DSM 6.0.2-8451 Update 8
young@DiskStation:/volume1/web/line_push_server$ which make
/opt/bin/make
young@DiskStation:/volume1/web/line_push_server$ make -v
GNU Make 4.1
Built for i686-buildroot-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

FWIW according to results from google, others have had the same issue (with other compiled node.js addons) on that NAS and they ended up just creating a debian chroot to be able to compile correctly.

@mscdex
Thanks for your suggestion. I have tried using chroot but with no luck.  System Linux 3.10.77
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /volume1/web/line_push_server/node_modules/mariasql
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is most likely a problem with the mariasql package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls mariasql
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.10.77
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "mariasql" "--save"
npm ERR! cwd /volume1/web/line_push_server
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /volume1/web/line_push_server/npm-debug.log
npm ERR! not ok code 0

This seems to be the actual error in that text:
getpwuid(): uid not found: 1028

It sounds like something is definitely not right though, I don't have any suggestions for that offhand.


Access demo from other machine

I am learning and have built the demo and have it running. I adjusted the host in the server file to access the web server from another machine. But it seems that the interface to eth is made from the browser (rpc on localhost 8101). Is there a way to route that through the web server?

Hi Adam, please give embark 2.0 a go :)
route through the web server, do you mean, route the rpc requests?


Track vscode-java-debug issue with class not found

https://github.com/microsoft/vscode-java-debug/issues/606


Remove links around external resource in the-githubdev-web-based-editor#known-limitations

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/codespaces/the-githubdev-web-based-editor#known-limitations
This issue is intended for newcomers to the OS Docs repo! 💛
If you are veteran of the OS Docs repo and are looking for issues to work on, take a look at our help wanted section ✨
What part(s) of the article would you like to see updated?

Some keybindings may not work, depending on the browser you are using. These keybinding limitations are documented in the "Known limitations and adaptations" section of the VS Code documentation.

Links to external resources should not have quotation marks, per our style guide
Additional information
No response

Closing this one for the time being - apologies!


resnet 100 model

Hi, do you have resnet 100 pretrained model available for download? Thanks!

Hi, do you have resnet 100 pretrained model available for download? Thanks!

So do you have got the ir_se_100 pretrained model for this pytorch version

did u get the ir100?


Go to next challenge is throwing an error for certificate challenge

Describe the Issue
When completing the RWD portfolio certificate challenge and clicking "Go to next challenge" (or using Ctrl + Enter) an error is thrown in the browser console and it does not advance to the next challenge. I have not tested this as signed-in or with other certificate challenges.

Uncaught TypeError: Cannot read properties of null (reading 'includes')

Code that throws
https://github.com/freeCodeCamp/freeCodeCamp/blob/prod-current/client/src/templates/Challenges/redux/completion-epic.js#L209
const isNextChallengeInSameSuperBlock = nextChallengePath.includes(superBlock);

PR that introduced the code
https://github.com/freeCodeCamp/freeCodeCamp/pull/50033
It was changed again here (not in prod)
https://github.com/freeCodeCamp/freeCodeCamp/pull/50011
Didn't look into it more.
Affected Page
https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-personal-portfolio-webpage
Your code

Expected behavior
To work?
Screenshots
No response
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
Forum thread: https://forum.freecodecamp.org/t/responsive-web-design-projects-build-a-personal-portfolio-webpage-is-complete-but-doesnt-submit/618254

Thanks for the analysis, @lasjorg, it saved me time trying to debug this.


feat(apps/prod/tekton): support internal triggers

add listener and trigger for tibuild
Signed-off-by: wuhuizuo<EMAIL_ADDRESS>

/approve


Contributor profile's calendar is not showing data beyond one year

Here's an example of my profile's calendar captured on Dec 2nd 2024. However it shows data only upto Dec 2nd 2023. All other aggregate metrics in the profile are correct. Just that calendar chart is not showing data beyond 1 year.
We do have data dated back in 2022.

Calendar:

Hey Team can you please assign this issue to me if no one working on it?
Fixed the Issue


Remove cluster_id from the cluster node's hostname

Current cluster node hostname contains the cluster_id, the domain name has cluster_id too, that make the FQDN for the hostname looks wired, like rdr-praj-7bf8-eu-de-2-master-0.rdr-praj-7bf8.openshift-on-power.com.  Remove the cluster_id from the hostname to make it simpler, this looks better: master-0-eu-de-2.rdr-praj-7bf8.openshift-on-power.com.

/assign @cs-zhang


Add option to enable requester-fetch instead of requester-node-http for edge-environments like Cloudflare Workers

Types of changes

[ ] Bug fix (a non-breaking change which fixes an issue)
[x] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
This PR enables support for using this module in edge-environments which usually does not have access to nodes http module. Examples would be Cloudflare Workers or Vercel Edge (https://vercel.com/docs/functions/edge-functions/edge-runtime). By enabling useFetch in the configuration it will use @algolia/requester-fetch instead of @algolia/requester-node-http when process.server is true.
Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes (if not applicable, please state why)

Hey, thanks for this PR!
I will take a look at it soon :)

Any updates on when 2.0.0 will be released? There is no way this can be merged as a minor version until then?

Hey @vilhelmjosander
I am planning to release the 2.0.0 next week. I was just very busy with Nuxt Security 1.0.0 release for the Nuxt Nation that is happening just know.
If I wont make it to release 2.0.0 version next week, then I will release a minor version with this feature so that you could start using it :)

Hey @vilhelmjosander
I have changed the base branch from main to 1.10.0 and I want to release it this week. Could you please resolve the conflicts and remove the additional package-lock.json?
Then I will merge it and release a new version with it :)

@Baroshem Sorry for the late reply. I have fixed the merge conflicts and removed the package-lock.json. Make sure it looks ok then it should be reade to merge and release.

@vilhelmjosander I will work on making the release today then.
Thanks for your work!


15.3-4

Migratable from CLRS2e's 16.3-3. Uses notation B(T) for the total cost of a tree for a code.


Updating CONTRIBUTING.md and CONTRIBUTING_COMMON_ERRORS.md

Description of changes

An entry was added to CONTRIBUTING_COMMON_ERRORS page which specifies that the IAM role used by CloudFormation needs to be added as a Lake Formation admin.
Fix instructions for how to run a unit test for the databases. This guide was previously referencing a non-existent test file.

Relates
https://github.com/awslabs/aws-data-wrangler/issues/1497
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 88f6c63846c12bf9f3fbbe31a75cb9c6aa88938c
Result: SUCCEEDED
Build Logs (available for 30 days)

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


Adding Astro in Readme.md

If you are talking about Top JavaScript Frameworks, Astro is must
so you must include astro framework under Top JavaScript Frameworks
See This !!

I have created pr with this #541


emitter.updateOwnerPos throws an error if emitter is destroyed

How to reproduce:
Make an emitter.
emitter.destroy()
emitter.updateOwnerPos(0,0)
It throws an error that can interrupt js execution.
Emitter.ts:491 Uncaught TypeError: Cannot set properties of null (setting 'x')
    at Emitter.updateOwnerPos (Emitter.ts:491:23)

    public updateOwnerPos(x: number, y: number): void
    {
        this._posChanged = true;
        this.ownerPos.x = x; // ERROR OCCURS HERE
        this.ownerPos.y = y;
    }

Yes, it is intended that you don't use an emitter after destroying it. If you just wanted all your particles gone but to continue using the emitter, use Emitter.cleanup().

Yes, but in the event that it isn't - I would assume it would be better to fail silently than to throw and interrupt execution?
A simple
if(this.owner){...}

would prevent it from throwing.


How about using aria2c as the download backend?

Hi!
It's a feature request though.
I think using aria2c to download video will be faster than using yt-dlp's native downloader.
BTW, how about use this empty area to display the download speed while downloading?

Appreciate your work~

Thanks for your use and suggestion.
I think it's a good idea, yt-dlp also supports using other downloaders
I will test and think how to call the downloader.
As for the section showing download speed information
Since the source is not uniform speed, I can't guarantee accurate numbers,
May take time to adjust to improve accuracy
I suggest to keep this issue open, I will keep updating the information with any progress
感谢您的使用与建议
我认为这是个好主意，yt-dlp也支援使用其他下载器
我会测试与思考如何去调用下载器
至于显示下载速度资讯部分
由于来源并不一定是勻速的，我不敢保证能否提供准确的数字，
可能需要花时间调整来提升准确度
我建议让这issue保持开启，有任何进展我将会持续更新资讯

I have released a new version
Can support aria2 downloader, although the download speed cannot be displayed yet
if you are interested, you can test it
我发布了新的版本
可支持aria2c，虽然目前还无法显示下载速度，如果您有兴趣可以测试看看

I have released a new version again.
Supported aria2 and display download speed
If you are interested, you can test it :)

Sorry for the delayed reply.
I am studying at school recently, no time for me to get to computer.
I will test it tomorrow, thanks for your contribution.

It worked perfectly!
Appreciate your work very much.


Missing scripts?

Hi,
I was reading the discussions about syncing the p5 editor with git and I stumbled upon your repo. I was wondering how you were handling downloads. It seems to me that there are script that are not included in this repo like downloads/gen/download.sh and others that seem to do the heavy lifting, is that the case?

when you fork this repo and run the script:
bin/mirror.sh --user p5name
the download scripts will be created.

It is working, I just don't understand how, I wanted to check how you did the download script.

After you run the mirror command you should see a file

downloads/gen/download.sh
this contains the scripts to download the sketches as zip files
downloads/gen/unzip.sh
scripts to unzip the sketches

nodejs scripts used to create the download scripts

p5mirrorLib


Change the generator to call existing user method with compatible signature

Previously discussed in #2
Advantages in comparison to the current approach:

Doesn't require user code to use partial keyword, hence smoother transition
Allows virtual
Allows non standard variable names
Cleaner code generator, which invokes one specific method non-partial method

Possible disadvantage: slower code generation, but should not be slower than CommunityToolkit/dotnet#8 code generator.
Optionally consider adding an OnChanged property to the attributes which would specify the method to be called: OnChanged = nameof(NonStandardPropertyChanged). This is the equivalent of CanExecute property in the [RelayCommand] attribute in CommunityToolkit.Mvvm library.

I have released an update that allows this.
[DependencyProperty<string>(""Text"", OnChanged = nameof(OnMyTextChanged))]
public partial class Generatable : FrameworkElement
{
    protected virtual void OnMyTextChanged(string? value)
    {
    }
}

will generate:
//HintName: Generatable.Properties.Text.generated.cs

#nullable enable

namespace H.Generators.IntegrationTests
{
    public partial class Generatable
    {
        /// <summary>
        /// Default value: default(string)
        /// </summary>
        public static readonly global::System.Windows.DependencyProperty TextProperty =
            global::System.Windows.DependencyProperty.Register(
                name: "Text",
                propertyType: typeof(string),
                ownerType: typeof(global::H.Generators.IntegrationTests.Generatable),
                typeMetadata: new global::System.Windows.FrameworkPropertyMetadata(
                    defaultValue: default(string),
                    flags: global::System.Windows.FrameworkPropertyMetadataOptions.None,
                    propertyChangedCallback: static (sender, args) =>
                    {
                        ((global::H.Generators.IntegrationTests.Generatable)sender).OnMyTextChanged(
                            (string?)args.NewValue);
                    },
                    coerceValueCallback: null,
                    isAnimationProhibited: false),
                validateValueCallback: null);

        /// <summary>
        /// Default value: default(string)
        /// </summary>
        public string? Text
        {
            get => (string?)GetValue(TextProperty);
            set => SetValue(TextProperty, value);
        }

    }
}

I think there's an issue with the nuget package. It doesn't get updated and is marked as deprecated.
https://www.nuget.org/packages/DependencyPropertyGenerator.Core

Remove it

Ok, I gave it a try and it looks good so far.
Lack of OnChanged still calls partial methods. Are there any plans to adopt this new approach when OnChanged isn't specified?

No, the absence of OnChanged will still work with partial methods, allowing the IDE to quickly generate an OnChanged method. I find this to be a more appropriate default behavior than manually guessing the signature.

Cool, will you be changing it for AttachedDependencyPropertyAttribute? I can specify OnChanged, but it doesn't produce the call too the method. I think it is a bug.

manually guessing the signature

I don't know if that's a worse solution than the current one, since the code generator is currently guessing 3 different signatures. If the code generator looks into the code, I feel it is less of a guess. Also with the current solution, a user could implement all 3 partial methods and all 3 would get executed.
In any case, this isn't a big deal to me, very happy with the code gen overall.

Cool, will you be changing it for AttachedDependencyPropertyAttribute? I can specify OnChanged, but it doesn't produce the call to the method. I think it is a bug.

I will check and add tests for this case

I don't know if that's a worse solution than the current one, since the code generator is currently guessing 3 different signatures. If the code generator looks into the code, I feel it is less of a guess. Also with the current solution, a user could implement all 3 partial methods and all 3 would get executed.

I imagine the standard user behavior like this:

User adds [DependencyProperty<string>(""Text"")]
Writes partial void in the class body
Presses space
The IDE offers him a choice of 3 signatures that he can override.
It chooses and the IDE creates an empty method with that signature.
During generation, the callback will not be created if the user has not defined at least one of the partial signatures.

For me, the main benefit of having partial declarations is that the IDE will offer a choice and create an empty method.

Cool, will you be changing it for AttachedDependencyPropertyAttribute? I can specify OnChanged, but it doesn't produce the call to the method. I think it is a bug.

I couldn't repeat. I used:
public enum Mode
{
    Mode1,
    Mode2,
}

[AttachedDependencyProperty<Mode, TreeView>("Mode", OnChanged = nameof(OnModeChanged))]
public static partial class TreeViewExtensions
{
    private static void OnModeChanged(TreeView sender, Mode oldValue, Mode newValue)
    {
    }
}

Generated code:
//HintName: TreeViewExtensions.AttachedProperties.Mode.generated.cs

#nullable enable

namespace H.Generators.IntegrationTests
{
    public static partial class TreeViewExtensions
    {
        /// <summary>
        /// Default value: default(Mode)
        /// </summary>
        public static readonly global::System.Windows.DependencyProperty ModeProperty =
            global::System.Windows.DependencyProperty.RegisterAttached(
                name: "Mode",
                propertyType: typeof(global::H.Generators.IntegrationTests.Mode),
                ownerType: typeof(global::H.Generators.IntegrationTests.TreeViewExtensions),
                defaultMetadata: new global::System.Windows.FrameworkPropertyMetadata(
                    defaultValue: default(global::H.Generators.IntegrationTests.Mode),
                    flags: global::System.Windows.FrameworkPropertyMetadataOptions.None,
                    propertyChangedCallback: static (sender, args) =>
                    {
                        OnModeChanged(
                            (global::System.Windows.Controls.TreeView)sender,
                            (global::H.Generators.IntegrationTests.Mode)args.OldValue,
                            (global::H.Generators.IntegrationTests.Mode)args.NewValue);
                    },
                    coerceValueCallback: null,
                    isAnimationProhibited: false),
                validateValueCallback: null);

        /// <summary>
        /// Default value: default(Mode)
        /// </summary>
        public static void SetMode(global::System.Windows.DependencyObject element, global::H.Generators.IntegrationTests.Mode value)
        {
            element = element ?? throw new global::System.ArgumentNullException(nameof(element));

            element.SetValue(ModeProperty, value);
        }

        /// <summary>
        /// Default value: default(Mode)
        /// </summary>
        [global::System.Windows.AttachedPropertyBrowsableForType(typeof(global::System.Windows.Controls.TreeView))]
        public static global::H.Generators.IntegrationTests.Mode GetMode(global::System.Windows.DependencyObject element)
        {
            element = element ?? throw new global::System.ArgumentNullException(nameof(element));

            return (global::H.Generators.IntegrationTests.Mode)element.GetValue(ModeProperty);
        }

    }
}

This doesn't work for me, taken out of https://rachel53461.wordpress.com/2011/09/17/wpf-grids-rowcolumn-count-properties/:
[AttachedDependencyProperty<int, Grid>("RowCount", OnChanged = nameof(OnRowCountChanged), DefaultValue = -1)]
[AttachedDependencyProperty<int, Grid>("ColumnCount", OnChanged = nameof(OnColumnCountChanged), DefaultValue = -1)]
public static partial class GridHelpers
{
    // Change Event - Adds the Rows
    static void OnRowCountChanged(Grid grid, int newValue)
    {
        grid.RowDefinitions.Clear();

        for (int i = 0; i < newValue; i++)
            grid.RowDefinitions.Add(
                new RowDefinition() { Height = GridLength.Auto });
    }

    static void OnColumnCountChanged(Grid grid, int newValue)
    {
        grid.ColumnDefinitions.Clear();

        for (int i = 0; i < newValue; i++)
            grid.ColumnDefinitions.Add(
                new ColumnDefinition() { Width = GridLength.Auto });
    }
}

Also I just noticed that with oldVaue it works.

This doesn't work for me, taken out of https://rachel53461.wordpress.com/2011/09/17/wpf-grids-rowcolumn-count-properties/:

Yes thanks, forgot to add some checks for static method signatures. Fixed.
Also take a look at this: https://github.com/HavenDV/H.XamlExtensions


Backspace issue with initial value, manual mask logic, and rendering condition triggered by html input's onFocus

So, i know this is a very specific issue, you can say just by the title.
In preparation for this cenario we should have:

A logic to show/hide the keyboard (a simple state "showKeyboard" that is a boolean).
An initial value being set by onInit prop callback or even with the ref.
A function to show the value masked on the html input.

So lets describe when this issue happens:
You have your html input on screen and the keyboard is not rendered yet, because we only want the keyboard to be shown when the input gets focus.
You have a initial value to fill your html input and the Keyboard internal input.
This value is not masked at all, we only apply a mask before we pass the value to the html input's value attribute.
So, when the html input triggers its onFocus callback, we set the boolean state that defines if the Keyboard is shown as true, then our Keyboard gets rendered and we set its input value with our intended initial value using the onInit prop and doing a keyboard.setInput(initialValue).
After that, we want to edit the value, and try to erase it with backspace, but nothing happens.
A few observations:

If we do exaclty tha same thing, but instead of onFocus we use onClick, it works.
If we trigger the input focus using a html <label>, it works.
If we just use a button to change the state and then render the keyboard, it works.

I couldn't find any relationship between the html input's onFocus and the Keyboard directly to make sense that the backspace dont work.
Here is a codesandbox with a repro example:
https://codesandbox.io/p/sandbox/react-simple-keyboard-backspace-focus-issue-7fp289
I'm using react-simple-keyboard 3.7.80

Hello @pablobrodt,
When you click on the input, its caret position is relayed to simple-keyboard. But in your case there's a mismatch between the string length in the input element and in the internal simple-keyboard state.

So as a result simple-keyboard tries to delete at a position that does not exist.
To fix this, you can use the option disableCaretPositioning.
https://codesandbox.io/p/sandbox/react-simple-keyboard-backspace-focus-issue-forked-vhz9jx?file=%2Fsrc%2Fcomponents%2Fmy-keyboard%2Fmy-keyboard.component.tsx%3A46%2C7
Regards,
Francisco Hodge

Hi @hodgef, the formatted string is only used for presentation reasons, when manipulating the input's value i'm using the raw value, so i couldn't understand why the keyboard is using the formatted value for the caret positioning.
Can you explain why?

I linked to this part of the code above: https://github.com/hodgef/simple-keyboard/blob/b45ea000279225ad2b82fddc2cc681b1443442ec/src/lib/components/Keyboard.ts#L1250
When you click on an input, the caret/cursor position of your input is communicated to simple keyboard. If your masked input has its cursor at 20 and the internal (non-masked) input of simple-keyboard has a length of 16, then for sure backspace won't work when trying to remove a character at position 20.
You can have a look at the console in my example to verify. Thanks!

Yeah thats exactly what i wanted to understand, thank you very much.


Suggerstion: Moshi or Kotlinx Serialization to replace Gson

Gson is not really Kotlin friendly because it doesn't understand about Kotlin null safe types.
Moshi is made by Square and have kotlin support by codegen or reflect which requires kapt.
JetBrains made own json serialization library. https://github.com/Kotlin/kotlinx.serialization it have own compiler plugins for it.

Yeah thanks for bringing this up. I'll try to do this sometime soon :)

I'd like to try my hand at this! I'll try to get a PR out this weekend at some point :)

Thanks @nkrebs13. I'll assign the issue to you then :)


Add a name and logo to the webapp

We can add a logo to our weather app and also give it a name to make the project more complete.
@sumana2001  and I have also added an issue for PWA, to make the website into an app that can be downloaded for which was also we'll need a logo. If you feel this is something we can add to our website, please assign issue #32  and this issue to @sumana2001 and me

If there are more pressing issues, I prefer you do those before issue #32. So you can work on this first.

@grace-omotoso I've created some rough outlines for the logo. The color is not yet set, if any of these is good enough I'll proceed to make it a more detailed version of it. If not please let me know.

@sumana2001 This looks okay, you can integrate it into the app and raise a draft PR


Adding automatic cachemetadata by supporting .NET Standard 1.5

Need to add some tests before merging. There may be some components that I missed.
Looks like there is enough support for componentmodel in .NET Standard 1.5 to allow automatic cachemetadata to work. The csproj change builds both 1.3 and 1.5. The NuGet package would have both target frameworks in it.

Closing this in favor of the other PR


Option for case of ABL keywords

Ability to have ABL keywords in UPPER case (docu standards) or lower case.

Done