microk8s status --wait-ready just hangs

I am new to kubernetes, and I am trying to install microk8s on Ubuntu 20.04 for learning purposes.
I followed the instruction on microk8s' website and I installed microk8s using:
sudo snap install microk8s --classic --channel=1.18/stable
Next I run:
sudo microk8s status --wait-ready
but after 30 minutes it was still hanging, so I just stopped the process.
FYI this is the output:
luca@laptop:~$ microk8s status --wait-ready
^CTraceback (most recent call last):
  File "/snap/microk8s/1379/scripts/wrappers/status.py", line 145, in <module>
    isReady = wait_for_ready(wait_ready, timeout)
  File "/snap/microk8s/1379/scripts/wrappers/common/utils.py", line 75, in wait_for_ready
    isReady = is_cluster_ready()
  File "/snap/microk8s/1379/scripts/wrappers/common/utils.py", line 50, in is_cluster_ready
    service_output = kubectl_get("all")
  File "/snap/microk8s/1379/scripts/wrappers/common/utils.py", line 98, in kubectl_get
    return run("kubectl", kubeconfig, "get", cmd, "--all-namespaces", die=False)
  File "/snap/microk8s/1379/scripts/wrappers/common/utils.py", line 31, in run
    env=env
  File "/snap/microk8s/1379/usr/lib/python3.5/subprocess.py", line 695, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/snap/microk8s/1379/usr/lib/python3.5/subprocess.py", line 1072, in communicate
    stdout, stderr = self._communicate(input, endtime, timeout)
  File "/snap/microk8s/1379/usr/lib/python3.5/subprocess.py", line 1715, in _communicate
    ready = selector.select(timeout)
  File "/snap/microk8s/1379/usr/lib/python3.5/selectors.py", line 376, in select
    fd_event_list = self._poll.poll(timeout)
KeyboardInterrupt

Then I run microk8s inspect and there seems to be some problem (Service snap.microk8s.daemon-etcd is not running):
luca@laptop:~$ microk8s inspect
Inspecting services
  Service snap.microk8s.daemon-cluster-agent is running
  Service snap.microk8s.daemon-flanneld is running
  Service snap.microk8s.daemon-containerd is running
  Service snap.microk8s.daemon-apiserver is running
  Service snap.microk8s.daemon-apiserver-kicker is running
  Service snap.microk8s.daemon-proxy is running
  Service snap.microk8s.daemon-kubelet is running
  Service snap.microk8s.daemon-scheduler is running
  Service snap.microk8s.daemon-controller-manager is running
 FAIL:  Service snap.microk8s.daemon-etcd is not running
For more details look at: sudo journalctl -u snap.microk8s.daemon-etcd
  Copy service arguments to the final report tarball
Inspecting AppArmor configuration
Gathering system information
  Copy processes list to the final report tarball
  Copy snap list to the final report tarball
  Copy VM name (or none) to the final report tarball
  Copy disk usage information to the final report tarball
  Copy memory usage information to the final report tarball
  Copy server uptime to the final report tarball
  Copy current linux distribution to the final report tarball
  Copy openSSL information to the final report tarball
  Copy network configuration to the final report tarball
Inspecting kubernetes cluster
  Inspect kubernetes cluster

The output of sudo journalctl -u snap.microk8s.daemon-etc is:
-- Logs begin at Sun 2020-04-26 20:47:30 CEST, end at Thu 2020-05-28 09:57:07 CEST. --
-- No entries --

I am attaching the full tarball file generated.
inspection-report-20200528_095451.tar.gz
Before completion, mickrok8s inspect also adviced me to do some changes
 WARNING:  IPtables FORWARD policy is DROP. Consider enabling traffic forwarding with: sudo iptables -P FORWARD ACCEPT
The change can be made persistent with: sudo apt-get install iptables-persistent
WARNING:  Docker is installed.
File "/etc/docker/daemon.json" does not exist.
You should create it and add the following lines:
{
    "insecure-registries" : ["localhost:32000"]
}
and then restart docker with: sudo systemctl restart docker

I applied both changes, but still microk8s gets stuck when I run microk8s status --wait-ready.

Hi @lucacerone, if you look at the etcd logs with sudo journalctl -u snap.microk8s.daemon-etcd (you missed a 'd' in the end) you will see the error:
listen tcp <IP_ADDRESS>:2380: bind: address already in use

You can either free the 2380 port, or you could add something like --listen-peer-urls https://<IP_ADDRESS>:12380 in /var/snap/microk8s/current/args/etcd to tell etcd to use a different port. Note this second approach is not tested but should work based on [1].
[1] https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/clustering.md

Thanks @ktsakalozos! I have no idea what might be using that port.
I'll try to follow your advice!

Thanks @ktsakalozos! I have no idea what might be using that port.
I'll try to follow your advice!

To find the process using that port, you can run lsof -i :2380. It will list programs using that port. You can then debug from there and figure out how to stop the process and free the port.

I had the same issue and it was because the server where microk8s was installed don't have enough disk & ram (At least 20G of disk space and 4G of memory are recommended as mentioned in the docs: https://microk8s.io/docs

any permanent fix to this issue , I am facing same. with Cento7
sudo journalctl -u snap.microk8s.daemon-etcd
-- Logs begin at Thu 2023-04-06 16:43:37 CEST, end at Thu 2023-04-06 17:10:18 CEST. --
Apr 06 16:51:14 test.homelab.com systemd[1]: Started Service for snap application microk8s.daemon-etcd.

Hi @lucacerone, if you look at the etcd logs with sudo journalctl -u snap.microk8s.daemon-etcd (you missed a 'd' in the end) you will see the error:
listen tcp <IP_ADDRESS>:2380: bind: address already in use

You can either free the 2380 port, or you could add something like --listen-peer-urls https://<IP_ADDRESS>:12380 in /var/snap/microk8s/current/args/etcd to tell etcd to use a different port and restart MicroK8s with micork8s.stop; micork8s.start. Note this second approach is not tested but should work based on [1].
[1] https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/clustering.md

@ktsakalozos Hi ! Thanks for possible solution recommedation. However, that did not help.

@tolonbai, the microk8s status --wait-ready command waits for two things:

the API server to be responsive
at least one worker node to be present and Ready.

Would you mind opening a new issue attaching your microk8s inpsect tarball so we can see what is the status of your deployment? Thank you.


Pause script when switching to portrait orientation

Sorry for not testing earlier, seems to work fine except for one thing that affects all pause triggers. I'll create an issue in a few minutes.


Remote report generation

Is your feature request related to a problem? Please describe.

Would like to be able to generate reports to the default storage provider

Describe the solution you'd like

when running snakemake --report report.html report should go to the default storage provider

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Should there be a snakemake report plugin for each executor or storage plugin?

Should there be a snakemake report plugin for each executor or storage plugin?

There is, isn't it?
Frankly, I do not understand your request. A report gets generated locally. Depending on a storage provider, the local file system is the default. To define a non-local storage, the default for the report would inevitably store the report so, that a user needs to retrieve it before looking into it.
If anything, what I would like as a feature would be to define an additional storage target for the report. That is not easily accomplished: I.e. when archiving data using the iRODS plugin, it would be nice if report generation would auto-store the report there. Then again, auto-storing might fail, if a PAM authentication token is expired. A user would need to re-establish authentication, re-trigger Snakemake and hope for the best as also the iRODS virtual path might have been changed in between. Hence, this would be error-prone and likely more work than before.
You see, with all the different storages at hand, you need to elaborate your intent a bit. Bear in mind: it might not be feasible to do this at all.


Change Docker process in preparation for AWS

About these changes
Added in a staged build in the Dockerfile to compile CSS and JS assets and then copy into the Python image. Also updated the Node version in .nvmrc to match that already in .platform.app.yaml (the one we use for deployment).
Updated the order of Docker commands to better utilise cached images during build which results in a faster repeat builds.
EDIT 2023-06-20: Refactored Dockerfile ready for deployment on AWS. Introduced run scripts for production (behind gunicorn) and local development (builds CSS and JS, watches for changes without the need to run separately). Migrations run on container launch.
How to check these changes
Delete the Docker containers and images and build them again. Where the CSS and JS didn't used to be ready (you had to do them separately) the assets should be already compiled and the site should look styled.
Before assigning to reviewer, please make sure you have

[x] Checked things thoroughly before handing over to reviewer.
[ ] Checked PR title starts with ticket number as per project conventions to help us keep track of changes.
[x] Ensured that PR includes only commits relevant to the ticket.
[x] Waited for all CI jobs to pass before requesting a review.
[x] Added/updated tests and documentation where relevant.

@ahosgood Sorry for the delay in getting back to this. I needed to be in a place where I could delete all of the existing containers and images locally, to rule out any mixups.
Things are getting a lot further this time, though it seems to be freezing at the last step now:
RUN npm run compile


Windows Build failed with bindgen issue

Description
Hi Team,
My build failed with below error even though im using the latest image.

image ref: 870d08d9cbff9a9a2b0e805c7e41e5238c184bf0
Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] Ubuntu 24.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[ ] macOS 14 Arm64
[ ] Windows Server 2019
[X] Windows Server 2022

Image version and build link
Windows server 2022
Is it regression?
870d08d9cbff9a9a2b0e805c7e41e5238c184bf0
Expected behavior
Successful build without errors
Actual behavior
Error with bindgen error
Repro steps
Just run the build with version 870d08d9cbff9a9a2b0e805c7e41e5238c184bf0

Hi Lokesh ,
we are unable to produce any error with given commit, could you please take the latest code from main branch.
According to your error , it showing that there is a space in the path or spelling, please look into it .

Hi @kishorekumar-anchala,
The build failed while performing Runall-tests after doing a windows update and  as given in windows-2022 packer file.

I'm using the latest code given for windows 2022.
Therefore, the error showing is from one of the tests or some check after the test, and not from our side.
im providing some more log from previous successful step(Wix.tests.ps1) for your reference.
Running tests from 'C:\image\tests\Wix.Tests.ps1'
Describing Wix
[+] Wix Toolset version from registry 18ms (15ms|3ms)
[+] Wix variable exists 16ms (15ms|1ms)
[+] Wix binaries folder exists 18ms (17ms|1ms)
[+] Wix binaries folder is in PATH 17ms (16ms|1ms)
Tests completed in 468.27s
Tests Passed: 604, Failed: 0, Skipped: 13, Inconclusive: 0, NotRun: 0
Provisioning with Powershell...
Provisioning with powershell script: /tmp/powershell-provisioner3754239793
Provisioning with Powershell...
Provisioning with powershell script: /tmp/powershell-provisioner3591480050
PHP version 8.3.8 (c:\tools\php\php.exe)
Run the "diagnose" command to get more detailed diagnostics output.
Found a space in the home path. We heavily discourage this, due to multiple
incompatibilities. Please check our docs for more information on this, as
well as some pointers on how to migrate to a different home path.
bindgen : The term 'bindgen' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\image\SoftwareReport\SoftwareReport.Common.psm1:53 char:5
+     bindgen --version | Get-StringPart -Part 1
+     ~~~~~~~
+ CategoryInfo          : ObjectNotFound: (bindgen:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : CommandNotFoundException
Provisioning step had errors: Running the cleanup provisioner, if present...
May you please have a deep look and let me know.
i look forward for your response.
Thank you,

Hi @kishorekumar-anchala, May you please provide an update. Our deployments are stopped with this error.

Hi @erik-bershel , May you please have a look at this issue.. im waiting from last 4 days for a solution of this issue.
i have run the build with the latest reference (89d72011e0cd8e10a4f178a194c04f873bf3757d), but still got some test fail issue with svn.
error details:
Describing Svn
[-] svn 95ms (90ms|6ms)
Command 'svn --version --quiet' has finished with exit code 1 and output:
'svn' is not recognized as an internal or external command,
operable program or batch file.
at "svn --version --quiet" | Should -ReturnZeroExitCode, C:\image\tests\ChocoPackages.Tests.ps1:69
at , C:\image\tests\ChocoPackages.Tests.ps1:69
i look forward for your response.


Ey dev2

Comments now saved in Datastore, displayed on reload

You may want to apply google's java styleguide.
It will help you collaborate later. https://google.github.io/styleguide/javaguide.html
There are a few possible improvements. but this is great work!

I've modified my code as specified in the comments. Please let me know if everything looks okay, thank you!


Add RequestContent.Create() overload for DynamicData

Now we can do this:
    Response response = client.GetWidget("123");
    dynamic widget = response.Content.ToDynamicFromJson(DynamicDataOptions.Default);
    widget.Name = "New Name";
-    await client.SetWidgetAsync((string)widget.Id, (object)RequestContent.Create(widget));
+    await client.SetWidgetAsync((string)widget.Id, RequestContent.Create(widget));

Addresses https://github.com/Azure/azure-sdk-for-net/issues/33856

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Core


Add some load timings to the report

Thought it might be useful for some to get a rough estimate of load times. (It is something I and my players notice, for sure.) For simplicity, I just added measurements from the init hook for this module to later hooks, such as ready and canvas ready. Pretty basics, really, but still possibly useful.
This of course, does not reflect the total time until Foundry is loaded. To get a better sense of the total load time, you would need to find a way to know when the user in fact started the log in. You could get closer by renaming this module to something like _debug-report, to get to the init hook faster, and marking it as a library module, which I think load first. Or maybe you or someone else knows how to get the load start time from Foundry API.
Edit: Actually, I stumbled across this webdoc, which suggests that performance.now starts at 0 when the node process starts. So that would be a pretty good indicator of when the log-in occurred. In that case, you can simply set up the report like this:
  report.Timings = {
     Init: timings.init / 1000,
     Setup: timings.setup / 1000,
     Ready: timings.ready / 1000,
     Canvas_Init: timings.canvas_init / 1000,
     Canvas_Ready: timings.canvas_ready / 1000
   }

Thanks for the input, but this module is designed to return information the discord mods and helpers have determined the most important data points. I brought up the topic of the timings, and it was universally agreed that it wasn't a useful metric for finding the root cause of an issue.  With that said something similar to this module is being implemented into the core for v9 and you could make an official feature request to get timings added to that report.


Clarify that advanced CI is enterprise and MT/MC

Update the callout on the advanced CI page to say that it's available on enterprise plans, and not available for ST customers yet

hey @reubenmc , just confirming if advanced ci is avail for enterprise MT and not ST? i double check pb and it seems like it's not yet rolled out to ST yet?

Hey @joellabes , Reuben has confirmed that advanced ci is GA and available to all mt and st. Am I ok closing this pr out?

Yes this is obsolete now!


Make back button more apparent.

LG request.
Test notes

You can't stop staring at the back button in the ID timeline view.

Tested and confirmed new, more prominent back button in the participant details container in participant view in all browsers.


KC not updating

Whilst killing Whisperer I've noticed that the plugin doesn't keep track correctly of the current killcount.
I've currently got 500kc but the plugin is saying 436 and basing the luck off that number.

I have restarted the plugin, reset the config and restarted Runelite.

Looks to be a collectionlog.net issue not this plugin :)


bitfields2

Based on discussion with @adamdruppe<EMAIL_ADDRESS>Added a new version of bitfields called bitfields2.  The reason for creating bitfields2 instead of enhancing bitfields is because the design requires it to be a mixin template instead of a normal template.  This change is crucial to how bitfields2 works, but means that any application using it must omit the extra set of parenthesis that bitfields requires, i.e.
mixin(bitfields!(int, "a", 8));
mixin bitfields2!(int "a", 8);

The main advantage of bitfields2 is that it is able to reference the field types by alias, whereas the current implementation converts each field type alias to a string and then mixes in the type name.  I've included a small program to demonstrate the differences in each technique and where the weakness lies in the current technique.
import std.stdio, std.typecons;

// Each template allows you to declare a variable
template declareUsingCurrentBitfieldsTechnique(T...)
{
    enum declareUsingCurrentBitfieldsTechnique = T[0].stringof ~ " " ~ T[1] ~ ";";
}
mixin template declareUsingNewBitfieldsTechnique(T...)
{
    mixin("T[0] " ~ T[1] ~ ";");
}

void main()
{
    // example on how to use both, declare varables a and b using each technique
    {
        mixin(declareUsingCurrentBitfieldsTechnique!(int, "a"));
        mixin declareUsingNewBitfieldsTechnique!(int, "b");

        // use the declared variables
        a = 3;
        b = 8;
        writefln("a = %s, b = %s", a, b);
    }

    // show problem with current technique
    {
        // The current technique fails to compile because wen you convert T[0] to a string,
        // it refers to the template name "Flag" not the template instantiation "Flag!"myflag"".
        // There are ways to try to get the string for the template instantiation but they are
        // brittle and a general solution is very difficult and may not be possible with the current language features.
        mixin(declareUsingCurrentBitfieldsTechnique!(Flag!"myflag", "x"));
        mixin declareUsingNewBitfieldsTechnique!(Flag!"myflag", "y");
    }
}

P.S. I've also added the bitfields2Code template so that an application can debug the generated bitfield code if needed, i.e.
pragma(msg, bitfields2Code!(int, "a", 8));

did you benchmark the compiletime of this, against bitfields ?

The new one was compiling a bit slower because I was using std.format to generate code.  I've since replaced it with string appending, like the original one uses and now performance is basically the same.  Here's the benchmark.
import std.stdio, std.conv, std.bitmanip;

void main()
{
    mixin(function()
    {
        string code;
        foreach(i; 0..300)
        {
            version(Original)
            {
                code ~=
                    `static struct Bitfield`~ i.to!string ~ `
                    {
                        mixin(bitfields!(
                            uint, "x",    2,
                            int,  "y",    3,
                            uint, "z",    2,
                            bool, "flag", 1));
                    }`;
            }
            version(New)
            {
                code ~=
                    `static struct Bitfield`~ i.to!string ~ `
                    {
                        mixin bitfields2!(
                            uint, "x",    2,
                            int,  "y",    3,
                            uint, "z",    2,
                            bool, "flag", 1);
                    }`;
            }
        }
        return code;
    }());
}

@UplinkCoder
Update, I found a place in the code where I could combine a string concatenation, and after doing that the new one seems to consistently build faster.  Very odd that string concatenation at compile time can make such a difference.

yeah std.format is a compile-time eating beast.

On Thu, Jun 22, 2017 at 06:05:04PM -0700, Basile Burg wrote:

Stop creating AST nodes for something that's done automatically (i.e default initialization).

why?

Seems there is a problem with circleci.sh...is this a known error?  If it's been fixed can someone retrigger the build?
./circleci.sh has_public_example
+ HOST_DMD_VER=2.068.2
+ DSCANNER_DMD_VER=2.071.2
++ curl --version
++ head -n 1
+ CURL_USER_AGENT='CirleCI curl 7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/<IP_ADDRESS> libidn/1.23 librtmp/2.3'
+ DUB=/home/ubuntu/dlang/dub/dub
+ N=2
+ CIRCLE_NODE_INDEX=0
+ case $CIRCLE_NODE_INDEX in
+ MODEL=64
+ case $1 in
+ echo 'Unknown command'
Unknown command
+ exit 1

./circleci.sh has_public_example returned exit code 1

Seems there is a problem with circleci.sh...is this a known error?

Yes.

If it's been fixed can someone retrigger the build?

You need to rebase to master..

@marler8997 can you please show a simple example "this would not work (or would be awful) with bitfields, but would work very nicely with bitfields2"? Thanks!

struct Foo
{
    mixin(bitfields!(
        Flag!"foo", "foo", 1, // Error: std.typecons.Flag(string name) is used as a type
        void, null, 7));
}

struct Foo
{
    mixin bitfields2!(
        Flag!"foo", "foo", 1,
        void, null, 7);
}

I should also mention that I created another PR to fix the specific use case I just gave as an example, but it is brittle and can't work in general, hence, why this PR was created which does work in the general case.

I don't want to start a bikeshedding discussion, but bitfield2 is a rather non-descriptive name (unfortunately I don't have a better suggestion).
Also if we really want to do this, we should at least deprecate bitfield, s.t. we don't end up with both for eternity.

Cleaning up old PRs that aren't going anywhere


Add autofocus in all popup forms

Works perfectly fine!
Missing fields:

Form after file upload (dropzone)
Batch operations

Still todo (but not blocking): "Document type" field in form popup after file upload. This requires upgrade to HTMX v2.


Symbol not found error on mac 11.5.1

Hi, downloaded using specified command from readme: /bin/bash -c "$(curl -fsSL https://exaloop.io/install.sh)".
But getting this error while building fibonacci program(from project readme):
➜  tmp codon build -release -exe fib.py
dyld: Symbol not found: __ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv
  Referenced from: /Users/freakynit/.codon/lib/codon/libcodonrt.dylib (which was built for Mac OS X 12.0)
  Expected in: /usr/lib/libc++.1.dylib

System:
Mac: 11.5.1 (MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports))

Same here. It specifically says the libcodonrt.dylib was built for 12.0 (my mac does not support 12.0). Is there a way to get a pre-built binary for Mac OS 11.x or do we have to build from source?
Thanks!

Can you please try with the latest release (v0.15.2)? That one is built on macOS 11.

Confirmed that this works. Thank you.


Update the playhead to use GSAP animations

This PR moves waveform display to SVG (from canvas) generated on the backend (instead of the frontend) and animates it with GSAP, in lockstep with the playhead.
This means:

the animation is smooth (up to 60fps)
it can be paused on percy, meaning we can keep screenshotting playback scenarios without creating glitch like we are now
Initial waveform display should be quicker since it doesn't have to be populated by js

Followup refinements:

Ensure waveform is cached

@ofsound Mind kicking the QA tires on this one?


Feat/add graph coloring environment

Description:
This pull request introduces a new graph coloring network designed to solve the single-agent graph coloring problem. The network uses a combination of node and color embeddings, self-attention, and cross-attention mechanisms to generate high-quality color assignments for graph nodes. The key components of this PR include:
A graph coloring environment that represents the problem and provides necessary information for the agent to learn the optimal coloring.
An agent network that combines node and color embeddings, self-attention, and cross-attention mechanisms to make intelligent decisions on color assignments.
Transformer-based architecture with multiple layers, heads, and MLP units for improved learning and adaptability.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Input format batterystats

I am trying to use the parser for the batterystats, system trace etc.
May I ask you what filetype you are using for this?
Does it correspond to the file received with:
'''adb shell dumpsys batterystats > batterystats.txt'''
Or is it the csv format from the following command:
''''adb shell dumpsys batterystats --checkin'''
Thank you for your help

The former, although implementing the latter could make the parser more reliable.


ATB-125: Enable Branch deploys

Enable branch deploys

Could you add some more detail to the PR / commit description about what this is doing and why it's needed? I suspect that'll be useful when we come to do something similar for the backend

I've tested this with the branch to enable the new header and it works 🎉
Could you also update the instructions in the README to reflect the new process. We now need to run the action off main in the dropdown and put our branch name in the input box.

Ah, my bad - we already have some instructions in the README (see here). I should have linked to those in my previous comment.
Could you consolidate the two sets? I don't mind which one you go with


Update cv-package-aicore-setup.md

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Frontend Modularization Planning

Frontend Modularization Plan
Current Frontend Structure
The current structure of the frontend application is as follows
src
├── (directory) api -- contains integration API files
├── (directory) components -- All components used in the project
├── (directory) contexts -- Used contexts (provide some info to app)
├── (directory) hooks -- All hooks used in the project
├── (directory) icons -- All icons used in the project
├── (directory) store -- Common redux store files
├── (directory) theme -- Themes used in the app
├── (directory) utils -- Utilities used in different parts of the application
├── (directory) views -- All the screens in the application
├── App.js -- React root
├── index.js -- Project root
├── routes.js -- Project routes
└── constants.js -- All Constants used in the application

As you see, the files are structure based on their logical properties, and not based on their module. But a lot of the directories already contains common code used by different parts of the application that we could consider modules, we will make use of that fact later on.
Modular Structure
This is the proposed application structure
src
├── common
│   ├── (directory) api -- common APIs used by more than 1 module
│   ├── (directory) components -- common components used by more than 1 module
│   ├── (directory) contexts -- All app contexts (it's already common between modules)
│   ├── (directory) hooks -- common hooks that are used by different modules
│   ├── (directory) icons -- All app icons (already common)
│   ├── (directory) store -- Redux store files (already common)
│   ├── (directory) theme -- All app themes (already common)
│   ├── (directory) utils -- All app utils (already common)
│   └── constants.js -- All app constants (already common) -- can be made into a directory with index file if it gets bigger
├── modules
│   ├── (directory) Misc -- All the screens that do not belong to a specific module and their (apis, components, and hooks)
│   ├── (directory) MLStudio
│   ├── (directory) ...
│   └── (directory) Notebooks
|       ├── (directory) api -- APIs specific to this module
│       ├── (directory) components -- components that are only used in this module
│       ├── (directory) hooks -- hooks that are only used in this module
│       └── (directory) views -- screens of this module
├── App.js
├── index.js
└── routes.js

The main differences from the existing structure are:

Application is strictly split into modules and common
Each module is based around its views (screens)
Each module is split into (views, components, hooks, and api)
There is a Misc module that groups all the views (screens) that are not grouped into a module
All the previously common directories are moved as they are into common directory
A lot of the parts that construct a module (everything other than the views) can be common and therefore there is a common directory in their name so that they can be moved into

Migration Steps
First Step
To adopt the new structure by:

Moving all of (api, components, contexts, hooks, icons, store, theme, utils, constants.js) into common
Moving all the existing views to be under src/modules/Misc/views

Next N Steps
For the N modules we agree upon, we make the following:

Move the related views from src/modules/Misc/Views into src/modules/ModuleName/views
Move all of (components, hooks, api) that are only used in the moved views (if any) to their respective directories under that same module

Last Step
Finalise Misc module after all the other modules are decided and have been split by:

Moving (components, hooks, api) from common that are only used in Misc module into Misc module

Files Naming Conventions
The current convention will be kept, and that is:

File names are camelCase unless otherwise is specified
Files for (component, context, icon, theme, and view) are named using PascalCase
Directory names are also in camelCase unless otherwise is specified
Module directory is named using PascalCase

Adding a New Module
In the future, if someone wants to add a new module, they should follow these steps:

Create a new directory for the new module under src/modules
The module structure should follow the same structure mentioned above

Mainly the module should be based around its views (or screens) so there must be a views directory
All of (components, hooks, api) that are used in that module should be under their respective directory in the module

In case they need to use a (component, hook, api) from another module, then that part need to refactored and moved into src/common in its respective place, and then both modules (the new one and the old one) should use that code from common
Any utils or helper should be under src/common/utils unless it's a helper that is super specific to this module, then it can be in the same directory as the module under helpers or utils
In case they need to use any code from common  then no extra action is required

All created files and directories must follow the mentioned naming conventions
Notes

Most (if not all) of the current components and hooks are indeed common between the different modules (or parts that we would call modules)
The views and APIs are already split into directories that loosely represent the modules that we are going to split them into, so splitting them should not be very hard

Thanks for sharing the plan for the migration!
I have a few questions for clarification:

In the backend, we have this structure now: core, common and modules where core is a basic functionality needed for the app, and common some code shared between a few modules (not all). I am not sure if we need to follow the same in frontend, but I'd like just to bring this up for awareness.
How a module will be integrated into the app? Say, I want to add a brand new module, where should I make changes to add my module to app?
Just to confirm: the enabling/disabling modules is out of scope of this task and will be done in the other issue?

Hello @nikpodsh , thanks for the feedback, regarding the asked question:

About the core module: I thought about it, and I think frontend is different from backend in that matter.This frontend is mainly used for calling the backend and there is no actual logic that happens on this side only, so I think there will be no need for the core part. If you think of a use case where we need a core model, please let me know.
For adding a new module: you should create a new directory under src/modules with the specified conventions, and add its (components, hooks, and api) in that same directory, and in case you needed to use some code that is used in another module, you refactor that into common and both would use that from there -- thank you for mentioning this, I will add it to the planning
Yes, this is only for the modularization, the enable/disable behaviour will be in a separate planning

I have updated the ticket with a section for adding a new module

Nice @AmrSaber
Here is my opinion on the discussion opened by @nikpodsh

In my opinion Misc is very much what core is to the backend. Everything that cannot be modularized is basically core, so I would keep the same naming if possible

So in this proposal we are just selecting all modules to be enabled and then later we would look at mechanisms to enabled or disable a feature right?

Hey @dlpzx , I have some comments on what you said...

In the backend core refers to what must not be updated, and I think we agreed in a meeting before that we will have common in the backend as well. In the frontend on the other hand, misc is what cannot be classified, not necessarily a core feature though. Although they might seem similar in the effect, they are different in the meaning
Yes, this planning only discusses the transition into modularized structure, and I will make another planning for the enabling/disabling feature

After consulting with Raul (Senior SDE) he had the following comments:

common with its current state, is an anti-pattern as for each of its directories, they describe the what and not the why
He suggested a different structure based on the why of each file and even some files renaming -- I will update the plan with those changes

I have updated the planning once again to reflect the latest feedback from Raul.

Hi @AmrSaber, thanks for the update.

I like the grouping under authentication and design, I think it is very clear for a developer on where to look for whenever doing changes.
The module globalErrors I am fine where it is, but I think it could also be in utils. I don't know if the error handling is a src-level module. But I see that the plan is to remove it entirely and add it in contexts, so maybe we can live with it.
I like that service matches BE service
The only thing that I am not convinced with is Misc, I think that when we get to a final list of "views that do not fit into any module" we can discuss more "whyish" names, miscelaneous is too open.

Hi @dlpzx I totally agree with you about the Misc it can mainly help us navigate through our transformation of the project, and later on we can think of a better naming for it, or think about a better place to put the views inside it. This will be clear to us once the modularization is done (i.e. all the modules that we know of).
Also, same thing about the globalErrors I think it's a bit lonely but as you said the plan is to remove it in the future and replace it with something else, and at that time we can think of a better structure for it (better place and different internal structure probably).


Selecting context menu options

It seems that context menu is a native element and outside of the document, and thus belongs in Page, similar to screenshot functionality and so on.
It can be hacked with keydown events and keyboard events or maybe even selectors, and that's how it is in Selenium, but that's not ideal.

Indeed. This is similar to https://github.com/GoogleChrome/puppeteer/issues/1306. Context menus live outside the browser, at the OS level.
AFAIK, there's no way to interact with context menus from a page, other than the contextmenu event. We can't do much in the Puppeteer-space.

Chrome Extensions support adding and removing items to and from the context menu so it seems that the browser has some hooks.

Is there a recommended way to do this for now?
The context menu opens on right click but, at least on MacOS, keyboard.press('ArrowDown') does not work.  (If I actually press the down arrow it does work.)  Same for other ways to navigate the menu like typing letters.

Right, all of those interactions are at the OS level. Meaning they live outside the browser/puppeteer space. There's no workaround AFAIK.
Do other automation frameworks support similar features?

Do other automation frameworks support similar features?

No and yes.
Not in any first-class way.  You probably know better than I do.  With Selenium it's possible to navigate the opened context menu with the arrow keys (most common from what I see) or to type to effectively "find" by text (less brittle in my opinion).
(I'm more or less trying to port code I wrote in Python with Selenium to NodeJS with Puppeteer, but right now it seems I will have to use NodeJs with Selenium.)
But those that come to mind are third-party tools supporting multiple browsers (and multiple programming languages...), not an official tool living in a repo of one browser.
If supporting automated testing of Extensions is a goal then it seems natural to provide a bit more context menu support.

If supporting automated testing of Extensions is a goal then it seems natural to provide a bit more context menu support.

Headless chrome does not support extensions https://github.com/GoogleChrome/puppeteer/issues/1215#issuecomment-344836311

Closing this since it seems there's not much interest in context menus. We can always revisit this later.

Hey @bittlingmayer were you able to make this work?

I'm developing an extension that uses context menus extensively. I would like puppeteer to support context menu testing.

was this ever solved? having the same problem selecting from context menus on mac

Reopen this please.

@avalanche1 what is the extension's name? did u finish that extension? I really need a best approach instead of using only arrow keys to navigate through options

@IgnacioYanjari I'm not sure what you're asking. DM me on instagram @mister.kat.il.magnifico, I'll try to help

It can be hacked with keydown events and keyboard events

Can it? I'm trying to implement "open in new tab" on macOS by doing just that
    await page.click('a', { button: "right" }); // right click the first  element
    await page.waitForTimeout(1000);
    await page.keyboard.press('ArrowDown');  // move to the first item in the context menu
    await page.waitForTimeout(1000);
    await page.keyboard.press('Enter'); // open the first item
    await page.waitForTimeout(1000);

but it has same effect as left-clicking the link. It opens the link in the current tab instead of a new tab. I suspect .click() causes the element to be highlighted and then .press('Enter') presses Enter on the highlighted element. It doesn't select the first option in the context menu (which is normally "Open Link in New Tab" when right clicking on links) like I wanted.


Omitting columns in the test inputs doesn't work in particular cases

Issue description
Let's say we have an external model model1 defined as follows:
- name: dummy.model1
  columns:
    id: INT
    name: STRING
    price: DECIMAL(38, 9)
    quantity: DECIMAL(38, 9)

And a model model2 using model1 defined as follows:
MODEL (
  name dummy.model2,
  kind FULL,
);

SELECT
  *
FROM
  dummy.model1

And finally a unit test for model2 defined as follows:
test_omitted_column:
  model: dummy.model2
  inputs:
    dummy.model1:
      rows:
        - id: 1234
          quantity: 0.1
        - id: 9876
          name: hello
          quantity: 0.2
  outputs:
    query:
      rows:
        - id: 1234
          quantity: 0.1
        - id: 9876
          name: hello
          quantity: 0.2

In row #1, the columns name and quantity are omitted.
In row #2, the column quantity is omitted.
When running this test, I get the following error:
  duckdb.duckdb.ConversionException: Conversion Error: Could not convert string "hello" to DECIMAL(38,9)

If I swap the order of rows #1 and #2 (in both the inputs and expected outputs) everything works fine.
⇨ it seems to work if the larger subset of columns appears first in the inputs.
Analysis
When rendering the fixture view used to mock the model1 data, the generated query is the following:
SELECT
  CAST(id AS INT) AS id,
  CAST(name AS VARCHAR) AS name,
  CAST(price AS DECIMAL(38, 9)) AS price,
  CAST(quantity AS DECIMAL(38, 9)) AS quantity
FROM (
  VALUES(
    1234, -- id
    0.1,  -- quantity instead of name
    NULL,
    NULL
  ), (
    9876, -- id
    0.2,  -- quantity instead of name
    NULL,
   'hello' -- name instead of quantity
  )
) AS t(id, name, price, quantity)

We can see that there is a mismatch in the order of the non-omitted columns specified in the inputs and the values used in the fixture query.

@pcasteran thanks for the great report - this has been fixed in https://github.com/TobikoData/sqlmesh/commit/573951086edf1c51366e8783e49dfb60fe24e914 and will be included in the next release.


Filter out non-existent tasks from --graph

Which project is this feature idea for?
Turborepo
Describe the feature you'd like to request
It's great that we can generate task dependency graph. However, there's a lot of noise for non-existent tasks in there. Is there any way to filter those out?
Describe the solution you'd like
Generate a graph with only valid tasks shown.
Describe alternatives you've considered
I guess manually editing the dot file first?

Thanks for filing this! I think this is a dupe of https://github.com/vercel/turbo/issues/937


Error quit() not found

Hello,
I add o gradle compile 'cjt.library.wheel:camera:1.1.9' but the quit() not found in JCameraListener

In version 1.1.9, I replace JCameraListener.quit () with ClickListener.onClick ()
You can see the README
jCameraView.setJCameraLisenter(new JCameraLisenter() {
    @Override
    public void captureSuccess(Bitmap bitmap) {
        //获取图片bitmap
        Log.i("JCameraView", "bitmap = " + bitmap.getWidth());
    }
    @Override
    public void recordSuccess(String url) {
        //获取视频路径
        Log.i("CJT", "url = " + url);
     }
    //@Override
    //public void quit() {
    //    (1.1.9+后用左边按钮的点击事件替换)
    //}
});
jCameraView.setLeftClickListener(new ClickListener() {
    @Override
    public void onClick() {
        CameraActivity.this.finish();
    }
});
jCameraView.setRightClickListener(new ClickListener() {
    @Override
        Toast.makeText(CameraActivity.this,"Right",Toast.LENGTH_SHORT).show();
    }
});

yes but JCameraLisenter not found ....

JCameraLisenter modify to JCameraListener ...

i do this but quit not found ....

if i go to the source it have :
`package com.cjt2325.cameralibrary.listener;
import android.graphics.Bitmap;
/**

=====================================

作    者: 陈嘉桐

版    本：1.1.4

创建日期：2017/4/26

描    述：

=====================================
*/
public interface JCameraListener {
void captureSuccess(Bitmap bitmap);
void recordSuccess(String url, Bitmap firstFrame);

}
`

You just delete this quit method
Are you running applicationcamera model?

Because I've just updated a new version and replaced the quit with ClickListener.onClick ()

I juste import the gradle and in my activity :
`jCameraView = findViewById(R.id.jcameraview);
    jCameraView.setSaveVideoPath(Environment.getExternalStorageDirectory().getPath() + File.separator + "GOMPOST_Photos");

    jCameraView.setJCameraLisenter(new JCameraListener() {
        @Override
        public void captureSuccess(Bitmap bitmap) {
            Log.i("JCameraView", "bitmap = " + bitmap.getWidth());
        }

        @Override
        public void recordSuccess(String url, Bitmap firstFrame) {
            Log.i("CJT", "url = " + url);
        }

        @Override
        public void quit() {
            JCameraViewActivity.this.finish();
        }
    });

    getPermissions();`

and permision method and the rest

yes I understand. sorry

Maybe my English is poor, ha ha, you'd better according to applicationcamera model to write

but why when I implement this, all of my icon in the layout (icon camera)
change ?
2017-10-07 12:23 GMT+02:00 Mc_JT<EMAIL_ADDRESS>
Maybe my English is poor, ha ha, you'd better according to
applicationcamera model to write
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CJT2325/CameraView/issues/105#issuecomment-334925287,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb5ZlwCo1k99Bisr0eZbydOD26JM8suks5sp1EzgaJpZM4PxTHN
.

--
Paul

Sorry, I can't understand that...

in my activity first, i have my icons of camera.
but when i implement your library it change all icon mine.
2017-10-07 12:27 GMT+02:00 Mc_JT<EMAIL_ADDRESS>
Sorry, I can't understand that...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CJT2325/CameraView/issues/105#issuecomment-334925461,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb5ZvdPAftnufHXHMHQsqK5Kyy2KbT4ks5sp1IlgaJpZM4PxTHN
.

--
Paul

because in drawable I have mine ic_camera name ?

Mabey，my drawable icon name is ic_cmaera too

you can try to change your drawable name

also Have a question :
can I change icon left ? why ? the the icon <- ?
when I can change message on the top of button take photo ?
Thanks

<com.cjt2325.cameralibrary.JCameraView
    android:id="@+id/jcameraview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:duration_max="10000"
    app:iconMargin="20dp"
    app:iconSize="30dp"
    app:iconLeft="@drawable/ic_camera_enhance_black_24dp"
    app:iconRight="@drawable/ic_camera_enhance_black_24dp"
    app:iconSrc="@drawable/ic_camera_enhance_black_24dp"/>

setTip(String tip) to change message on the top of button

Helo,
sorry but today I relanch it and now when take photo and validate, it block the camera and nothing do (not save to file) and in log appear not entry to ::
`@Override
public void captureSuccess(Bitmap bitmap) {
Log.i("JCameraView", "bitmap = " + bitmap.getWidth());
}
        @Override
        public void recordSuccess(String url, Bitmap firstFrame) {
            Log.i("JCameraView", "url = " + url);
        }`

Did you click the green arrow button on the right?

Sorry I'm wrong. It works fine I delete the actions. I do like your exemple cameraapplication. And it works.
But why i must have in captureSuccess
`Log.i("JCameraView", "bitmap = " + bitmap.getWidth());
String path = FileUtil.saveBitmap("GOMPOST_Photos", bitmap);
            Intent returnIntent = new Intent();
            returnIntent.putExtra("result",path);
            returnIntent.putExtra("pneu",pneuChoice);
            setResult(Activity.RESULT_OK,returnIntent);
            finish();`

and in recordSuccess :::
String path = FileUtil.saveBitmap("GOMPOST_Photos", firstFrame);                 Log.i("CJT", "url = " + url + ", Bitmap = " + path);                 Intent returnIntent = new Intent();                 returnIntent.putExtra("result",path);                 returnIntent.putExtra("pneu",pneuChoice);                 setResult(Activity.RESULT_OK,returnIntent);                 finish();
because if I return only path ?

Sorry, I don't know what you mean...

Why I return in your sample to intent ?

It works and not a problem but now I add 👍
jCameraView.setMediaQuality(JCameraView.MEDIA_QUALITY_HIGH);
but when I see fils it done only about 400 ko ? normal ?
It see not a good quality of image ?

jCameraView.setMediaQuality(JCameraView.MEDIA_QUALITY_HIGH)  just set the quality of video

There are a lot of parameters that affect the quality of the photos, but I haven't dealt with them yet

Does anyone in your country use WeChat?

because I do a photo and see that it was blurring ?

Yes I have wechat
2017-10-08 11:13 GMT+02:00 Mc_JT<EMAIL_ADDRESS>
Does anyone in your country use WeChat?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CJT2325/CameraView/issues/105#issuecomment-334993477,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb5ZuoidOpKWReNooiilvbSmTQc-0ctks5sqJI3gaJpZM4PxTHN
.

--
Paul

ha~ Can I add you as a friend?

of course
my id wechat is : PaulB75

i will handle with the quality of photo in next version


Bug 2124581: Add alert to Host Inventory card when no OpenShift images are available

When installing a cluster using host inventory, if there are no clusterImageSets available, user is not able to select and OpenShift version and gets blocked in the cluster creation wizard. This change disables the Host Inventory card and adds hint on how to add release images.

Fixes BZ2124581
Signed-off-by: Jiri Tomasek<EMAIL_ADDRESS>

/lgtm


App Groups: ability to set apps to open with a single click, on specific positions

"App Groups"
Similar to how App Combos on Surface Duo work, here's App Groups.
The user would be able to select which apps should go in which area of the screen. The user would be able to add as many apps and "zones" as they want. And then click "Create" to create an app group.

After that, a shortcut on the desktop will be created. The user would be able to launch those apps, on the marked places by clicking on that icon.

I've posted this idea on Twitter a few days ago and people really liked it. Maybe this functionality could be added to FancyZones? What do you think? :)
Surface Duo implementation:

If you'd like to see this feature implemented, add a 👍 reaction to this post.

This would be a killer feature for productivity. Really, really cool. Thanks @zeealeid !
Having these App Combos in the task-tray or start menu would be nice as well. I literally launch Outlook and Teams every morning side by side to get up to speed with what's happening within my company. To have these as an 'App group' in my taskbar that launches Outlook/Teams side by side would be super helpful:

Yeah, putting those in the taskbar or in the start menu would be helpful. :)

@zeealeid you want it so it opens as well in zones, correct? #8726 style solution isn't enough

Yeah

Would love to see this. Start menu, taskbar, .lnk and PowerToys Run support would be awesome too

This is a really killer productivity idea.  Having some sort of file link or shortcut that could be triggered externally would be great as well, for instance on Windows Start-up or on a Schedule or even automated by external tools.

I don't have Windows 11, but isn't that possible if you do?

@Jay-o-Way Yes for the app grouping, but no for opening the group of apps via shortcut. In windows 11, you have no way to save the app groups. So once the group closes, then you'd have to re-do the group again.

+1

I using this script using NirCmd
@ECHO OFF

REM Launch Telegram
START "" "~dp0Telegram.exe"
CALL "%~dp0nircmdc.exe" wait 1000
CALL "%~dp0nircmdc.exe" win setsize title "Telegram" 0 0 1920 1044

REM Launch Obsidian
START "" "~dp0Obsidian.exe"
CALL "%~dp0nircmdc.exe" wait 1000
CALL "%~dp0nircmdc.exe" win setsize title "New tab - Vault - Obsidian v1.1.9" 0 1044 1920 1044

REM Launch Firefox
START "" "~dp0Firefox.exe"
CALL "%~dp0nircmdc.exe" wait 1000
CALL "%~dp0nircmdc.exe" win setsize title "Mozilla Firefox" 1920 0 1920 1044

REM Launch YouTube PWA
START "" "~dp0YouTube.vbs"
CALL "%~dp0nircmdc.exe" wait 1000
CALL "%~dp0nircmdc.exe" win setsize title "YouTube" 1920 1044 1920 1044

Preview

for this, waiting for years and would be a productivity gamechanger!
What is the state?

I just discovered PowerToys Workspaces in v0.84.0 and it seems to me that it does resolve this issue.

Hello all! Workspaces is a PowerToy which enables this functionality! Read more about it here:
https://learn.microsoft.com/en-us/windows/powertoys/workspaces


DOC: sparse.csgraph.dijkstra: add warning for directed=False behaviour

Reference issue

Closes #20509 (Mentioned in #18688 as well?)
What does this implement/fix?

Adds a warning so the user can refer to the notes stating that Dijkstra isn't expected to work correctly under certain conditions when directed=False
Additional information

None

@bdpedigo does this look good to you?

For future reference, for documentation-only changes please try to save compute resources by adding [docs only] to the end of your commit message as per https://docs.scipy.org/doc/scipy/dev/contributor/continuous_integration.html#skipping

For future reference, for documentation-only changes please try to save compute resources by adding [docs only] to the end of your commit message as per https://docs.scipy.org/doc/scipy/dev/contributor/continuous_integration.html#skipping

My apologies, I missed that while going through https://docs.scipy.org/doc/scipy/dev/contributor/rendering_documentation.html#contributing-docs because it was under a "Note", is there a way to make it more prominent or a part of the regular contributing workflow?

@bdpedigo does this look good to you?

works for me!


Add js_string field when in Pyodide >0.25

I'm hoping to add an extra js_string field to Py_Unicode in Pyodide to allow us to cache Python to js string conversions. This updates pyo3-ffi to know about this field. See https://github.com/pyodide/pyodide/pull/4130

Hmm, how do you plan for this cfg feature to be applied? Does pyodide have its own abi tag? (I can't remember, does pyodide download wasm builds from pypi?)

Hmm, how do you plan for this cfg feature to be applied? Does pyodide have its own abi tag? (I can't remember, does pyodide download wasm builds from pypi?)

I suspect via direct manipulation of the compiler flags, e.g. setting RUSTFLAGS, and adding --cfg pyodide_0_25?
But whatever the plan, I think this would need independent documentation here in pyo3-ffi as to how this is supposed to be integrated or ideally what the general story for building projects using PyO3 and Pyodide is.

I wonder if we should make a separate pyodide_jsstring_cache cfg or something like that that's more specifically aimed at this specific feature.

The plan is for Pyodide wheels to get an abi platform tag like pyodide_202308_0 or something. We also want to ban abi3 wheels. But as of yet Pyodide wheels cannot be uploaded to pypi.

what the general story for building projects using PyO3 and Pyodide is.

Currently to build projects with Pyodide you need to set some funny RUSTFLAGS. I did some work before on reducing this by adjusting the rust emscripten target but it's a lot of work and sticking extra stuff in RUSTFLAGS is easy. Currently maturin and Pyodide build both know what needs to be put there. It would be nice to document this, probably we should put it in Pyodide's docs and xref that from pyo3?

I think version specific tags are slightly better because if the feature is ever retired (or we drop support for too old pyodide) then we can adjust. Do you emit just --cfg pyodide too? Then if we ever drop PyOdide 0.25 support we could replace this with #[cfg(pyodide)].

It would be nice to document this, probably we should put it in Pyodide's docs and xref that from pyo3?

I think that would be a welcome idea!

More generally, we should probably consider what Pyodide version support looks like if we're going to be maintaining pyodide-specific treatment in PyO3. Do Pyodide versions have any kind of rough mapping to CPython releases? I guess in 0.X releases you don't support older releases, so I wonder whether we would need to either?

Do Pyodide versions have any kind of rough mapping to CPython releases?

Yeah, we try to update in the spring releases, but the history isn't completely regular:
0.16 -- 3.8   Released December 25, 2020
0.18 -- 3.9   Released August 3, 2021
0.20 -- 3.10 Released April 9, 2022
0.23 -- 3.11 Released March 30, 2023

Our goal is to keep updates between mid march and mid april. But it would be useful to keep support in pyo3 slightly longer since sometimes people want to use old versions of Pyodide -- the Pyodide updates are offering fewer benefits other than version bumps these days.

Thanks. @hoodmane would you be willing to place that mapping in documentation somewhere? That way, we can easily track what minimum pyodide version to support based on the equivalent CPython support we offer. (And I guess we test minimum & latest pyodides in CI, if it makes sense to do so.)
Otherwise, I guess this just needs a CHANGELOG entry and then we can consider it for merging whenever your upstream PR is ready to ship.

Maybe we should call this something more specific like --cfg pyodide-js-string?

No strong opinion. If we do --cfg pyodide-js-string that then every tool which is used to build needs to know the mapping of Pyodide versions to when this patch applies. Maybe a way to avoid that would be if Pyodide can supply the RUSTFLAGS which it wants to be built with, and build tools can query that?

Pyodide can supply the RUSTFLAGS which it wants to be built with, and build tools can query that?

This sounds super reasonable. @ryanking13

This sounds super reasonable. I think @ryanking13 had a similar idea.

Maybe we can add an entry for RUSTFLAGS in pyodide config? e.g.
$ pyodide config rustflags
-C link-arg=-sWASM_BIGINT -C ...

If users are expected to have the pyodide CLI on their command line when building for pyodide, then that sounds good to me too. I think we'd have to figure out how to make maturin and setuptools-rust be aware they're building for pyodide and invoke the CLI to get flags, but that's just a UX question.

Maybe we can have them check an environment variable?

I guess that can work. I guess eventually if they're going to be building wheels, they must be aware of the abi / platform?
cc @messense for opinions on how maturin might want to detect pyodide builds.


Microsoft AD : eventgen combining events in the sample file

Greetings
I have followed the steps, taken exported sample windows AD logs from prod and replayed it in dev env using eventgen and i notice multiple events (rows in csv file) is combined and appearing as a single event in the splunk index.
Any pointers please?
thanks
Laks

likely need to set props line merge to false

Thanks asteinsplunk. in the eventgen conf, i tried and it didn't help. However, if i take the sample file and add to splunk via oneshot using proper props.conf, it does work as expected.


Swipe Exception for "floor3d-card"

Could you please make also an exception for "floor3d-card"? Is is all based on move and click interaction, so it's really mandatory to be usable with swipe-navigation:
https://github.com/adizanni/floor3d-card
Thanks in advance!
FragMenthor

Sure, I'll add it in the next release.

Sorry for the delay. Can you test the last pre-release (v1.12.0)? Everything should be working.


fix: added list values merging mechanism

closes #12756
What this PR does / why we need it: it adds lists values merge mechanism to fix issues like this one #12756
Special notes for your reviewer: it's my first PR here, so let me know please if I missed something

[X] this PR contains unit tests

@tleed5 thank you for your useful comments! Pushed changed, now it supports list of scalar/map/list values

@mattfarina what do you think about this feature? I think it'll be very useful, because it gives you more flexibility

Hi @mattfarina ,
I noticed that this pull request has been pending for a while. Is there anything more needed from my side? Please let me know if there are any updates or additional changes required.
Thanks!

Hi @technosophos   ,
I noticed that this pull request has been pending for a while. Is there anything more needed from my side? Please let me know if there are any updates or additional changes required.
Thanks!

Also interested in this feature. Would be great if we can go forward with this.

Hi @technosophos ,
I noticed that this pull request has been pending for a while. Is there anything more needed from my side? Please let me know if there are any updates or additional changes required.
Thanks!

Hi @mattfarina ,
I noticed that this pull request has been pending for a while. Is there anything more needed from my side? Please let me know if there are any updates or additional changes required.
Thanks!

Hi @banjoh  ,
I noticed that this pull request has been pending for a while. Is there anything more needed from my side? Please let me know if there are any updates or additional changes required.
Thanks!

Hi @robertsirc
I noticed that this pull request has been pending for a while. Is there anything more needed from my side? Please let me know if there are any updates or additional changes required.
Thanks!

Hi @robertsirc
I noticed that this pull request has been pending for a while. Is there anything more needed from my side? Please let me know if there are any updates or additional changes required.
Thanks!

Hello @mattfarina, @banjoh  , just a gentle reminder about this PR created months ago. If possible, could it be reviewed before the next Helm release? I’d appreciate any feedback to help get it ready in time. Thank you!

@banjoh thank you, especially for the unit tests, added them and pushed

Hello @mattfarina, just a gentle reminder about this PR created months ago. If possible, could it be reviewed before the next Helm release? I’d appreciate any feedback to help get it ready in time. Thank you!


Add LR & SVC

This does some input processing and also trains the dataset using logistic regression & svc. Accuracies are around 55-60%

Try to shoot for at least 70% accuracy.


Removes SQL Views required by Cardano GraphQL

I'm refactoring the application to manage the views directly, so removing here to enforce better isolation.

Tested locally. All good!


optional argument to interpolation function for interpolating on new columns or indices

pls provide an example of what you are looking in the top of the issue

provided the example above, so the new optional arguments are the following:
DataFrame.interpolate(new_columns=[x,y,z], new_rows=[a,b,c], *args, **kwargs)

Thanks for the suggestion, but since there hasn't been much community or core dev interest in years going to close. Happy to reopen if there's renewed interest


style: fix background color of selected quick rule in dark mode

fix #119

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


New jsdelivr URL for Ferdium

According to usage documentation of jsDelivr all GH repositories are mirrored:
https://github.com/jsdelivr/jsdelivr#usage-documentation
That means our recipes are available here:
https://cdn.jsdelivr.net/gh/ferdium/ferdium-recipes/recipes/
Should solve #7

@all-contributors please add @dqos for code


Layout/ClassStructure should support delegate

It is good practice to put your delegates in the top before the public methods.

At least so I heard multiple times over the years. I always think we should do it if we can enforce it.
Rubocop 0.80 does not seem to be capable of enforcing that via the Layout/ClassStructure rule. But I personally think it would be a perfect place to enforce it.
I am not familiar with the code to make a suggestion for now, but let me know your thoughts or if you (reading this) want to make a PR on it.
I expect a new classification, perhaps called delegate_methods put just before public_methods in:
https://github.com/rubocop-hq/rubocop/blob/59863814ea90482da9e19d0d12c30dd27f5f59e7/.rubocop.yml#L39
I am not religious about which ordering will be the default order with Rubocop. I am just a really big fan of consistency.

I would like to give it a try to implement this logic. Will reopen and open a PR if I succeed

As there has been no activity on this issue for almost two years, I'm going to close it. Please feel free to open a PR for it in the future if you wish!


logossettoallpages

Closes
Closes #1155
Description
i have added logos to error page and services page and also to contact page in footer
Screenshots
in services page

in contact page

in error page

Checklist:

[x] I have linked the PR to the correct issue.
[x] I have read the Contribution Guidelines
[x] I have built and tested the changes, and they do not break or show any errors.

can you please review my pr @Vaishnavi-Patil2211


Java to Kotlin Migration: Diary, Weather packages

Convert the java files to kotlin in Diary and Weather packages

pls assign :)


[FEATURE] Sitemap Addition for Website {GSSoc'23}

Description
The current website does not have a sitemap, making it difficult for search engines and users to navigate and discover all the pages and content on the site. This can result in lower search engine rankings, decreased visibility, and a poor user experience.
I would like to request the addition of a sitemap to the website. A sitemap is a file that lists all the URLs and metadata of a website's pages. It helps search engines crawl and index the site more effectively, improving its visibility in search results. Additionally, a sitemap provides a structured overview of the website's content, allowing users to easily find and navigate to specific pages.
Screenshots

Here screenshot shows that the website doesn't contain a sitemap.
🥦 Browser
Google Chrome
Checklist ✅

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (blank for no)

Great issue, you can start working on this.
Remember, Good PR makes a Good Developer !
We at Milan work hard to maintain the structure, and use conventional Pull request titles and commits.
Please make sure that you have read our documentation on Commiting guidelines and Pull request guidelines.
Without a proper template for the PR, not following the guidelines and spam might get the pull request closed, or banned.


I have a question about the process of WIDERFACE dataset

I have download the original WIDERFACE dataset from http://shuoyang1213.me/WIDERFACE/. But there have no information about “five facial landmarks”, can you give me the code about how to process the original WIDERFACE dataset  in this paper or what's the meanings of the label.

hello,I also want to know how to process the dataset,do you know how to do it?


font-awesome not loading properly

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.

@angular/cli: 1.4.4
node: 6.9.4
os: win32 x64
@angular/animations: 4.4.4
@angular/common: 4.4.4
@angular/compiler: 4.4.4
@angular/core: 4.4.4
@angular/forms: 4.4.4
@angular/http: 4.4.4
@angular/platform-browser: 4.4.4
@angular/platform-browser-dynamic: 4.4.4
@angular/router: 4.4.4
@angular/cli: 1.4.4
@angular/compiler-cli: 4.4.4
@angular/language-service: 4.4.4
typescript: 2.3.4
Repro steps.

Followed the SASS step described here: https://github.com/angular/angular-cli/wiki/stories-include-font-awesome
The log given by the failure.

When launched, the font-icons are not rendering and a bunch of errors in the console logs:

downloadable font: incorrect file size in WOFF header
downloadable font: rejected by sanitizer
downloadable font: WOFF2: Failed to read 'length' or it does not match the actual file size

Desired functionality.

Mention any other details that might be useful.

it looks like my maven build with resource filtering is messing up with the fonts - all is good now.


Bind does not preserve function return type

TypeScript Version:  2.4.0
Code
function foo<T>(provider: () => T): T { return undefined; }
function giveMeTrue(): boolean { return true; }

const okay: boolean = foo(giveMeTrue); // okay
const notOkay: boolean = foo(giveMeTrue.bind(this)); // type '{}' is not assignable to type 'boolean'

Expected behavior:
Both should be okay - bind does not change the return type of the function.
Actual behavior:
bind changes the function return type to any.

There relevant line is here: https://github.com/Microsoft/TypeScript/blob/b162097c3c7f5e5174eb70124de8888669775dbd/lib/lib.d.ts#L271
Should it return this?

Dupe of #212

Closed as duplicate of #212


QuantumInstance spends lots of time in time.sleep, even when wait=0

Environment

Qiskit Terra version:  latest
Python version:
Operating system:

What is happening?
Setting the QuantumInstance with wait=0:
qi = QuantumInstance(backend=backend, initial_layout=[0,1], shots=4096, wait=0)

still results in a large amount of time being wasted in time.sleep for what seems to be no reason, e.g. from profiling:
         44460513 function calls (43576360 primitive calls) in 71.713 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
   242815   18.911    0.000   18.911    0.000 {built-in method time.sleep}
   500878    3.176    0.000    5.914    0.000 copy.py:66(copy)
816640/385524    1.498    0.000    9.811    0.000 {built-in method numpy.core._multiarray_umath.implement_array_function}
4519438/4485166    1.224    0.000    2.043    0.000 {built-in method builtins.isinstance}
   176870    1.012    0.000    1.012    0.000 {method 'reduce' of 'numpy.ufunc' objects}
    54436    1.011    0.000    8.784    0.000 quantumcircuit.py:767(compose)
    73242    0.951    0.000    4.715    0.000 quantumcircuit.py:210(__init__)
369346/368549    0.944    0.000    2.279    0.000 copy.py:259(_reconstruct)
89712/42336    0.934    0.000   11.592    0.000 superop.py:53(__init__)
    73254    0.881    0.000    2.646    0.000 quantumcircuit.py:1299(add_register)
    69335    0.811    0.000    5.315    0.000 quantumcircuit.py:2082(copy)
    17136    0.661    0.000   13.307    0.001 quantum_error.py:51(__init__)
  1348115    0.648    0.000    0.680    0.000 {built-in method builtins.getattr}
    41660    0.642    0.000    1.531    0.000 numeric.py:2337(within_tol)
    22182    0.642    0.000    5.390    0.000 circuit_to_instruction.py:21(circuit_to_instruction)

How can we reproduce the issue?
Run a simple 2Q VQE using a FakeBackend
What should happen?
It should spend no time in sleep.
Any suggestions?
No response

This bug does not apply to currently supported versions of Qiskit. Please submit a new issue if the bug still occurs in Qiskit 1.*.
See https://docs.quantum.ibm.com/migration-guides/qiskit-quantum-instance


adding on website the steps to install kubectl cost plugin

Improve the user experience of newly users to opencost adding kubectl cost installation steps on the website integration page.
This is to spare users to dig down on kubecost/kubectl-cost/main/README.md and/or misnavigation to other installation pages.

@brito-rafa thanks! Merging


runner for 'ceylon fat-jar'

The release 1.2.3 have a feature to create fat-jar and IDE can have the options:

Create fat-jar
Run as Java Application (fat-jar) //or something like that

Reassigning to 1.3.

@bjansen The Eclipse IDE now has a runner that uses ceylon fat-jar, that shares code with the support for ceylon swarm. We should do the same for IntelliJ.

Done, it works the same way as Swarm modules: open module.ceylon, click on the green arrow in the left gutter, then choose Run 'mymodule with fat-jar'.

Great o/

Awesome, thanks @bjansen !!!


Add NUnit as a NuGet Dependency to the Xamarin.UITest NuGet Package

Describe the solution you'd like
NUnit should automatically be installed when the Xamarin.UITest NuGet Package.
Describe alternatives you've considered
Today, developers who add the Xamarin.UITest NuGet Package must manually add the NUnit NuGet Package to the same csproj.
This creates a poor onboarding experience for developers who are new to Xamrain.UITest who may not know that Xamarin.UITest has a dependency on NUnit and to know which version(s) of NUnit is/are compatible with Xamarin.UITest.
Additional context
To add a dependency to NUnit, add the following  to the Xamarin.UITest nuspec file:
<dependencies>
      <dependency id="NUnit" version="3.11.0" />
</dependencies>

Currently, the Xamarin.UITest NuGet package says it has "No Dependencies" which is misleading.

Hi @brminnick,
this is by design as Xamarin.UITest doesn't have a hard coupling with NUnit or a specific version of NUnit. And because of the loose coupling we are not interested in forcing anything on the users.

My goal is to create a better onboarding experience when developers add the Xamarin.UITest NuGet package to their project for the first time. We are unfairly putting the onus onto the developer to know exactly which testing frameworks are supported, and exactly which versions of those testing frameworks are supported.
I'm also curious to understand more about the impact of adding a NuGet dependency to NUnit:

Which other frameworks does Xamarin.UITest support?

Can developers use XUnit? (This is the 8th most requested feature when sorting AppCenter Issues by '👍')

How many developers are using Xamarin.UITest without NUnit?

Both the Microsoft docs and Xamarin University explicitly state that NUnit 2.6.3 or 2.6.4 must be used with Xamarin.UITest:

Xamarin.UITest is a testing framework that enables Automated UI Acceptance Tests written in C# using the NUnit unit testing framework to be run against iOS and Android applications.... Xamarin.UITest is the Automation Library that allows the NUnit tests to execute on Android and iOS devices.... Xamarin.UITest requires NUnit 2.6.3 or 2.6.4 to run tests. Xamarin.UITest is not compatible with NUnit 3.x.

The Xamarin community is also following this recommendation, using NUnit for their Xamarin.UITest framework. Here are the top google search results for Xamarin.UITest:

https://www.jimbobbennett.io/ui-testing-your-xamarin-apps/

Xamarin UITest is based off a testing framework called Calabash which was written in Ruby and is fully open source and maintained by Xamarin. UITest is a layer on top of this that allows you to write your tests in C# and run them using NUnit

https://medium.com/@frankiefoo/xamarin-forms-how-to-perform-automated-ui-test-254a01c87648

Xamarin.UITest project requires NUnit 2.6.3 or 2.6.4 to manage & run the test, and is incompatible with NUnit 3

https://medium.com/@gavination2/automated-ui-testing-with-xamarin-uitest-and-the-page-object-pattern-53bd9541cb27

Xamarin.UITest is an automated testing framework based on Calabash that allows developers to write acceptance tests written in NUnit. Calabash is the core framework written in Ruby that enables developers to write Automated UI Acceptance Tests. Finally, NUnit is a unit-testing framework for .NET-based languages. Developers can use NUnit and Xamarin.UITests to run tests against iOS and Android applications.

https://www.youtube.com/watch?v=3x7chLZv-UY

Xamarin.UITEst is a testing framework that enables Automated UI Acceptance Tests written in NUnit

Another way we can improve the onboarding experience is to include a readme.txt in the NuGet Package that displays text when the NuGet package is added to let the users know the recommended test frameworks and which versions are supported. The Xamarin.Essentials NuGet package currently does this to help developers add the required code to their MainActivity.cs

From the #test-cloud channel in the Xamarin Chat Slack: https://xamarinchat.slack.com/archives/C06DTEX0S/p1563917077000800

@brminnick As of Xamarin.UITest 3.0 and higher, the latest version of NUnit is now supported. The messages you cite were accurate for many years though about the maximum versions supported.
In this sense, I agree that it should probably be clearer that users can use NUnit 3.


Deposits not crediting

Hi
I tried to test a bitcoin deposit , and while the coins can be seen via rpc , they are not being credited to the account.
Ideas?

this might help?  https://github.com/peatio/peatio/issues/189

resolved


Updated pandas Exception code import in /blast/init.py to make pa…

New pandas version 1.1.0 does not support Exceptions import from the pandas.io.common submodule. Changed /blast/__init__.py to make this code pandas version agnostic. The remainder of the software code was unchanged. Also restricted library dependencies ranges to safeguard against future library changes and updates for increased stability.
Other updated files like galaxy wrapper and conda recipe are just for illustration purposes and final versions are stored on bioconda and PHAC/galaxy_tools repositories.

This was addressed in release 3.0.1


Unable to connect to Sonarr <IP_ADDRESS>4 or Radarr <IP_ADDRESS>70

Describe the bug
New installation, entering IP address, port, and API key for Radarr or Sonarr fails test every time.  Maintainerr logs state:
[WARN] [SonarrApi] Couldn't fetch Sonarr info.. Is Sonarr up? [WARN] [RadarrApi] Couldn't fetch Radarr info.. Is Radarr up?
No logs found in Radarr, but Sonarr has both Sonarr.Http.Authentication.BasicAuthenticationHandler|Basic was not authenticated. Failure message: Authorization header missing. and LanguageProfileController|API call made to deprecated endpoint from axios/1.3.4
Both Radarr and Sonarr are set to Authentication and Certificate Validation disabled for Local Addresses
To Reproduce
Steps to reproduce the behavior:

Enter connection details for Radarr or Sonarr
Click on Test Saved
See 'Connection failed! Please check and save your settings'

Expected behavior
Connection test expected to be successful.
Device (please complete the following information):

OS: Docker
Version 2.1.0

Additional context
Unable to test collection generation without sonarr or radarr because once details are entered, they cannot be removed without seeing 'Not all fields contain values'

Try saving changes first before you test SAVED.

For future reference the issue was a networking problem. Ensuring all containers involved were on the same docker network, then using the containers' hostname in Maintainerr settings. All is connected successfully.

@ydkmlt84, Am I correct in understanding that the issue has been resolved? Can we close it? & Thanks for helping him out!

Yes it can be closed. Worked it out on discord.


fix on plugin wrapper in order to work with webpack

https://github.com/itsjavi/bootstrap-colorpicker/issues/195

I will update the pr with the needed changes when I get home.

made the changes.

thank you!


make card text fixed

In blog section limit the text in card
Screenshot of the card

These line should be limited to 5 lines

Hey Alok,
I'll be happy to work on the project...

Hey @vaibhavheda

We are trying to customize this card such that only 5-6 lines should be visible with a Read button which opens up the blog

NOTE:
please drop a message if need any help

Hey,
LL add this and send over the PR


Occaisional long launch times

The stencila/alpha image is large and takes a long time to download, even on GKE. That's OK, because each sibyl-server container can download it. But when a new stencila/alpha:latest is built, or a new sibyl-server is scaled up. The first bundle image build takes a very long time.

If I recall correctly, one of the problems of the docker daemon is that it
has rather unpredictable boot times. I don't know if that's the cause here,
but if it is it might not necessarily be a solvable problem (besides
figuring out ways to work around it).
On Wed, Jun 21, 2017 at 12:02 PM Nokome Bentley<EMAIL_ADDRESS>wrote:

The stencila/alpha image is large and takes a long time to download, even
on GKE. That's OK, because each sibyl-server container can download it.
But when a new stencila/alpha:latest is built, or a new sibyl-server is
scaled up. The first bundle image build takes a very long time.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stencila/sibyl/issues/35, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWlehN-wcSL6VcePHsu45xDfyqPoVX0ks5sGPg_gaJpZM4OAzCm
.

All the behaviour I am seeing points to this being related to docker build ... having to pull an updated image of alpha.

Just some questions:
Is this related to the call at line 517 of sibyl.sh ?
If so, is it possible to provide more feedback about the docker pull ?
Oh, is the problem here that it is just taking too long, or is it causing some other problem ?

Yeah, it seems that if just takes a long time and then the chunked encoding
error thing happens so you never get the link to the session.
On Jun 22, 2017 10:34 PM, "Finlay Thompson"<EMAIL_ADDRESS>wrote:

Just some questions:
Is this related to the call at line 517 of sibyl.sh ?
If so, is it possible to provide more feedback about the docker pull ?
Oh, is the problem here that it is just taking too long, or is it causing
some other problem ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stencila/sibyl/issues/35#issuecomment-310342450, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABGVUHfBwP3ZgT0leK13T2yK-oRQ6Mdyks5sGkMkgaJpZM4OAzCm
.


Horizontal spacer not working

Vertical spacer works perfectly, but I can't seem to get the horizontal spacer to work at all. It just shows the URL title in the bookmarks folder, without a favicon

Yes indeed! The icon seems wrong @skrysmanski.

Looks like this is fixed in #2, but it also looks like it won't be merged to prod:

"While I generally have nothing against this change, I think I made the icon for the horizontal separator intentionally blank (if I can remember correctly)." - @skrysmanski

Looks like this is fixed in #2, but it also looks like it won't be merged to prod:

"While I generally have nothing against this change, I think I made the icon for the horizontal separator intentionally blank (if I can remember correctly)." - @skrysmanski

Just to make sure:
Instead of this:

You want this:

Correct?

This can't be intentional right?

@buismaarten Yes, it is - to have an empty favicon.

Closing this due to a lack of feedback.


[BUG] AttributeError: module 'fiftyone' has no attribute 'config' on M1 mac after fresh install

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): M1 Apple Silicon running Monterey (12.6)
FiftyOne installed from (pip or source): source
FiftyOne version (run fiftyone --version): FiftyOne v0.17.2, Voxel51, Inc.
Python version: Python 3.10.7

Commands to reproduce
As thoroughly as possible, please provide the Python and/or shell commands used
to encounter the issue.
Install fiftyone via:
git clone https://github.com/voxel51/fiftyone
cd fiftyone
bash install.bash -d

Try to run the app:
# cli
fiftyone quickstart

or running .py file with:
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
session = fo.launch_app(dataset)
session.wait()

Try to print the config:
fiftyone config

Describe the problem
Getting this AttributeError when trying to run the app and print the config:
AttributeError: module 'fiftyone' has no attribute 'config'

Fix

install mongoDB for M1 following https://voxel51.com/docs/fiftyone/user_guide/config.html#configuring-a-mongodb-connection
Create .fiftyone directory in the users home directory with a config.json file containing:

{
    "database_uri":"mongodb://localhost"
}

Run pip install -e .
Add fiftyone to $PYTHONPATH (eg export PYTHONPATH=$PYTHONPATH:~/Dev/voxel51/fiftyone)

I don't think this a an m1 issue. This is a general issue related to editable installs and submodules. Perhaps this

Yes to clarify, if you're not running an M1 mac, then your fix is just:
pip install -e .
export PYTHONPATH=$PYTHONPATH:~/path/to/fiftyone

I was running into the same issue when running python fiftyone/server/main.py . following the fix worked for me. Thank you! 🍨

I've noticed that using ~ sometimes causes problems because it is read literally instead of being expanded. If you have the ~, you can try replacing it with the full path (ie /Users/<username>)

Thanks!  Think I got it, issue was due to conflicting env variables.


Incorrect computed attribute for variable optional value

Describe the bug

Steps to reproduce

Add a template with source https://github.com/unitong/test-variable.
The definition of test_object variable:

variable "test_object" {
  type          = object({
    name        = string
    age         = number
    email       = optional(object({
        address = string
        domain  = optional(string, "test.com")
    }))
  })
  default       = {
    name        = "Bob"
    age         = 23
    email       = {
        address = "bob"
        domain  = "example.com"
    }
  }
}

Create a resource using the above template version. 0.0.8.
Delete the email domain value for Test Object.

Check the setting after deploying.

Result

The computed attribute of email domain is wrong. It should be 'test.com'.

Expected behavior

Environment

Walrus version: main a12b753f2e823aa7a7456110215dceed4da46ba1
UI version: dev-07fa8db

Additional context
Add any other context about the problem here.

Environment

Walrus version: main 3806cbeb980963a23e83bf42b8ac3b15c287fbba
UI version: v0.5.0-rc2

Test Result: pass


Allow creation of area weights for Lambert Conformal Grids

✨ Feature Request
iris.analysis.cartography.area_weights should work for cubes on a Lambert Conformal Grid
Motivation
at the current time, the iris.analysis.cartography.area_weights function only supports spherical geometries (regular lat/lon and rotated pole). Many regional climate models (and other related data) are on other projections. One common example for Europe is the Lambert conformal grid which is used by the REGCM climate model for Europe
Additional context

documentation for  iris.analysis.cartography.area_weights states The cube must have coordinates ‘latitude’ and ‘longitude’ with bounds.

Thanks @nhsavage. We've discussed this in the @SciTools/peloton and we expect it would be non-trivial! If you know that this would be widely used, please encourage people to vote so that we know it's worth it!

@nhsavage Do you have some example lambert conformal grid data that you could share with me? 😄

Related to https://github.com/SciTools-incubator/iris-esmf-regrid/pull/198

sample data at /data/users/fris/REGCM/EAS-22/tas_EAS-22_NCC-NorESM1-M_historical_r1i1p1_ICTP-RegCM4-4_v0_mon_199101-200012.nc

see also https://github.com/ESMValGroup/ESMValCore/issues/1156

CDO is able to do this, but it doesn't give a reference. http://www.idris.fr/media/ada/cdo.pdf
2.15.3. GRIDCELL - Grid cell quantities
I guess if push comes to shove, for ESMValTool we could perhaps use this to make a grid cell area file if it is missing

as for deadline - there is no specific date. While this issue remains unresovled, people are unable to use ESMValTool for analysis of data with Lambert conformal conic grids. This means they find alternative solutions (regridding to a lat/lon grid, using a different tool). This menas there is no specific deadline

Another thing to consider here is that there are multiple projected coordinate systems in use in CORDEX data and so a generic solution would be better if we could come up with one. We don't need areas as such, only area weights. Could this funciton from ESMPy help? https://earthsystemmodeling.org/esmpy_doc/release/ESMF_8_0_1/html/field.html#ESMF.api.field.Field.get_area

@nhsavage I suspect ESMPy could get you close to the area weights, but I imagine there would be a slight difference between the weights ESMPy gives you and the "proper" weights due to the difference what counts as a straight line between two points in a given projection and what counts in ESMF (always a great circle arc). If such an answer would be close enough, there could be a case for adding this as a feature to iris-esmf-regrid in order to keep the iris dependencies minimal.

As mentioned here https://github.com/ESMValGroup/ESMValCore/issues/1156#issuecomment-1840648041, there may be a solution possible via iris-esmf-regrid. If this solution works, this would become less of a priority in Iris, though it would still be good to have a solution in Iris if we were able to get better accuracy by using explicit fomulae.


Unique keys, Part 2

Asserts that keys are unique in the parent.
Re: #98

Closing this, as it'll never get pass alignWithDOM's getChild. I'll open another PR for the comment updates.