Handle parameters methods that return Iterable<Iterable>

This is an implementation of the feature requested in #81.
There is also the possibility of supporting the other combinations of Iterable/Iterator (i.e. Iterator<Iterator>, Iterator<Iterable>, Iterable<Iterator>).
I think Iterable<Iterable> makes the most sense in terms of realistic use cases, but wanted to raise the issue of those other combinations.  If you guys think it would be worthwhile to implement those too I wouldn't mind adding it to this PR

Thanks @jtbeckha for this PR
I don't think we need all Iterator-Iterable combinations. If you have an Iterator than you most probably have an Iterable as well.


Add advanced toolchain support through walrus

This commit does quite a few things:

Add a new wit-writer crate which is intended to be a very low-level
interface for writing the wasm interface types custom section. This is
hoped to handle all the nitty-gritty of encoding and other libraries
can simply use it and not worry about a class of malformed binary
errors.

Refactor the wit-text crate to use the wit-writer crate now that
it exists.

Add a new wit-walrus crate. This crate is intended as an advanced IR
for transformations over the wasm interface types section, such as
what wasm-bindgen is predicted to do.

I'd like to hold off on merging this for now until I prove out most of the support through wasm-bindgen, but wanted to post this in case anyone else is interested!

Ok I'm gonna go ahead and merge this and will continue iterating as wasm-bindgen support comes along.


DepthToSpace support: DepthToSpace followed by Elementwise op (e.g. add)

Encoder-decoder pipelines, and ML-based upscaling pipelines employ processing steps where the output of a layer has greater spatial dimensions than the input. Initially, such layers were implemented in terms of a simple resize operation. The more modern approach is to use learnable resizing operations, such as deconvolutions, and convolutions+depth2space operations.
After the resizing operation (be in a simple nearest neighbor resizing), or a fancier deconvolution, or convolution+depth to space operation, a common operation that follows is an elementwise add, which combines the output of the previous layer (from depth to space), with a skip connection.
The present issue pertains only to pipelines that contain the following types of subgraph:
(depth to space -> buff 1)+ elementwise add (buff 0, buff 1), where buff 0 is from a skip connection.
In such cases, if depth to space can be viewed as a reshaping of the input tensor of add, and if buff 1 is only used by that add (a common case), then a beneficial fusion would be to never perform the depth to space explicitly, rather just reshape the corresponding input of the add operation.
Note:
convolution + depth2Space + add can be fused in two different ways:

(convolution + depth2Space) + add
convolution + (depth2Space + add)

Those should be numerically equivalent, and timed (either manually, or in an autotuning scheme), to deduce what is the optimal approach, for a given pipeline.

#987 Solved this one for now. Closing this.


Disable item "shuffling" when dragging

Hey there,
Great library! Really enjoying using it.
One thing I am wondering: is it possible to remove the "shuffling" effect when dragging an item around in the list? In other words, when I drag Item A between Items B and C, I don't want Item B to move up to allocate space for Item A. I would rather it just stay put so I can simply show a highlighted line without actually affecting the placement of the list elements.
I know I can set animationDuration to null to remove the animations, but I would like to just have them not move at all when I'm dragging.
Is this currently possible, or is it something you are willing to consider adding as an extra prop? I could potentially put together a PR to enable this if it's something you would entertain.
Thanks again!
Gabe

Hi @gargrave ,
I am glad that you enjoy using it :)
To answer your question, no there is no possible way to disable shuffling and by design I am not willing to add such feature. The purpose of this library to provide a natural and physical drag and drop and shuffling experience like you are moving an element for real otherwise there are some libraries that already provides the feature you are requesting :) So I am closing this issue.
Cheers !


[REQ] Font Size should support negatives

Acknowledgement of preliminary instructions

[X] I have read and acknowledged the preliminary instructions.

Why should they?
Font sizes can vary to the point that 0 isn't small enough to make a font fit properly. Also from what i've seen, setting a negative font manually with the fast flag works fine(though probably depends on the font you use)
Alternatively, maybe just make font size represent the actual font size instead of the fastflag input?

I would like to mention, Bloxstrap cannot modify the Roblox client.

Also from what i've seen, setting a negative font manually with the fast flag works fine(though probably depends on the font you use)


Looking for maintainers

This library is not maintained any more since we lowered our usage of Mobx. Would anyone be interested in taking over?

Archiving the repo, closing open issues.


Format code for consistency across files

Commit: https://github.com/chrisstef/3-commas-verse/commit/dec651e4684202ff9a843b53b4c80d4d3ca7b717


Deck URLs are broken

Both of the following URLs now return empty data
https://playartifact.com/cardset/00
https://playartifact.com/cardset/01
Similarly, the deck URLs, such as below, just redirect to https://playartifact.com
https://playartifact.com/d/ADCJQUQI30zuwEYg2ABeF1Bu94BmWIBTEkLtAKlAZakAYmHh0JsdWUvUmVkIEV4YW1wbGU_
https://playartifact.com/d/ADCJWkTZX05uwGDCRV4XQGy3QGLmqUBg4GQJgGLGgO7AaABR3JlZW4vQmxhY2sgRXhhbXBsZQ__

And it's fixed. Yay!

It did this yesterday for about an hour, I wouldn't open more issues for API downtime.

This can occur when we're pushing updates or doing testing work which is significantly more frequent now than it will be when the game is public.

I'll keep that in mind. Thanks for following up!

Understandable.  The CDN URL should have close to 100% uptime, but the request API may go down during our maintenance.  If you cache the URL as recommended, you should be good to go.

Just to clarify, we should be caching the card set data not just the URL. Is that right?
For example https://playartifact.com/cardset/0, returns:
{
  "cdn_root": "https:\/\/steamcdn-a.akamaihd.net\/",
  "url": "\/apps\/583950\/resource\/card_set_0.C0748A17E2C08252A9CCE75BB593E62D71DCDA77.json",
  "expire_time":<PHONE_NUMBER>
}

I took the instructions to mean that we should fetch https://steamcdn-a.akamaihd.net/apps/583950/resource/card_set_0.C0748A17E2C08252A9CCE75BB593E62D71DCDA77.json and cache its contents until the expiration time (as opposed to caching that URL for set 0 and re-fetching the data every time).

I also would like this clarified. I assumed we needed to cache the card set json as well.

Yes you should cache the full json blob.


chore(cleanup): Remove council...

Pouring one out for council! Fare thee well!!

bors try

bors try

Approved given the overall idea. I think there are likely a few missing places still that we could regex search "council" for, but this is the right direction!

bors try

bors merge


Multiple subjects with no image caption

Can you add the possibility to train several subjects using a json like in https://github.com/ShivamShrirao/diffusers/commit/351f3b6206f0453706346fd34a337cdf6ac6ef07.
The captioned images look unnecessarily complicated unlike this commit where you just have to specify which folder is the right one for your topic and your class

It's not really complicated, just select all the images and rename one to for example : man_johnsmth.jpg, and the rest would be   johnsmth(1).jpg ... man_johnsmth (2).jpg ....etc, and the instance prompt would be automatically set to "photo of man johnsmth" with  johnsmth being the instance name.
Plus you can caption images to specify objects included in each image if you want advanced training.

Yes but what should I put in "INSTANCE_NAME", "SUBJECT_TYPE" or "CLASS_DIR" since there are several of them?

Because I did as you said by renaming the files with their classes and their instances and I put one of the two names in "INSTANCE_NAME" but at the end I just had the mixture of the two characters

if you check the box "captioned images", It's doesn't matter what you put in instance name "INSTANCE_NAME", it won't be used, it will only use the images names as prompts, "INSTANCE_NAME" would then only serve as the CKPT file name.
if you have an image named : jhnsmth_person_in_a_forest (5).jpg, the instance prompt would automatically be ; "photo of jhnsmth person in a forest, it won't include 'instance name', the images names will become the only source for class and instance name.
as for the class dir, you can mixed all the class images without a problem.
I trained a model on Willem Dafoe and Emilia Clarke at the same time :  (person_woman_emlclrk (1).jpg ...etc) and (person_man_wlmdfo (1).jpg) ... etc) :

i tried to train 2 people at once, both 25 imgs  600 steps, it didn get as good likeness as training just singe one for like 1500 steps, is this method capable of the same results? should i run it for 1500 steps like usual ?

for the best results, use 3000 steps for 2 instance, 1500 for one
yes it is possible to retrain

Ill test it out, tried 4 subjects on shiv, works well with 6k steps but it overfits some subjects while others can be stylised more.
When this repo will support     --sample_batch_size=4 \  , i think this helps to not overfit and learn faster

the default value of --sample_batch_size is already 4, if if I didn't add it to the colab, it is set to 4 ;
from the training script :

 )
    parser.add_argument(
        "--sample_batch_size", type=int, default=4, help="Batch size (per device) for sampling images."
    )

Is it also possible to generate photos having group of multiple trained people/subjects or even when we can train for multiple subjects but a image can only have single subject at a time?

It has no relation to the training, it's the limitation of the technology (for now), even dalle-2 has a hard time rendering more than two specific distinct faces on the same image.
But if you play with the prompts and the weighs, you might get lucky, in this example, I managed to get two trained subjects on the same pic :

Still frame of  emlclrk, ((((with))))  wlmdfo laughing in The background, closeup, cinematic, 1970s film, 40mm f/2.8, real,remastered, 4k uhd, talking
negative prompt :
cartoon, fake, painting, 3d, low poly
Steps: 80, Sampler: Euler, CFG scale: 8.5, Seed:<PHONE_NUMBER>, Size: 704x512, Model hash: fa3de41b, Denoising strength: 0.65, First pass size: 0x0


Fix broken docs and add docs linting to CI

The Clippy lints already being run in CI check for a few docs related issues, however rustdoc has additional lints beyond that:
https://doc.rust-lang.org/rustdoc/lints.html
Several of these lints were reporting warnings when docs are built locally:
$ cargo doc --all-features --document-private-items --no-deps
...
warning: unresolved link to `Display`
 --> libcnb-data/src/newtypes.rs:6:9
  |
6 | /// - [`Display`]
  |         ^^^^^^^ no item named `Display` in scope
  |
  = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
  = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: unresolved link to `FromStr`
  --> libcnb-data/src/newtypes.rs:11:9
   |
11 | /// - [`FromStr`]
   |         ^^^^^^^ no item named `FromStr` in scope
   |
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: unresolved link to `Borrow`
  --> libcnb-data/src/newtypes.rs:12:9
   |
12 | /// - [`Borrow<String>`]
   |         ^^^^^^^^^^^^^^ no item named `Borrow` in scope
   |
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: `libcnb-data` (lib doc) generated 3 warnings
 Documenting example-01-basics v0.1.0 (/Users/emorley/src/libcnb.rs/examples/example-01-basics)
 Documenting example-02-ruby-sample v0.1.0 (/Users/emorley/src/libcnb.rs/examples/example-02-ruby-sample)
warning: unresolved link to `Display`
  --> libcnb/src/buildpack.rs:45:22
   |
45 |     /// (using its [`Display`] implementation) to stderr.
   |                      ^^^^^^^ no item named `Display` in scope
   |
   = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: `libcnb` (lib doc) generated 1 warning

These have now been fixed, and a docs check added to CI.
See also:
https://doc.rust-lang.org/cargo/commands/cargo-doc.html
https://doc.rust-lang.org/rustdoc/linking-to-items-by-name.html
Fixes #247.
GUS-W-10416368.

This is great to have! 👍🏻


Running Azurite with custom port using docker compose

Which service(blob, file, queue, table) does this issue concern?
blob
Which version of the Azurite was used?
latest
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
Docker hub
What's the Node.js version?
What problem was encountered?
I am trying to run azurite with azure function python using custom port via docker compose. I was able to use the custom port to start the azurite and having storage explorer connect to it. I am having issue to start the function.
Steps to reproduce the issue?
My docker compose file looks like
  azurite:
    image: mcr.microsoft.com/azure-storage/azurite
    container_name: azurite
    hostname: azurite
    command: azurite --blobHost <IP_ADDRESS> --blobPort 9310 --queueHost <IP_ADDRESS> --queuePort 9311 --tableHost <IP_ADDRESS> --tablePort 9312 --location /data --debug /data/debug.log --skipApiVersionCheck --loose
    ports:
      - 9310:9310
      - 9311:9311
      - 9312:9312
    restart: "always"
    volumes:
      - ./azurite-data:/workspace
    networks:
      - web

My connection string is
AzureWebJobsStorage=DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite:9310/devstoreaccount1;QueueEndpoint=http://azurite:9311/devstoreaccount1;TableEndpoint=http://azurite:9312/devstoreaccount1

If possible, please provide the debug log using the -d parameter, replacing <pathtodebuglog> with an appropriate path for your OS, or review the instructions for docker containers:
Blob triggered function failed to start
     ---> Azure.RequestFailedException: Service request failed.
    Status: 400 (Bad Request)
    Headers:
     Server: Azurite-Blob/3.29.0
     Date: Tue, 02 Apr 2024 22:38:13 GMT
     Connection: keep-alive
     Keep-Alive: REDACTED
      Content-Length: 0

   at Azure.Storage.Blobs.ContainerRestClient.CreateAsync(Nullable`1 timeout, IDictionary`2 metadata, Nullable`1 access, String defaultEncryptionScope, Nullable`1 preventEncryptionScopeOverride, CancellationToken cancellationToken)
   at Azure.Storage.Blobs.BlobContainerClient.CreateInternal(PublicAccessType publicAccessType, IDictionary`2 metadata, BlobContainerEncryptionScopeOptions encryptionScopeOptions, Boolean async, CancellationToken cancellationToken, String operationName)

Please be sure to remove any PII or sensitive information before sharing!
The debug log will log raw request headers and bodies, so that we can replay these against Azurite using REST and create tests to validate resolution.
Have you found a mitigation/solution?

Hi @wayne-w-cloud ,
With 400 error returned, seems you have successfully connected to Azurite, which means customized port should not be the root cause for the error.
Could you share Azurite's debug log? With the log, we'd be able to see why the 400 happens.

Here is my log. Thanks!
azurite                 | <IP_ADDRESS> - - [03/Apr/2024:11:57:05 +0000] "GET /devstoreaccount1/container/?restype=service&comp=properties HTTP/1.1" 400 -
   | fail: Host.Startup[515]
   |       A host error has occurred during startup operation '7628d72d-14a4-4aef-8c12-42f7d3987340'.
   |       Azure.RequestFailedException: Service request failed.
   |       Status: 400 (Bad Request)
   |
   |       Headers:
   |       Server: Azurite-Blob/3.29.0
   |       Date: Wed, 03 Apr 2024 11:57:05 GMT
   |       Connection: keep-alive
   |       Keep-Alive: REDACTED
   |       Content-Length: 0
   |
   |          at Azure.Storage.Blobs.ServiceRestClient.GetPropertiesAsync(Nullable`1 timeout, CancellationToken cancellationToken)
   |          at Azure.Storage.Blobs.BlobServiceClient.GetPropertiesInternal(Boolean async, CancellationToken cancellationToken)
   |          at Azure.Storage.Blobs.BlobServiceClient.GetPropertiesAsync(CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.Listeners.BlobLogListener.EnableLoggingAsync(BlobServiceClient blobClient, CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.Listeners.BlobLogListener.CreateAsync(BlobServiceClient blobClient, ILogger`1 logger, CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.Listeners.PollLogsStrategy.RegisterAsync(BlobServiceClient blobServiceClient, BlobContainerClient container, ITriggerExecutor`1 triggerExecutor, CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.Listeners.ScanBlobScanLogHybridPollingStrategy.RegisterAsync(BlobServiceClient blobServiceClient, BlobContainerClient container, ITriggerExecutor`1 triggerExecutor, CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.Listeners.BlobListenerFactory.RegisterWithSharedBlobListenerAsync(String hostId, SharedBlobListener sharedBlobListener, BlobServiceClient blobClient, BlobTriggerQueueWriter blobTriggerQueueWriter, CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.Listeners.BlobListenerFactory.CreateAsync(CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer.ListenerFactory.CreateAsync(CancellationToken cancellationToken) in D:\a\_work\1\s\src\Microsoft.Azure.WebJobs.Host\Indexers\FunctionIndexer.cs:line 485
   |          at Microsoft.Azure.WebJobs.Host.Listeners.HostListenerFactory.CreateAsync(CancellationToken cancellationToken) in D:\a\_work\1\s\src\Microsoft.Azure.WebJobs.Host\Listeners\HostListenerFactory.cs:line 64
   |          at Microsoft.Azure.WebJobs.Host.Listeners.ListenerFactoryListener.StartAsyncCore(CancellationToken cancellationToken) in D:\a\_work\1\s\src\Microsoft.Azure.WebJobs.Host\Listeners\ListenerFactoryListener.cs:line 45
   |          at Microsoft.Azure.WebJobs.Host.Listeners.ShutdownListener.StartAsync(CancellationToken cancellationToken) in D:\a\_work\1\s\src\Microsoft.Azure.WebJobs.Host\Listeners\ShutdownListener.cs:line 29
   |          at Microsoft.Azure.WebJobs.JobHost.StartAsyncCore(CancellationToken cancellationToken) in D:\a\_work\1\s\src\Microsoft.Azure.WebJobs.Host\JobHost.cs:line 99
   |          at Microsoft.Azure.WebJobs.Script.ScriptHost.StartAsyncCore(CancellationToken cancellationToken) in /src/azure-functions-host/src/WebJobs.Script/Host/ScriptHost.cs:line 264
   |          at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   |          at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsScriptHostService.UnsynchronizedStartHostAsync(ScriptHostStartupOperation activeOperation, Int32 attemptCount, JobHostStartupMode startupMode) in /src/azure-functions-host/src/WebJobs.Script.WebHost/WebJobsScriptHostService.cs:line 376
   | info: Microsoft.Azure.WebJobs.Hosting.JobHostService[0]
   |       Stopping JobHost
   | info: Host.Startup[314]
   |       Loading functions metadata
   | Hosting environment: Production
   | Content root path: /azure-functions-host
   | Now listening on: http://[::]:80
   | Application started. Press Ctrl+C to shut down.

Additional info.Azurite is running on expected port
azurite  | Azurite Blob service is starting at http://<IP_ADDRESS>:9310
azurite  | Azurite Blob service is successfully listening at http://<IP_ADDRESS>:9310
azurite  | Azurite Queue service is starting at http://<IP_ADDRESS>:9311
azurite  | Azurite Queue service is successfully listening at http://<IP_ADDRESS>:9311
azurite  | Azurite Table service is starting at http://<IP_ADDRESS>:9312
azurite  | Azurite Table service is successfully listening at http://<IP_ADDRESS>:9312

When I connect it using Azure storage Explore. It is default to

Could this be an issue?

Hi @wayne-w-cloud
Can you enable debug log in Azurite? Following is a sample to let Azurite in docker output debug log to folder c:/azurite:/workspace:
docker run -p 7777:7777 -p 8888:8888 -p 9999:9999 -v c:/azurite:/workspace mcr.microsoft.com/azure-storage/azurite azurite -l /workspace -d /workspace/debug.log --blobPort 7777 --blobHost <IP_ADDRESS> --queuePort 8888 --queueHost <IP_ADDRESS> --tablePort 9999 --tableHost <IP_ADDRESS>
You can see it map docker container's workspace to c:/azurite:/workspace, and output debug log to workspace folder.

No response from customer for several months. Close this issue for now, any further investigation needed, please feel free to reopen the issue.


ACME HTTP01 solver: Ingress is not updated when a service name changes and certificate is never issued

Describe the bug
When using a ClusterIssuer configured as follows:
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  annotations:
  generation: 3
  name: letsencrypt-nginx-fake
  resourceVersion: "48740658"
  selfLink: /apis/cert-manager.io/v1alpha2/clusterissuers/letsencrypt-nginx-fake
  uid: 3d1f9ba7-0aca-11ea-b4dd-42010a940fd5
spec:
  acme:
    email<EMAIL_ADDRESS>    privateKeySecretRef:
      name: letsencrypt-fake
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    solvers:
    - http01:
        ingress:
          class: nginx
      selector: {}

And attempting to issue a certificate for multiple domains:
Name:         cert-bnkto
Namespace:    test-0fb55da0
Labels:       <none>
Annotations:  <none>
API Version:  cert-manager.io/v1alpha2
Kind:         Certificate
Metadata:
  Creation Timestamp:  2019-12-07T21:38:15Z
  Generation:          1
  Owner References:
    API Version:           extensions/v1beta1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  Ingress
    Name:                  bnkto
    UID:                   e08c7396-1939-11ea-b4dd-42010a940fd5
  Resource Version:        49835716
  Self Link:               /apis/cert-manager.io/v1alpha2/namespaces/test-0fb55da0/certificates/cert-bnkto
  UID:                     e08eb1fb-1939-11ea-b4dd-42010a940fd5
Spec:
  Dns Names:
    test-0fb55da0.bnk.to
    api.test-0fb55da0.bnk.to
    dev.test-0fb55da0.bnk.to
    doc.test-0fb55da0.bnk.to
    auth.test-0fb55da0.bnk.to
    idp.test-0fb55da0.bnk.to
    disbursement.test-0fb55da0.bnk.to
    fastcheckout.test-0fb55da0.bnk.to
    fcoweb.test-0fb55da0.bnk.to
  Issuer Ref:
    Group:      cert-manager.io
    Kind:       ClusterIssuer
    Name:       letsencrypt-nginx-fake
  Secret Name:  cert-bnkto
Status:
  Conditions:
    Last Transition Time:  2019-12-07T21:38:16Z
    Message:               Waiting for CertificateRequest "cert-bnkto-953187930" to complete
    Reason:                InProgress
    Status:                False
    Type:                  Ready
Events:
  Type    Reason        Age   From          Message
  ----    ------        ----  ----          -------
  Normal  GeneratedKey  13m   cert-manager  Generated a new private key
  Normal  Requested     13m   cert-manager  Created new CertificateRequest resource "cert-bnkto-953187930"

We end up with one domain, in this example doc.test-0fb55da0.bnk.to  's challenge getting stuck.
We suspect this is because the ingress created:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/whitelist-source-range: <IP_ADDRESS>/0,::/0
  creationTimestamp: "2019-12-07T21:38:24Z"
  generateName: cm-acme-http-solver-
  generation: 1
  labels:
    acme.cert-manager.io/http-domain: "1729431587"
    acme.cert-manager.io/http-token: "1130827427"
    acme.cert-manager.io/http01-solver: "true"
  name: cm-acme-http-solver-c8qbh
  namespace: test-0fb55da0
  ownerReferences:
  - apiVersion: cert-manager.io/v1alpha2
    blockOwnerDeletion: true
    controller: true
    kind: Challenge
    name: cert-bnkto-953187930-83349459-3245750807
    uid: e3036eab-1939-11ea-b4dd-42010a940fd5
  resourceVersion: "49836677"
  selfLink: /apis/extensions/v1beta1/namespaces/test-0fb55da0/ingresses/cm-acme-http-solver-c8qbh
  uid: e58759cb-1939-11ea-b4dd-42010a940fd5
spec:
  rules:
  - host: doc.test-0fb55da0.bnk.to
    http:
      paths:
      - backend:
          serviceName: cm-acme-http-solver-45jxx
          servicePort: 8089
        path: /.well-known/acme-challenge/tAME5vpSxIWdHSWe0YkQWvGBg0fmtmP7pe6A_QPHoaI
status:
  loadBalancer:
    ingress:
    - ip: <IP_ADDRESS>

points to the wrong solver service:
apiVersion: v1
kind: Service
metadata:
  annotations:
    auth.istio.io/8089: NONE
  creationTimestamp: "2019-12-07T21:38:28Z"
  generateName: cm-acme-http-solver-
  labels:
    acme.cert-manager.io/http-domain: "1729431587"
    acme.cert-manager.io/http-token: "1130827427"
    acme.cert-manager.io/http01-solver: "true"
  name: cm-acme-http-solver-wt5vj
  namespace: test-0fb55da0
  ownerReferences:
  - apiVersion: cert-manager.io/v1alpha2
    blockOwnerDeletion: true
    controller: true
    kind: Challenge
    name: cert-bnkto-953187930-83349459-3245750807
    uid: e3036eab-1939-11ea-b4dd-42010a940fd5
  resourceVersion: "49836226"
  selfLink: /api/v1/namespaces/test-0fb55da0/services/cm-acme-http-solver-wt5vj
  uid: e7c4bbb5-1939-11ea-b4dd-42010a940fd5
spec:
  clusterIP: <IP_ADDRESS>
  externalTrafficPolicy: Cluster
  ports:
  - name: http
    nodePort: 32532
    port: 8089
    protocol: TCP
    targetPort: 8089
  selector:
    acme.cert-manager.io/http-domain: "1729431587"
    acme.cert-manager.io/http-token: "1130827427"
    acme.cert-manager.io/http01-solver: "true"
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}

Notice that the ingress points to cm-acme-http-solver-45jxx but the only service active is cm-acme-http-solver-wt5vj.
This results in the certificate never getting issued.
  Multiple services are deleted, and cleaned up, followed by yet another service being created. Beyond this point, nothing happens, and the certificate is never issued.
Expected behaviour
Our current hypothesis is that the ingress does not update if the service name changes. We would expect that if the services are all deleted, and a new one created, that the ingress is updated accordingly.
Looking at https://github.com/jetstack/cert-manager/blob/master/pkg/issuer/acme/http/ingress.go#L84 , it seems like the ingress is only updated if it's httpDomainCfg Name is empty, otherwise if the service name changes no updates are made.
Steps to reproduce
This bug is racey and we haven't been able to reproduce it. It only happens if another service is created after the ingress, causing existing service to be cleaned up, and another service to be created. We see this bug occasionly since we run tests which issue certs like this every hour or so. Sometimes we won't see this happen for a day or two, only to see it again.
/kind bug

I think you have to promote your issue on the Slack : https://kubernetes.slack.com/archives/C4NV3DWUC

I also experienced that with the latest v0.12.0.
The only way to fix the race is to run kubectl delete certificate XXXXX and then wait for another ~9 minutes and see if you "won the race" 😉
Good luck!

I'm still seeing this on v0.14.0 (after having tried 0.13.0 and 0.13.1) Deleting the certificates doesn't seem to make a difference.


Very small training loss values

Hello, I got a loss value of just 0.0218 for the first epoch in the second training, because I didn't pay attention to the loss value in the first training, and I would like to ask if such a small loss value is the right thing to do.

Hello @JiangHaiting ,
Can you clarify a bit on what you mean by first training and second training ?
Also are you training on mnist dataset ?

I used your code for the first training a month and a half ago, when it was configured for the MNIST dataset, and ran the sampling file as well at that time, and I left it alone after I got the correct results, but now I want to draw a loss curve graph, so I did a second training on this code, but this time the training started out with a very low loss value of only 0.0218

宀
@.***

------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年12月16日(星期一) 下午2:22
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [explainingai-code/DDPM-Pytorch] Very small training loss values (Issue #10)
Hello @JiangHaiting ,
Can you clarify a bit on what you mean by first training and second training ?
Also are you training on mnist dataset ?
—
Reply to this email directly, view it on GitHub, or unsubscribe.

Can you comment this block here or rename your saved checkpoint to a different name and the run training again.
Once you do that you should see a value of 0-2-0.3 after first epoch and then after entire training is finished, you should see values like 0.02.

Thank you very much! But since I'm a newbie, I'd like to ask if it's better to rename the ddpm_ckpt.pth file that I got from the previous training completion?
Also, when I look at the README file you gave me again, I see in the Output that it says “creates a folder with the task_name key in the configuration file every time you run it”, but I don't see this folder when I run it, so do I need to create it manually?

宀
@.***

------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年12月16日(星期一) 下午2:33
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [explainingai-code/DDPM-Pytorch] Very small training loss values (Issue #10)
I am guessing the low loss value is because training resumed from the checkpoint that you last saved.
Can you comment this block here or rename your saved checkpoint to a different name and the run training again.
Once you do that you should see a value of 0.2-0.3 after first epoch and then after entire training is finished, you should see values like 0.02.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Yeah renaming works, as it allows you to pause and resume the current training run that you are interested in.
So just rename the old checkpoint and then ddpm_ckpt.pth will be the checkpoint saved for your new run.
Regarding the folder, it should be created every time you run - https://github.com/explainingai-code/DDPM-Pytorch/blob/main/tools/train_ddpm.py#L45 (if it already does not exist).
In your DDPM-Pytorch folder, is there no sub-folder named default or whatever is the value of this key (in case you changed it)

In my DDPM-Pytorch folder there is a subfolder named default, my latest model checkpoints are stored directly under default, as long as I can save the latest checkpoints, will it matter if I don't have a task_name subfolder?

宀
@.***

------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年12月16日(星期一) 下午2:45
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [explainingai-code/DDPM-Pytorch] Very small training loss values (Issue #10)
Yeah renaming works, as it allows you to pause and resume the current training run that you are interested in.
So just rename the old checkpoint and then ddpm_ckpt.pth will be the checkpoint saved for your new run.
Regarding the folder, it should be created every time you run - https://github.com/explainingai-code/DDPM-Pytorch/blob/main/tools/train_ddpm.py#L45 (if it already does not exist).
In your DDPM-Pytorch folder, is there no sub-folder named default or whatever is the value of this key (in case you changed it)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

In the README when I say task_name folder , I mean the value for the key task_name in config file, which is default.
So as long as you have a default folder, everything is fine.
Sorry about the confusion.

Ok ok, again thank you so much for answering my questions, have a great life!

宀
@.***

------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年12月16日(星期一) 下午2:59
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [explainingai-code/DDPM-Pytorch] Very small training loss values (Issue #10)
In the README when I say task_name folder , I mean the value for the key task_name in config file(default.yaml), which is default.
So as long as you have a default folder, everything is fine.
Sorry about the confusion.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

No problem at all :) Feel free to re-open the issue and ask incase you end up having any doubts regarding this.


contrabandInventory Changes

About the PR
I've added contrabandInventory menus, the kind that you access by manipulating the "Manager" wire on vending machines, to nearly every vending machine SS14.
Why / Balance
contrabandInventory is a woefully under-explored mechanic in SS14, and I wanted to take advantage if the world-building, flavour and gameplay opportunities available from populating these secret menus.
To note, beyond securing the equipment, hacking a vending machine isn't hard once you locate the Manager Wire in any given round. There are a few goals I have in mind:

The items inside of the machines should be faithful to what those machines are.
The items inside of the machines should raise questions about the SS14 universe, the corporations behind these machines, and what happened on the space station before the crew arrived on disaster day.
None of these items should become meta. If a vending machine begs to be hacked every shift, the items inside are too powerful.
The items shouldn't be high-end prestige items, but they should be interesting.
The vending machine stocks should never invalidate the role of Cargo in station function.

Two major changes of note:
First, Changeling Sting has been removed from the Shamblers EMAG menu, and Syndi-Cakes has been removed from the GetMore EMAG menu, to move those items to their contrabandInventory menus.
Second, figurines have been placed in their revelevant Drobe machines.
My reasoning for adding figurines to the machines is as follows:

It removes a lot of weight from purchasing figurines from Cargo, which is a fairly friviolous purchase, and makes obtaining a full crew set much more reasonable.
It gives a reason for innocent people to trespass or seek permission to hack Drobes for roleplaying purposes. It makes every department a bit less secure, which is fun for antags and an added joy for Security.
It can allow us to return the figurine objective back to Thief by making obtaining figurines accessible by hacking a crap-ton of Drobes across the station. It adds an element to thief gameplay that is interesting and different, but isn't in itself illegal.
Toys are fun, seeing more figures is part of what makes Cog interesting in its design, I'd love to see them show up more often.
This makes the Cargo figurine bounty much less awful to accomplish by making it reasonable to complete for knowledgeable players.

Technical details
I went through every vending machine .yml file, added a "contrabandInventory:" line if there wasn't one, then added each item for those menus. I kept formatting consistent with the currently .yml files.
Media
Here is a video of how to access the contrabandInventory menu, and showing every vending machine contrabandInventory menu. EMAG menus not included. Video uploaded to YouTube due to file size, video is approximately 5 minutes long.
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes
Merge Conflict with medidrobe.yml, seems simple to fix, requesting input.
Changelog
:cl:

add: Added manager wire hacking menus to nearly all vending machines. Get hacking!

Simple issue with the medidrobe.yml, it looks like my version was pre-change, anyone with write access can easily fix the issue.

The - add should be in a new line after the :cl: or the bot won't be able to read it.

Done and done, I think.

Well, this is just what i did, but actually makes sense

None of these items should become meta. If a vending machine begs to be hacked every shift, the items inside are too powerful.

I suppose multitool is getting removed from toolvend cause its damn close to being 100% cut managament wire nowadays.

Well, this is just what i did, but actually makes sense

There are a few things I like in your proposal, namely the water bottles in the BoozeOMat, the Cyborg Cardboard Hat in the Robotech Deluxe (noting that it's already available in the TheaterDrobe) and adding a bar or two of soap to a vending machine in general. I'll have to think on these a bit more, or maybe add them in a future revision.

I suppose multitool is getting removed from toolvend cause its damn close to being 100% cut managament wire nowadays.

It's probably the most meta Manager Wire item in the game currently, because it's the only remotely useful one, and it appeals to Greytiders. The cost of multitools is mostly having someone willing to give you one if you're a Passenger, rather than the device actually being expensive at the autolathe.
I'll note that the Cow Toolbox that I've added to the YouTool also has a functioning multitool, and unlike most of the items in that toolbox, it's not a nerfed version of it, so I'm effectively doubling the number of hackable multitools in the game. I'm not convinced that this will cause a real balance issue, but maybe people have opinions on this one.

Due to issues with the merge conflict and me not knowing how to SmartGit, I need to redo all of this from scratch and test it again. The content will likely remain the same when I do the next pull request.


ESLint doesn't validate props if they are exported to a var or module.

I'm trying to apply the cenralized proptypes pattern
https://medium.freecodecamp.org/react-pattern-centralized-proptypes-f981ff672f3b
but ESLint validation doesn't work with proptypes exported or saved in a variable as shown on screenshot below

Could you help me to fix this?
Deps:
"eslint-plugin-react": "^7.12.4"
"eslint": "^5.16.0"
"babel-eslint": "^10.0.1"

cc @alexzherdev

Hi! Do you have any news?


Plugin ordering issue in the eslint example (for Typescript files)

The eslint example didn't work out of the box because any typescript related eslint configs are applied after source transform.
Esbuild transpiles .ts files to plain javascript, then eslint runs on its output. If eslint config has rules for typescript it complains about missing return types and whatnot. The giveaway is the line numbers are incorrect, and the errors in the IDE don't match those thrown on vite build.
Found the fix here: https://github.com/ehutch79/vite-eslint#warning
Adding the enforce setting fixes the issue. The eslint worked as expected in serve and build modes:
{
      ...eslint({
        include: "./src/**/*.(vue|js|jsx|ts|tsx)",
      }),
      enforce: "pre",

      // uncomment this to lint only on `vite build`
      // apply: "build",
    },

As a side note,
in your examples you use file patterns like this: '**/*.+(vue|js|jsx|ts|tsx)'. I think this allows to match file..ts ? Is there a specific reason to allow "one or more dots" before the file extension?

Nice! I tested it without ts, good catch! Would you like to send a PR to add the enforce flag?
About the +, it is a https://github.com/isaacs/minimatch pattern. They are not using regex for this.

Would you like to send a PR to add the enforce flag?

Sure I guess I can learn a few things. Created a PR

There is a cache issue with the dev-server. I haven't been able to create a minimal reproduction for it, so I am unable to report the issue. When this happens, I remove the imports from App.vue, the dev fails in the browser, and the caches are busted. When I add back the imports, it works again. It happens when I update dependencies. It will surely be fixed soon :)
Thanks again for opening the first issue and creating the first PR for the project 🙌🏼

https://twitter.com/patak_js/status/1367487899621593097, thanks ;)

YW. Red your pinned article. Nice intro to Vite. I didn't even think much about it yet, but you are right, it truly is magic to have the almost instant feedback loop . It's like coming back to a time where Javascript & CSS was actually fun. I had to endure two years of nuxt ssr + tailwind, 3+ seconds of refresh time after a simple change in a vue file, routine crashes of nodejs, our laptops upgraded to 1GB just to run a Javascript compiler, ugh..
And now you have WindiCSS that also almost instantly compiles the tailwind classes :)

Yes, we are entering a new stage in dev tooling. Looking forward to our IDEs also catching up
With tools and extensions like these ones https://twitter.com/vite_js/status/1366312716185526273


F5 and data lose

When we create an app we also test it. If we use F5 to publish app, then go to pages, fill some data. If we find some bug, we go back to VS Code, change code and ... press F5 once again? In such case we lose all data inputed earlier. How to avoid this?

Seems this is not yet fixed.. #62

This is not implemented yet. It will be a couple more updates before we get to this feature.


2+1 records in /out

Right rooting have to records 2+1 records in /out?

My results was 0+1 records in /out
i do not know why was that
and i failed.
do u know why was that?
what is the means that 2+1 records?

Need a bit more details.
Yanzi
On Sat, Mar 23, 2019, 08:38 hyunky<EMAIL_ADDRESS>wrote:

Right rooting have to records 2+1 records in /out?
http://url
My results was 0+1 records in /out
i do not know why was that
and i failed.
do u know why was that?
what is the means that 2+1 records?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/HappyZ/dpt-tools/issues/79, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEdSKgLD4ZP2iutOracgCB6LNI2KLFYMks5vZi5ggaJpZM4cE6yj
.

Maybe you can get the log and take a photo of the record and mark where this happens. I have no idea what you mean by 2+1 records in/out

at the last step in mingw64,

Confirm to continue? [yes/no]: yes
[info]/tmp/sdtmp already exist, we are fiem
[info]/tmp/sdtmp/boot.img.badk MD5:1867e8378c68753224677 ........
[info] Fingercrossing Do NOT touch the device!
[info]
2+1 records in
2+1 records out
11239424 bytes (10.7MB) copied , ........
root@FPX-1010:#
[info]Success!
that is the right resuts that iknow

but my results is 0+1 records in
0+1 records out
then reboot , no bootimage appear just blank white screen.
so i restored firt bootimg.bak file upload,
that was 4+0 records in
4+0 records out
and my dpt goes back to first screen that was before rooting.
why my wrong rooting that records 0+1?
...

are you trying to change the boot image?
when you copy the img to the disk, eject properly. best is after you copied, reboot dpt first, and check if in the disk it is the correct img, and then recover
0 means no file found

Can u explain how do eject???

What mean eject disk????

And  one more question,,
When i update pkg file JB JB2 ...
Dpt cp1 appear
Error 900001
Is it okay ???
That is concerned with upper issue???

When eject disk
Should i do hardware safety eject that usually do when we use plastick usb ?
Is it same???

I suggest you to use my PKGs instead of using the script to manually do the boot img update.

Where is the PKGs????

READ THE WIKI before you know what you are actually doing. If you have questions not stating in the wiki, clearly state what you are doing, and what you did wrong.
Just fyi, you should learn to respect people when you type multiple question marks.

I ‘m sorry for lots of question.
Thank u for answering!!!!
And thank u for developing!!!

closed as wiki should have explained all necessary steps; if further questions rise, please start a new issue and describe it specifically


Add support for power panel site energy statistics

Additional charging_services api endpoints provide energy stats for power panel sites.
Those data will be merged into existing energy details of power_services endpoints for balcony power systems.
Additional fields may be added to the cached energy details and existing ones may be relabeled for a common field naming that will match various power system types.
The daily energy field units will be standardized to kWh.
The daily percentage share fields will be standardized to a float, where 1 represents 100%.
The solarbank monitor will be enhanced to display the additional fields and consider any renaming of fields

A fix was implemented into energy details polling routines to reduce the number of queries for energy stats when yesterday's data had to be polled.


how to change tab title from any pages

I want to change the page title based on the api call from any pages. how can i do this

Tab title is based on ViewPagerTab object which is provided through its datasource method
func tabsForPages() -> [ViewPagerTab].
The way you can do is,

Get whatever information you want from api calls necessary to change ViewPagerTab
Update the array of ViewPagerTab which you are providing as datasource for above mentioned method.

is it possible to cahnge the tab title from any pages (childview controller)

No, The tab title can be only changed from view controller which is the data source for ViewPagerController.
Create a custom protocol which notifies Parent view controller ( which is conforming to viewpager datasource ) from Child View Controller. Notify from child view controller and update the view pager tab array.

thanks, nrlnishan

Hi nrlnishan, I have created custom protocol but i am not able to update tab title can u please help me how can i update here is my code
extension CartVC : UpdateTabTitleDelegate{
func didupdatePageTitle() {
tabs = [
ViewPagerTab(title: "10\nBuy", image: nil),
ViewPagerTab(title: String(format: "%@\nWant", "15"), image: nil),
ViewPagerTab(title: "10\nHistory", image: nil),
]
self.tabsForPages()
}
}
it is not working please help

Hi @sahabe1 ,
Since the tab is setup initially, it is only obtained once from datasource. So even if you changed the ViewPagerTab array in datasource, i found that it doesnot get updated. Sorry, This is a silly design mistake in my part.
I will fix this and try to provide the simple way of updating tabs, i.e indicating that the tabs/content should be refreshed asap along with cocoapod support.

@sahabe1 , The above mentioned issue has been fixed and the ability to change the tab has been added. Please checkout the Additional section in Readme
Thanks


Add createRef

Implemented in developit/preact#1138, we just have to export it here.
This won't do anything until Preact 8.4.0 is released.

Any updates on when we can expect this in the open?

@hontas sorry for the delay in replying - this PR is waiting on Preact 8.4.0. The upstream PR has been merged, so the release should go out pretty soon. I believe it was stalled on determining if it would be an 8.4 or a 9.0 release since there are other API changes afoot.

Hey! Any ideas when this will go out now that the new release of preact has been published?

ha! thanks for the tip-off @timnovis, I had forgotten to publish. Time for a preact-compat release I guess!

Hey @developit - Can we expect this release imminently? I've made the change locally so I can get some stuff done but I'm just conscious that it won't work for anyone else who pulls my branch down, thanks again dude! 👍


How do you read the lines of code in the editor?

I am trying to read the lines of code in the editor, and the GetValue().ToString() does not work.  I have seen many people online having this issue with Monaco in general, and was wondering if you knew how to get to the lines of code in BlazorMonaco.  I really don't care how I get to them or what they come in as, but I need to see the lines of code.

Hi @swmiller1,
Are you able to compile with the TextModel.GetValue() call?
I get the following compilation error:
'TextModel' does not contain a definition for 'getValueInRange' and no accessible extension method 'getValueInRange' accepting a first argument of type 'TextModel' could be found`
Can you post the code of your call?

This is not full Monaco, it is BlazorMonaco that allows Monaco to be used in Blazor.  Not everything in Monaco works in BlazorMonaco, and I agree that TextModel.GetValue() was apparently one of the things that was not brought over (it does not work).  BlazorMonaco is open source, so you can play around with it and try to add that functionality, or we can wait for someone else to add it.

If you set the @ref value on the MonacoEditor itself, you can access the value with:
<MonacoEditor @ref="_editor" .../>

@code {
  private MonacoEditor _editor { get; set; }

  private async Task SomeEventCallback()
  {
    var code = await _editor.GetValue();
    //Do something with the string
  }
}

Note that the returned value includes \n for each of the linebreaks, so if you need the lines of code, it's a simple splitting exercise at that point to work out individual lines.

TextModel methods are added to BlazorMonaco in version 2.0.0


Add Dockerfile

Add a Dockerfile to the sample as TAP has started to support pre-built images

I would prefer to rely on spring-boot to generate the image using something like:
./mvnw spring-boot:build-image -Dspring-boot.build-image.imageName=${REGISTRY_PREFIX}/tanzu-java-web-app

see: https://docs.spring.io/spring-boot/docs/2.6.6/maven-plugin/reference/htmlsingle/#goals-build-image (edited)
10:14
that gives you a nicely layered image and it uses buildpacks locally to produce the image