Bug: All thumbnails broken

What are you trying to achieve?
Try to upload another image into product "Gift card 50".
Upon upload, under Media in the Product page blinked with a small version of the image, then it should the broken graphic.

Steps to reproduce the problem

open any product under Products
to the right of Media there is the Upload button. click it
upload an image
then you see a new graphic place holder, with broken image icon

What did you expect to happen?

thumbnail to be uploaded and displayed

Logs
Standard output: dashboard_1  | <IP_ADDRESS> - - [02/Dec/2024:07:40:10 +0000] "GET /thumbnail/UHJvZHVjdE1lZGlhOjUw/1024/ HTTP/1.1" 404 555 "https://shop.tourdefarm.com/dashboard/products/UHJvZHVjdDoxNjQ%3D" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" "-"
dashboard_1  | 2024/12/02 07:40:10 [error] 37#37: *59 "/app/dashboard/thumbnail/UHJvZHVjdE1lZGlhOjUw/1024/index.html" is not found (2: No such file or directory), client: <IP_ADDRESS>, server: localhost, request: "GET /thumbnail/UHJvZHVjdE1lZGlhOjUw/1024/ HTTP/1.1", host: "shop.tourdefarm.com:9000", referrer: "https://shop.tourdefarm.com/dashboard/products/UHJvZHVjdDoxNjQ%3D"
Console output: 404
Environment
dashboard v3.20.20
core v3.20.56

And thank you for the report one more time @charleslcso. Sorry you had to encounter so many things broken at your initial encounter with Saleor.
Internal link to track the bug report: MERX-1325: saleor/saleor#17120 — Bug: Thumbnails link broken

And thank you for the report one more time @charleslcso. Sorry you had to encounter so many things broken at your initial encounter with Saleor.
Internal link to track the bug report: MERX-1325: saleor/saleor#17120 — Bug: Thumbnails link broken

Thank you.
I've just set up storefront, and the thumbnails are also broken there too.
Output from shop.tourdefarm.com linking to saleor.tourdefarm.com:
✓ Compiled /not-found in 6s (820 modules)
⨯ upstream image response failed for https://saleor.tourdefarm.com/thumbnail/UHJvZHVjdE1lZGlhOjE3/1024/webp/ 404
⨯ upstream image response failed for https://saleor.tourdefarm.com/thumbnail/UHJvZHVjdE1lZGlhOjQ0/1024/webp/ 404
⨯ upstream image response failed for https://saleor.tourdefarm.com/thumbnail/UHJvZHVjdE1lZGlhOjM0/1024/webp/ 404
⨯ upstream image response failed for https://saleor.tourdefarm.com/thumbnail/UHJvZHVjdE1lZGlhOjI=/1024/webp/ 404
Here saleor.tourdefarm.com is the Dashboard and platform. Storefront is at shop.tourdefarm.com.

@charleslcso  If you saleor run with production mode, djungo will not handle media for you, It is static file  in saleor path ,
you have to handle it by yourself eg. by nginx to access

Hi @charleslcso I was checking it on the same environment and I couldn't reproduce your issue
 . Uploading images and uploading via URL is working fine on my side. Which browser did you use?

I used Brave for macOS. After getting your reply I tried to use FireFox. Same broken thumbnails.
Here is the output from FF.

From @nawajar he said I need to handle to static media myself. Let me check Saleor's doc on how to set this up and try again.

I just wanted to let you know that I can see the same problem when I am uploading using a direct URL.  It's reported, I will be back when it is fixed

I just wanted to let you know that I can see the same problem when I am uploading using a direct URL. It's reported, I will be back when it is fixed

Great news!
Wondering how it works... at first you said URL is fine. Then direct URL is broken.
Should I know the difference for setting it up correctly?

I just wanted to let you know that I can see the same problem when I am uploading using a direct URL. It's reported, I will be back when it is fixed

Great news!
Wondering how it works... at first you said URL is fine. Then direct URL is broken.
Should I know the difference for setting it up correctly?

My mistake, I confused environments.

Hi @charleslcso! It looks like a NGINX misconfiguration:

Check you are forwarding the /thumbnail/ path to the Saleor Backend, e.g.: location /thumbnail/ {
     # [...]
     proxy_pass http://backend.local:1234;  # (dummy backend, replace this)
 }

From the logs, it currently looks like NGINX is trying to serve a file from the disk rather than forwarding it to the backend.
If the issue is still present, could you post the NGINX configuration you are running?

Hope it helps!

Hi @charleslcso! It looks like a Nginx misconfiguration:

Check you are forwarding the /thumbnail/ path to the Saleor Backend, e.g.:
 location /thumbnail/ {
     # [...]
     proxy_pass http://backend.local:1234;  # (dummy backend, replace this)
 }

From the logs, it currently looks like Nginx is trying to serve a file from the disk rather than forwarding it to the backend.

If the issue is still present, could you post the Nginx configuration you are running?

Hope it helps!

Hello, which port number should I use for thumbnails?

Hi @charleslcso! It looks like a Nginx misconfiguration:

Check you are forwarding the /thumbnail/ path to the Saleor Backend, e.g.:
 location /thumbnail/ {
     # [...]
     proxy_pass http://backend.local:1234;  # (dummy backend, replace this)
 }

From the logs, it currently looks like Nginx is trying to serve a file from the disk rather than forwarding it to the backend.

If the issue is still present, could you post the Nginx configuration you are running?

Hope it helps!

Hello, which port number should I use for thumbnails?

Hey! By default the Saleor backend listens on 8000

Add the /thumbnail/ path to Nginx. Uploaded a new photo to saleor-platform via Dashboard.
Still broken.
Here is Nginx's config.
  server {
    server_name saleor.tourdefarm.com;

    root /var/www/html/saleor/;

    access_log /var/log/nginx/saleor.tourdefarm.com.access.log;
    error_log /var/log/nginx/saleor.tourdefarm.com.error.log;

    index index.html index.php;

    keepalive_timeout 70;
    gzip on;
    gzip_min_length 10240;
    gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;

    location / {
            proxy_pass http://saleor.tourdefarm.com:9000/;
            #proxy_set_header X-Forwarded-Host \$host;
            #proxy_set_header X-Forwarded-Server \$host;
            #proxy_set_header X-Real-IP $remote_addr;
            #proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
            #proxy_set_header Host $host;
            proxy_http_version 1.1;
            #proxy_set_header   Upgrade $http_upgrade;
            #proxy_set_header   Connection "upgrade";
            client_max_body_size 60M;
            proxy_connect_timeout 300;
            proxy_send_timeout 300;
            proxy_read_timeout 300;
            send_timeout 300;
    }

    location /thumbnail/ {
            proxy_pass http://saleor.tourdefarm.com:8000/;
            proxy_http_version 1.1;
    }

    location /graphql/ {
            proxy_pass http://saleor.tourdefarm.com:8000/graphql/;    # <- must end with /!
            #proxy_set_header X-Forwarded-Host \$host;
            #proxy_set_header X-Forwarded-Server \$host;
            #proxy_set_header X-Real-IP $remote_addr;
            #proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
            #proxy_set_header Host $host;
            proxy_http_version 1.1;
            #proxy_set_header   Upgrade $http_upgrade;
            #proxy_set_header   Connection "upgrade";
            client_max_body_size 60M;
            proxy_connect_timeout 300;
            proxy_send_timeout 300;
            proxy_read_timeout 300;
            send_timeout 300;
    }

    location /graphql {
            proxy_pass http://saleor.tourdefarm.com:8000/graphql/;    # <- must end with /!
            #proxy_set_header X-Forwarded-Host \$host;
            #proxy_set_header X-Forwarded-Server \$host;
            #proxy_set_header X-Real-IP $remote_addr;
            #proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
            #proxy_set_header Host $host;
            proxy_http_version 1.1;
            #proxy_set_header   Upgrade $http_upgrade;
            #proxy_set_header   Connection "upgrade";
            client_max_body_size 60M;
            proxy_connect_timeout 300;
            proxy_send_timeout 300;
            proxy_read_timeout 300;
            send_timeout 300;
    }

    listen 443 ssl http2; # managed by Certbot
    ssl_certificate /root/.acme.sh/saleor.tourdefarm.com_ecc/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/saleor.tourdefarm.com_ecc/saleor.tourdefarm.com.key;
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

  }

Like i said if you are running saleor on production mode, It will not serve static file on http server , so it is only a file path on you machine you have to setting route to serve.

server {
server_name _;
listen 80;
     location /media/ {
          autoindex on;
          root  /path/to/you/media/file
        }

     location /static/ {
          autoindex on;
          root  /path/to/you/static/file
        }

}
more info https://docs.djangoproject.com/en/4.2/howto/static-files/deployment/

@charleslcso could you double check that you get an HTTP 302 on /thumbnail endpoint? (by checking the network inspector). HTTP 302 (HTTP redirect) would mean the endpoint is working as expected, and thus that it is /media/ failing.

If you don't get HTTP 302 on /thumbnail: check the nginx access and errors logs for potential issues, as well as the Saleor backend logs. You can also try to visit directly http://saleor.tourdefarm.com:8000/thumbnail/<ID>/<size> to see whether the backend works and thus whether the issue is around NGINX or not.
If you get HTTP 302 on /thumbnail and then get HTTP 404 on /media, then @nawajar's answer should resolve the issue

Additionally, attach:

Screenshots or logs from the network inspector
NGINX logs
Saleor backend logs
Any settings/environment variables you changed in the Saleor backend (but remove all secrets such as DATABASE_URL)

Should make it easier to troubleshoot 🙂

@charleslcso could you double check that you get an HTTP 302 on /thumbnail endpoint whenever an image is fetched from the dashboard? (by checking the network inspector). HTTP 302 (HTTP redirect) would mean the endpoint is working as expected, and thus that it is /media/ failing.

If you don't get HTTP 302 on /thumbnail: check the nginx access and errors logs for potential issues, as well as the Saleor backend logs. You can also try to visit directly http://saleor.tourdefarm.com:8000/thumbnail/<ID>/<size> to see whether the backend works and thus whether the issue is around NGINX or not.
If you get HTTP 302 on /thumbnail and then get HTTP 404 on /media, then @nawajar's answer should resolve the issue

Additionally, attach:

Screenshots or logs from the network inspector
NGINX logs
Saleor backend logs
Any settings/environment variables you changed in the Saleor backend (but remove all secrets such as DATABASE_URL)

Should make it easier to troubleshoot 🙂

Hello @NyanKiyoshi I followed your guide, and I get 404 in web browser console and from Saleor-platform console output, no matter i choose Upload Images or Upload URL
I can see that there are 2 POSTs, then a GET from /thumbnail (404).

Saleor-platform console output shows:
api-1        | 2024-12-20 03:38:47,917 WARNING django.request Not Found: /UHJvZHVjdE1lZGlhOjMx/1024/ [PID:25:ThreadPoolExecutor-86_3]
api-1        | 2024-12-20 03:38:47,929 WARNING django.request Not Found: /UHJvZHVjdE1lZGlhOjM1/1024/ [PID:25:ThreadPoolExecutor-86_9]
api-1        | 2024-12-20 03:38:47,929 WARNING django.request Not Found: /UHJvZHVjdE1lZGlhOjM0/1024/ [PID:25:ThreadPoolExecutor-86_9]
api-1        | 2024-12-20 03:38:47,929 WARNING django.request Not Found: /UHJvZHVjdE1lZGlhOjM2/1024/ [PID:25:ThreadPoolExecutor-86_9]
api-1        | 2024-12-20 03:38:47,930 WARNING django.request Not Found: /UHJvZHVjdE1lZGlhOjI3/1024/ [PID:25:ThreadPoolExecutor-86_9]

Trying to load the thumbnail directly I get 404.

Now I assume the 2 POSTs will upload the images (either from URL or from local upload) successfully. Then the thumbnails will be placed in /thumbnail, /static and /media locations.
After reading the Django's static assets configuration page, and following @nawajar 's info, I've set up /media and /static. You can load these:
https://saleor.tourdefarm.com/static/static.html
https://saleor.tourdefarm.com/media/media.html

Container saleor-platform-api-1 has no .log files. Nginx error.log in saleor-platform-dashboard-1 has no error.
The problem should be in api-1 server.
No more idea.

@charleslcso I see it tries to access the path /UHJvZHVjdE1lZGlhOjMx/1024/ whereas the path should be /thumbnail/UHJvZHVjdE1lZGlhOjMx/1024/
It's caused by the trailing / in your Nginx configuration.
Change this:
    location /thumbnail/ {
            proxy_pass http://saleor.tourdefarm.com:8000/;
    }

To:
    location /thumbnail/ {
            proxy_pass http://saleor.tourdefarm.com:8000; # <-- removed the trailing '/'
    }

@NyanKiyoshi Thanks for the info.

Should the full path now be https://saleor.tourdefarm.com/media/thumbnails/products/Untitled-1_2bb15bf3_thumbnail_1024.jpg, with /media in front of /thumbnails? Removing the trailing / now gives me /media/thumbnails/.
With /media/, it actually goes to /app/dashboard/thumbnails/products/Untitled-1_2bb15bf3_thumbnail_1024.jpg, which I don't think is correct.

Should the full path now be https://saleor.tourdefarm.com/media/thumbnails/products/Untitled-1_2bb15bf3_thumbnail_1024.jpg, with /media in front of /thumbnails? Removing the trailing / now gives me /media/thumbnails/.

@charleslcso Yes! It should be doing that, that means the /thumbnail/ endpoint is now working correctly!
It works like so:

If Saleor doesn't have a thumbnail generated yet for the image, then:

It goes to /thumbnail/ to generate a new thumbnail (e.g., /thumbnail/XXXX/1024)
It redirects to the thumbnail it just generated (media storage backend thus /media/XXXX_1024.png in your case)

If it already generated a thumbnail, then it directly goes to the media storage backend to fetch the image (/media/XXXX_1024.png in your case)

Since you are running with debug/development mode enabled (DEBUG=True), you can just do this:
        location /media {
                proxy_pass http://saleor.tourdefarm.com:8000;  # <-- leaves it up to the Saleor backend to serve the file
        }

        location /thumbnail/ {
                proxy_pass http://saleor.tourdefarm.com:8000;
        }

Instead of serving the files via Nginx directly, this should simplify the set-up if you only want to test things.

Should the full path now be https://saleor.tourdefarm.com/media/thumbnails/products/Untitled-1_2bb15bf3_thumbnail_1024.jpg, with /media in front of /thumbnails? Removing the trailing / now gives me /media/thumbnails/.

@charleslcso Yes! It should be doing that, that means the /thumbnail/ endpoint is now working correctly!
It works like so:

If Saleor doesn't have a thumbnail generated yet for the image, then:

It goes to /thumbnail/ to generate a new thumbnail (e.g., /thumbnail/XXXX/1024)
It redirects to the thumbnail it just generated (media storage backend thus /media/XXXX_1024.png in your case)

If it already generated a thumbnail, then it directly goes to the media storage backend to fetch the image (/media/XXXX_1024.png in your case)

Since you are running with debug/development mode enabled (DEBUG=True), you can just do this:
        location /media {
                proxy_pass http://saleor.tourdefarm.com:8000;  # <-- leaves it up to the Saleor backend to serve the file
        }

        location /thumbnail/ {
                proxy_pass http://saleor.tourdefarm.com:8000;
        }

Instead of serving the files via Nginx directly, this should simplify the set-up if you only want to test things.

Finally! It is working! You are da man!

Next step is that I'll turn off debug mode and get the thing working again.
So I should just keep my existing 2 Nginx configs, turn off DEBUG and try and see.


cannot make nginx work with other upstream

I am trying to add upstream conf file to ./common/config/nginx/conf.d so that nginx can work for my other service, but after I restart nginx and open the url, e.g., jenkins.example.com, it is redirected to harbor, e.g., registry.example.com. Then I took a look at nginx.conf and found that the server_name is commented out, then I added server_name registry.example.com in nginx.conf for both 80 and 443 and restarted nginx, however, it didn't work, jenkins.example.com is redirected to registry.example.com again. What is wrong with the nginx config file?
nginx.conf
    server {
      listen 80;
      #server_name harbordomain.com;
      server_name registry.example.com;
      return 301 https://$host$request_uri;
  }

jenkins.server.conf
upstream jenkins {
    ip_hash;
    server  localhost:8081;
}

server {
    listen  80;
    server_name jenkins.example.com;
    location / {
	    proxy_set_header        Host $host:$server_port;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_pass  http://jenkins;
	    proxy_read_timeout  90;
        proxy_redirect      http://jenkins http://jenkins.example.com;
    }
}

@wei-hai I have the same problem. Did you solve this?


Feature Request: Visualizing differences between two graphs

Hi team,
Thanks for creating this great tool!
It would be really helpful to have a feature that allows users to visualize the differences between two graphs (i.e., highlight the node/edge changes or side-by-side view) so that users can easily track changes over time.
Thanks for considering this!

Thanks for request. This feature is already in our backlog but is not a top priority at this stage.
We will keep you posted as soon as we have high level timelines.


[Feature Request] Show Folders for Audio libraries

Good Morning,
Firstly can I say what a brilliant thing this custom card is, it has transformed my listening ability in my kitchen through home assistant.
We primarily use it for Music which is then cast to devices in the kitchen. This all works great (apart from a few oddities which I'll get into on seperate threads perhaps one day).
The issue I have is that when listing music, it lists all the Artists of the music, this is great when you have albums by the artists but when you have lots of music by various artists it generates lots of names on the list with only 1 song in each so it makes things very clunky.
Within Plex you can list by Album name or Even better by Folder which works great for compilations. I was hoping there might be a way to do this in your custom card too.
Please stick with it too, this is far and away the best card available for Plex and Home Assistant!
Many Thanks
Kev

Thankyou so much!!!Sent from my Galaxy
-------- Original message --------From: Juraj Nyíri @.> Date: 19/10/2021  13:45  (GMT+00:00) To: JurajNyiri/PlexMeetsHomeAssistant @.> Cc: MidnightRacer99 @.>, Author @.> Subject: Re: [JurajNyiri/PlexMeetsHomeAssistant] [Feature Request] Show Albums or Folders for Audio libraries. (Issue #50)
Thank you for the kind words!
Albums implemented in 3.3.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.


Flag to disable placement rule generation

When a placement is not defined in the PolicyGenerator file an empty placement rule is created like so.
spec:
  clusterSelector:
    matchExpressions: []

This placement rule ends up targeting all managed clusters which is not the desired effect in some scenarios.
I propose a flag that can be set in the PolicyGenerator file that disables the placementRule creation.

@OozaiPerez I understand that targeting all clusters may not be desirable, but a Policy without a Placement won't do anything. So I'd argue that if the default to select all clusters isn't desirable, then a Placement should be specified so that doesn't happen. If you're just trying to see what objects get deployed, then the Policy could be disabled. Alternatively, you could use policyDefaults.placement.placementRuleName to specify a nonexistent PlacementRule. Either way, Policies work hand-in-hand with Placement, so I'm not certain that turning off Placement entirely makes sense here. Is there a use case where you'd want to deploy a Policy without a Placement?

My clients use case is that we are using policy sets to group our policies together and have a placement rule defined there.  I saw we can omit the placement rule creation by defining which policy set we want it added to in the PolicyGenerator file but we would prefer to keep the list of policies defined in our policy set yaml in another location and that would be one file to look at to see what policies are actively being used.
Also we have different sets for different environments that will not exist on each ACM cluster, not sure if ACM will complain when a set defined is not found on a cluster.

"Alternatively, you could use policyDefaults.placement.placementRuleName to specify a nonexistent PlacementRule"
This could work for us as well, we were also thinking of using a label that does not exist on any of the clusters

Ah, interesting. I hadn't thought of that--defining the Policies and PolicySets separately does make sense for not generating Placements when one is generated for the PolicySet. I think we can add that in--I'll bring it up with our team.

Great thank you! For now we will use a placement label that does not exist on the managed clusters

thanks for bringing this up @OozaiPerez we can fix it at some time, if it gets urgent please let us know

@OozaiPerez You're welcome! Do you have a need for it to be delivered into ACM 2.7 for GitOps or is it okay to wait until 2.8 for that? We've entered code freeze for 2.7, so @ch-stark would need to provide input if it should go into 2.7.

It is fine to wait until 2.8. We are using kustomize to run the policy generator tool

Sounds good--thanks!


eXpand win app has runtime dependency on DevExpress.ExpressApp.Web

A FileNotFoundException for DevExpress.ExpressApp.Web.v19.1 is thrown on startup of a eXpand winforms app.
You can easily reproduce this problem in XVideoRental demo, if you remove DevExpress.ExpressApp.Web from the GAC.
Where does this dependency come from? Bug is somehow triggered by XpandModuleBase.GetDeclaredControllerTypesCore
stacktrace.txt

I can repro it, could be loaded by mistake from a standalone module cannot tell which one without investigating. I ll update u again once fixed.

I believe I have mentioned this earlier, but the "agnostic" Xpand projects aren't really agnostic. They're made agnostic because both Win and Web dependencies are added.
As you see here the "agnostic project" has non-agnostic XAF dependencies: https://github.com/eXpandFramework/eXpand/blob/f57a4845c4e0868bfff4b5e27a6e0864e06e11bb/Xpand/Xpand.Persistent/Xpand.Persistent.Base/Xpand.Persistent.Base.csproj#L35-L36
We have that error too in our buildserver if we remove our DevExpress.ExpressApp.Web dependency while we don't have a web project. This is because the Xpand agnostic project is looking for that assembly, but can't find it. For this reason we have to add the web assembly to our project.

yes sure I remember however without yet researching the issue I want to add that .NET is lazy loading the only when a type is used it will be loaded. You can see the same approach in DevExpress.Utils assembly which references web assemblies. In any case when when is clear how the web is loaded we will provide a fix.

I wonder how it will lazy load the DevExpress.ExpressApp.Web assembly in a Xaf WinForms only project if it's not available?

it won't there should be no call to a web type in such case

Are you still working on this?
In the XpandModuleBase.GetDeclaredControllerTypesCore you have some checks for the platform, e.g  if (!this.Executed("GetDeclaredWebControllerTypes", ModuleType.Web)) but there is no such a check for the WebDashboardRefreshController.
Is this the cause of the issue?

apologies yes its an open case and still assigned, however other works have priority. If u have a fix let me know please else I ll update u once I research it

Actually I don't really understand what's going on. The GetDeclaredControllerTypesCore e.g. has a check if (!Executed("GetDeclaredWebControllerTypes", ModuleType.Web)){...} and the web types should only be loaded if the Platform is web. But according to the debugger, the types are always loaded. I'm not sure whether this happens due to some compiler optimizations?!
If I replace the array in the if block with a getter, DevExpress.ExpressApp.Web is not loaded anymore/ not FileNotFoundException is thrown in GetDeclaredControllerTypesCores.
protected IEnumerable<Type> WebTypes
{
    get
    {
        var webTypes = new[]
        {
            typeof(NavigationContainerWebController), typeof(ActionsClientScriptController),
            typeof(ActionsClientConfirmationController),
            typeof(SyntaxHighlightController)
        };
        return webTypes;
    }
}

But then the FileNotFoundException is thrown later when SetupModules is called.
Somehow the lazy loading of non-agnostic types in Xpand.Persistent.Base seems to be broken.

even if I fix the loading from the GetDeclaredControllerTypesCore there is this call
https://github.com/eXpandFramework/eXpand/blob/2518300e8e660014bc6f0b4ad2feb7e0628c192b/Xpand/Xpand.Persistent/Xpand.Persistent.Base/General/XpandModuleBase.cs#L425
The call is done to quick register all types so they can be consumed from other modules. I will remove it and probably we have a few exceptions because of this. If you take the time to report them I will provide manual registrations where needed.

unfortunately further research revealed that it is not possible to avoid this load, the Base assembly architecture suffers. In the Base there are model interfaces and when XAF constructs the model loads the all types.
Web/Win dependencies need to be separate packages and installed to their respective platform.
I am leaving this case open

Web/Win dependencies need to be separate packages
If I understand you right, your plan is to split the Xpand.Persistent.Base.dll into a platform-agnostic dll and win/web-specific dlls. Right?

Web/Win dependencies need to be separate packages
If I understand you right, your plan is to split the Xpand.Persistent.Base.dll into a platform-agnostic dll and win/web-specific dlls. Right?

Tolis, said one dll and dll will decide if web or win is loaded.

yes sure I remember however without yet researching the issue I want to add that .NET is lazy loading the only when a type is used it will be loaded. You can see the same approach in DevExpress.Utils assembly which references web assemblies. In any case when when is clear how the web is loaded we will provide a fix.

i do not plan to split the base, but to create standalone package out of the platform specific implementations found in base. Then install these packages to the related modules.
I am not sure what your 2nd quote implies so cannot asnwer much yes .net is lazy loading but as soon as someone does assembly.GetTypes() in the base everything is loaded. This action is done from XAF where we do not have much control.

Tolis, said one dll and dll will decide if web or win is loaded.

this approach is used in some standalone standalone packages for e.g
https://github.com/eXpandFramework/DevExpress.XAF/blob/lab/src/Modules/ProgressBarViewItem/ProgressBarViewItemBase.cs#L30-L53
as u see types are loaded on Init using reflection and depending on the platform, so even an assembly.GetTypes() will not load unwanted assemblies

for now, it is not a big problem having to distribute a additional assemblies even if they are for a different platform. XAF already depends to a lot of assemblies a few more won't make much difference. This the feeling I have.

Persistent.Base uses the actual DevExpress.ExpressApp.Web dependency. It will build, but won't run. The ProgressBarViewItem uses reflection and not the DLL, which will work.

Another case where Xpand causes problems is when making a Win or Web release. When building my Win project, it will take only the Win and Agnostic projects. None of those have a Web reference ofcourse. So when putting the zip with my WinApplication on a customer's pc (without Web references ofcouse, since it's a Win application), Persistent.Base will throw an exception.
So either use reflection so there are no Web dependencies or split them up. First is a nice approach, but at least be sure it works.

for now, it is not a big problem having to distribute a additional assemblies even if they are for a different platform. XAF already depends to a lot of assemblies a few more won't make much difference. This the feeling I have.

As many people use Xpand, I don't think it's professional to have unnessary files in a release.
These DLL's come with DevExpress.ExpressApp.Web with a total size of 85,2 mb .
DevExpress.ExpressApp.Web.v19.1.dll
DevExpress.Web.ASPxHtmlEditor.v19.1.dll
DevExpress.Web.ASPxPivotGrid.v19.1.dll
DevExpress.Web.ASPxSpellChecker.v19.1.dll
DevExpress.Web.ASPxThemes.v19.1.dll
DevExpress.Web.ASPxTreeList.v19.1.dll
DevExpress.Web.Resources.v19.1.dll
DevExpress.Web.v19.1.dll

the case only affects the distribution so it remain open until works are finished.

#626  probably relates to this case

Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.


Consisteny of the volume

When going through the write path, we found when the volume server receives a write request, it will send the write to other replica locations of same volume. But if there is a problem in any volume server, the write to that server will be failed and the entire write will be failed too
But the writes to  some volume servers have been succeed.  Then the volume data in different server may be not consistent.
Will this be a problem? And how to handle this problem and delete the garbage in the end?
Thanks~

Similar to #179, #172
This is current design. Maybe the system can make a best effort to keep it consistent, but it would still not be 100% guarantee, especially in extreme cases.

Thanks, @chrislusf ~

hi, is this bug fixed?

Not a bug.


Update Notification & Automatic Updates

To better serve our Windows users, we should notify them when an update is available, and offer to install it for them.
(Plans to be determined.)

This is part of a larger restructuring effort to improve the experience on Windows.

for the love of god, please someone let the server auto-update. it would be such a huge quality of life improvement!

Is there any update on this long overdue feature? Even a notification in the dashboard / webhook plugin to notify the user the is an update they'd have to go and manually download and install would be something.

What a massive oversight this is, considering it is basic functionality in competing apps.

This would be great as newer clients dont alyways work with the server and it's a bit annoying having to manually update servers.

I have a first draft at a powershell-based auto-updater, which is intended to be registered as a windows scheduled task.
https://github.com/habeebtc/JellyfinAutomation/blob/main/upgrade-jellyfinserver.ps1
There is some quality of life stuff to add, but the biggest thing seems to be I get an error about starting the Jellyfin windows service when doing a silent upgrade with package.exe /S.  Starting the service programmatically after this seems fine, but it hangs the silent upgrade installer.  Possibly installer bug, or possibly dumb WinAPI behavior (I haven't had a chance to dig into it yet).

Did some further debugging and fixed a few things, and my own auto-upgrade script with the Windows installer is "pretty good" at this point.  The big take-away seemed to be to let the installer handle all the server stop/start stuff via nssm.exe.  I'm going to leave it running for a few months and see how it goes.
https://github.com/habeebtc/JellyfinAutomation/blob/main/upgrade-jellyfinserver.ps1
I found this gent who built something which works similarly, but using the zip file install method:
https://github.com/realies/jellyfin-autoupdate/blob/master/jellyfin-autoupdate.ps1
You might find that one preferable to your install.  Hope this helps someone!

@habeebtc Finally, Will have to check out your project atleast looks nice on first glance and will save a lot of time. have starred it and will try it out when i have some time.

I just found out last week that my server version was out of date for the last 1.5 years lol. A small tag in the admin dashboard for users to compare their installed version vs the latest version would go a LONG way imho :)
small suggestion/mockup:

link to the version tag (copied directly from jellyfin.org website's source code):


rename key http_server to serialize in config

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@43b7ba9). Click here to learn what that means.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master      #63   +/-   ##
=========================================
  Coverage          ?   98.67%
  Complexity        ?      102
=========================================
  Files             ?       19
  Lines             ?      301
  Branches          ?        0
=========================================
  Hits              ?      297
  Misses            ?        4
  Partials          ?        0

Impacted Files
Coverage Δ
Complexity Δ

src/DependencyInjection/Configuration.php
100.00% <100.00%> (ø)
1.00 <0.00> (?)

src/DependencyInjection/TerryApiExtension.php
100.00% <100.00%> (ø)
1.00 <0.00> (?)

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 43b7ba9...d0cfade. Read the comment docs.


Typo and Broken Link

Challenge http://www.freecodecamp.com/challenges/waypoint-join-our-chat-room has an issue. Please describe how to reproduce it, and include links to screen shots if possible.
Typo:
3. Click this link, which will email you can invite to Free Code Camp's Slack chat rooms: http://freecodecamp.com/api/slack.
Also, the link doesn't send me an email... It just directs me back to the same page... I'm using FF on linux.
Edit:  Okay, I see now that it is not supposed to redirect you... Still no email, however. I've never been known to be patient though, maybe it is in queue.

@patallen I've heard Slack is having issues tonight. Be sure to check your spam folder and confirm that your email is correct.


Error installing Kali in Labs

Installing Kali linux in a lab results in an error on starting the nested virtual machine.
"The error is [FAILED] Failed to start Light Display Manager"
Added logind-check-graphical=true to /etc/lightdm/lightdm.conf in an effort to resolve.
Any suggestions please.

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

ID: 069fc461-f1d5-5be7-eb91-e6049d673581
Version Independent ID: e1819532-943a-8a6f-d61c-aa9e6f8e167d
Content: Set up an Ethical Hacking lab with Azure Lab Services - Azure Lab Services
Content Source: articles/lab-services/class-type-ethical-hacking.md
Service: lab-services
GitHub Login: @ntrogh
Microsoft Alias: nicktrog

@Andrew4558 Thanks so much for your feedback. It looks like you have product feedback rather than documentation feedback. To make sure it's logged in the right place, use Lab Services on Microsoft Q&A or reach out to Azure support and create a support ticket.

lol

Merry Christmas


Bump marathon for 1.12

High-level description
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

MARATHON-8555 Parameter --leader_proxy_max_open_connections does not actually allow more concurrent connections
MARATHON-8563 Speed up v2/pods/::status
MARATHON-8566 Fix race condition causing deployment info to not be available
MARATHON-8555 Include app-id in illegal-state-exception
MARATHON-8586 Bump marathon for 1.12.3

Checklist for all PRs

[ ] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change:
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[ ] Read the DC/OS contributing guidelines
[ ] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and review process
What is the review process and when will my changes land?
All PRs require 2 approvals using GitHub's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot label Ready For Review


Added AppVeyor badge

Coverage remained the same at 87.838% when pulling 0d7496af414e6bd8cf6b2d24eaa21becfa90108f on appveyor into d75342c35d3208daa44d530ea9d8bc9f39e1d805 on master.

Coverage remained the same at 87.838% when pulling 0d7496af414e6bd8cf6b2d24eaa21becfa90108f on appveyor into d75342c35d3208daa44d530ea9d8bc9f39e1d805 on master.

Coverage remained the same at 87.838% when pulling 0d7496af414e6bd8cf6b2d24eaa21becfa90108f on appveyor into d75342c35d3208daa44d530ea9d8bc9f39e1d805 on master.

circleci and travis are enough for now


Do not overlap the platform label

When having no menu in the masthead, but a simple project label only,
we would like the search box not to overlap the project link.

so basically the search box would stretch only up to the end of the "Documentation"

Jenny will include this issue in the Oct 2, 2020 design meeting.

@RobertaJHahn Shared the issue detail with the designers, overall we recognize this is a bug but not a feature request. We suggest to covert this issue for the bug fix.

@RobertaJHahn @wonilsuhibm @JennySanchez confirming as per L0 design spec:


Harmonize multi-round plotting between these and the awpy repos to only have one core implementation.

Simplest way is to probably just transform my numpy dicts to the frame structure and then call the awpy native versions.
But at the very least make sure that the issues https://github.com/JanEricNitschke/csgo/issues/3 and https://github.com/JanEricNitschke/csgo/issues/2 are also adressed in the functions used here.

https://github.com/JanEricNitschke/csgo/issues/2 has been implemented.

I might not harmonize them but instead eventually remove the versions from awpy and just keep those from here instead.

Grouping by trajectory (https://github.com/JanEricNitschke/csgo/issues/3) has been implemented in https://github.com/JanEricNitschke/CSGOML/commit/4c0ad19493100448f37a0fe5017c42730a926bdd


snap: miscellaneous snapcraft.yaml cleanups

These came out of my work on other things and aren't necessary so to make those other things more review-able, splitting these out to a separate PR.

recheck

If this PR is for Fuji it is now targeting the wrong branch.

This also now fixes https://github.com/edgexfoundry/edgex-go/issues/2046

Note that this PR has conflicts with https://github.com/edgexfoundry/edgex-go/pull/2113 (assuming that branch is cherry-picked and applied as is to master) as well as https://github.com/edgexfoundry/edgex-go/pull/2135

Merge conflict.

This is ready to review again

recheck


Fix date handling

part of #803

[x] Adjusts AxesRange and allows to detect when fullValue is date so that proper control shows
[x] Create and use NumericOrDate where applicable (there's a larger need for it)
[x] Adjust Bin Size to take 'M[number]' format

before

after

@nicolaskruchten @dmt0 ready for review I will tackle issue 803 incrementally

💃 for the code

Should we actually bake NumericOrDate into AxesRange or just have that derive from NumericOrDate ?


map NotImpmentedError to frontend

solving issue #176 , map NotImplementedError to frontend exceptions to communicate the error to client.

@dcolligan  updated

@dcolligan  Okay I changed those

@dcolligan  updated

+1

+1.


feat/cake-album

We need an album showcasing all the cakes from our meetings.
This can simply be done with the CMS when the new vev is done, but I think this is important enough to merit its own issue.

ArticleCategory is probably nice


Implement Parameters annotation

See https://imagej.net/Script_Parameters

No idea how to do that for now.

I think I am pretty close here.
I have implemented something very similar to ScriptModule.run()  : https://github.com/hadim/scijava-jupyter-kernel/blob/master/src/main/java/org/scijava/jupyter/evaluator/DefaultEvaluator.java#L166
Annotations are correctly parsed but they are always set to null and none. I thought it was because some Services are not created when the kernel is run (I don't create ImageJ for example). but I am surprised to see that even LogService is set to null and I don't know why.
About services not created during init such as ImageJ (is ImageJ even a Service ?) or DatasetIOService, are they created "on-the-fly" ?

From https://github.com/scijava/scijava-common/blob/master/src/main/java/org/scijava/module/AbstractModule.java it appears that AbstractModule.inputs is totally empty, probably because I am outside of a regular Fiji/ImageJ instance.
Would it be possible to create the services on-the-fly ?

It's working since d3e16fd99fa9363890735fda064d0b22eb489a45


Committee leader names' email links don't work

What kind of an issue is this?

[x] Bug report
[ ] Feature request

What?
Steps to reproduce:

Go to https://online.ntnu.no/#!about/bedkom
Click name of committee leader (title text "Send epost til komiteleder")
It failed
Cry, cry a lot

Closing this as it is a duplicate issue. See #1855.


WIP: ANC Progress Report - Medical/Obstetric Diagnosis Formatting changes

#478

Replaced by #482. Closing.


Collect coverage from subprocesses

Codecov Report

Merging #82 into master will decrease coverage by 67.91%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master      #82       +/-   ##
===========================================
- Coverage   88.86%   20.94%   -67.92%
===========================================
  Files          30       30
  Lines        2506     2506
  Branches      435      435
===========================================
- Hits         2227      525     -1702
- Misses        207     1980     +1773
+ Partials       72        1       -71

Impacted Files
Coverage Δ

adanet/examples/simple_dnn.py
0% <0%> (-100%)
:arrow_down:

adanet/core/testing_utils.py
0% <0%> (-93.55%)
:arrow_down:

adanet/core/iteration.py
8.8% <0%> (-81.7%)
:arrow_down:

adanet/core/eval_metrics.py
16.33% <0%> (-80.7%)
:arrow_down:

adanet/core/ensemble/weighted.py
18.75% <0%> (-77.28%)
:arrow_down:

adanet/core/estimator.py
13.63% <0%> (-75.55%)
:arrow_down:

adanet/core/ensemble_builder.py
20.6% <0%> (-75.16%)
:arrow_down:

adanet/core/report_accessor.py
20.65% <0%> (-75%)
:arrow_down:

adanet/core/report_materializer.py
22.44% <0%> (-73.47%)
:arrow_down:

adanet/core/summary.py
21.47% <0%> (-71.48%)
:arrow_down:

... and 12 more

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 db6f5b6...fae9922. Read the comment docs.


⚠ Bofrost.fr has degraded performance

In 95df0dc, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1445 ms

Resolved: Bofrost.fr performance has improved in 022c3dd after 8 minutes.


Console: Clicking on a Function causes the function list to jump

We are transition this repo to https://github.com/sst/v2 and are closing this issue for now. If it is still relevant please reopen it there - sorry for the trouble


Please add Palo Alto, CA   Thanks!

Feature request DEFUND
Please add Palo Alto, CA   Thanks!

DUE TO HIGH VOLUME EMPTY ISSUES, OR ISSUES MISSING THE FOLLOWING INFORMATION WILL BE IMMEDIATELY CLOSED. THANK YOU!

A subject message for the email
A list of emails (at least one) for the government officials you’d like to receive the message
A detailed message concerning the budgeting decisions that are at stake in your community

Please read more about our email style guidelines here.
If this information is copied from an external source please provide a link to the original source.
See our current links for examples at https://defund12.org.
Thank you!!


Allow Add tab customization so that the add items can be changed based on usage

When you click on add tab button, the content seen on the screen needs to be customized so that the items can be changed based on the usage/IDE. This can be different for different IDEs.

can you provide more details about it ?

@farzan190 Thank you for your interest. This is part of a project that we are going to start working on, and I will be updating the description for this one. If you're looking to contribute, I would recommend picking up an issue with the labels Good first issue or Community Contributor or Inviting contribution.

Not needed.


Compiling error: tensor_blob.h(36): error: namespace "std" has no member "is_pod"

Whiling compiling MxNet, I got the following errors:
$ make
-- Found OpenBLAS libraries: /opt/OpenBLAS/lib/libopenblas.so
-- Found OpenBLAS include: /usr/include
-- CUDA detected: 7.5
-- Found cuDNN (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so)
-- Automatic GPU detection failed. Building for all known architectures.
-- Added CUDA NVCC flags for: sm_20 sm_21 sm_30 sm_35 sm_50
-- OpenCV found (/home/dave/anaconda2/share/OpenCV)
-- Found cuDNN (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dave/Downloads/mxnet/build
[  6%] Built target dmlccore
[  7%] Building NVCC (Device) object CMakeFiles/cuda_compile.dir/src/optimizer/./cuda_compile_generated_sgd.cu.o
/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(36): error: namespace "std" has no member "is_pod"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(36): error: expected a ")"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(36): error: explicit type is missing ("int" assumed)

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(39): warning: defaulted functions are a C++11 feature

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(55): error: qualified name is not allowed

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(55): error: expected a ")"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(55): error: inline specifier allowed on function declarations only

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(55): error: expected a ";"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(240): warning: parsing restarts here after previous syntax error

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(242): error: expected a declaration

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(245): error: expected a declaration

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(266): warning: parsing restarts here after previous syntax error

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(320): error: qualified name is not allowed

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(320): error: expected a ")"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(320): error: inline specifier allowed on function declarations only

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(320): error: expected a ";"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(526): warning: parsing restarts here after previous syntax error

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(306): error: class "mxnet::TShape" has no member "SetDim"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(307): error: identifier "begin" is undefined

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(314): error: class "mxnet::TShape" has no member "assign"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(314): error: class "mxnet::Tuple<mxnet::index_t>" has no member "begin"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(314): error: class "mxnet::Tuple<mxnet::index_t>" has no member "end"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(584): error: class "mxnet::TShape" has no member "ndim"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(620): error: class "mxnet::TShape" has no member "ndim"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(655): error: class "mxnet::TShape" has no member "ndim"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(663): error: no operator "[]" matches these operands
            operand types are: const mxnet::TShape [ mxnet::index_t ]

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(667): error: class "mxnet::TShape" has no member "Size"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(768): error: class "mxnet::TShape" has no member "ndim"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(770): error: no operator "<<" matches these operands
            operand types are: std::basic_ostream<char, std::char_traits<char>> << mxnet::TShape

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(775): error: class "mxnet::TShape" has no member "ndim"

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(776): error: no operator "[]" matches these operands
            operand types are: mxnet::TShape [ mxnet::index_t ]

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(778): error: no operator "<<" matches these operands
            operand types are: std::basic_ostream<char, std::char_traits<char>> << mxnet::TShape

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(42): error: identifier "data_heap_" is undefined

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(49): error: class "mxnet::Tuple<mxnet::index_t>" has no member "assign"
          detected during instantiation of "mxnet::Tuple<ValueType>::Tuple(const mxnet::Tuple<ValueType> &) [with ValueType=mxnet::index_t]"
(297): here

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(49): error: class "mxnet::Tuple<mxnet::index_t>" has no member "begin"
          detected during instantiation of "mxnet::Tuple<ValueType>::Tuple(const mxnet::Tuple<ValueType> &) [with ValueType=mxnet::index_t]"
(297): here

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(49): error: class "mxnet::Tuple<mxnet::index_t>" has no member "end"
          detected during instantiation of "mxnet::Tuple<ValueType>::Tuple(const mxnet::Tuple<ValueType> &) [with ValueType=mxnet::index_t]"
(297): here

/home/dave/Downloads/mxnet/dmlc-core/include/dmlc/./parameter.h(494): error: no operator ">>" matches these operands
            operand types are: std::istringstream >> mxnet::TShape
          detected during instantiation of "void dmlc::parameter::FieldEntryBase<TEntry, DType>::Set(void *, const std::string &) const [with TEntry=dmlc::parameter::FieldEntry<mxnet::TShape>, DType=mxnet::TShape]"

/home/dave/Downloads/mxnet/dmlc-core/include/dmlc/./parameter.h(576): error: no operator "<<" matches these operands
            operand types are: std::ostream << mxnet::TShape
          detected during instantiation of "void dmlc::parameter::FieldEntryBase<TEntry, DType>::PrintValue(std::ostream &, DType) const [with TEntry=dmlc::parameter::FieldEntry<mxnet::TShape>, DType=mxnet::TShape]"
(516): here

/home/dave/Downloads/mxnet/include/mxnet/././tensor_blob.h(638): error: class "mxnet::TShape" has no member "FlatTo2D"
          detected during instantiation of "void mxnet::opt::sgd_mom_update<xpu>(mxnet::RunContext, mxnet::TBlob, mxnet::TBlob, mxnet::TBlob, float, float, const mxnet::opt::SGDParam &) [with xpu=mxnet::gpu]"
/home/dave/Downloads/mxnet/src/optimizer/sgd.cu(13): here

35 errors detected in the compilation of "/tmp/tmpxft_0000318e_00000000-16_sgd.compute_50.cpp1.ii".
CMake Error at cuda_compile_generated_sgd.cu.o.cmake:264 (message):
  Error generating file
  /home/dave/Downloads/mxnet/build/CMakeFiles/cuda_compile.dir/src/optimizer/./cuda_compile_generated_sgd.cu.o

make[2]: *** [CMakeFiles/cuda_compile.dir/src/optimizer/./cuda_compile_generated_sgd.cu.o] Error 1
make[1]: *** [CMakeFiles/mxnet.dir/all] Error 2
make: *** [all] Error 2

I am using Ubuntu 14.04 with gcc 4.8.4, CUDA 7.5, and cuDNN 5.0.5. It's like the compiler is complaining C++11 errors. I am checking out the current latest version of MxNet at d67964ca1358b624d3407a7d6fbb50573b19d1b0. Anyone else has the same problem?

are you using cmake? It's mostly for windows users.
Try directly compile

Yes, directly compile using "make" works. Thank you.
Also, I pulled the newest version of mxnet today, and it works with CMake in my new environment -- Ubuntu 16.04 and CUDA 8.0 rc. I think the issue can be closed now.


Reduce duplicated code, allow re-use across sub buildpacks

Describe the Enhancement

This would result in no functional change to the buildpacks
Refactor code which is used in multiple buildpacks/extensions into a single copy usable by all.  As an example, there are at least 3 copies of code which find/builds/checks the project path in the existing sub buildpacks.
There are two copies of package_json_parser.go

https://github.com/paketo-buildpacks/npm-start/blob/main/package_json_parser.go
https://github.com/paketo-buildpacks/npm-install/blob/main/project_path_parser.go

and what looks like another copy embeded into detect.go in node-engine - https://github.com/paketo-buildpacks/node-engine/blob/25db92fd154eb295e4ed621706a82b5f9eed823f/detect.go#L21
Similarly the path to the package.json is built and and a check made if the file exists in a number of places:

https://github.com/paketo-buildpacks/npm-start/blob/02d58f0a48a92990768b90b47a94ee0c942a71d6/detect.go#LL25-L36C4
https://github.com/paketo-buildpacks/npm-start/blob/02d58f0a48a92990768b90b47a94ee0c942a71d6/detect.go#LL25-L36C4

A similar case is finding application (https://github.com/paketo-buildpacks/node-start/blob/222bf718ff91d1b7ea178cae5283c40977c6c645/node_application_finder.go) . It almost externalizes the logic
except that os.Getenv("BP_LAUNCHPOINT"), os.Getenv("BP_NODE_PROJECT_PATH") are used to get info from the environment which is then passed to the Find method.
Possible Solution
Create a new package to hold the shared functions or designate one of the existing build packs to centralize the common functions.  Creating a new package to hold the shared functions is probably the better option in terms of limiting cross dependencies.
Motivation

This would reduce duplicated code which would help avoid drift that could result in functional issues as well as reducing the number of different places that the same constants like "package.json" are defined.
It would also allow us to re-use this code in the extension we are building for ubi instead of having to create another copy which could get out of sync.
The alternative is to copy/re-use code from the existing buildpacks. As an example this is how our work in progress re-uses some of the functions:
// functionality from npm-start buildpack, also some overlap with npm-install
func packageJSONExists(workingDir string, projectPathParser npmstart.PathParser) (path string, err error) {

	projectPath, err := projectPathParser.Get(workingDir)
	if err != nil {
		return "", err
	}

	path = filepath.Join(projectPath, "package.json")
	_, err = os.Stat(path)
	if err != nil {
		if os.IsNotExist(err) {
			return "", nil
		}
		return "", err
	}
	return path, nil
}

// functionality from node-start
func nodeApplicationExists(workingDir string, applicationFinder nodestart.ApplicationFinder) (path string, err error) {
	return applicationFinder.Find(workingDir, os.Getenv("BP_LAUNCHPOINT"), os.Getenv("BP_NODE_PROJECT_PATH"))
}

along with

projectPathParser := npmstart.NewProjectPathParser()
nodeApplicationFinder := nodestart.NewNodeApplicationFinder()

in the caller of those functions

I should have also added that I'm happy to create/submit PRs to implement this.  The main thing I'd need before getting started is confirmation that changes along these lines would be accepted and where they should go (new package or somewhere else)

I think that generally this would be accepted. While we have a lot of latitude as a single Node.js team to do this on our own, I'd like to bring this forward as an RFC so that it can be discussed in a more public forum. Would you mind converting this issue into RFC format over here?: https://github.com/paketo-buildpacks/rfcs/tree/main/text/nodejs.

@ryanmoran thanks for the answer/suggestion - created PR for RFC here - https://github.com/paketo-buildpacks/rfcs/pull/275

@ryanmoran I won't be able to make the Paketo buildpacks meeting this week due to a conflict but let me know if there are any questions that come out of the meeting on the rfc (if there is time to discuss it)

The rfc landed, closing.


Connection Refused

Hi, in the example URI, I see "mypc:3389". Is mypc the name of the connection in the app (using mac os x)? Is 3389 the connection port?
I'm able to connect but the machine refuses the connection.

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

ID: 9effefa0-ac98-1fdd-6174-f06d524622f5
Version Independent ID: 5d405e1c-d2eb-9c72-3cf6-817930cad4f6
Content: Remote Desktop clients URI scheme
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/remote-desktop-uri.md
Service: unspecified
GitHub Login: @lizap
Microsoft Alias: elizapo

In that example, "mypc" is the name of the computer you want to connect to. I'll update the example to make that more clear. And yes, 3389 is the port to use.

Any ideas on the reason why I'm able to connect through the app but not using the URI whilst it looks I'm reaching the machine and it later refuses the connection?

Are you trying to connect to a Windows machine, by any chance?

You can only use the URI with Mac, iOS, and Android clients.


Trial the use of ChatGPT to review code modifications

ChatGPT can be used to comment on the content of Pull Request.
The purpose of this trial is to: determine if the ChatFPT comments add any value to the code review process; assess the likely cost of using the ChatGPT API for this purpose, once the free trial period expires.
Steps to configure ChatGPT code reviews:

[ ] Create a ChatGPT API account (https://platform.openai.com/signup/)
[ ] Create an API key and copy it
[ ] In GitHub, create a Repository secret called 'OPEN_API_KEY' and paste the API key into it
[ ] Modify the Actions permissions (see attachments) to 'Allow all actions and reusable workflows' and to have workflow permissions to 'read and write' and 'create and approve pull requests'
[ ] Add chatgpt-review.yaml to the .github/workflows folder of the repo (see code below)

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  hello_world_job:
    runs-on: ubuntu-latest
    name: ChatGPT explain code
    steps:
      - name: ChatGTP explain code
        uses<EMAIL_ADDRESS>        with:
          openai_api_key: ${{ secrets.OPEN_API_KEY }}
          github_token: ${{ secrets.GITHUB_TOKEN }}
          github_pr_id: ${{ github.event.number }}
          openai_engine: "text-davinci-002" #optional
          openai_temperature: 0.5 #optional
          openai_max_tokens: 2048 #optional
          mode: files # files or patch


FakeFiller Extension is causing mui.com website reloading itself

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example: https://mui.com
Steps:

Goto any page of mui.com on Firefox.
Search for mui on Search Engine and option mui.com website.

Current behavior 😯
I go to any page of mui.com, it keeps refreshing (reloading) itself.
This issue occurs only when your fake filler extension is enabled.
I tested it in Chrome and Safari browsers. The site is working fine over there.
After clearing the cache and browser history related to MUI.com, I tried, but the issue still persisted.
Your environment 🌎
OS: MacOS Ventura (13.2.1)
Browser: 115.0.1 (64-bit)
Demonstration

Same for me. Any updates?

Yes @gukandrew , I was using a web extension called 'Fake Filler' which was causing the issue. If you're using any such evil web extension, please find and remove it.

@genialkartik thanks for your answer! Actually I'm really using the extension. I know about the workaround with extension removal :)
However I'm here in the FakeFiller/fake-filler-extension to bump the issue up so maybe authors of FakeFiller will fix the issue soon.


Compositor ideas

Starting a thread to dump ideas of things I want to be possible for wlroots-based compositors to implement. Here's a few of the ideas that have been bouncing around in my head:

Let compositor handle focus semantics by just letting them attach an arbitrary number of input devices to an arbitrary number of clients
Add or remove backends on the fly, including support for i.e. displaying an output on the wayland backend on an output running the DRM backend
Access to internal wlroots resources to implement pretty much any extensions you want
Implementing custom versions of any type, like virtual outputs or remote input devices or anything else (compositor might optionally have plugin support that could take advantage of this too)
Separate keyboard layouts for separate keyboards or even separate applications
Multiple cursors and/or simulated multitouch with multiple mice
Rendering individual surfaces with arbitrary shaders or arbitrary transformations

Most of these shouldn't be explicitly supported features in wlroots, but rather should be possible as a consequence of its flexible design. Feel free to add more for discussion and we'll see if it makes sense for wlroots to accomodate these use-cases.

One of the features I would like to have for Way Cooler is to have multiple surfaces displaying content from the same client (and for them all to be able to be interacted with). This would allow me to implement tags (as an alternative to workspaces) and is currently not possible with wlc due to its strict one to one mapping of view to surface.
Do you think the surface creation code will be able to be exposed enough to make that possible in wlroots? Would it be able to be done in a backend agnostic way?
Here is an example of what I'm talking about implemented weston

wlroots isn't actually going to render surfaces for you at all or even keep track of their x/y coordinates. You'll definitely be able to implement a feature like that, since most of the work will be on your side anyway.

To clarify, wlroots will render surfaces for you if you ask it to. But it won't be automatic, it'll be a function you call during your output_frame handler and provide x/y coords and a surface to render.

I don't know where in the stack that needs support, but the rotation feature of weston is epic.
BTW does this wlroots complement or replace libweston and qtwayland?
@plfiorini: might be applicable to Liri OS?
@sardemff7: intersection/integration with wayland-wall?

All the stuff wlroots needs to implement to support rotation is already in place.
wlroots replaces libweston/qtwayland/wlc.
Don't expect much in the way of wayland-wall integrations.


A question about "NeRF to 3D Model"

Thank you very much for your the implementation of DreamFusion. I just started to learn NeRF. I have a question about "NeRF to 3D Model ".  What is the principle of NeRF to 3D Model? Thanks, I have been very confused. I am a beginner of NeRF.

@QWTforGithub Hi, do you mean exporting nerf to 3D meshes? In that case we simply use marching cubes to extract the surface and bake the colors.

@QWTforGithub Hi, do you mean exporting nerf to 3D meshes? In that case we simply use marching cubes to extract the surface and bake the colors.

Thank you for your reply. I use NeRF to get the RGBs and Depths. How do I use them to create the 3D Mesh by marchimg cubes(which code in the case)?  Sorry, I am not familiar with marching cubes.


Possibility of developing queryrenderedfeatures?

Hi @EddyVerbruggen ,
I've a custom map with custom features. I import the map with the property mapStyle=mapbox://... and all right, but I need something like "queryRenderedFeatures", to get the data of my custom features. Would it be possible?
Thanks !

Hi @EddyVerbruggen , I'm trying to push my branch, but I don't have permissions. I have a first approximation, but I think I need your knowledge: P

Please create a PR and I’ll take a look.

#283


Create Set 11 of CORE rules in rule editor

Eleventh set of rules:

Check_ID
Textual statement of rule
Final CORE Rule ID
JIRA Issue ID

CHK0037
Each StudyArm must have one StudyCell for each StudyEpoch
DDF00068
CORERULES-9603

CHK0091
Each combination of arm and epoch must occur no more than once within a study design.
DDF00069
CORERULES-9604

CHK0198
The minimum value of a range must be less than the maximum value of the range.
DDF00070
CORERULES-9605

CHK0223
A study cell must only reference an arm that is defined within the same study design as the study cell.
DDF00071
CORERULES-9606

CHK0224
A study cell must only reference an epoch that is defined within the same study design as the study cell.
DDF00072
CORERULES-9607


Unhandled exception. System.ComponentModel.Win32Exception (2): The system cannot find the file specified.

I have ffmpeg installed properly (I think?), I'm able to select a track and input a yt link just fine, but once it prompts me for an amplification amount, it throws out
Unhandled exception. System.ComponentModel.Win32Exception (2): The system cannot find the file specified.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at brstm_maker.AudioHandler.adjustVolume(String path, Int32 dBnum) in D:\Downloads\CTs\mkw-brstm-creator-1.0\mkw-brstm-creator-1.0\src\AudioHandler.cs:line 86
at brstm_maker.Program.Main(String[] args) in D:\Downloads\CTs\mkw-brstm-creator-1.0\mkw-brstm-creator-1.0\src\Program.cs:line 68
at brstm_maker.Program.(String[] args)
it creates the temp files, but never converts them because it crashes before I can complete it

I have ffmpeg installed properly (I think?), I'm able to select a track and input a yt link just fine, but once it prompts me for an amplification amount, it throws out
Unhandled exception. System.ComponentModel.Win32Exception (2): The system cannot find the file specified.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at brstm_maker.AudioHandler.adjustVolume(String path, Int32 dBnum) in D:\Downloads\CTs\mkw-brstm-creator-1.0\mkw-brstm-creator-1.0\src\AudioHandler.cs:line 86
at brstm_maker.Program.Main(String[] args) in D:\Downloads\CTs\mkw-brstm-creator-1.0\mkw-brstm-creator-1.0\src\Program.cs:line 68
at brstm_maker.Program.
(String[] args)
it creates the temp files, but never converts them because it crashes before I can complete it

Make sure you have FFmpeg in your system path as well. You should be able to open a command prompt and type "ffmpeg" and get output that looks something like this:

If you're having issues with that, hit me up on Discord (AA_#6082).


Added sauce labs connection in Travis for running selenium tests

Related to the issue #1291
Adds sauce labs connection to Travis CI for running selenium tests. Travis doesn't support selenium natively hence we have to run the tests on Sauce Clouds by making a remote connection to it.  I read the official guide for it here:
https://docs.travis-ci.com/user/gui-and-headless-browsers/
Already added the environment variables mentioned in the guide to Travis. Will be adding the actual tests in the upcoming days. Thanks!!

Codecov Report

Merging #1293 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           development    #1293   +/-   ##
============================================
  Coverage        65.74%   65.74%
============================================
  Files                9        9
  Lines             1547     1547
  Branches           241      241
============================================
  Hits              1017     1017
  Misses             530      530

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 cd96e8c...56bd9b0. Read the comment docs.

Good!


Fix request aborted error on zip deploy

Fixes https://github.com/microsoft/vscode-azureappservice/issues/2305
I'm able to reproduce https://github.com/microsoft/vscode-azureappservice/issues/2305 consistently by using a large project (over 100 MB).
Request sometimes takes longer than the 5s timeout, which caused "The request was aborted" errors.
In my testing, the request usually took less than 2s. Sometimes took more than 5s to complete. And rarely took more than 10s.
Changes made to prevent the error:

Increase request timeout from 5 to 10 seconds
Retry request up to 4 times

it was retrying 12 times already

I don't think it was, we're awaiting the call and it throws an exception, exiting the while loop immediately.

I don't think it was, we're awaiting the call and it throws an exception, exiting the while loop immediately.

Ah you're right, if only retries if if the get request returns nothing. Yeah, I think it makes sense to just try/catch it rather than using the retryKuduCall. Though we should probably only swallow connection timeout errors.


update behaviour tree version

Looking at a behavior tree example from nav2_bt_navigator I see the version was changed 4 months ago but the doc wasn't updated.

Thanks!


key keyvault's key create: Using 1024 as size will fail

az keyvault key create --name somekey --vault-name somevault --size 1024 --protection software

Will fail with Unsupported key size while using 2048 will work. the problem is using
az keyvault key create --help

Will give
...
--size                    : The key size in bytes. e.g. **1024** or 2048.
...

Thanks for the report @khenidak. This help text is pulled from the SDK. I've create an in our REST API specs to fix this problem at the source.

issue triaged.


update build pipelines to fix build issues after migration

update the build .yml files to use new build images, and update the test step to grab the test results as a TRX file instead of depending only on stderr output, which is always coming out now because the image has node.exe in multiple places.

interesting, looks like i also have to fix the CI build, i forget it gets used in different ways by travis and the real build


CSS Inline coloring missing

From @basarat on June 27, 2016 7:13
Looking at the sample : https://microsoft.github.io/monaco-editor/index.html css no longer has the nice color inline widget that it used to :rose:

refs https://github.com/Microsoft/vscode/issues/8172
Copied from original issue: Microsoft/monaco-css#2

From @alexandrudima on June 28, 2016 8:48
We had to take it out briefly to not get blocked by this when we extracted monaco-css, but we plan to bring it back ASAP

Any plans to put it back?
Also, any plans to add the color picket widget: https://twitter.com/code/status/897498143536758784

Is there any way I can help with this?

@glixlur Thanks for reminding, I pushed a fix


documentation: add section regarding keyboard shortcuts

there is https://docs.abapgit.org/guide-ui.html
Suggest renaming "UI features" -> "Keyboard Navigation", add the missing sections
and move the todo's to new issues(assuming they do not already exist as issues)

dont start right now, we'll probably move docs soon, see https://github.com/abapGit/abapGit/issues/5110

can be started, good first issue


Cannot find module 'aspect-ratio'

When I npm install --save aspect-ratio, the module at index.js doesn't show up. This is reproducible at https://npm.runkit.com/aspect-ratio. Without event writing any code and hitting "run" you'll see that it can't resolve the aspect-ratio module.
I looked at your .npmignore file and can't find anything suspicious but I can't imagine why your root file isn't being installed.

Oh sorry, I forgot add index.js inside package.json#files:
https://github.com/Kikobeats/aspect-ratio/commit/4231a2042c176773527356e54ac7ec980bd9719b#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R45
PR incoming.

@Kikobeats no worries! That'll do the trick :) I didn't know to look at the files property before


Release Review for OptionsTile

#1655

Review for release
Readiness

[ ] One or more scenarios for a design pattern have been identified as a useful unit of functionality to publish.
[ ] A functioning component or components delivering those scenarios have been delivered and merged to main.
[ ] Design maintainer has approved the implementation for those scenarios (via a comment on the relevant issue/epic).

Engineering review

[ ] Breaking changes have only been introduced with prior approval, discussion and documented in release notes. Ideally deprecation notices in the prior major version must have been added in a timely fashion.
[ ] The implementation takes into account, and does not impair, remaining and anticipated design scenarios.
[ ] Public component features (names, props, etc) are consistent with Carbon-defined conventions and are consistent internally. Where there isn't an existing convention to apply, ensure robust precedents are being established.
[ ] The UI produced is accessible, responsive, translatable, cross-browser, and responds to the currently set Carbon theme.
[ ] Components are functional components using hooks.
[ ] Public components which produce DOM structures support className.
[ ] Public components support a ref (via React.forwardRef).
[ ] Public component supports a Devtools attribute
[ ] All significant DOM elements have meaningful classes.
[ ] Additional attributes that are not identified as props (such as title, aria-*, etc) are passed through to an appropriate DOM node of the component as HTML attributes.
[ ] No warnings, errors or log messages in the console.
[ ] Each public component JS is exported in /src/components/index.js, each public component SCSS is included in /src/components/_index.scss, and each public component has a flag in package-settings.js.
[ ] Each public component SCSS lists all of the Carbon and C&CS components imported and used by the JavaScript code and explicitly imports the SCSS for each of these components.

Standards

[ ] No linter warnings or errors are produced.
[ ] Carbon tokens (theme, layout, motion) are used unless the design specifies otherwise.
[ ] All components utilizing motion must include reduced-motion queries for accessibility purposes - read more here.
[ ] Code is formatted according to prettier rules (no use of //prettier-ignore).
[ ] Code is clear, maintainable and follows standard React practices and the code guidelines.
[ ] Copyright header in every source file (js, css, scss etc.) with the appropriate years.

Testing

[ ] There is a set of test cases for the components.
[ ] The tests exercise all inputs (props, slots, etc) and verify appropriate outputs.
[ ] The tests validate the behaviors and interactions defined in the design where practical.
[ ] The tests achieve 100% coverage.
[ ] No warnings, errors or log messages in the test output.

Documentation

[ ] Source code is satisfactorily commented and provides DocGen comments for all public components and their props.
[ ] There is a story for each design scenario. The stories expose all relevant props and actions, and additional usage documentation and code samples are available on the 'Docs' tab along with the props table.
[ ] There is a sandbox (or multiple sandboxes if appropriate) on CodeSandbox for the components.

@matthewgallo I checked with Christian Fritsche (as we are the designers of this component) and after the two bugs we identified (#1722 and #1725) this is approved from design side 👍

Engineering review

OptionsTile is currently using heading as the heading — other components in our library use title. We should probably rename this to be consistent.
summary looks like a new prop we haven’t used anywhere else before, but seems appropriate for its usage since it’s not quite the same as a description.
locked and lockedText seem new — want to confirm that the expandable tile is still intended to expand when locked and that this state is a different case than disabled.
enabled doesn’t clearly specify what it’s enabling — maybe we can rename this to withToggle or includeToggle.
headingId should be renamed to titleId if we rename the heading prop.
The props in OptionsTile and Static Options Tile are in a different order. May be better to keep them consistent.
The responsiveness in Storybook seems like it could be improved at small screens — maybe set min-width: 100% and width: 32rem instead so that it passes when we test on the smallest screen size.
We’re missing an import for the Carbon toggle SCSS.

Standards

Can we verify that where we’re using rems instead of spacing, that these are actually intended to be hardcoded rems?
It’s a new year so we should update the second year in each of the OptionsTile files to include 2022. 🙌

Testing
Seeing one failed test for accessibility.

@matthewgallo are trying to find the coverage report which we’ve moved. 😅
Documentation
Just need to add a CodeSandbox under examples.

@elycheea
Thanks for the review. I opened a PR with the updates: #1750

OptionsTile is currently using heading as the heading [...]

I tried to avoid title as it's a native HTML attribute but I agree that it should follow the standard established with all other components.

[...] want to confirm that the expandable tile is still intended to expand when locked [...]

Yes, the tile should be expandable. It's different from a tile that has a toggle with is turned off in that the user can't change anyhting in a locked tile (including the toggle). It serves as an information of the current state / settings.

enabled doesn’t clearly specify what it’s enabling — maybe we can rename this to withToggle or includeToggle.

This is a tricky one as props.enabled = true means there is a toggle and it is turned on, props.enabled = false means there is a toggle but it's turned off and props.enabled = undefined (or anyhting falsy) means there is no toggle. With your suggestions, does that mean you would split this into two props? From a developer experience standpoint I thought the current behaviour would be the cleanest.

The props in OptionsTile and Static Options Tile are in a different order. May be better to keep them consistent.

This seems to be due to the first story setting a few more defaults which are then pushed to the top of the list. Is there a way to define the order of controls without setting defaults for all props that don't need defaults?

Can we verify that where we’re using rems instead of spacing, that these are actually intended to be hardcoded rems?

Just checked again and fixed a couple. The remaining spacings should not use tokens. I added some annotations to hopefully make it clearer. Let me know if there is one that you're particularly concerned about!

Just need to add a CodeSandbox under examples.

Is there a script that generates a new codesandbox example (like scaffolding a components) or should I copy an existing one (e.g. Cascade) and update it to reflect the usage of OptionsTile?

I think sticking to the one prop enabled is ok, as long as it's documented clearly. So I think the last few steps are:

Creating a code sandbox example in examples/carbon-for-ibm-products
Making sure test coverage is at 100%, one of us will run the coverage report and update this issue to let you know

Looks like there are a few more tests that need to be added. You can generate this report by running yarn test:c4p /OptionsTile/ --coverage, it will show you what parts of the component are not covered.

@matthewgallo I just opened a PR for the test coverage (#1767) and for the codesandbox example (#1768). Let me know if we're missing anything else.


✨ NICE-84 radix-ui/themes [b]

Note: This branch started off from NICE-71 that got squashed committed
@radix-ui/themes
Continue migration to radix-themes-tw with @radix-ui/themes. Tailwind will not go away fully, but will continue to use it mostly for mocking purposes (or ease).

[x] 🔥 Hack Code to pseudo-bypass JIT Tailwind with Radix-UI
[x] 🚚 WIP => Caption => Callout
[x] 🦴 Start tooling with Skeleton (Event Venue)
[x] 🗓 Refactor Event Slug Page a bit
[x] ♻ Tailwind => Radix UI
[x] 🙈 tailwindcss/no-custom-classname where have not had time yet to migrate

Other tweaks to improve flow and visualization. ✅

This pull request has been deployed to Vercel.

Latest commit:
26871d8

✅ Preview:
https://jeromefitzgerald-o98qsluck-jerome5.vercel.app

🔍 Inspect:
https://vercel.com/jerome/jeromefitzgerald/BgzJr2AWubchdNkKfQQGyVtCa8W5

View Workflow Logs


Remove install_crds mention from README. Fix #800

Signed-off-by: Andrew Obuchowicz<EMAIL_ADDRESS>What does this PR do?
Removes the mention of the outdated makefile rule install_crds from README
What issues does this PR fix or reference?
#800
Is it tested? How?
Check the README and ensure install_crds is no longer mentioned
PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

/retest

/retest

/ok-to-test
/retest

/retest

/retest


[Feature Request]: Telegram channel

Is your feature request related to a problem? Please describe.
We need to allow users to build and experiment with their bots using Telegram. Anyone can generate a telegram bot key and it doesn't require a lengthy process with Whatsapp's partners. This will be ideal for quick start tutorial
Describe the solution you'd like
No response
Additional context
No response

I am working on it


mkdoc serve exception

I'am gonna look into this but this is NOT working.
mkdocs serve
INFO    -  Building documentation...
INFO    -  Cleaning site directory
WARNING -  Template variable warning: 'site_name' is being deprecated and will not be available in a future version. Use 'config.site_name' instead.
WARNING -  Template variable warning: 'favicon' is being deprecated and will not be available in a future version. Use '{{ base_url }}/img/favicon.ico' instead.
WARNING -  Template variable warning: 'repo_url' is being deprecated and will not be available in a future version. Use 'config.repo_url' instead.
WARNING -  Template variable warning: 'page_title' is being deprecated and will not be available in a future version. Use 'page.title' instead.
WARNING -  Template variable warning: 'canonical_url' is being deprecated and will not be available in a future version. Use 'page.canonical_url' instead.
WARNING -  Template variable warning: 'page_description' is being deprecated and will not be available in a future version. Use 'config.site_description' instead.
WARNING -  Template variable warning: 'copyright' is being deprecated and will not be available in a future version. Use 'config.copyright' instead.
WARNING -  Template variable warning: 'site_url' is being deprecated and will not be available in a future version. Use 'config.site_url' instead.
WARNING -  Template variable warning: 'content' is being deprecated and will not be available in a future version. Use 'page.content' instead.
WARNING -  Template variable warning: 'site_author' is being deprecated and will not be available in a future version. Use 'config.site_author' instead.
WARNING -  Template variable warning: 'google_analytics' is being deprecated and will not be available in a future version. Use 'config.google_analytics' instead.
WARNING -  Template variable warning: 'repo_name' is being deprecated and will not be available in a future version. Use 'config.repo_name' instead.
WARNING -  Template variable warning: 'current_page' is being deprecated and will not be available in a future version. Use 'page' instead.
Traceback (most recent call last):
File "/usr/local/bin/mkdocs", line 11, in
sys.exit(cli())
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 716, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/mkdocs/main.py", line 127, in serve_command
livereload=livereload
File "/usr/local/lib/python2.7/site-packages/mkdocs/commands/serve.py", line 82, in serve
config = builder()
File "/usr/local/lib/python2.7/site-packages/mkdocs/commands/serve.py", line 78, in builder
build(config, live_server=live_server, dirty=dirty)
File "/usr/local/lib/python2.7/site-packages/mkdocs/commands/build.py", line 379, in build
build_pages(config, dirty=dirty)
File "/usr/local/lib/python2.7/site-packages/mkdocs/commands/build.py", line 306, in build_pages
build_template('404.html', env, config, site_navigation)
File "/usr/local/lib/python2.7/site-packages/mkdocs/commands/build.py", line 166, in build_template
output_content = template.render(context)
File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 989, in render
return self.environment.handle_exception(exc_info, True)
File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 754, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/tester/Documents/incident-response-docs/theme/404.html", line 1, in top-level template code
{% extends "base.html" %}
File "/Users/tester/Documents/incident-response-docs/theme/base.html", line 119, in top-level template code
{% include "drawer.html" %}
File "/Users/tester/Documents/incident-response-docs/theme/drawer.html", line 53, in top-level template code
{% include "nav.html" %}
File "/usr/local/lib/python2.7/site-packages/jinja2/loaders.py", line 187, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: nav.html

This is because the latest version of mkdocs-material introduced breaking changes. You should be using version 0.2.4. I updated our .travis.yml, but forgot to update the README. I'll update that now. Sorry about that!
pip install mkdocs-material==0.2.4


WeatherInfo separates out additional information in the comment field for easy reference

Description
Currently, the WeatherInfo info field object saves the packet comment as the full contents of the APRS comment, including the encoded weather information. This makes it somewhat difficult for the client to access. In the future, consider making the WeatherInfo object trim the encoded weather measurements out of the saved comment string on decode so that the comment can be displayed separately.
Using an example from the APRS 1.01 spec, we could have the following encoded information field for a "complete weather report" (weather report with position):  !4903.50N/07201.75W_220/004g005t077r000p000P000h50b09900wRSW
In this case, the comment string begins after the encoded coordinates and symbol information: 220/004g005t077r000p000P000h50b09900wRSW.
Weather information runs through the end of the barometric pressure reading: 220/004g005t077r000p000P000h50b09900.
This leaves wRSW remaining. In the APRS 1.01 spec, this is used to convey the software and hardware used to send the report (w = WinAPRS, RSW = Radio Shack).
However, in practice, hams often put more information in the comment string about who runs the station or other comments.
With our current implementation, WeatherInfo decodes the weather information but leaves the value of Comment as everything after the position (in this example, 220/004g005t077r000p000P000h50b09900wRSW).
For this issue to be complete, we should consider trimming that down so that the weather information is decoded in to the properties and trimmed from the comment, resulting in a Comment value of wRSD.
Notes:

Barometric pressure is not guaranteed to be the end of the measurements, nor is it even guaranteed to be present. If it is present, it can be a null value with b..... or b     . The implementation should support all of that.
The packet should re-encode exactly as it was before. This shouldn't cause any information to be lost.
It could also be acceptable to create a new property such as AdditionalComment or OriginalComment to help separate out the comment as it was sent vs. additional information. Only do this if necessary as the goal here is to simplify and make the client understand only as much as absolutely necessary about the APRS protocol.

Acceptance Criteria

[ ] WeatherInfo decodes comment as just the extra text in the comment field that isn't used for weather content which is decoded by our software
[ ] Packet still re-encodes to the same thing (i.e. no data is lost by trimming out of the comment)
[ ] Update the tests and remove any TODOs around this issue

Hi. I'd like to work on this issue (please assign to me!), and I have a question.  Hopefully I'm not overthinking this...
From what I've read in the spec and seen in practice, the user comment comes at the end of the weather info string.  For that I can write code to figure out where the weather "data" stops and the comment begins.  Theoretically, however, it's possible that someone could put text in the comment that could be construed as weather data:
...b10232wRSWs123 or
...b10232ws123RSW
Perhaps "s123" was meant to be some type of versioning, but it could also be interpreted as a snowfall measurement. Is it correct to assume that once the weather data ends, the remaining text is the user comment?
So, in the examples above, the user comments would be:
wRSWs123
ws123RSW
I think currently the software will process it as a measurement, but I'm not sure what to do with the text if it's "in the comment".
Granted, this is a bit of an edge case, but throught I'd ask for guidance with the user comment being free form text and all.
Thanks!

@martelro Great questions. I wish I knew the answer here. I wrote this up thinking it'd be nice to do but not being sure how to do it. 😅
It's tricky because some packets are nice and use a space or a non-alphanumeric character to delineate additional comment and some don't. It just doesn't appear to be standardized in the 1.01 spec. (Though it's possible that the APRS 1.1 or APRS 1.2 updates do cover this, but I'm much less familiar with them as we haven't even covered the original 1.01 spec yet. 😅)
To answer your question, I'd suspect we can be pretty safe in saying that the comment is after the data, not in the middle of it. But since it isn't standardized, I think it's open to some interpretation, trial, and error.  The short of it is, I'm open to suggestions here. 😊
For additional musings... The more I'm thinking about it, perhaps the best approach is to be conservative (especially as this packet is in prerelease versions and we can tinker). So perhaps it's a new property (WeatherInfo.AdditionaComment or something similar), let the data try to parse out from everything and then detect the comment. So if we hit something like "b10232 This is my packet! s123", then we would parse out:

Barometric pressure: 10232
Snow: 123
Additional comment: "This is my packet! s123"

So that "s123" is used twice...but at least we don't discard something or make a call and lose context...but feel free to propose something else if it makes more sense.

@CBielstein That works for me.  😊
If measurement data is in the comment, I will preserve it in the comment and let it also be treated as a measurement.  Thanks!

@martelro Awesome! I'm looking forward to seeing what you come up with!
I also just merged #136 to resolve the issue of flaky unit tests due to timeout. If you're bumping in to that, ensure you pull the latest from the main branch to resolve the problems. 😃

Resolved by #137 . Thanks so much @martelro !


join user thread by checking flag

Invalidating socket was introduced by dd07478 to prevent
using closed socket in user thread, but it was reverted
by ec8cf8e because the socket descriptor is also used for
checking if user thread is created.
However, it sometimes happens that a new thread is created while
the existing thread is closing. Then, in user thread function, the
socket descriptor is regarded as valid so the loop in the function
has no chance to exit. To avoid replacing the socket descriptor
by repeating, the descriptor should be invalidated immediately.
Signed-off-by: Justin Kim<EMAIL_ADDRESS>

Can you provide an example where you create a new thread while the old one is still there? I think sctp_finish() returns when all threads have terminated. So calling sctp_init() after it should be fine.

It happens when gstreamer pipeline is created and destroyed. In gstreamer plugin,  usrsctp_init()[0] and usrsctp_finish()[1] are called as per the instance lifecycle, but we can create multiple instances of gstreamer plugin so I think usrsctp_init() should be called once in a process.
[0] https://github.com/EricssonResearch/openwebrtc-gst-plugins/blob/master/ext/sctp/sctpassociation.c#L161
[1] https://github.com/EricssonResearch/openwebrtc-gst-plugins/blob/master/ext/sctp/sctpassociation.c#L196

You need to call sctp_init() once to initialise the stack. If you want it teardown the stack, you need to do something like
        while (usrsctp_finish() != 0) {
#ifdef _WIN32
                Sleep(1000);
#else
                sleep(1);
#endif
        }

Once usrsctp_finish() returned with 0, the stack is torn down. Only then, you should call sctp_init() again, if necessary. However, the basic idea is, that you call sctp_init() once when the program starts, usrsctp_finish() once when the program terminates. In between endpoints and associations can come and go...

      while (usrsctp_finish() != 0) {
#ifdef _WIN32
              Sleep(1000);
#else
               sleep(1);
#endif
       }

Ugh, is there a good reason why usrsctp_finish() is not deterministic? Adding a random sleep() call there looks like a terrible idea.

However, the basic idea is, that you call sctp_init() once when the program starts, usrsctp_finish() once when the program terminates. In between endpoints and associations can come and go...

This is not realistic when you are not writing the "program" itself, but a library that builds on top of this library, like we do in GStreamer. The GStreamer sctp plugin is just a plugin... The actual program can load and unload it at will. The plugin cannot possibly have control over static program initialization / deinitialization and even if it could have, it is bad design to try and outsmart the program. The program should be in control over what is loaded and what is not. If it wishes to unload something, it should be possible for it to do so without leaving anything in memory.

usrsctp_finish() can only do its job if there are no associations anymore and no endpoints.
So you could call usrsctp_close() on all your sockets but it might take a while until the associations have actually been teared down. That is what you have to compensate for. If you as an upper layer of SCTP make sure that all associations and end-points are gone before you call usrsctp_finish(), you don't need to wait.
There is currently no way to free all resources at arbitrary times... That would requires to terminate all associations (easy to do), remove all sockets (harder to do since the application controls these). I guess the best way would be that if the application wants to terminate the stack, it terminates all associations in a non-graceful way, closes all sockets and call usrsctp_finish().

@justinjoy Is this a WebRTC data channel implementation?
@tuexen Will usrsctp_finish() return successfully when all associations have been teared down non-gracefully (using ABORT)?

If the answer to both questions is yes, you can always use an ABORT chunk to tear down your associations and in fact the W3C WebRTC API now requires you to do so (see step 7).

@lgrahl usrsctp_finish() will not trigger the teardown. It will just check if there are no end points and associations and if that is true, teardown the stack. That is why you have to retry until you are successful.

It doesn't trigger the teardown but if all associations have been teared down prior to that with usrsctp_close() using an ABORT, will usrsctp_finish() return successfully?

@lgrahl That is what I would expect the stack to do.

Another reason is that I'd like to avoid reusing a socket descriptor accidentally in a loop, but I hesitated to send it because it can be done by adding an atomic comparator(a361c2d) every turn in a loop. Please, think again about my PR. Thanks.