fix (dataset editor): allow Source tab readOnly mode

SUMMARY
Based on the discussion in #11478, this PR propose add readOnly mode for Source Tab for Dataset Editor.
cc @benceorlai @zuzana-vej
Default: everyone is allowed to edit Source:

Disabled: when feature flag ENABLE_DATASET_SOURCE_EDIT is disabled, for example, we can disable edit permission for certain users:

TEST PLAN
CI and unit tests
ADDITIONAL INFORMATION

[X] Has associated issue: #11478
[X] Changes UI

Codecov Report

Merging #11781 (d7a23f9) into master (db73869) will decrease coverage by 4.67%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11781      +/-   ##
==========================================
- Coverage   67.20%   62.53%   -4.68%
==========================================
  Files         903      446     -457
  Lines       43719    27409   -16310
  Branches     4199        0    -4199
==========================================
- Hits        29380    17139   -12241
+ Misses      14235    10270    -3965
+ Partials      104        0     -104

Flag
Coverage Δ

cypress
?

javascript
?

python
62.53% <ø> (-0.96%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/config.py
90.07% <ø> (ø)

superset/views/base.py
72.68% <ø> (ø)

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/databases/commands/create.py
32.65% <0.00%> (-59.19%)
:arrow_down:

superset/db_engine_specs/hive.py
54.08% <0.00%> (-29.97%)
:arrow_down:

superset/views/database/mixins.py
59.64% <0.00%> (-22.81%)
:arrow_down:

superset/db_engine_specs/presto.py
69.76% <0.00%> (-12.53%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/databases/dao.py
94.11% <0.00%> (-5.89%)
:arrow_down:

... and 472 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 db73869...d7a23f9. Read the comment docs.

I think the padlock should apply only when the user enters the Dataset edit screen from Explore. When the enter through Data >Datasets>Edit, the padlock should not apply. In the latter case, the user's intent is clear, to edit the dataset, and the padlock can get annoying quickly.

When the enter through Data >Datasets>Edit, the padlock should not apply. In the latter case, the user's intent is clear, to edit the dataset, and the padlock can get annoying quickly.

Hi @benceorlai thanks for the feedback, but i could not agree with this point. When a dataset is large and shared by multiple users/teams, many time you want to check and make sure the definition of its metrics and calculated columns before actually make chart out of it.
In the explore view context, i would believe the majority of use cases for Datasets > Edit, is to see dataset details instead of actual change it.

When the enter through Data >Datasets>Edit, the padlock should not apply. In the latter case, the user's intent is clear, to edit the dataset, and the padlock can get annoying quickly.

Hi @benceorlai thanks for the feedback, but i could not agree with this point. When a dataset is large and shared by multiple users/teams, many time you want to check and make sure the definition of its metrics and calculated columns before actually make chart out of it.
In the explore view context, i would believe the majority of use cases for Datasets > Edit, is to see dataset details instead of actual change it.

That's an interesting point you raise, and then the solution could be the introduction of a new "View" action, in addition to "Edit". My approach to this is to align the user intent and the UX, and I think the "Edit" term is very unambiguous to know what the user should expect. It seems that View (=see details), Edit (=make global changes) and Copy (=make 1-off changes) options would cover every possible intent.

@benceorlai i think the idea of viewing the dataset properties has merits but doesn't necessarily need to be a part of the modal experience itself. if the majority of the use cases are to "see dataset details instead of actually changing it" or (similarly) "check and make sure" the properties are right, there could be an opportunity to expose this info in the side panel before entering the "Edit Dataset" flow. Sim to what we have here but make this view more accessible:

here is a real example: a calculated column Capped duration:

I agree with edit vs. view in future. In ideal case though, you don't have to go to the modal to view calculated metric's / column's definition. You can hover over it in the new left side bad and see the definition / calculation - the SQL expression basically. For now, I think the current solution is OK, and it's better to be on a safer side.

When a dataset has a lot of calculated columns and metrics, users have to visit this pretty often to make sure the definition.

Not sure if everyone knows this, but you can hover on the little help icon after a pre-defined metric/calculated column to see its definition:

I'm not sure how to do it, but should we place the padlock near the input fields? I'm worried users wouldn't know it's clickable. It would also be nice to have some tooltip or explanatory text on why it is locked.
Or, we can place a "Unlock Edit" link in the warning alert (potentially restyle it to make it more visible).

@ktmud thinking we could position the padlock here w the supporting copy.

@Steejay You design looks good!
Here's another alternative:

that could work too @ktmud! i think it would be nice to keep all action buttons in the same region though.

@ktmud and @Steejay Your design looks good, but please note only Source tab has need control. Both header and footer section, are shared with other tabs. We can do hide and show for Padlock if user is in other tab, but I just want to emphasis "Source" tab need extra careful protection.
Mostly cases, when user edit Metrics or Columns, they can find error and recover it right away. (Remove existed metrics and columns are dangerous too, you might remove something other ppl use). This also happens pretty often, so we don't want to add extra click for modify Metrics and Columns tab.

The warning text applies to other tabs so I think it makes sense to apply the lock to other tabs, too. As you have noted, deleting a metric/column is also dangerous.

good reference: Mac (System Preferences > Security & Privacy) has a sim padlock experience. Some tabs allow editing some dont unless padlock is unlocked.

The extra feature flag DISABLE_DATASET_SOURCE_EDIT, only meant to disable other user change dataset, but allow teams to enrich dataset. Additional Padlock will make add/modify metric and columns more troublesome, which happens very often in airbnb.
@ktmud and @Steejay I think for this PR we should follow the agreement from last meetup: https://github.com/apache/incubator-superset/issues/11478#issuecomment-720125272
If you have more options, bring up to meetup and get feedback from more audience.

Added additional description for the padlock:

Note: i still prefer to keep pad inside Source tab and not in the shared area with other tabs, just to make Source tab a little special.

i'd recommend adhering to the alignment set by the original context to reduce visual clutter. Suggesting we move the lock to the bottom (but still inside the Source tab) so we dont break up the content of the form by having the padlock in the middle. Attached a mock for reference.

i'd recommend adhering to the alignment set by the original context to reduce visual clutter. Suggesting we move the lock to the bottom (but still inside the Source tab) so we dont break up the content of the form by having the padlock in the middle. Attached a mock for reference.

Curious to see how does this look in the virtual datasource tab though? There's a very tall code editor that takes a lot of space.

move padlock to the bottom of Source tab:

The SQL Editor has fixed 25 lines of height.

looks good to me @graceguo-supercat

Sorry for keep nitpicking, but is there a way to add disabled state to the SQL editor as well? People might not know they need to scroll.

Sorry for keep nitpicking, but is there a way to add disabled state to the SQL editor as well? People might not know they need to scroll.

it is disabled, you can't edit text in SQL Editor. But you can't tell from screenshot.

for the previous comments:

I shorten the Editor height from 24 lines => 20 lines. I don't want to make this really small because in airbnb many virtual dataset are huge...
I added grey background for the readOnly mode for Editor. please see the updated UI in description.


add PyModule::new_bound and PyModule::import_bound

Part of #3684
This is a WIP migration of PyModule::new and PyModule::import to the new APIs.
I decided to pause on this one for a bit and leave in draft, because:

I started moving Python::import to Python::import_bound at the same time, but this got too much so I might try to do that one first.
I think we should solve #[pymodule] taking &Bound<'_, PyModule> (probably in a similar way to the draft #3744) before continuing here, because a lot of the examples / docs get in a really bad interim state here otherwise.

Ok, I rebased this and it should be in a suitable state still. We still need to resolve #3808, but the diff here is still pretty reviewable without that cleanup.

Indeed, #[pymodule] doesn't yet support a &Bound<PyModule> argument yet either. It might be possible to achieve that in one go based on what I've got remaining in #3744. I might try that after this is merged.

@LilyFoote regarding the suggestions above, the blocker is the support for #[pymodule], otherwise those suggestions would compile. I'll try to include those in the follow-up.

Ooof can't keep up with the merge conflicts! I'll try to fixup this again this evening and hopefully see it across the line.


Remove unnecessary dependency from camel-flink

Description
The recent version of Flink is independent on Scala (FLINK-23986), so we can remove that unused dependency.
Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

No corresponding JIRA issue since it's just a dependency removal.
Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

/component-test camel-flink


feat(mass, massappct): backscraper for masscases.com

Helps solve #984

I have put the backscraper on the same file as the scraper, even when it targets a different file. After finishing it, I actually think the backscraper should be on its own file, because it targets a different site, and uses an exclusive extract_from_text. What do you think? Maybe juriscraper/opinions/united_states/state/mass_backscraper.py?
I normally wouldn't use  juriscraper/opinions/united_states_backscrapers/mass.py since it is awkward to have to folders for what is basically the same thing (scraping opinions past or present), but in this case it seems it could also be a proper place for the scripts...

One of the reasons I liked the united_states_backscraper directory is because you can put one-off scripts in there and not worry too much if they go stale or stop working.

I tested this today and found it crashed
Traceback (most recent call last):
  File "/Users/Palin/Code/juriscraper/sample_caller.py", line 246, in main
    for site in site_yielder(
  File "/Users/Palin/Code/juriscraper/juriscraper/lib/importer.py", line 79, in site_yielder
    site._download_backwards(i)
  File "/Users/Palin/Code/juriscraper/juriscraper/opinions/united_states_backscrapers/state/mass.py", line 103, in _download_backwards
    self._process_html()
  File "/Users/Palin/Code/juriscraper/juriscraper/opinions/united_states_backscrapers/state/mass.py", line 55, in _process_html
    _, date_filed_str, name = row.xpath("td/text()")
ValueError: too many values to unpack (expected 3)

on the live site after a few iterations when it gets to 2024-07-02 12:24:55,029 - INFO: Now downloading case page at: http://masscases.com/425-449.html

@grossir sorry about the conflicts here but can you resolve them and re-PR this

Just updated this to account for some edge cases, please check again @flooie

Well, after debugging in integration with Courtlistener, just found a bug that causes extract_from_text from any scraper in the united_states_backscraper folder to never be used https://github.com/freelawproject/courtlistener/issues/4193
Will have to solve that before merging this, since we rely on extract_from_text to get docket numbers


Trim the last element of an array

Trimming is applied to all the elements but the last one.

Thanks!


Run time validation tool to ascertain user provided pipeline resource needs can be met in the deployment infrastructure

For example, if the deployment infrastructure is a Kubernetes cluster and the user has requested the use of GPUs or special purpose accelerators that do not exist, promptly return failure message.
Occasionally there may be inadequate resources to meet a request, and either the cluster must grow or the request fail to deploy.

@mkbhanda, please suggest correct assignees
Thanks

Scheduling failures are well summarized in https://www.howtouselinux.com/post/kubernetes-pod-pending
I was thinking of something quick, particularly when a user brings say a Gaudi specific image and wants to launch it on a cluster without Gaudi nodes, generalizing this to specialized hardware. Something like an admission control webhook. That said, how quickly does docker or Kubernetes fail when resources are inappropriate or indequate? If fast, perhaps not worth constructing the feature.
Let me get Iris to comment to help de/prioritize this enhancement request.
The broader problem of when to expand / contract a cluster involves which type of node to add/drop based on the existing workload needs, node utilization, and workload activity patterns.
https://cluster-api.sigs.k8s.io/tasks/automated-machine-management/autoscaling. Does cluster-api monitor Gaudi useage metrics == my guess is not, or perhaps not adequately. Must CSPs support Cluster-API. Intel Developer Cloud is considering supporting it.
Also what should the policy be? Fail to schedule a workload or try to expand the cluster with the right type and number of nodes to meet a workload requirement?
And let me ask Sasha on this aspect for scale testing? Growing/shrinking a cluster may be future work.

As already mentioned in the documentation of k8s, if workload specifies any extended resource that is not present in the cluster, pod will be in pending state with explanation that resource is not available. Deploying any kind of admission hoooks is possible, but it is not "standard" setup, thus require additional effort from cluster administrators. It is possible, but benefit of getting error message vs. "pending state" is not worth the effort. Cluster autoscalers (publicly available) are quite badly support extended resources or accelerators, often they have hardcoded logic realted to specific CSP (to fetch metadata about available accelerators from CSP speficific tags) or specific to accelerator (e.g. special code for Nvidia, special for Habana was seen in Karpenter)... In my opinion, it would be better to have "cluster autoscaler on per vendor" for accelerator devices, but that is probably not that SIG-Scheduling/autoscalers community would agree on, so we might later on propose specific to Gaudi patches to Karpenter or k8s-sigs/ cluster autoscaler.

Based on all input, closing this issue.


Getting good accuracy(0.95%) but mask is created at all wrong. how to resolve this issue on test dataset.

why are you using binary cross-entropy as loss function?

because there are two classes back(neuronal membrane) and white(neuron)

I am using dice score as metrices, I am getting 0.96 as dice score but still the poor mask, what is a possible reason.

I too tried dice score it didnt work . i am not sure of the reason . but there is another repo which has used dice score in unet https://github.com/lyakaap/Kaggle-Carvana-3rd-Place-Solution/blob/master/model.py

same issue


net/http: support configuring fetch options

The default WASM RoundTripper is implemented using
the browser Fetch API. Some options don't readily map to
existing http.Request options, so we use the precedent
set by the TrailerPrefix constant to allow a user to configure
the "mode" and "credentials" options by supplying them
as headers in the http.Request.
Updates #26769

I tested this change with a couple of different settings for mode and credentials and it seems to work. Hopefully by the time this can be merged (1.12 cycle) we'll have a way to write tests as well.

@johanbrandhorst thanks for the quick turnaround on this issue. One quick comment I have on your PR. As a stop gap and until we can rehaul parts of the client, I see no problems with this approach. On the other hand I am really not inclined with the solution as presented if it this is going to be the long term answer. The idea that @bradfitz had about using context seems less magical to me. Thoughts?

@eginez, again please add feedback to https://go-review.googlesource.com/c/go/+/127718, not here.


feat: add a way of resuming training

First of all, great work with the library!
My understanding of the library is that it starts training from scratch every time.
Would there be an easy way of making possible to resume training for an agent?
I would be glad to try to help if you could give some guidance.
Thanks!

You could write a save/load method for the network parameters in the Base_Agent. As actor-critic/q/gradient methods have different (number of) networks you could filter the Base_Agent.dict class for nn.Module instances and save those to file/ load them to the agent.
At least this is how I implemented it to load different agents for inference


Spring Boot: Add Subscription config properties when subscription-by-id is not provided

Spring Boot: FahrscheinNakadiConsumer ignores consumer properties when subscription-id is not provided https://github.com/zalando-nakadi/fahrschein/issues/450

👍

:+1:


espflash: 2.1.0 -> 3.0.0

Description of changes
https://github.com/esp-rs/espflash/releases/tag/v3.0.0
https://github.com/esp-rs/espflash/blob/main/CHANGELOG.md
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 295595 run on x86_64-linux 1

1 package built:

espflash

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1540

@ofborg build espflash espflash.passthru.tests

Result of nixpkgs-review pr 295595 run on x86_64-linux 1

1 package built:

espflash


Wrenches open inventories instead of rotating blocks

Issue description:
The wrenches I tested for rotating Crafters and Grids only rotate them when a tool is equipped in the offhand.
What happens:
When shift-rightclicking a Grid or Crafter with a wrench item (Immersive Engineering Engineer's Hammer and Botania Wand of the Forest were used) the GUI opens.
When another tool, for example a sword, is equipped in the offhand slot the block rotates.
What you expected to happen:
Instead of the GUI opening the block should rotate without a tool in the offhand slot.
Steps to reproduce fail state:

Shift-rightclick with an Engineer's Hammer on a Crafter
The GUI opens

Steps to reproduce success state:

Equip another tool in the offhand slot (like a sword)
Shift-rightclick with an Engineer's Hammer on a Crafter
The block rotates

Version (make sure you are on the latest version before reporting):

Minecraft: 1.12.2
Forge: <IP_ADDRESS>.39
Refined Storage: 1.6.2

Does this issue occur on a server? [yes/no]
Probably yes. Didn't test.
If a (crash)log is relevant for this issue, link it here:

RS has a wrench again, so this issue is fixed.
https://github.com/raoulvdberge/refinedstorage/commit/70f96a4b028cf636013265f2d54073d90e4572be


Deprecate BAMRecordWriter constructors that don't take a TaskAttemptC…

…ontext
since it is not possible to pass configuration properties to the writer.

Coverage remained the same at 62.935% when pulling 0ffdc994be96b8b06d86df54b30c03405e95ca98 on tomwhite:deprecate-bam-record-writer-cons into 223cb8e7bb488cab7338613a367b6e4b5d63b65f on HadoopGenomics:master.


[Discussion] Doubts regarding nxflat supported features

Hello all!

Is c++ supported by nxflat? binfmt/libelf seems to support cpp and I can see some cpp related code in it. But binfmt/nxflat doesn't seem to have any cpp related code. I am confused because there is test code present in apps for cpp https://github.com/apache/nuttx-apps/tree/master/examples/nxflat/tests/hello%2B%2B
Is it possible to import global variables in nxflat application? I have read in xflat that it doesn't support global variables sharing across modules and we need to provide a wrapper function around the variables. Is this the same case with nxflat too?

Thanks!

@Abhishek-05 is an "re-implementation" of XFLAT https://xflat.sourceforge.net/ (also from Mr. Greg Nutt) to work on NuttX.
Probably there is nobody using it, but there is a repo with instruction to build the tools needed: https://github.com/btashton/nxflat

Probably these examples were build using uClibc++, so probably it will not work with LLVM libcxx
Yes, it doesn't allow share symbols like ELF, but it supports XIP!

Maybe @btashton or @patacongo could give you more details, I never used it.

My version has been used and fixes some important bugs.

No it is explicitly GPL

XFLAT ran on uCLinux and supported full MMU-less shared library.  So NxFlat is only "inspired" by XFLAT.  More info:

https://xflat.sourceforge.net/
https://sourceforge.net/projects/xflat/

(That stuff dates back to around 2002!)
Some relevant NxFLAT documentation:

https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139630111
https://cwiki.apache.org/confluence/display/NUTTX/NxFlat
https://cwiki.apache.org/confluence/display/NUTTX/NuttX+Binary+Formats

I think there is a GIT Issue that describes all known NxFLAT problems, but I couldn't find it.
Basic C++ is supported, but little more than C with classes (but it does apparently support static constructors/destructors since they are included in the referenced test).  I suspect if you use full featured C++ you will run across some issues (perhaps with things like exception unwinding which has never been tried).
NxFLAT runs PIC/PID.  So all global data is GOT relative.  That means that you have to have a pair of values to access global data:  The GOT offset and the PID base.  If accessor functions are used, they can automatically bind these into a single, absolute address.

I am implementing PIC position-independent code running in nuttx, which allows the image to run at any location, and you can choose whether it is xip. It may take a little debugging time before it can run perfectly.

No it is explicitly GPL

This is why we need a github nuttx-tools repository that holds non-Apache, GPL code.
These look like replacement tools for https://bitbucket.org/nuttx/buildroot/src/master/toolchain/nxflat/ , extracted  from buildroot to build standalone?

I am implementing PIC position-independent code running in nuttx, which allows the image to run at any location, and you can choose whether it is xip. It may take a little debugging time before it can run perfectly.

There are not many binary formats that will let you run XIP.  No other is supported but NxFLAT by NuttX currently.  The reason is because when, say ELF code, is loaded.  It modifies the text section.  That precludes running XIP and means that you have to have a separate text and data memory allocation for each instance of a program.
XIP can only be supported by NxFLAT if the underlying file system also stores file data contiguously and aligned in memory.  Currently on ROMFS can be used.  So to have XIP, you need ROMFS + NxFLAT.
Or are you inventing something new????  If so I would love to hear the details.

I am implementing PIC position-independent code running in nuttx, which allows the image to run at any location, and you can choose whether it is xip. It may take a little debugging time before it can run perfectly.

There are not many binary formats that will let you run XIP. No other is supported but NxFLAT by NuttX currently. The reason is because when, say ELF code, is loaded. It modifies the text section. That precludes running XIP and means that you have to have a separate text and data memory allocation for each instance of a program.
XIP can only be supported by NxFLAT if the underlying file system also stores file data contiguously and aligned in memory. Currently on ROMFS can be used. So to have XIP, you need ROMFS + NxFLAT.
Or are you inventing something new???? If so I would love to hear the details of what you are doing.
[That should be a different Issue or email discussion. We don't want to get too off-topic in this one!]

I made the entire Nuttx image into position-independent code, so that the Nuttx image can run in different locations. The implementation principle should be consistent with NxFLAT

I am implementing PIC position-independent code running in nuttx, which allows the image to run at any location, and you can choose whether it is xip. It may take a little debugging time before it can run perfectly.

There are not many binary formats that will let you run XIP. No other is supported but NxFLAT by NuttX currently. The reason is because when, say ELF code, is loaded. It modifies the text section. That precludes running XIP and means that you have to have a separate text and data memory allocation for each instance of a program.

Compiler can generate the position independent ELF too, so there is no big difference between ELF and NXFlat regarding PIC/GOT.

XIP can only be supported by NxFLAT if the underlying file system also stores file data contiguously and aligned in memory. Currently on ROMFS can be used. So to have XIP, you need ROMFS + NxFLAT.

ROMFS + ELF(compiled with -pic) can support XIP too.

Or are you inventing something new???? If so I would love to hear the details of what you are doing.

Not really new, the unmodified toolchain could be used as before, the code related to binfmt/elf and relocation need to be extended.

[That should be a different Issue or email discussion. We don't want to get too off-topic in this one!]

I made the entire Nuttx image into position-independent code, so that the Nuttx image can run in different locations. The implementation principle should be consistent with NxFLAT

Hmmm.. Interesting.  Couldn't you also just make the NuttX image a relocatible binary?  Would that be easier and result in more efficient code (since there is no PIC offset).

Compiler can generate the position independent ELF too, so there is no big difference between ELF and NxFLAT regarding PIC/GOT.

In a usual Linux process the GOT immediately follows .text and so is at a pre-determined location.  But if ELF is running PIC in FLASH, then the GOT cannot be at that location after .text, it would have to lie in RAM.
If the GOT/.bss/,data/etc RAM memory is allocated from the heap, then it would lie at an arbitrary location and the loaded code would have to be PID as well.  If it is the whole NuttX system, then I suppose you can assume that certain memory resources are at fixed, pre-determined addresses.
The tools probably won't support those latter cases and you would probably have to run GOT-less with some custom code to initialize the PIC/PID registers.

@anjiahao1 could give more detailed info.

Thanks a lot @patacongo , @btashton and @acassis. I will go through nxflat and xflat documentation provided above. @anjiahao1 and @xiaoxiang781216 , I'm not looking for running the nuttx image with pic but to load and execute programs during runtime. Till now I was able to use elf, but due to memory constraints I was checking for loaders that support XIP. Again, thanks a lot everyone for providing helpful insights. Once the discussion regarding nuttx pic is concluded, this issue can be closed.

@Abhishek-05 what microcontroller are you using?

I'm using RTL8721CSM.

Hmm, but the mainline doesn't have support to this chip, are you using RTL8720C as base?

I was using Tizenrt (which is based on Nuttx) as it has support for rtl8721csm. While searching for alternatives to elf I have come across nxflat and wanted to know more about it.

Nice! I didn't know that TizenRT had support to this chip. It should be nice if they contribute these things back to mainline

Nice! I didn't know that TizenRT had support to this chip. It should be nice if they contribute these things back to mainline

The are using a 9 year old fork of NuttX.   It probably cannot be used with the current Apache NuttX without changes.  It is Apache 2.0 so I suppose it could come in as 3rd party code.
https://github.com/Samsung/TizenRT/tree/master/os/arch/arm/src/amebalite

In a usual Linux process the GOT immediately follows .text and so is at a pre-determined, PC-relative location. But if ELF is running PIC in FLASH, then the GOT cannot be at that location after .text, it would have to lie in RAM.

You could probably eliminate PID and use all PC-relative data like Linux if you came up with a creative way to position the data segment virtual address in RAM right after the text segment in FLASH (although it would shadow the physical FLASH).  Using the MMU to also force the text segment in FLASH to virtual address zero, you could also eliminate the requirement for PIC.
NxFLAT was intended for use without an MMU.  It could be extended with MMU usage like this as well, but there is really no point in that.


TypeError thrown when computing completion items at the end of an ADD instruction with flags

import { DockerfileLanguageServiceFactory } from "./main";
const service = DockerfileLanguageServiceFactory.createLanguageService();
service.computeCompletionItems("ADD --chown=a ", { line: 0, character: 14 });

$ node test.js
../dockerfile-language-service/out/src/dockerAssist.js:403
        const lastRange = args[args.length - 1].getRange();
                                                ^

TypeError: Cannot read properties of undefined (reading 'getRange')
    at DockerAssist.createTargetFolderProposals (../dockerfile-language-service/out/src/dockerAssist.js:403:49)
    at DockerAssist.createAddProposals (../dockerfile-language-service/out/src/dockerAssist.js:283:21)
    at DockerAssist.computeProposals (../dockerfile-language-service/out/src/dockerAssist.js:172:37)
    at LanguageService.computeCompletionItems (../dockerfile-language-service/out/src/languageService.js:56:29)
    at Object.<anonymous> (../dockerfile-language-service/out/src/tmp.js:5:9)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)

Whoops. Meant to open this in the language service repository as https://github.com/rcjsuen/dockerfile-language-service/issues/98.


npm install fails

I'm honestly not sure what to make of this. Running npm install, as in the readme:
vagrant@local:~$ cd code/Ghost
vagrant@local:~/code/Ghost$ npm install

><EMAIL_ADDRESS>preinstall /home/vagrant/code/Ghost
> npm install semver && node -e "require('./core/server/utils/startup-check.js').nodeVersion()"

<EMAIL_ADDRESS>node_modules/semver
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.12.0"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated<EMAIL_ADDRESS>Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible.  Please update to<EMAIL_ADDRESS>as soon as possible.  EEXIST, open '/home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock'
File exists: /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock
Move it away, and try again.

npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/vagrant/code/Ghost
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! path /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
vagrant@local:~/code/Ghost$ npm start

><EMAIL_ADDRESS>start /home/vagrant/code/Ghost
> node index

ERROR: Ghost is unable to start due to missing dependencies:
  Cannot find module 'cheerio'

Please run `npm install --production` and try starting Ghost again.
Help and documentation can be found at http://support.ghost.org.

npm ERR<EMAIL_ADDRESS>start: `node index`
npm ERR! Exit status 233
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is most likely a problem with the ghost package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node index
npm ERR! You can get their info via:
npm ERR!     npm owner ls ghost
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "start"
npm ERR! cwd /home/vagrant/code/Ghost
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/vagrant/code/Ghost/npm-debug.log
npm ERR! not ok code 0
vagrant@local:~/code/Ghost$ npm install --production

Running npm install --production, as in the readme on the Ghost repo:
vagrant@local:~/code/Ghost$ npm install --production

><EMAIL_ADDRESS>preinstall /home/vagrant/code/Ghost
> npm install semver && node -e "require('./core/server/utils/startup-check.js').nodeVersion()"

npm WARN package.json<EMAIL_ADDRESS>No README data
npm WARN package.json<EMAIL_ADDRESS>No README data
<EMAIL_ADDRESS>node_modules/semver
npm WARN package.json<EMAIL_ADDRESS>No README data
npm WARN package.json<EMAIL_ADDRESS>No README data
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.12.0"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
<EMAIL_ADDRESS>node_modules/cheerio
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
Running grunt init as the next step, as on the readme:
vagrant@local:~/code/Ghost$ grunt init
Loading "Gruntfile.js" tasks...ERROR
>> Error: Cannot find module 'top-gh-contribs'
Warning: Task "init" not found. Use --force to continue.

Aborted due to warnings.

I had the same issue and fixed it by running npm install again.

I think this is related to https://github.com/npm/npm/issues/6309 which has been fixed in newer versions of npm.
The actual error is:
npm ERR! EEXIST, open '/home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock'
File exists: /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock
Move it away, and try again.

npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/vagrant/code/Ghost
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! path /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0

so npm install is failing mid install due to the following file existing:  /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock
you could try manually removing this file:
rm  /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock

and then running npm install again. You may have to do this subsequent times if the same error keeps occuring with different files. once npm install completes without failure you can continue with the rest of the steps.
It may be worth us looking into upgrading to a more recent version of Node.js that Ghost supports.

Tried again.  Please update to<EMAIL_ADDRESS>as soon as possible.  EEXIST, open '/home/vagrant/.npm/9f379b11-ant-npm-mkdirp-0-5-1-package-tgz.lock'
File exists: /home/vagrant/.npm/9f379b11-ant-npm-mkdirp-0-5-1-package-tgz.lock
Move it away, and try again.
npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/vagrant/code/Ghost/core/client
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! path /home/vagrant/.npm/9f379b11-ant-npm-mkdirp-0-5-1-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
Warning: Command failed: npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN deprecated<EMAIL_ADDRESS>This package has been discontinued in favor of<EMAIL_ADDRESS>npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN deprecated<EMAIL_ADDRESS>Use the globby package instead
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">= 0.12.0"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible.  EEXIST, open '/home/vagrant/.npm/9f379b11-ant-npm-mkdirp-0-5-1-package-tgz.lock'
File exists: /home/vagrant/.npm/9f379b11-ant-npm-mkdirp-0-5-1-package-tgz.lock
Move it away, and try again.
npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/vagrant/code/Ghost/core/client
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! path /home/vagrant/.npm/9f379b11-ant-npm-mkdirp-0-5-1-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
Use --force to continue.
Aborted due to warnings.`
I can't rm it, as I get No such file or directory. I double checked the contents of the .npm folder, and this .lock file isn't there.
 EEXIST, open '/home/vagrant/.npm/1a7f323d-roccoli-plugin-1-2-1-package-tgz.lock'
File exists: /home/vagrant/.npm/1a7f323d-roccoli-plugin-1-2-1-package-tgz.lock
Move it away, and try again.
npm ERR!  EEXIST, open '/home/vagrant/.npm/1a7f323d-roccoli-plugin-1-2-1-package-tgz.lock'
File exists: /home/vagrant/.npm/1a7f323d-roccoli-plugin-1-2-1-package-tgz.lock
Move it away, and try again.
npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/vagrant/code/Ghost/core/client
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! path /home/vagrant/.npm/1a7f323d-roccoli-plugin-1-2-1-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
Use --force to continue.
Aborted due to warnings.`
But again, No such file or directory.

I too am having these issues I have tried in on two different machines and the exact same thing happens. My logs are identical to what is posted above and again there is no lock file. Although my lock file seems to be for a different package 4e1c944c-nt-npm-lodash-4-13-1-package-tgz.lock. I have used this in the past and it worked fine could it be some issue relating to ghost 0.8 perhaps.

If you get an EEXIST error with a lock file whilst running grunt init, you can try:
rm -rf core/client/node_modules
npm cache clear
and then run grunt init again.
If the error is consistent, you'll need to change the version of npm to a fixed version.
grunt init runs npm install inside the core/client subfolder. The error is coming from npm tripping itself up over its own lock files and is nothing to do with Ghost I'm afraid!

Thanks @ErisDS, that fixed it. I've updated PR #90 to add this to the Readme.


Crash when using DocumentFileCompat with the Downloads folder

Occurred on virtual device Pixel 5 API 26
Getting crash error when trying to access the device's Download folder. It works on folders that I created (and probably other system folders too). Seems to stem from DocumentFileCompat.fromTreeUri. It works for me in the same exact place when using regular DocumentFile instead of DocumentFileCompat.
My code (the non-working version):
return DocumentFileCompat.fromTreeUri(context, folderUri.toUri())?.name

Bypassed the crash using try/catch and switching to DocumentFile when DocumentFileCompat doesn't work, but yeah, seems like a bug so fyi.
Error Code

java.lang.NullPointerException: cursor.getString(1) must not be null
at com.lazygeniouz.dfc.file.internals.TreeDocumentFileCompat$Companion.make$dfc_release(TreeDocumentFileCompat.kt:128)
at com.lazygeniouz.dfc.file.DocumentFileCompat$Companion.fromTreeUri(DocumentFileCompat.kt:211)
at com.anthonyla.paperize.feature.wallpaper.wallpaper_service.WallpaperService2$refreshAlbum$1.invokeSuspend(WallpaperService2.kt:637)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

I tried this as well, couldn't reproduce.
Matter of fact, I tested the changes on your Paperize app repo.
Here's how I tested -

Reduced wallpaper change to 1 min for faster checks
Removed the try/catchs, used only DocumentFileCompat APIs & added certain logs
Added a few images in the Downloads folder of the above mentioned virtual device
Added Album in Paperize, Selected both Home & Lock screen for wallpaper change
No crashes, logs properly displayed Folder name, file names (wallpapers), etc.

Hey @Anthonyy232,
I tested by removing all try/catch usage project wide and only using `DocumentFileCompat apis.
Additionally, I don't think it could be due to the images. But I'll try again against your latest master branch with the provided images.

I cloned the master branch, ran it, again not reproducible.
Changes to test -
fun getWallpaperFromFolder(folderUri: String, context: Context): List<String> {
    val folderDocumentFile = DocumentFileCompat.fromTreeUri(context, folderUri.toUri())
    return listFilesRecursive(folderDocumentFile, context).also {
        Log.d("Paperize", it.toString())
    }
}

and
fun getFolderNameFromUri(folderUri: String, context: Context): String? {
   return DocumentFileCompat.fromTreeUri(context, folderUri.toUri())?.name.also {
        Log.d("Paperize", it.toString())
    }
}

Output -

Here's a screen-record as well -
https://github.com/ItzNotABug/DocumentFileCompat/assets/20625965/d02a3d84-ab06-46cf-9306-4510858ec6b3

Huh, interesting. I suppose with all that if you can't reproduce it then it might be an issue on my end, I will see if I can figure out why.
Here's a recording
https://github.com/ItzNotABug/DocumentFileCompat/assets/60626873/b44cbfdc-959b-4bbd-b026-1f8b69a381e4

Pretty weird actually.
I tested with the sample app as well and couldn't reproduce the error. Any other ideas or reproduction steps?

Not at the moment unfortuantely. Will also be gone for the next 3+ weeks so I won't be able to look into it. But I will update if I find anything. Let me know if you want me to close this, or you can close it yourself I believe.

No worries, I'll keep this open for now.


Add ability to do 3D rendering

Goals

Allow users to draw polygons in the 3D space
Allow for coloring and opacity of the drawing
Add utilities for drawing common shapes, like rectangles

I'm still wondering if we want to provide an api that allows the user to simply set positions and textures, or something higher level with built in functions to make rectangles, etc.

I want the API to look something like this in JS:
Tesselator.begin(/* Something? */);
    Tesselator.pos(x, y2, 0.0D);
    Tesselator.pos(x2, y2, 0.0D);
    Tesselator.pos(x2, y, 0.0D);
    Tesselator.pos(x, y, 0.0D);
Tesselator.draw();

In the begin method (can be renamed, maybe .shape()?), I want to be able to take multiple different rendering types just as the GL begin method does. I also want Tesselator to have texture, rotate, transform, scale, etc. methods.


Clarify design with respect to red/green weakness

According to the first screenshots that where published from the App, the color "green" is used to indicate no infections.
As experienced UI developers know, in the group of male > 45 a Red Green weakness is very common.
Please document in great details why this isn't honored in the app.
Edit: Please DON'T do it in the SAP way "add a new button toggle for red/green weakness" :)

Hi @egandro,
As the documentation states:

Once available, it will support all accessibility features within the operating systems such as zooming to enlarge text, screen readers like VoiceOver for iOS and TalkBack for Android, or special color contrasts.

Also, it’s not the color alone giving the information but also the text in the App.
Frankly, I think there is nothing more the app developers could do.

You assigned a color to a semantic function :)
What are you talking about?

The UI improvement suggestion from egandro is to add something like a thumb, traffic light or smiley for the risk indicator here:
https://github.com/corona-warn-app/cwa-documentation/blob/master/images/ui_screens/ios/cwa_home_ios.png
This would help users with red/green weakness to identify their risk status more easily.

The UI improvement suggestion from egandro is to add something like a thumb, traffic light or smiley for the risk indicator here:

Please DON'T!!! put words in my mouth!
As adult I can speak for myself. I didn't imply, suggest or meant anything you just mentioned.
A UI designer - with experience - will know what to do - while the current doesn't!
Red/Green Weakness is a major issue for 8-10% in our population in Germany. That's why it's covered by any UI design related university course in Germany...

Dear @egandro,
please consider this message as a warning according to our code of conduct. We won't accept shouting or any other inappropriate language in this forum.
You saw that there is already a colleague assigned to this issue - in other words, we accepted it and will follow up accordingly. It won't help your case if you accuse the current UX/UI designers that they don't know what do you. Let's treat each other with respect and courtesy. Thanks!
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team

please consider this message as a warning according to our code of conduct. We won't accept shouting or any other inappropriate language in this forum.

Dear @SebastianWolf-SAP,
I sincerely apologize for any caps written words.
Since @w9n is also endorsed and/or related to SAP I had a very strange feeling that this issue might put to the attic as I had the feeling that happened to other issues before.
So - let's do everything here that this won't happen again!

Apologies accepted, thanks for your message!
We will discuss this and other UX/UI related issues/questions which are already there (e.g. #168) with our UX/UI designers next week. However, as already outlined in the UI screens document, any changes might need to be included in a later version as we have a pretty tough timeline...
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team

@egandro also sorry from my side, I didnt want to insult you or speak in behalf of you, just wanted to point out that the contribution is coming from your side. My sole intention was to clarify and transform the good request into an actionable item for the team to help progress asap :)
In future Ill avoid summarizing in the name of others and stay by the topic.

In the meanwhile we consulted our UX/UI experts and they completely agree with @cfritzsche. The red/green color coding is just one element out of many, e.g. the text and the change of other UI elements in case there is a warning.
As a consequence, we will close this issue accordingly.
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team

As a consequence, we will close this issue accordingly.

Ok cool!
So just let me document this here for the "Beauftragter der Bundesregierung für die Belange von Menschen mit Behinderungen".
In UI / UX design (accredited studies B.Sc./M.Sc.) red/green weakness is covered in this references:

ISO 9241
Nielsen Heuristics
Shneidermans "10 Golden Rules for Interface Designing"

Why is that important?
There are multiple versions of red/green weaknesses - e.g. Protanopie and Deuteranopie. Deuteranopie is the more dangerous of both.
Please keep this as reference here in case of issues.
As far as I understood the SAP development process preferences, there might be a sprint / release just for polishing the UI and this might become handy.
However - I am not sture about the legal situation / contracts - the "Beauftragter der Bundesregierung für die Belange von Menschen mit Behinderungen" might cover this at a very early point.

Well, everybody agrees that red/green weakness is an important factor and everybody agrees that red or green color must never be used as sole element to convey a certain message. And we don't do that - it's just yet another element in addition to other ones. This happens in accordance to the respective laws and regulations.
To put it the other way round: Just because there is this red/green weakness, it doesn't mean that we should immediately stop using red or green color as additional means of information. These colors are still a good indicator for many people and well established in our culture.
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team

To put it the other way round: Just because there is this red/green weakness, it doesn't mean that we should immediately stop using red or green color as additional means of information. These colors are still a good indicator for many people and well established in our culture.

Just let me mark this as your personal opinion. The ISO 9241 has scientific proof of the contrary.
So a 20 years old book "Microsoft Windows User Experience (Microsoft Professional Editions) (Englisch) Taschenbuch – 8. Oktober 1999" marks red/green weakness as major issue (even as a cultural issue for international software).
@SebastianWolf-SAP let's just keep this as reference here! And it's your SAP/Telekom decision not to fix this.

Green is a bad design choice. The apps main color schema is blue.  From a design point of view that is bad because the color transports no additional information.
In  case of a low risk it should be blue like the core app color schema.  Blue means all cool no problem.
A red color for high infection risk  would be of because a break of the color schema with the purpose as a sign of importance. That is good design.

Dear @egandro,
I would - once again - ask you to remain professional. You already got a warning, you apologized and the last comment is - honestly - close to the level of yet another warning and additional consequences.
I explained the decision and the background. You only picked one part of the explanation ignoring that red and green color is definitely not the only differentiator here and - even more - claiming that my statement is just a personal opinion. These are both unfair tactics in a discussion and I would kindly ask you to refrain from that in the future.
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team


Add Neutron's default route annotations

When the webhook calls for Neutron defaults, it should also write the route override annotation on Neutron's CR section so that the route gets modified.
Currently it is failing when I try to modify the openstack controlplane CR, and I don't get to see anything under neutron apiOverride on the yaml. But I do see the Annotation applied on the OverrideSpec object. I assume I'm doing something wrong here, any help appreciated!
(Goes together with https://github.com/openstack-k8s-operators/neutron-operator/pull/324)
Depends-On: https://github.com/openstack-k8s-operators/neutron-operator/pull/324

@elvgarrui hi, just left you a comment on the neutron-operator CR. I think you just need to move the validation into the core NeutronAPISpecCore.Default() validation function which currently has nothing in it. There is actually a comment in the Neutron code that says 'only container image validations go here' for the NeutronAPISpec.Default() function. I'm not sure what else we can do other than have a comment to go along with these things.

One more comment: We actually switched to the core structs in OpenStackOperator yet. But soon will once the OpenStackVersion stuff lands.

It would be nice to include a functional test here confirming that the default is set for neutron as expected.

pushed some of the requested changes and also rebased, but it is still missing the functional test

looks fine but need a test, thanks

/ok-to-test

recheck zuul one with Depends-On

/retest-required

recheck

I think this needs a go get -u github.com/openstack-k8s-operators/neutron-operator/api

I think this needs a go get -u github.com/openstack-k8s-operators/neutron-operator/api
@abays
Hi! I've tried running that command, and it creates no changes on the go.mod or any other file.
I've tried rebasing and running the command too but there was also no output from it.
I'm uploading the rebased verison anyway, in case it helps.

I think this needs a go get -u github.com/openstack-k8s-operators/neutron-operator/api

@abays
Hi! I've tried running that command, and it creates no changes on the go.mod or any other file. I've tried rebasing and running the command too but there was also no output from it. I'm uploading the rebased version anyway, in case it helps.

@elvgarrui My bad, the command needs @latest at the end:
go get -u github.com/openstack-k8s-operators/neutron-operator/api@latest

@abays  Oooh that makes sense, thanks :)
It's updated now in both the root directory and the apis/ one.
Hope it passes the CI this time.

@elvgarrui Bah, I'm so sorry.  I was wrong again.  I was thinking of containers, not Golang.  The proper command is:
go get -u github.com/openstack-k8s-operators/neutron-operator/api@main

@abays Nevermind! I'm really grateful for the quick help :) Re-pushed again with tags from main

/lgtm neutron-operator updated as part of https://github.com/openstack-k8s-operators/openstack-operator/pull/716


feat(k8s): Adds Kubernetes Support to Runhouse - v0

[WIP]
Adds Kubernetes support to Runhouse.
Utilizes Skypilot API.
Example usage:
cluster = rh.ondemand_cluster(
              name="rh-k8s-cpu-cluster",
              instance_type="1CPU--1GB",
              provider="kubernetes",
          )

Make sure to pip install kubernetes prior to usage. Also, ensure you have an EKS cluster setup and the kubeconfig on your local filesystem. Lastly, please setup kubectl.

Here is a TF script to spin up a quick EKS cluster:
https://github.com/run-house/runhouse/pull/109/files#diff-73424cb763aca7faca0345189392f063726432d5b73714e8fd4a90e0ecfe4242
Ensure you have the AWSKeyManagementServicePowerUser IAM policy enabled.
The above TF script can be run via the following: (Ensure you have Terraform installed)
terraform init
terraform validate
terraform plan -out tf_plan
terraform apply "tf_plan"
Please ensure you have a fresh Terraform state file. (If it's your first time doing this, then this won't be an issue)
Otherwise, it would be recommended to create a terraform workspace first to isolate your state.
You can do this by running the following before terraform init:
terraform workspace new NAME_OF_WORKSPACE
To list existing workspaces:
terraform workspace list
To select a workspace:
terraform workspace select NAME_OF_WORKSPACE
To destroy EKS cluster:
terraform destroy
After your EKS cluster is setup, Runhouse will need to access the kubeconfig of this EKS cluster to be able to deploy services to it. Please run the following to update your kubeconfig:
Please first check to see if you have anything in ~/.kube/config and remove the contents of  the config file if there is anything.
aws eks update-kubeconfig --region us-east-1 --name NAME_OF_EKS_CLUSTER
(You will need the aws cli installed)

Function setup and function calls work with this new K8s support. Further testing and explorations will be done soon.
Cluster teardown:
sky down NAME_OF_CLUSTER
The cluster will show up as a pod in your EKS resources. Running sky down should remove the pod from the EKS cluster.

I think we should also include the extra requirements for kubernetes here https://github.com/run-house/runhouse/blob/d993d33cac80fa1a80b4c937718c72fc2b0d6e55/setup.py#L89

test

test

testing

test


Bug after multiple backups

Issue Type: Bug
Hi VS Code Team and users,
I am currently developing a web application of about 6 MB, including 107 files (including compressed files).
Since 2017, when I code, I have several files (<5 files) open at the same time. Over the savings,  the VS code program has bugs, I notice it by the stopping update of the extension "Live server".
This forces me to restart the program each time.
Despite a reboot and reinstallation of the system, the problem persists.
I hope that you can help me with these informations.
VS Code version: Code 1.22.0 (6b4d53cdab8bcae1eaaa4934d93c077319b573db, 2018-04-05T17:27:42.363Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Celeron(R) CPU  N2930  @ 1.83GHz (4 x 1833)

Memory (System)
3.89GB (0.89GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
0%

Extensions (11)

Extension
Author (truncated)
Version

jshint
dba
0.10.18

vscode-eslint
dba
1.4.8

vscode-html-css
ecm
0.2.0

auto-rename-tag
for
0.

Over the savings, the VS code program has bugs, I notice it by the stopping update of the extension "Live server".

Sorry, I don't understand what the problem is. Can you explain a little more?

Excuse me, I'm not very good at English.
I'm going to explain. When I use VS code to write my project which contains 107 files (including compressed files) and makes about 6 MB, I'm having problems with the app performance. I don't know if it's caused by the low memory system (0.89GB free/3.89GB) or just the server extensions.
The problem is that: The most used files (no compressed) contains about 3000 lines each. When I code, I need to open 2 to 4 files.
I noticed that, if the server extension, Live Server isn't active, VS Code works very well, else, the VS Code performance decreases after many changes and backups, and It's so slow that even saving the file becomes slow and the localhost server stops working, hint, autocompletion, emmet and other functionalities stop working too. In this case, I can't continue and I'm forced to restart the app.
I have tried two localhost server extensions and I have reboot my computer too (for another reason) but the problems persist.
I hope that's more explained now.

It sounds like it could be an issue with that extension, could you file the issue on the Live Server repo for them to investigate?

I used two localhost extensions with the same problem but I'll report it to Live server as you said.


Fix broken build

This PR fixes a broken build on Travis CI.

Coverage increased (+0.3%) to 95.923% when pulling ee96f0ef0a2367ded85f59b13e4a5a6b5176e4ea on mdpiper/fix-broken-build into 017f772e591663f87987aa651bf4a928f253fa87 on master.


[BUG] letters are showing instead of icons in voyager admin panel

Version information

Laravel: v5.8.*
Voyager: v^1.2
PHP: ^7.1.3
Database: MySQL v14.14

Description

The icons in voyager admin panel are not showing up. All I can see is letters like k, M, f etc. The images are showing up normally though.
Steps To Reproduce
Steps to reproduce the behavior:

Create new laravel app and install voyager.
Set up .env file, set app_url to http://localhost:8000
Login to voyager admin panel
Icons are not showing, everything else works.

Expected behavior
I expected to see icons in the admin panel
Screenshots

I solved it from here,
https://github.com/the-control-group/voyager/issues/4130