fix(native-filters): Reset column field for removed dataset

SUMMARY
After removing dataset, which is used in some native filter, it was still possible to see field from this dataset. Dataset was removed, but field value was not removed from Filter Config Modal.
Described in #12457
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Before:
First we set some native filter

Then we remove used dataset and come back to native filter config

After:

TEST PLAN
Set "DASHBOARD_NATIVE_FILTERS": True
Create new native filter with given dataset
Go to datasets and remove this dataset
Come back to native filter you have just created and check if you see 'Select' placeholder instead of field value from removed dataset
ADDITIONAL INFORMATION

[x] Has associated issue: Fixes #12457
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

@junlincc @rusackas @adam-stasiak

Codecov Report

Merging #12519 (ddfaa68) into master (241f380) will decrease coverage by 3.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12519      +/-   ##
==========================================
- Coverage   66.72%   63.33%   -3.39%
==========================================
  Files        1015      486     -529
  Lines       49597    29952   -19645
  Branches     5081        0    -5081
==========================================
- Hits        33094    18971   -14123
+ Misses      16373    10981    -5392
+ Partials      130        0     -130

Flag
Coverage Δ

cypress
?

javascript
?

python
63.33% <ø> (-0.60%)
:arrow_down:

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

Impacted Files
Coverage Δ

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

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/db_engine_specs/presto.py
70.56% <0.00%> (-10.83%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/db_engine_specs/postgres.py
84.21% <0.00%> (-2.64%)
:arrow_down:

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

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

superset/connectors/sqla/models.py
89.65% <0.00%> (-0.93%)
:arrow_down:

... and 538 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 241f380...ddfaa68. Read the comment docs.

Codecov Report

Merging #12519 (ddfaa68) into master (241f380) will decrease coverage by 3.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12519      +/-   ##
==========================================
- Coverage   66.72%   63.33%   -3.39%
==========================================
  Files        1015      486     -529
  Lines       49597    29952   -19645
  Branches     5081        0    -5081
==========================================
- Hits        33094    18971   -14123
+ Misses      16373    10981    -5392
+ Partials      130        0     -130

Flag
Coverage Δ

cypress
?

javascript
?

python
63.33% <ø> (-0.60%)
:arrow_down:

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

Impacted Files
Coverage Δ

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

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/db_engine_specs/presto.py
70.56% <0.00%> (-10.83%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/db_engine_specs/postgres.py
84.21% <0.00%> (-2.64%)
:arrow_down:

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

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

superset/connectors/sqla/models.py
89.65% <0.00%> (-0.93%)
:arrow_down:

... and 538 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 241f380...ddfaa68. Read the comment docs.

First issue:
For dashboard I have two native filters for 2 different datasets
I remove one dataset and go back to native filters
I can see that for filter with removed dataset -> datasource and field are cleaned - OK!
I can see in the second native filter (without touched dataset) - I can se cleaned field but should not! - NOK!

First issue:
For dashboard I have two native filters for 2 different datasets
I remove one dataset and go back to native filters
I can see that for filter with removed dataset -> datasource and field are cleaned - OK!
I can see in the second native filter (without touched dataset) - I can se cleaned field but should not! - NOK!

second issue:
After steps from issue#1 I set proper field for malformed filter
Change is applied
Refreshed page
Open filter configuration and scoping -> I can see cleaned FIELD for both -> but I think it is only on UI -> because left side of screenshot is showing available options :)

second issue:
After steps from issue#1 I set proper field for malformed filter
Change is applied
Refreshed page
Open filter configuration and scoping -> I can see cleaned FIELD for both -> but I think it is only on UI -> because left side of screenshot is showing available options :)

Thanks a lot Adam, I think these issues are connected with each other. I am working on them now!

Thanks a lot Adam, I think these issues are connected with each other. I am working on them now!

Tested manually - it is fine.

Tested manually - it is fine.

Retest for your fixes -> it is ok 🟢

Retest for your fixes -> it is ok 🟢

I remove one dataset and go back to native filters

@adam-stasiak you are really the QA KING. thanks for taking care of the project while i was gone...

I remove one dataset and go back to native filters

@adam-stasiak you are really the QA KING. thanks for taking care of the project while i was gone...

Thank you so much for the PR! @agatapst
for some reasons, I'm not seeing changes described above. but a spinning sign for the filter with deleted dataset.. not sure if I tested correctly? @adam-stasiak
https://user-images.githubusercontent.com/67837651/104804152-c7d3b100-577d-11eb-859e-e65880270444.mov

Thank you so much for the PR! @agatapst
for some reasons, I'm not seeing changes described above. but a spinning sign for the filter with deleted dataset.. not sure if I tested correctly? @adam-stasiak
https://user-images.githubusercontent.com/67837651/104804152-c7d3b100-577d-11eb-859e-e65880270444.mov

@junlincc I saw this spinner in situation od removed dataset - > I consulted this with Agata and good idea is to raise new issue for this as it needs design for not available filters. I left this on Friday and forgot to raise : | I will create an issue for this.

@junlincc I saw this spinner in situation od removed dataset - > I consulted this with Agata and good idea is to raise new issue for this as it needs design for not available filters. I left this on Friday and forgot to raise : | I will create an issue for this.

@junlincc yes, actually @adam-stasiak asked me about that spinner and at first thought about making separate issue - but if this PR is still not merge, let's improve it in this PR.
Below I am attaching screenshot when there is something wrong with filter (i.e. dataset was removed). There is a text instead of spinner. Any suggestions about the copy are welcomed. 🙂

@junlincc yes, actually @adam-stasiak asked me about that spinner and at first thought about making separate issue - but if this PR is still not merge, let's improve it in this PR.
Below I am attaching screenshot when there is something wrong with filter (i.e. dataset was removed). There is a text instead of spinner. Any suggestions about the copy are welcomed. 🙂

this error msg definitely need design 🙏 @mihir174
thanks for the change! @agatapst

this error msg definitely need design 🙏 @mihir174
thanks for the change! @agatapst

@agatapst @adam-stasiak @junlincc
This might be a bit of a heavy treatment, but here's the standard error component in the Superset design system -
We can have the body text = the cause of the error

@agatapst @adam-stasiak @junlincc
This might be a bit of a heavy treatment, but here's the standard error component in the Superset design system -
We can have the body text = the cause of the error

Thanks @mihir174
Could we make this message more generic, universal? We could show it for all errors connected with Filter Bar filters. Right now it is impossible to distinguish if the error comes from removing dataset. It may be one of the reasons that loading filter is not possible - but for example the reason may be that some used in this filter field was removed from dataset. So it won't be the same as 'removed dataset'.
Maybe we can tell the user to 'check the configuration'?

Thanks @mihir174
Could we make this message more generic, universal? We could show it for all errors connected with Filter Bar filters. Right now it is impossible to distinguish if the error comes from removing dataset. It may be one of the reasons that loading filter is not possible - but for example the reason may be that some used in this filter field was removed from dataset. So it won't be the same as 'removed dataset'.
Maybe we can tell the user to 'check the configuration'?

Can we make the spacing bigger? It looks very tight. @agatapst @junlincc @mihir174

Issue: After I fixed filter (Change dataset to existing one) I can see error remains :(
https://user-images.githubusercontent.com/25153919/105252954-c986e580-5b7e-11eb-952c-3f397323725e.mov

Thanks a lot Adam! @adam-stasiak
Could you check it once again? It seems ok now on my side:

I have also made the margin slightly bigger:

Thanks a lot Adam! @adam-stasiak
Could you check it once again? It seems ok now on my side:

I have also made the margin slightly bigger:

@rusackas @mistercrunch please help merge this PR, LGTM with code reviews and few rounds of changes...

@rusackas @mistercrunch please help merge this PR, LGTM with code reviews and few rounds of changes...

thank you everyone for the PR, testing, design input, reviewing and merging. @agatapst @mihir174 @adam-stasiak @zhaoyongjie @villebro 🙏
@mistercrunch Max,  just want to use this PR as an example to show how much work the team put into each single PR before merging.

thank you everyone for the PR, testing, design input, reviewing and merging. @agatapst @mihir174 @adam-stasiak @zhaoyongjie @villebro 🙏
@mistercrunch Max,  just want to use this PR as an example to show how much work the team put into each single PR before merging.


ws.py: don't visit other rooms with charcoal-hq-only

The functionality in chatexchange_extension.py is partial; need
to also prevent ws.py from setting up connections to various rooms
to really make it use Charcoal only.

The reason I am proposing this is that my sock puppet doesn't have chat privileges on SO so it crashes when it tries to join SOCVR, even when running with the charcoal-hq-only setting.


[FR] Line count

Hi, It would be great to add „Count of lines“ in the file and „Count of non-empty lines“ and the same for selected text. Thanks

That would be useful.  I'll see about putting it into the to-do list.  I
see it's in the github as a request.  Thank you!!!!

T

On Thu, Feb 23, 2023 at 3:52 PM J. Cernek @.***> wrote:

Hi, It would be great to add „Count of lines“ in the file and „Count of
non-empty lines“ and the same for selected text. Thanks
—
Reply to this email directly, view it on GitHub
https://github.com/CattailNu/obsidian-file-info-panel-plugin/issues/13,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRI25H6WFB6YSLMIUBVKQLWY7EXFANCNFSM6AAAAAAVGDRTYA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


fix: update about dialog and menu items in help

add version, logo and comment in about dialog
add menu item website, explorer and home
add getMenuItem object
add cross platform open url in browser

Fixed #519

close #531


Bring back Rsync!

Moved from felicianotech @ 0.43 to cibuilds/hugo:0.62 and getting an

/bin/bash: rsync: command not found

I think for a static site generation tool rsync should be considered a core utility to promote the generated site, but you might have better reasons for removing it.

The Hugo images using my personal namespace are old as well as Alpine-based. At some point, I removed rsync to slim down the image as well as I was planning on creating a separate deployment image.
I moved away from Alpine to CircleCI's Ubuntu image as of the later cibuilds/hugo releases and I never made the deployment image. I don't see any reason not to re-add rsync. I was using it myself as well. :smile:

With the next Hugo release, likely v0.63.0, this Hugo image will be Ubuntu based and need to use sudo for privileged commands such as running apt-get install.


Clickable links between two nodes

Describe the solution/feature you'd like
Hovering over the links and seeing the auto-generated pop-up graphs is cool but it would be also very useful to have the links clickable, where upon clicking, they open a custom URL in a new tab.
Thanks for this awesome plugin!

this is an existing feature afaik

Really? Would be awesome to get a feedback on how to set this up if it actually exists, because I only came across with the "hovering"-feature I mentioned in my original description above

see the «adding links» section https://grafana-weathermap.seth.cx/


"This may never happen" on an attempt to declare a const attribute of fused type

$ cat /etc/*-release | grep \^NAME; python --version; cython --version
NAME="Ubuntu"
Python 2.7.6
Cython version 0.24.1

$ cat some.pyx
ctypedef fused Fused:
    int
    bytes

cdef class FusedWrapper:
    cdef const Fused* fused_ptr

$ cython some.pyx
Traceback (most recent call last):
  File "/usr/local/bin/cython", line 9, in <module>
    load_entry_point('Cython==0.24.1', 'console_scripts', 'cython')()
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/Main.py", line 698, in setuptools_main
    return main(command_line = 1)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/Main.py", line 715, in main
    result = compile(sources, options)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/Main.py", line 690, in compile
    return compile_multiple(source, options)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/Main.py", line 668, in compile_multiple
    result = run_pipeline(source, options, context=context)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/Main.py", line 495, in run_pipeline
    err, enddata = Pipeline.run_pipeline(pipeline, source)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/Pipeline.py", line 365, in run_pipeline
    data = phase(data)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/Pipeline.py", line 53, in generate_pyx_code_stage
    module_node.process_implementation(options, result)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/ModuleNode.py", line 131, in process_implementation
    self.generate_c_code(env, options, result)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/ModuleNode.py", line 374, in generate_c_code
    self.generate_declarations_for_modules(env, modules, globalstate)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/ModuleNode.py", line 582, in generate_declarations_for_modules
    env, modules, vtab_list, vtabslot_list, typecode)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/ModuleNode.py", line 561, in generate_type_definitions
    self.generate_objstruct_definition(entry.type, code)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/ModuleNode.py", line 1046, in generate_objstruct_definition
    "%s;" % attr_type.declaration_code(attr.cname))
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/PyrexTypes.py", line 2514, in declaration_code
    for_display, dll_linkage, pyrex)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/PyrexTypes.py", line 1427, in declaration_code
    return self.const_base_type.declaration_code("const %s" % entity_code, for_display, dll_linkage, pyrex)
  File "/usr/local/lib/python2.7/dist-packages/Cython-0.24.1-py2.7-linux-x86_64.egg/Cython/Compiler/PyrexTypes.py", line 1485, in declaration_code
    raise Exception("This may never happen, please report a bug")
Exception: This may never happen, please report a bug

Also running into this with Cython 0.28.3.

Duplicate of issue ( https://github.com/cython/cython/issues/1772 )?

Yes, duplicate of #1772.


Codebase adjusted through Editorconfig

Thanks for the PR!
However, I noticed that .editorconfig messes with the formatting in README.md by removing double spaces.
It would be great if you could undo the changes and tweak .editorconfig to exclude README.md.

Done. But my personal opinion that this markdown option should not be used.


Allow libnetwork to compile on freebsd

libnetwork should be able to compile on freebsd after #186 is merged with this changes.

@miguel250 PTAL https://github.com/docker/libnetwork/pull/770#issuecomment-159467279. Can you please work with @runcom and make sure #770 doesnt have negative impact on FreeBSD ?

I think I can just add the freebsd build tag to my pr  and if it was supported I'm sure it will again

@mavenugo I've updated my PR, @miguel250 can you try my patch https://github.com/runcom/libnetwork/commit/0b750b132a4e8e74da61a2d0e502305982521718 and see if it's ok on freebsd?

@mavenugo I was able to build it on freebsd with @runcom but with no issues. I included  #186, #770 and this patch to create a successful build.

LGTM

Hi I rebased this PR with master.

Thanks @miguel250 LGTM


rubico/x/ browser exports

right now rubico/x/ functions only work in node. I'd like to be able to import any one of them in browser environments via scripts
<script src="https://unpkg.com/rubico/x/trace.js"></script>
this would export global trace

A possible solution is RequireJS.

Bump

done in 436bcdca1


Add "access" scope type

Implements #707 for Typescript
Implements #707 for Python

Questions

[ ] Unfortunately, both the queries and tests are almost identically duplicated between Typescript and Python 😕.

[ ] I wonder if we should support some kind of templating language, eg handlebars, along with a meta-updater-style approach where we keep the generated files in source control as well
[ ] For the test cases, we could maybe support a list of language ids in the recorded test yaml 🤷♂

[ ] Also, should the . be considered part of the content range, or just the removal range?
[ ] Should a function call on its own be considered "access"?  eg foo().  What about an identifier on its own, eg foo?

Checklist

[ ] Make it so eg bar or foo() on its own is an access? That might cover a lot of things 🤔. Eg what happens with something in parens? That could end up as part of access, eg (a + b).c
[ ] What does happen with (a + b).c?
[x] I have added tests
[x] I have updated the docs and cheatsheet
[x] I have not broken the cheatsheet

I don't think the dot should be part of the content range. I view this as a delimiter.
I definitely understand what you mean about the test cases. On fixture for multiple languages might be reasonable.

yeah I'm on the fence, because it is a bit like a delimiter, but not quite.  Comparing it to "arg", in that case, an arg can exist without the ,, whereas something that is after the first element in the chain can't exist without the .. So the . really feels more like it is a part of the access.  That being said, I do think you'd probably expect "change" to leave the . 🤔
To make it a delimiter, we'd need to:

support insertion delimiters for our tree-sitter queries, and
Ensure that a single function call / identifier / access is considered an "access"

Which are not unreasonable anyway imo

I guess one argument to treat it as a delimiter is that the decision to use ?. instead of . is determined by the preceding identifier rather than the following, so arguably it's not wholly owned by the trailing access

aligned on having it be delimiter, so need the extra things above

Update from meet-up (see https://github.com/cursorless-dev/cursorless/issues/1923#issuecomment-1745342445 for more context):

Make it private by not having it appear in csvs, but don't throw error if we manually add it to the csv. Also call it private.access
Ship it as is where it includes the . in the content range

Ok it's now a private scope type. You'll need to add a line like the following to your modifier_scope_types.csv:
access, private.fieldAccess

@AndreasArvidsson it's worth giving this a whirl to make sure that:

You can't use it without adding the above line, and there's no error if you don't
It works if you do add the above line

Keep in mind that someone could still copy one of our settings csvs and get it that way, but hopefully the comment helps 🤷

Tested and works as expected

Yeah that would be nice. Could prob build something using the pair scopes once those are migrated

@AndreasArvidsson I think this one is good to go wehen you get a minute

There are a lot of unfinished tasks on this pr and, but you're still happy to merge?

yeah I should prob check them, but I left them because this PR is really kind of unfinished but we want to merge it as a private feature to get some feedback from real use


Resolve wikilinks like obsidian

Currently oth requires relative links in [[wikilinks]], forcing people to change obsidian's default settings, and fix their markdown is bad though. so I should improve my pageResolver so it handles normal obsidian vaults

So I know how to fix this, but I feel the added complexity is out of scope for this project. See the ugly fix if you're interested, for now I'm going to close this and change the readme to encourage flat files.


Conflict with new Prelude.foldl' in GHC-9.10

Building library for text-short-0.1.5..
[1 of 5] Compiling PrimOps          ( src-ghc804/PrimOps.hs, dist/build/PrimOps.o, dist/build/PrimOps.dyn_o )
[2 of 5] Compiling Data.Text.Short.Internal ( src/Data/Text/Short/Internal.hs, dist/build/Data/Text/Short/Internal.o, dist/build/Data/Text/Short/Internal.dyn_o )

src/Data/Text/Short/Internal.hs:69:7: error: [GHC-87543]
    Ambiguous occurrence ‘foldl'’.
    It could refer to
       either ‘Prelude.foldl'’,
              imported from ‘Prelude’ at src/Data/Text/Short/Internal.hs:(139,1)-(144,80)
              (and originally defined in ‘ghc-internal-9.1001.0:GHC.Internal.Data.Foldable’),
           or ‘Data.Text.Short.Internal.foldl'’,
              defined at src/Data/Text/Short/Internal.hs:586:1.
   |
69 |     , foldl'
   |       ^^^^^^
Error: cabal-3.10: Failed to build text-short-0.1.5 (which is required by
exe:sum-pyramid-set-cover from sum-pyramid-0.0.1). See the build log above for
details.

Fixed in ff52b3e7400869f385ea6a59561b0624467eb02b.


BUG: No "Destroy Documentation" for package after add, doc, remove, re-add

I along with @Titan-C are maintainers of the sphinx-gallery package. Long ago (apparently) the package was named sphinxgallery (possibly maintained by @Titan-C), but apparently it:

Currently exists as a package at https://pypi.org/project/sphinxgallery/, even though @Titan-C thinks he removed it, and
There are minimal docs available at https://pythonhosted.org/sphinxgallery/ that people have found and been confused by

I'm not exactly sure what the situation is here (name squatting?) or if PEP541 is the right PEP, but it would be good if we could fix it. FWIW the maintainer of sphinxgallery maintains 1153 (!) packages, most of which seem to be hyphen-less versions of real packages, such as FlaskLogin package that mimics Flask-Login. So I'm not sure what's going on. It looks related to at least #4413, #4629, and #1506.
My PyPi username is Eric89GXL.

The sphinxgallery project describes itself as "A package to prevent exploit", and its setup.py (as well as its __init__.py is full of things like raise Exception("You probably meant to install and run sphinx-gallery"). So it would seem that the author is attempting some sort of white-hat squatting.
The Author email on the PyPI page for the project matches the email we have registered to the owner of the package. I would suggest emailing them and seeing of they will transfer the project back.

Argh I did look at the source briefly but obviously not thoroughly enough. Sorry for the noise.

I was added as an Owner of the sphinxgallery repo, but there is no option to get to the docs to "Destroy Documentation":

Following the URL scheme from other repos that do have docs, if I force it to go to the "Documentation" page there is no button there:

This is probably specific to this situation, where:

sphinxgallery package was added
docs were uploaded
sphinxgallery package was deleted (without destroying docs)
sphinxgallery package was re-added (with no docs, and thus no reference to docs)

I tried just pushing a redirect index.html, hoping that that would "notify" PyPi that there actually were docs, and then it would allow me to delete them (or if it didn't, at least the redirect would work), but as expected:
larsoner@bunk:~/python/sphinxgallery-0.1.1$ python2 setup.py upload_sphinx
running upload_sphinx
Submitting documentation to https://upload.pypi.org/legacy/
Upload failed (410): Uploading documentation is no longer supported, we recommend using https://readthedocs.org/.

So I think this situation will require some manual intervention at the PyPi end to remove the old docs.

These docs have been manually removed.

Awesome, thanks @ewdurbin !


RuntimeLinker not run

Resultados da tradução
hey I don't get to run into an emulator hair joke
he says this iso in C:/projects/kyty/source/emulator/src/RuntimeLinker.cpp:712
=== Unpatched function!!! ===
[9] uWyW3v98sU4[libkernel_v1][libkernel_v1.1][Func]
in C:/projects/kyty/source/emulator/src/RuntimeLinker.cpp:505


Move slow_len behind a slow_assertions #[cfg]

I've been experimenting with running wasm-bindgen (which uses parity-wasm
for decoding/encoding wasm modules) in debug mode where possible to reduce build
times on CI and otherwise make it more feasible to run locally. Unfortunately
the wasm modules that wasm-bindgen handles are sometimes pretty huge, notably
with lots of debuginfo and tons of items that are pruned later with wasm-gc
(and in general debug mode Rust binaries are quite large).
In some profilng one of the hottest functions in parity-wasm is the
IndexMap::slow_len function. It looks like this is an internal sanity check
only turned on when debug_assertions are enabled (which is good!). In this
commit, though, this check is moved behind a new --cfg slow_assertions flag
instead of the standard debug_assertions. Travis configuration has been
tweaked to always pass this flag, and it means that slow_len by default won't
get compiled into downstream crates in debug mode.
I'm curious to see what y'all think of this change! This is definitely not an
issue in release mode, so it's purely a slight optimization for debug mode. If
you'd prefer to not merge this and keep this on in debug mode by default, that's
also totally ok!

I think @emk originally had this in mind, according to his comment:
https://github.com/paritytech/parity-wasm/blob/4cbe9053483e8aa0c069a2b10d48647b48b0ef8a/src/elements/index_map.rs#L125
(which probably should be altered in this pr)

Fine to me!

Comment updated!

Thanks, @alexcrichton !

@alexcrichton Thank you for moving slow_len behind slow_assertions! This is definitely in line with my original intentions. :+1:


Fix description for landing page

Description
Protect Kubernetes nodes doc had a description, but it was init caps "Description" (instead of "description") so the description is not visible on the landing page. Semaphore currently does not flag this.

Merge and cherry pick to OS /master
Merge and cherry pick to Enterprise /master

Deploy preview for calico ready!
Built with commit 5e8876b5f5e57dbe0048a0c9428add6ca434b99a
https://deploy-preview-3575--calico.netlify.app


Missing bundle for aarch64-apple-darwin on v0.6.0

Running the following after the new v0.6.0 release (supposed to include support for Apple silicon):
$ cargo install --locked kani-verifier
    Updating crates.io index
  Downloaded kani-verifier v0.6.0
  Downloaded 1 crate (13.6 KB) in 2.21s
  Installing kani-verifier v0.6.0
   Compiling log v0.4.17
   Compiling cfg-if v1.0.0
   Compiling anyhow v1.0.58
   Compiling kani-verifier v0.6.0
   Compiling home v0.5.3
   Compiling os_info v3.4.0
    Finished release [optimized] target(s) in 5.92s
   Replacing /Users/pelito/.cargo/bin/cargo-kani
   Replacing /Users/pelito/.cargo/bin/kani
    Replaced package `kani-verifier v0.5.0` with `kani-verifier v0.6.0` (executables `cargo-kani`, `kani`)

$ cargo-kani setup
[0/6] Running Kani first-time setup...
[1/6] Ensuring the existence of: /Users/pelito/.kani/kani-0.6.0
[2/6] Downloading Kani release bundle: kani-0.6.0-aarch64-apple-darwin.tar.gz
Error: Kani does not support this platform (Rust target aarch64-apple-darwin)

There is no CI for Apple Silicon. (And may not be for awhile. Github Actions may not plan to support it ever, and I'm not sure if we'll want to set up and maintain our own infrastructure for that.)
We need to clarify that in the documentation and error message.
The only level of support we have so far is that you can now build from source, not yet install via cargo install.

Sad to hear. Then, I have a different question. Say I also have some x86 hosts to run the proofs (and I'm happy with extrapolating the proof), would having kani code break my build on M1 if I use it for x86?

If I understand your question correctly: no it shouldn't break anything.
Kani proofs already need to be written under cfg(kani) somehow. This is only set when running cargo kani. For example:
#[cfg(kani)]
mod proofs {
  // ... like a tests block
}

or individually
#[cfg(kani)]
#[kani::proof]
fn check_etc() ...

Will ensure these don't get built normally.
(This is partially because we haven't yet fixed a few ergonomic issues, and don't yet publish the kani crate on crates.io. Once we do that, some of these extra annotations can maybe be relaxed (in that future) by adding kani as a dev-dependency. But this shouldn't break any builds because when it's not cfg(kani) it shouldn't do much of anything at all.)

Yep, that's what I was asking, and your answer is satisfying. Thank you!


Bug: Database randomly deleting itself

What happened?
The users table seems to randomly delete itself. Has happened 3 times in the last few weeks
Version
latest (ghcr.io/diced/zipline or ghcr.io/diced/zipline:latest)
What browser(s) are you seeing the problem on?
No response
Zipline Logs
Postgres container logs:

2024-04-22 22:28:44.121 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-04-22 22:28:44.121 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-04-22 22:28:44.125 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-04-22 22:28:44.131 UTC [29] LOG:  database system was shut down at 2024-04-22 22:28:43 UTC
2024-04-22 22:28:44.138 UTC [1] LOG:  database system is ready to accept connections
2024-04-22 22:28:47.536 UTC [33] ERROR:  relation "public.User" does not exist at character 370
2024-04-22 22:28:47.536 UTC [33] STATEMENT:  SELECT "public"."User"."id", "public"."User"."uuid", "public"."User"."username", "public"."User"."password", "public"."User"."avatar", "public"."User"."token", "public"."User"."administrator", "public"."User"."superAdmin", "public"."User"."systemTheme", "public"."User"."embed", "public"."User"."ratelimit", "public"."User"."totpSecret", "public"."User"."domains" FROM "public"."User" WHERE "public"."User"."uuid" = $1 LIMIT $2 OFFSET $3

Container Log:
2024-04-22 10:28:47,538 PM info  [server::response] GET /api/user -> 401
PrismaClientKnownRequestError:
Invalid `prisma.user.count()` invocation:
The table `public.User` does not exist in the current database.
    at fl.handleRequestError (/zipline/node_modules/@prisma/client/runtime/binary.js:187:6819)
    at fl.handleAndLogRequestError (/zipline/node_modules/@prisma/client/runtime/binary.js:187:6207)
    at fl.request (/zipline/node_modules/@prisma/client/runtime/binary.js:187:5927)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async a (/zipline/node_modules/@prisma/client/runtime/binary.js:192:10035)
    at async l (/zipline/.next/server/pages/api/auth/login.js:1:2814) {
  code: 'P2021',
  clientVersion: '5.6.0',
  meta: { table: 'public.User' }
}
2024-04-22 10:28:55,141 PM info  [server::response] POST /api/auth/login -> 500

### Browser Logs

_No response_

### Additional Info

_No response_

are you running via docker? if you aren't using the provided example docker-compose.yml file you should make sure that the postgres container has a volume or everytime it restarts it loses its data. otherwise I have no idea what's going on here, so I'll have to look into it later.

if it didn't restart, then there probably a 75% chance that it's not zipline's fault considering you might be sharing the volume with other stuff... i suggest using a separate volume for pg and if the database still deletes its self then we can move on to finding out why

closing as stale, don't really know what the problem is though.


Issue with Python Experience

[Window Title]
devenv.exe
[Main Instruction]
An unexpected error occurred
[Content]
Please press Ctrl+C to copy the contents of this dialog and report this error to our issue tracker.
[^] Hide details  [Close]
[Expanded Information]
Build: 16.11.21196.2

System.NotSupportedException: version 2884 is no longer in memory
   at Microsoft.PythonTools.Intellisense.LocationTracker.GetLineLocations(Int32 version)
   at Microsoft.PythonTools.Intellisense.LocationTracker.Translate(SourceLocation loc, Int32 fromVersion, Int32 toVersion)
   at Microsoft.PythonTools.Intellisense.LocationTracker.Translate(SourceSpan span, Int32 fromVersion, Int32 toVersion)
   at Microsoft.PythonTools.Intellisense.TaskProviderItem.CreateSquiggleSpan(SimpleTagger`1 tagger)
   at Microsoft.PythonTools.Intellisense.TaskProvider.<RefreshAsync>d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.PythonTools.Intellisense.TaskProvider.Refresh()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

@azariah15yocoder Thank you for reporting this. Just to confirm, this is in VS 2019 correct?
Are you able to provide any sample code that causes this issue? I need to try and repro it, but anything you have would help. Thank you :)

Yes, this was in VS 2019. The thing about this particular issue is that it only happens when I'm actively writing Python code.
Here is the code that I was working on when this happened:
`import os
import time
def cls():
if os.name == "nt":
os.system("cls")
else:
os.system("clear")
def convert_to_binary(number): # work on this more later
rem_stack = []
rem = 0
binary_string = ""
while number > 0:
rem = number % 2
rem_stack.append(rem)
number = number // 2
if len(rem_stack) < 8:
counter = 0
position = -1
new_stack = []
while len(new_stack) != len(rem_stack):
counter = counter + 1
position = position + 1
new_stack.append(rem_stack[position])
if counter == 8:
new_stack.append(" ")
counter = 0
if counter < 8:
while True:
counter = counter + 1
new_stack.append("0")
if counter == 8: break
rem_stack = new_stack
while len(rem_stack) != 0:
binary_string = binary_string + str(rem_stack.pop())
if len(binary_string) < 8:
while True:
binary_string = "0" + binary_string
if len(binary_string) == 8: break
return binary_string
def find_subnet(ip, mask):
for i in range(len(ip)):
number = int(ip[i])
convert_to_binary(number)
cls()
while True:
ip_address = input("Enter IP address here: ")
if len(ip_address) < 1:
print("Have a nice day!")
time.sleep(5)
address_mask = input("Enter IP address mask here:")
if len(address_mask) < 1: address_mask = "<IP_ADDRESS>"
try:
ip_address = ip_address.split(".")
address_mask = address_mask.split(".")
print(find_subnet(ip_address, address_mask))
except:
print("Hmm. It looks as if you made a mistake while writing the IP addresses. Please try again.")
time.sleep(5)
ip_address = input("Enter IP address here: ")`
The main thing that occurs before the popup occurs is that the VS starts to slow down. This is something that happens with any of the programs that I'm writing in any language. After that, there are alerts that appear on my screen (usually one or two) that are mentioning one of these Python bugs. That usually occurs when I am actively writing Python code, though.
Thank you for helping out with fixing this issue. Let me know if you need any more information.

The main thing that occurs before the popup occurs is that the VS starts to slow down. This is something that happens with any of the programs that I'm writing in any language. After that, there are alerts that appear on my screen (usually one or two) that are mentioning one of these Python bugs. That usually occurs when I am actively writing Python code, though.

Thank you for the information. Are you saying that this particular issue happens when working in any language, or it only happens when working in Python?

I want to say that it only happens when working with Python.

I want to say that it only happens when working with Python.

Ok thank you. Have you tried VS2022 to see if the issue persists? Many things have changed between these versions, and many bugs were fixed in 2022 that were not necessarily fixed in 2019.

I have not tried it yet. I'll be happy to check to see if the issue continues there. Thank you so much for the input!

Please give VS2022 a shot and respond back on this issue if it repros again and we can look into it.

Turns out, VS2022 was the fix to the issue. Thank you so much!


[WIP]Use Announcer for internal announcements + ClusterInforResource

This PR fixes https://github.com/druid-io/druid/issues/2040
(1) Use DruidServerDiscovery for internal Druid server discovery. This interface allows us not rely on Zookeeper to discover/distribute internal Druid server information.
(2) makes Druid nodes(Historical, Realtime, Overlord, Coordinator,MiddleManager, Broker) use Announcer for internal announcements. In Zookeeper you can find all Druid nodes under /druid/announcement
Example:
[zk: localhost:2181(CONNECTED) 4] ls /druid/announcements
[segmentServers, middleManager, coordinator, broker, overlord]

[zk: localhost:2181(CONNECTED) 9] ls /druid/announcements/coordinator
[localhost:8084]

[zk: localhost:2181(CONNECTED) 10] get /druid/announcements/coordinator/localhost:8084
{"name":"localhost:8084","host":"localhost:8084","maxSize":0,"type":"coordinator","tier":"_default_tier","priority":0}

(3) adds a ClusterInfoResource to Coordinator so that you can query for Druid nodes information through Coordinator endpoint.
Example:
{
  "router": [],
  "realtime": [],
  "coordinator": [
    {
      "name": "localhost:8082",
      "host": "localhost:8082",
      "maxSize": 0,
      "type": "coordinator",
      "tier": "_default_tier",
      "priority": 0
    },
    {
      "name": "localhost:9082",
      "host": "localhost:9082",
      "maxSize": 0,
      "type": "coordinator",
      "tier": "_default_tier",
      "priority": 0
    }
  ],
  "historical": [
    {
      "name": "localhost:8081",
      "host": "localhost:8081",
      "maxSize":<PHONE_NUMBER>0,
      "type": "historical",
      "tier": "_default_tier",
      "priority": 0
    },
    {
      "name": "localhost:9081",
      "host": "localhost:9081",
      "maxSize":<PHONE_NUMBER>0,
      "type": "historical",
      "tier": "second_tier",
      "priority": 0
    }
  ],
  "broker": [],
  "overlord": [
    {
      "name": "localhost:8089",
      "host": "localhost:8089",
      "maxSize": 0,
      "type": "overlord",
      "tier": "_default_tier",
      "priority": 0
    }
  ]
}

Hi @guobingkun , is there a proposal related to this?
At first glance this seems to be trying to make the cluster have some level of self-awareness. This is a non-trivial thing because there isn't really a solid concept or delineation between "service" and "capacities".
To me it would make more sense to have a host:port combination announce itself, maybe with some predefined set of capacities, but then have any state information be accessible through endpoints exposed at the host:port, with API guaranteed by what type of capability the service has announced.
I'm specifically cautious about having the Announcer store state.

@guobingkun I had put together some suggestions here https://github.com/druid-io/druid/issues/2040 it doesn't look any of those have been taken into account.

@xvrl Sure, let me check #2040

Had a chat about this PR between @nishantmonu51 @guobingkun and myself. Regarding ONLY the conflicts between #2286 and this PR, the key thing #2286 needs is a way to accomplish this: https://github.com/druid-io/druid/pull/2286/files#diff-610c15be877b04e26b818259a34300e4R63  where something can be announced by some "key" and all things which have announced themselves as some "key" can be found by a discovery service of some kind.

I've spoken with @guobingkun about this in private a few times and I wanted to make this part of the conversation more open:
One of my concerns with this PR is uncertainty of how useful it is to look at a group of nodes defined by a label determined in their runtime.properties. For example: it is useful for a human operator to be able to discover the known nodes by whatever their service name is defined in the runtime.properties... but those kinds of settings are not terribly helpful to a machine in the cluster.
Likewise knowing what Cli was used to launch the node is also only moderately helpful since there could be any number of modules which extend the basic functionality.
As such, there are two "classes" of service discovery which seem helpful:

Discovery of a descriptor whose mapping of nodes to descriptors is surjective, meaning each node only uses ONE description (example: service name)
Discovery of a descriptor which returns a list of nodes which it describes (example: "can load deep-storage segments"). But any particular node may have any number of descriptors.

An example of this is an internal use case where we have one group of brokers which handles fast queries with prompt expectations on query time, and another group of brokers which handle very long-running queries with longer query time expectations. They are both run via CliBroker, but have different service names, different sets of properties, and serve very different purposes. In such a case the answer to the question of "What are the brokers in my cluster?" becomes unclear, and you have to look at WHY you need to know that information.
I caution against implementation questions like "What are the brokers in my cluster?" instead favoring questions like "What nodes in my cluster serve XXX purpose?".
The difference I see between this PR and #2286 is that #2286 attempts to solve the following: Given that there exist cluster wide resources identified by a unique ID, how do you provide a general framework around being able to post / get / delete those resources across the node, with the intended use case being something which is managing cluster state doing the post / get / delete requests.
The overlap is that #2286 relies on "service discovery" to answer the "What nodes in my cluster serve XXX purpose?" So as long as this PR has a mechanism in the DruidServiceDiscovery to answer that question, a drop-in replacement for the Curator ServiceDiscovery used in #2286 should be trivial.

@himanshug @cheddar have you guys reviewed this?

@himanshug @cheddar ?

@himanshug @cheddar

@fjy i haven't reviewed this and wasn't really plugged in. but, from the conversation in PR and similar PRs around this I believe @drcrallen @nishantmonu51 @xvrl should possibly review this. I can take a look at it from code perspective but need to get understanding the discussions that happened and conclusions reached.

@drcrallen I introduced the "capability" concept you mentioned in our conversation in this PR, please have a look.
@xvrl This PR is ready to review.

@guobingkun merge conflicts

@guobingkun is this still WIP? also merge conflicts

@fjy Yes, I will finish this up soon.


Update sbt-ci-release-early to 2.0.35

Updates io.shiftleft:sbt-ci-release-early from 2.0.32 to 2.0.35.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.shiftleft", artifactId = "sbt-ci-release-early" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.shiftleft", artifactId = "sbt-ci-release-early" }
}]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #228.


[TEST] Test cherry-pick of a commit into branch 1.6

This is just to use the jenkins builder, and should not be merged. cc @yhuai

Test build #55667 has started for PR 12343 at commit 97665c6.

Test build #55667 has finished for PR 12343 at commit 97665c6.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/55667/
Test FAILed.

oh, seems failed style check.

Oops, let's try that again

Test build #55672 has started for PR 12343 at commit e9d1075.

Test build #55672 has finished for PR 12343 at commit e9d1075.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/55672/
Test FAILed.

Test build #55673 has started for PR 12343 at commit 280be8a.

Test build #55673 has finished for PR 12343 at commit 280be8a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/55673/
Test PASSed.


[feat] hide hidden files in directory listing

These files can still be served from the proxy and via direct link, but it would make sense to exclude these files from the listing, maybe adding a button at the bottom of the list:
"Show 3 hidden items"

I was looking forward to contributing or is there a PR already?

@divy-work This has not been taken by anyone yet, so feel free to work on it.

This was implemented in the linked PR.


Fixed a very old typo in README

This was a typo in an old text from 2014, but the Model has been in salesforce.router since prehistory.

Only README must be updated now to be clear now for Django 2.2.


torchvision issue

I'm using the pytorch-1.1 branch, and meet some problem,would you like to tell me your torchvision?(my pytorch version is 1.1.0, torchvision is 0.3.0)

One of the problems is "torch.distributed has no attribute 'ReduceOp'"


Quick fix for MultiWriter code assumption of 3 replicas

Full fix of this area (abort on any error) will have to wait until
later.

"3 ought to be enough for everybody"


Proposal: Desktop applications must follow your accent colour even if they don't use WinUI 3

Proposal: Desktop applications must follow your accent colour

Desktop Win32 apps that doesn't use WinUI 3 must follow your accent colour. Today apps use blue mostly eg: GDI which shouldn't be the case unless the app want's own branding
Summary

The accent color setting in Windows applies to Windows XAML or WinUI in the future and not GDI or WPF. Unless the app has its own colour, the colour must match the accent colour just like a WinUI app.
Rationale

Consistency
Better user experience

Scope

Capability
Priority

All GDI and WPF apps by default should use the accent colour as their default for all controls instead of current default blue
Must

This proposal will allow end-users to apply accent colour for every app regardless of the UI is rendered
Should

This proposal will allow developers easily override colour in their GDI app and all built-in controls will use it
Could

Microsoft's apps like Edge should follow Accent Colour. Ever since moving the Chromium, it doesn't follow my accent colour (Green) and always uses blue even if the system setting is something else
Must

It would be good to provide a more Fluent UI like UXTheme which Reunion apps would use as a default (perhaps with an opt out).  The colour used for certain elements, would follow the accent colour, and Light and Dark theme support could be on as part of this (including an option like RequestedTheme so this can be overridden by the user or app developer)

@mdtauk It should be done in the OS rather than a separate Reunion and should affect everything without a recompilation.

@mdtauk Windows never had these consistency issues. An old app running on a new version will always get the new styling mostly.
I just want a consistent design and making it a separate package will not solve because it's an extra layer and not everyone will download the new package. I should never see an old GDI button anymore in Windows 10.

I don't care which way they do it because finally I never want to see old GDI anymore. I'm not a professional Windows developer rather a user and I want consistent design. GDI is a major problem because it can't be updated since it's not DirectX based and no hardware acceleration.

@mdtauk Windows never had these consistency issues. An old app running on a new version will always get the new styling mostly.
I just want a consistent design and making it a separate package will not solve because it's an extra layer and not everyone will download the new package. I should never see an old GDI button anymore in Windows 10.

I understand that, but if Microsoft made a button larger, that breaks all the app UI and dialog layouts.
WinUI is what the future of the Windows UI will be, but some developers rely on Win32 code, and legacy UI.
WinUI 3.0 will allow those apps to gradually replace old UI with modern Xaml based designs, but Reunion is about bridging that gap, and allowing apps from any framework, to more easily adopt modern Windows features.
And to backport or gracefully polyfill those new features with older versions of Windows 10 and 8.1

@mdtauk It will not. They can apply a high-dense theme for existing apps. Ideally, those APIs need to be rewritten to be a wrapper to WinUI 3 so all apps will get it. Developers shouldn't rewrite their apps every time a new OS gets released.

For this proposal, I just want GDI controls to follow accent colour inside of using blue all the time. This proposal doesn't focus on theming or style. Only the colour

If devs want they can rewrite with WinUI and get fully modern, hardware accelerated XAML. I just want all apps to use the same colour as other apps. Not even about dark or light theme.

You can easily change the colour used by GDI yourself with tweak utilities, I just want Microsoft to apply my accent colour for GDI controls by default. No need for XAML or dark mode.

Windows 11 has updated visual design for common controls however they still use blue as the default regardless of the accent being some other colour.

Notice how the selected colour for the list view item and the button border is blue even if the accent colour is different.

@Jaiganeshkumaran Can you file this in feedback hub? There's a bug bash going on right now and I'd like to upvote it too.

@Jaiganeshkumaran Can you file this in Feedback Hub? (I'd vote for Settings > Personalization Settings.) There's a bug bash going on right now and I'd like to upvote it too.

Here you go: https://aka.ms/AAd5ubp.

Many of these color can already be altered in HKEY_CURRENT_USER\Control Panel\Desktop\Colors, so I wonder if the Settings app could simply alter these as well when setting a color.

It seems to me that this request boils down to these changes:
GetSysColor(COLOR_HIGHLIGHT) should return the AccentColor
GetSysColor(MENU_HIGHLIGHT) and should return the new Gray Color that WinUI uses. I am on Windows 11 22567 and I am happy that Win32 Menus already use the new Gray Color when hovering Menu Items.
All Win32 Controls that use COLOR_HIGHLIGHT should be painted with the AccentColor. This includes EditBox, ListView, TreeView etc.
Visual Styles (OpenThemeData API) should not provide images but they should be composable on the fly using the Accent Color. I am afraid this is the most tricky part.


Crash while resolving large number of conflicts

 [w,a,s,d,e,?] >> panic: runtime error: slice bounds out of range

goroutine 337 [running]:
github.com/nsf/termbox-go.PollEvent(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /Users/else/go/src/github.com/nsf/termbox-go/api.go:348 +0x8d4
github.com/jroimartin/gocui.(*Gui).MainLoop.func1(0xc00020a090)
        /Users/else/go/src/github.com/jroimartin/gocui/gui.go:354 +0x30
created by github.com/jroimartin/gocui.(*Gui).MainLoop
        /Users/else/go/src/github.com/jroimartin/gocui/gui.go:352 +0x6e
$ fac -v
fac 2.0

Could you provide the file you were attempting to fix by any chance?

Unfortunately this is not possible, and also not easy to find out, because the list of files on the right side is larger than the window (or is there a scroll possibility?)

closing for now


QueenTypeDeclaration.java: Handle TypeDeclaration Parame...

The puzzle<PHONE_NUMBER> originating from #8 has to be resolved:
https://github.com/jvmqueen/queen-of-java/blob/6a08d48b937288ada525cc58dcde468f2089289f/src/main/java/org/queenlang/transpiler/nodes/QueenTypeDeclaration.java#L43-L43
"Handle TypeDeclaration Parameters (for generic types).".
The puzzle was created by amihaiemil at 2022-12-02 19:11:00 +0200.
Estimation is 60 minutes.
If you have any technical questions, don't ask me, I won't be able to help. Open new issues instead.

@amihaiemil this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2022-12-12T17:20:29.347271.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@amihaiemil Don't forget to close this ticket before the deadline (2022-12-12T17:20:29). You are past the first half of the allowed period.

@amihaiemil Looks like you've missed the task deadline (2022-12-12T17:20:29). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@amihaiemil I couldn't find any assignee for this task. This is either because there are no contributors with role DEV available or because the project does not have enough funds.
Please, make sure there is at least one available contributor with the required role and the project can afford to pay them.

@amihaiemil I couldn't find any assignee for this task. This is either because there are no contributors with role DEV available or because the project does not have enough funds.
Please, make sure there is at least one available contributor with the required role and the project can afford to pay them.

@amihaiemil I couldn't find any assignee for this task. This is either because there are no contributors with role DEV available or because the project does not have enough funds.
Please, make sure there is at least one available contributor with the required role and the project can afford to pay them.

@amihaiemil I couldn't find any assignee for this task. This is either because there are no contributors with role DEV available or because the project does not have enough funds.
Please, make sure there is at least one available contributor with the required role and the project can afford to pay them.

Puzzle disappeared from the code, that's why I closed this ticket.


Same keywords of different casing

Description of the bug
Updates to an existing HydroShare resource will fail if the request payload contains a keyword that already exists in the resource in different casing. For example, if the resource already contains a keyword Cznet, submitting a request that contains the keyword CzNet will throw an error.
A workaround has been put in place to replace occurrences of required keywords with the casing specified in our schema.
However, this constraint will still cause trouble in instances where different casings of a keyword are desired (i.e: “Urban” is not the same as “urban”).
We need to decide how to handle this and explore if this constraint exists in other repositories and if they can be eliminated.

@Maurier and @sblack-usu - I'm going to add this one to the v1.3 milestone, but maybe we need to discuss the solution to this one?

Same keywords with different casing should be regarded as equivalent and should not be attempted to be added to HydroShare.

Same keywords with different casing should be regarded as equivalent and should not be attempted to be added to HydroShare.

Jeff, should we consider doing the same for EarthChem and Zenodo?

I think Yes.


[FLINK-27031][runtime] Assign even empty old state to the task if the…

… upstream has output states since the task should be prepared to filter these old incoming states from upstream

What is the purpose of the change
Assigning even empty old state to the task if the upstream has output states since the task should be prepared to filter these old incoming states from upstream
Brief change log

Send empty StateAssignment to the task if the upstream of this task has output states

Verifying this change
This change added tests and can be verified as follows:

New test were added to StateAssignmentOperationTest

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Why this PR targets for FLINK-27031?

@Myasuka , I didn't get your question. This is the fix for FLINK-27031.
By the way, it would be nice if you could review this ticket if you have time for this.

@Myasuka , yes, you are right I should share my findings in the ticket. I have done it now. So please, take a look at my explanation of this problem (https://issues.apache.org/jira/browse/FLINK-27031). if you still have questions we can continue to discuss it in this PR.

I think your solution is valid. However, I think the logic to resolve this problem is a bit not straight forward.
We need to setup the virtual channel <--- we need the non-rescale InflightDataRescalingDescriptor <---- we need to assign jobManagerTaskRestore to task. If any logic within the pipeline had changed, this PR would not take effects.

@Myasuka , Would you like to finish the review? Or does it make sense to ask somebody else to join to review?


Add installation instructions for Linux

Overview
As part of the initial ecctl doc work, I included but commented out the Linux install instructions I found elsewhere in the ecl repo. Based on a conversation I had with the team in Toronto, there is no official Linux support yet.
I'm opening this issue as a placeholder for future discussion about what we want to include when we are ready.
Possible Implementation
TBD
Testing
TBD

Old issue, closing.


GeoLocator Issue after upgrading flutter version in to 2.5.1

🐛 Bug Report
C:\flutter.pub-cache\hosted\pub.dartlang.org\geolocator_android-2.1.0\android\src\main\java\com\baseflow\geolocator\location\LocationMapper.java:29: error: cannot find symbol
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
^
symbol:   variable S
location: class VERSION_CODES
C:\flutter.pub-cache\hosted\pub.dartlang.org\geolocator_android-2.1.0\android\src\main\java\com\baseflow\geolocator\location\LocationMapper.java:30: error: cannot find symbol
position.put("is_mocked", location.isMock());
^
symbol:   method isMock()
location: variable location of type Location
2 errors
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':geolocator_android:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 5s
Running Gradle task 'assembleDebug'...                              6.7s
Gradle task assembleDebug failed with exit code 1
Expected behavior
Build and compiled
Reproduction steps
flutter build apk --debug
Configuration
Version: 7.7.0 / 7.6.2
Platform:

[ ] :iphone: iOS
[ x] :robot: Android

Hi, please make sure you set compileSdkVersion in your android/app/build.gradle file to 31 when using geolocator version 7.7.0. If you cannot support Android 12 yet make sure to pin the dependency on geolocator to version 7.6.2 (make sure you pin it and not use the caret ^ symbol).


Typo "Azure compute emulator"→"Azure Compute Emulator"

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-multi-tier-app-using-service-bus-queues

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


How are response codes being used?

I noticed that Apple response codes are stored in module Houston, class Notification. Are these response codes being used? And if so, where are they being stored?
It appears that if I try to send a notification to a bad token, Houston::Client.production.devices briefly stores the token, but I'm not sure for what reason the token failed. Is there a way to return the response codes returned as feedback?

Are you talking about feedback service?

👍
@dankimio Seems like Apple is moving away from feedback service.  Seems like applications should be handling 410 response codes now.


Caseless parsing model

Can this library be used for parsing tweets? I'm mostly interested in extracting locations, dates, names and if possible more. There seems to be a relevant question on Stanford NLP FAQ: http://nlp.stanford.edu/software/parser-faq.shtml#ca

Not really. The Stanford NER and parser were trained on "regular" text coming from news and scientific articles. For parsing tweets, take a look at: http://www.ark.cs.cmu.edu/TweetNLP/


xNewAdapterName output misleading when Adapter Not Found

If the xNewAdapterName resource is used to rename an adapter using the name where an adapter with the existing or new name can't be found then a misleading error message will be shown.

@johlju, @ChrisLGardner  - I've found a few more bugs in this (exposed when I extended integration tests to cover a simple rename using name only). So I've fixed those as well.
I've improved the log information as well and extended the integration and unit tests to provide better coverage of these scenarios.
The resource can now be correctly used to rename an adapter by just identifying it by name. But this isn't the primary user story that drove this. If you know the adapter name already, then renaming it isn't really that useful (but it'll work).
The primary user story that this should address is when you don't know the adapter name in the OS - you only know various parameters of the adapter (e.g. MAC Address, Driver) and therefore need to rename it so that that all other resources have a known name they can reference.
For example:
        xNetAdapterName RenameNetAdapterCluster
        {
            NewName        = 'Cluster'
            MacAddress     = '9C-D2-1E-61-B5-DA'
        }

This will work fine - but it's not really the primary purpose:
        xNetAdapterName RenameNetAdapterCluster
        {
            NewName        = 'Cluster'
            Name      = 'Ethernet 1'
        }


issue in post

I am using  laravel 5.7.28.
In data if i am adding escapes then in post method laravel adding backslashes automatically.

Hi there,
Welcome to Laravel and we are glad to have you as part of the community.
Unfortunately this GitHub area is not a support area for general application issues. This is only for issues/bugs with the framework code itself.
I will be closing your ticket here. Instead please try asking your question on one of the many great community support areas that will likely give you a better answer more quickly:

Laravel Slack (https://larachat.co/)
Laravel.io Forum (https://laravel.io/forum)
Laracasts Forum (https://laracasts.com/discuss)
StackOverflow (http://stackoverflow.com/questions/tagged/laravel)

If you feel I've closed this issue in error, please provide more information about how this is a framework issue, and I'll reopen the ticket.
Thanks in advance.


Fix local Docker development environment

Changes in this PR:
This fixes the local Docker development environment, which has been broken for a while. I can now successfully:

run the server with bin/dstart and access it at http://localhost:3100
run the tests with bin/dtest-server and bin/dspec

The changes are similar to https://github.com/dxw/DataSubmissionServiceAPI/pull/628.
Updating your local environment
You'll need to update your local docker-compose.env with the new DATABASE_URL from docker-compose.env.sample.

Same question: should I expect bin/drebuild to work? (It takes a long time to return a final result, so I'd rather not keep trying if it's not considered fixed yet.) (I'm getting the same errors even after updating docker-compose.env from the env.sample file.)

Same error, even after manually creating docker network create datasubmissionserviceapi_public which it told me to do:
Created database 'DataSubmissionService_development'
could not connect to server: Connection refused
	Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
	TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
	Is the server running on host "localhost" (::1) and accepting
	TCP/IP connections on port 5432?
Couldn't create 'DataSubmissionService_test' database. Please check your configuration.

I would like to unassign myself, and leave it to someone who can successfully run it. Then I can look for help in fixing my setup, since something is clearly wrong beyond any recognition...

So, db:create is doing something odd here. It would seem its trying to create the database for each environment and ignoring DATABASE_URL for subsequent ones. Over on API it seems to do the right thing. If I delete the other ENVs it only tries to create it once.
also it does do the right thing if the DB exists.

I think i have worked this out. @CristinaRO in your checkout do you have a .env file?

I think i have worked this out. @CristinaRO in your checkout do you have a .env file?

I do! Currently it's trying to use postgres://localhost:5432 as protocol/host for both DATABASE_URL and TEST_DATABASE_URL.

@CristinaRO the existence of that file is why the docker container doesnt work.  rails reads from that which overrides the environment variables set at the docker level. I wonder about adding it to .dockerignore. That file probably needs to exist for local development but not development in a container.

Ooh, I didn't know that. Now I checked and .dockerignore already has .env, for both CCS repos. 🤷♀


init chat games

Adds Chat Games per ProjectEdenGG/Issues#744
Games it adds:

Math (Simple +/-)
Unscramble
Unmute (fill in the blanks)
Hover/Quick Typing (Type the given word fairly quickly)
More can be added easily if we want more.

Currently, all words come from the Material::isItem & EntityType enums. This was just for testing but after playing it seemed fun and had enough difficulty ranges to make it slightly challenging at times, but still easily playable.
Playing gives a small eco reward:
1: $150
2: $100
3: $50
4+: $25
They are queued through setting service, so no games should be bought and then deleted by nexus reload. Each game is 1 VP.
I also reorganized the VPS a bit to fit these into the first page, as that's where they fit best in my opinion.

Re-wrote a lot of it as I didn't like the technical implementation, but no major functionality was changed.


Exception 'Load access fault' mepc=0x42050260, mtval=0x09ccdd7c when trying to connect to ESP32-C3

Device: Pixel 2 XL
OS: LineageOS Android 13
When I try to connect to the device I get an error. Here is the full output:
I (43) boot: ESP-IDF v5.1-beta1-378-gea5e0ff298-dirt 2nd stage bootloader
I (43) boot: compile time Jun  7 2023 07:59:10
I (44) boot: chip revision: v0.4
I (48) boot.esp32c3: SPI Speed      : 40MHz
I (53) boot.esp32c3: SPI Mode       : DIO
I (57) boot.esp32c3: SPI Flash Size : 4MB
I (62) boot: Enabling RNG early entropy source...
I (68) boot: Partition Table:
I (71) boot: ## Label            Usage          Type ST Offset   Length
I (78) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (86) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (93) boot:  2 factory          factory app      00 00 00010000 003f0000
I (101) boot: End of partition table
I (105) esp_image: segment 0: paddr=00010020 vaddr=3c100020 size=223d8h (140248) map
I (144) esp_image: segment 1: paddr=00032400 vaddr=3fc86808 size=00fd0h (  4048) load
I (146) esp_image: segment 2: paddr=000333d8 vaddr=3fca1a18 size=001a4h (   420) load
I (150) esp_image: segment 3: paddr=00033584 vaddr=40380000 size=06804h ( 26628) load
I (165) esp_image: segment 4: paddr=00039d90 vaddr=00000000 size=06288h ( 25224)
I (172) esp_image: segment 5: paddr=00040020 vaddr=42000020 size=f5930h (1005872) map
I (397) boot: Loaded app from partition at offset 0x10000
I (397) boot: Disabling RNG early entropy source...
Connector created
Ok(CommandComplete { num_packets: 5, opcode: 3075, data: [0] })
Ok(CommandComplete { num_packets: 5, opcode: 8198, data: [0] })
Ok(CommandComplete { num_packets: 5, opcode: 8200, data: [0] })
Ok(CommandComplete { num_packets: 5, opcode: 8202, data: [0] })
started advertising
Exception 'Load access fault' mepc=0x42050260, mtval=0x09ccdd7c
0x42050260 - esp_hal_common::interrupt::riscv::handle_exception
    at /var/home/rajas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-hal-common-0.13.1/src/interrupt/riscv.rs:466
0x09ccdd7c - ??
    at ??:??
TrapFrame
PC=0x42050260         RA/x1=0x40380202      SP/x2=0x00000000      GP/x3=0x3fc8c1b0      TP/x4=0x00000000
0x42050260 - esp_hal_common::interrupt::riscv::handle_exception
    at /var/home/rajas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-hal-common-0.13.1/src/interrupt/riscv.rs:466
0x40380202 - _start_trap_rust_hal
    at /var/home/rajas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-hal-common-0.13.1/src/interrupt/riscv.rs:412
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x3fc8c1b0 - _ZN8esp_wifi7preempt10TASK_STACK17hd5096faab3453f50E
    at ??:??
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
T0/x5=0x00000000      T1/x6=0x09ccdd7c      T2/x7=0x00000000      S0/FP/x8=0x3fc8c2a0   S1/x9=0x3fca1000
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x09ccdd7c - ??
    at ??:??
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x3fc8c2a0 - _ZN8esp_wifi7preempt10TASK_STACK17hd5096faab3453f50E
    at ??:??
0x3fca1000 - phy_version_str
    at ??:??
A0/x10=0x09ccdd7c     A1/x11=0x3fc8c2d0     A2/x12=0x00000000     A3/x13=0x00000c80     A4/x14=0x0000dbf3
0x09ccdd7c - ??
    at ??:??
0x3fc8c2d0 - _ZN8esp_wifi7preempt10TASK_STACK17hd5096faab3453f50E
    at ??:??
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000c80 - libm::math::lgammaf_r::lgammaf_r
    at /var/home/rajas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libm-0.2.8/src/math/lgammaf_r.rs:205
0x0000dbf3 - ??
    at ??:??
A5/x15=0x09ccdd7d     A6/x16=0x00000000     A7/x17=0x00000000     S2/x18=0x00000002     S3/x19=0x3fce0000
0x09ccdd7d - ??
    at ??:??
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000002 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x3fce0000 - bars
    at ??:??
S4/x20=0x3c11aca4     S5/x21=0x3fce0000     S6/x22=0x3fce0000     S7/x23=0x00000001     S8/x24=0x3fce0000
0x3c11aca4 - .L__unnamed_68
    at ??:??
0x3fce0000 - bars
    at ??:??
0x3fce0000 - bars
    at ??:??
0x00000001 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x3fce0000 - bars
    at ??:??
S9/x25=0x00000000     S10/x26=0x00000000    S11/x27=0x00000000    T3/x28=0x00000000     T4/x29=0x00000000
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
T5/x30=0x00000000     T6/x31=0x00000000
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
0x00000000 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107

MSTATUS=0x00001801
0x00001801 - libm::math::rem_pio2_large::rem_pio2_large
    at /var/home/rajas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libm-0.2.8/src/math/rem_pio2_large.rs:388
MCAUSE=0x00000005
0x00000005 - hmac_md5_vector
    at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107
MTVAL=0x09ccdd7c
0x09ccdd7c - ??
    at ??:??

0x40380202
0x40380202 - _start_trap_rust_hal
    at /var/home/rajas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-hal-common-0.13.1/src/interrupt/riscv.rs:412
0x40380060
0x40380060 - bars
    at ??:??
0x420b51da
0x420b51da - rw_schedule
    at ??:??

Seems like this is the error but idk what is causing it: https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/fatal-errors.html?highlight=load access fault#instruction-access-fault-load-access-fault-store-access-fault

Looks like a stack corruption (e.g. SP/x2=0x00000000 doesn't look good). You probably run the code in non-release mode. When doing that it will allocate a lot more memory on the stack (more than possible) and crash. Try cargo run --release
I can also reproduce your crash in debug mode - I guess this will solve the issue

Could it be that this error is a bug with a dependency? Is this PR and it's associated issue related to this? https://github.com/esp-rs/esp-wifi/pull/266

I ran it with --release and it worked on Android. On Fedora 39 I was able to connect but pressing the button did not type anything.

Good to hear it's working so far.
It's also not yet working with a Windows host - I haven't tried too hard to make it work since this is more like a proof-of-concept / experiment I cannot put too much time into this. However, I think I will continue working on this some day

It's fine, I don't want / need it to work on Windows and Linux either, I was just looking for an example of using an ESP32-C3 as a BLE peripheral, and this is a good example.


UN-612 - Multiple images with transcripts bug

https://national-archives.atlassian.net/browse/UN-612
About these changes
There was a bug where multiple images with transcripts in the same section wouldn't work.
This allows each transcript in a section to operate in isolation.
I also took the chance to update @nationalarchives/frontend to fix some bugs with the focus styles and remove some project-specific overrides.
How to check these changes
Using staging data, there are two images with transcripts on explore-the-collection/stories/richard-iii/. They should now both be able to open and close independently of one another.
Before assigning to reviewer, please make sure you have

[x] Checked things thoroughly before handing over to reviewer.
[x] 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.
[ ] ~Added/updated tests and documentation where relevant.~

@jamesbiggs #1154 (review) 😉
(We'll address this when the component is rebuilt properly)

I knew I'd seen it somewhere! I thought I was going mad! 🤣


specify an alternative container registry (without auth) for the testsuite

What does this PR change?
configure a different container registry for the testsuite
Part of a series of PRs in different repos:
https://github.com/uyuni-project/sumaform/pull/716
https://github.com/SUSE/susemanager-ci/pull/78
https://github.com/uyuni-project/uyuni/pull/2224

@juliogonzalez we have so far resisted the temptation of fiddling with /etc/hosts, and I would recommend if at all possible to try and maintain this "tradition".

@moio everything has pros and cons.
The cons of not doing it, is that we'll need to maintain a lot of duplicated info, and FMPOV it will do maintenance harder.
But not my call, I will leave the decision to @mcalmer

+1 with @moio. Fiddling with /etc/hosts is almost always a bad idea.


Better error message for inability of creating a new version with deliver

Feature Request
Provide a better error message if deliver fails to create a new version if skip_app_version_update is set to true.
Motivation Behind Feature
While trying to upload a new build to the appstore, fastlane failed with the error message Could not find a version to edit for app 'App Name'. However i just had set skip_app_version_update to true.
Feature Description

It would be nice if there was a hint that which says that you should try to set skip_app_version_update to false.

This should not break anything for existing users.

This is still an issue.


Fix BinaryValue json encoding for MapReduce inputs

Fixes #520 (CLIENTS-413).

@alexmoore why don't us get rid of BinaryValue as we did for TS?

👍 Tests pass, the code looks reasonable but I am having a hard time following the changes. :(

👍


tlssecurityprofile: modify tls version strings, remove ECDHE-RSA-AES256-SHA384

few things I missed when I was removing ciphers and renaming the versions
/assign @sanchezl
fyi @openshift/sig-network-edge

/lgtm

/approve


Broken link to Spark Technology Center

The current link redirects http://spark.tc/blog/ redirect to ibm home page.

Unfortunately, it seems like IBM has removed the Blog for some reason

Spark Technology Center changed to CODAIT (Center for Open source, Data and AI Technology) if I am not mistaken.
@BryanCutler, could you chip in here, please? TIA.

I don't see much articles around Spark on the CODAIT section but their projects and trusted AI pages are interested. Also, on Adaltas blog, we regularly post Spark related articles if you are interested. There is tag dedidicated to spark.

Thanks for checking on this, but yeah, after the transition to CODAIT I do not know of any Spark specific content.


Align video and screen resolutions to proper APIs.

Compliance Suite Response in related Tests:
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest DeviceInfoConformance
testing device/info   {} ...
device/info Latency, Expected: 200 ms, Actual: 756 ms
device/info took more time than expected.
[ FAILED ]
{
  "chipset": "Amlogic S905X4",
  "deviceId": "02AD3201C835",
  "displayType": "External",
  "firmwareBuild": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "firmwareVersion": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "manufacturer": "RDKCommonPort",
  "model": "AH212",
  "networkInterfaces": [
    {
      "connected": true,
      "dns": [],
      "ipAddress": "2601:41:c380:af60:ad:32ff:fe01:c835",
      "macAddress": "02:ad:32:01:c8:35",
      "type": "Ethernet"
    },
    {
      "connected": false,
      "dns": [],
      "ipAddress": "",
      "macAddress": "a0:9d:c1:6e:b2:c6",
      "type": "Wifi"
    }
  ],
  "screenHeightPixels": 1080,
  "screenWidthPixels": 1920,
  "serialNumber": "320b0205000000000808104731c7d900",
  "status": 200,
  "uptimeSince":<PHONE_NUMBER>000
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsGetConformance
testing system/settings/get   {} ...
system/settings/get Latency, Expected: 200 ms, Actual: 678 ms
system/settings/get took more time than expected.
[ FAILED ]
{
  "audioOutputMode": "Auto",
  "audioOutputSource": "HDMI",
  "audioVolume": 40,
  "cec": true,
  "hdrOutputMode": "AlwaysHdr",
  "language": "en-US",
  "lowLatencyMode": false,
  "matchContentFrameRate": "EnabledAlways",
  "memc": false,
  "mute": true,
  "outputResolution": {
    "frequency": 60.0,
    "height": 1080,
    "width": 1920
  },
  "pictureMode": "Standard",
  "status": 200,
  "textToSpeech": false,
  "videoInputSource": "Home"
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsListConformance
testing system/settings/list   {} ...
system/settings/list Latency, Expected: 200 ms, Actual: 357 ms
system/settings/list took more time than expected.
[ FAILED ]
{
  "audioOutputMode": [
    "Stereo",
    "MultichannelPcm",
    "PassThrough",
    "Auto"
  ],
  "audioOutputSource": [
    "HDMI",
    "Optical"
  ],
  "audioVolume": {
    "max": 100,
    "min": 0
  },
  "cec": true,
  "hdrOutputMode": [
    "AlwaysHdr",
    "DisableHdr"
  ],
  "language": [
    "en-US"
  ],
  "lowLatencyMode": false,
  "matchContentFrameRate": [
    "EnabledAlways"
  ],
  "memc": false,
  "mute": true,
  "outputResolution": [
    {
      "frequency": 50.0,
      "height": 576,
      "width": 720
    },
    {
      "frequency": 50.0,
      "height": 720,
      "width": 1280
    },
    {
      "frequency": 60.0,
      "height": 720,
      "width": 1280
    },
    {
      "frequency": 24.0,
      "height": 1080,
      "width": 1920
    },
    {
      "frequency": 25.0,
      "height": 1080,
      "width": 1920
    },
    {
      "frequency": 30.0,
      "height": 1080,
      "width": 1920
    },
    {
      "frequency": 50.0,
      "height": 1080,
      "width": 1920
    },
    {
      "frequency": 60.0,
      "height": 1080,
      "width": 1920
    }
  ],
  "pictureMode": [],
  "status": 200,
  "textToSpeech": false,
  "videoInputSource": [
    "Home"
  ]
}
d35@d35:~/Desktop/dab-compliance-suite$ vi conformance.py
d35@d35:~/Desktop/dab-compliance-suite$
d35@d35:~/Desktop/dab-compliance-suite$ git diff
diff --git a/conformance.py b/conformance.py
index bf94f55..9f33f77 100644
--- a/conformance.py
+++ b/conformance.py
@@ -25,7 +25,7 @@ CONFORMANCE_TEST_CASE = [
     ("system/settings/list",'{}', dab.system.list, 200, "Conformance"),
     ("system/settings/get",'{}', dab.system.get, 200, "Conformance"),
     ("system/settings/set",'{"language": "en-US"}', dab.system.set, 3000, "language"),
-    ("system/settings/set",'{"outputResolution": {"width": 3840, "height": 2160, "frequency": 60} }', dab.system.set, 3000, "outputResolution"),
+    ("system/settings/set",'{"outputResolution": {"width": 720, "height": 576, "frequency": 50} }', dab.system.set, 3000, "outputResolution"),
     ("system/settings/set",'{"memc": true}', dab.system.set, 3000, "memc"),
     ("system/settings/set",'{"cec": true}', dab.system.set, 3000, "cec"),
     ("system/settings/set",'{"lowLatencyMode": true}', dab.system.set, 3000, "lowLatencyMode"),
d35@d35:~/Desktop/dab-compliance-suite$
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsSetOutputresolution
testing system/settings/set   {"outputResolution": {"width": 720, "height": 576, "frequency": 50} } ...
system/settings/set Latency, Expected: 3000 ms, Actual: 188 ms
[ PASS ]
{
  "status": 200
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsGetConformance
testing system/settings/get   {} ...
system/settings/get Latency, Expected: 200 ms, Actual: 598 ms
system/settings/get took more time than expected.
[ FAILED ]
{
  "audioOutputMode": "Auto",
  "audioOutputSource": "HDMI",
  "audioVolume": 40,
  "cec": true,
  "hdrOutputMode": "AlwaysHdr",
  "language": "en-US",
  "lowLatencyMode": false,
  "matchContentFrameRate": "EnabledAlways",
  "memc": false,
  "mute": true,
  "outputResolution": {
    "frequency": 50.0,
    "height": 576,
    "width": 720
  },
  "pictureMode": "Standard",
  "status": 200,
  "textToSpeech": false,
  "videoInputSource": "Home"
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest DeviceInfoConformance
testing device/info   {} ...
device/info Latency, Expected: 200 ms, Actual: 583 ms
device/info took more time than expected.
[ FAILED ]
{
  "chipset": "Amlogic S905X4",
  "deviceId": "02AD3201C835",
  "displayType": "External",
  "firmwareBuild": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "firmwareVersion": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "manufacturer": "RDKCommonPort",
  "model": "AH212",
  "networkInterfaces": [
    {
      "connected": true,
      "dns": [],
      "ipAddress": "2601:41:c380:af60:ad:32ff:fe01:c835",
      "macAddress": "02:ad:32:01:c8:35",
      "type": "Ethernet"
    },
    {
      "connected": false,
      "dns": [],
      "ipAddress": "",
      "macAddress": "a0:9d:c1:6e:b2:c6",
      "type": "Wifi"
    }
  ],
  "screenHeightPixels": 1080,
  "screenWidthPixels": 1920,
  "serialNumber": "320b0205000000000808104731c7d900",
  "status": 200,
  "uptimeSince":<PHONE_NUMBER>000
}
d35@d35:~/Desktop/dab-compliance-suite$ vi conformance.py
d35@d35:~/Desktop/dab-compliance-suite$
d35@d35:~/Desktop/dab-compliance-suite$ git diff
diff --git a/conformance.py b/conformance.py
index bf94f55..ee8bdc3 100644
--- a/conformance.py
+++ b/conformance.py
@@ -25,7 +25,7 @@ CONFORMANCE_TEST_CASE = [
     ("system/settings/list",'{}', dab.system.list, 200, "Conformance"),
     ("system/settings/get",'{}', dab.system.get, 200, "Conformance"),
     ("system/settings/set",'{"language": "en-US"}', dab.system.set, 3000, "language"),
-    ("system/settings/set",'{"outputResolution": {"width": 3840, "height": 2160, "frequency": 60} }', dab.system.set, 3000, "outputResolution"),
+    ("system/settings/set",'{"outputResolution": {"width": 1280, "height": 720, "frequency": 50} }', dab.system.set, 3000, "outputResolution"),
     ("system/settings/set",'{"memc": true}', dab.system.set, 3000, "memc"),
     ("system/settings/set",'{"cec": true}', dab.system.set, 3000, "cec"),
     ("system/settings/set",'{"lowLatencyMode": true}', dab.system.set, 3000, "lowLatencyMode"),
d35@d35:~/Desktop/dab-compliance-suite$
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsSetOutputresolution
testing system/settings/set   {"outputResolution": {"width": 1280, "height": 720, "frequency": 50} } ...
system/settings/set Latency, Expected: 3000 ms, Actual: 176 ms
[ PASS ]
{
  "status": 200
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest DeviceInfoConformance
testing device/info   {} ...
device/info Latency, Expected: 200 ms, Actual: 581 ms
device/info took more time than expected.
[ FAILED ]
{
  "chipset": "Amlogic S905X4",
  "deviceId": "02AD3201C835",
  "displayType": "External",
  "firmwareBuild": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "firmwareVersion": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "manufacturer": "RDKCommonPort",
  "model": "AH212",
  "networkInterfaces": [
    {
      "connected": true,
      "dns": [],
      "ipAddress": "2601:41:c380:af60:ad:32ff:fe01:c835",
      "macAddress": "02:ad:32:01:c8:35",
      "type": "Ethernet"
    },
    {
      "connected": false,
      "dns": [],
      "ipAddress": "",
      "macAddress": "a0:9d:c1:6e:b2:c6",
      "type": "Wifi"
    }
  ],
  "screenHeightPixels": 1080,
  "screenWidthPixels": 1920,
  "serialNumber": "320b0205000000000808104731c7d900",
  "status": 200,
  "uptimeSince":<PHONE_NUMBER>000
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsGetConformance
testing system/settings/get   {} ...
system/settings/get Latency, Expected: 200 ms, Actual: 607 ms
system/settings/get took more time than expected.
[ FAILED ]
{
  "audioOutputMode": "Auto",
  "audioOutputSource": "HDMI",
  "audioVolume": 40,
  "cec": true,
  "hdrOutputMode": "AlwaysHdr",
  "language": "en-US",
  "lowLatencyMode": false,
  "matchContentFrameRate": "EnabledAlways",
  "memc": false,
  "mute": true,
  "outputResolution": {
    "frequency": 50.0,
    "height": 720,
    "width": 1280
  },
  "pictureMode": "Standard",
  "status": 200,
  "textToSpeech": false,
  "videoInputSource": "Home"
}
d35@d35:~/Desktop/dab-compliance-suite$
d35@d35:~/Desktop/dab-compliance-suite$ vi conformance.py
d35@d35:~/Desktop/dab-compliance-suite$ git diff
diff --git a/conformance.py b/conformance.py
index bf94f55..b0cd630 100644
--- a/conformance.py
+++ b/conformance.py
@@ -25,7 +25,7 @@ CONFORMANCE_TEST_CASE = [
     ("system/settings/list",'{}', dab.system.list, 200, "Conformance"),
     ("system/settings/get",'{}', dab.system.get, 200, "Conformance"),
     ("system/settings/set",'{"language": "en-US"}', dab.system.set, 3000, "language"),
-    ("system/settings/set",'{"outputResolution": {"width": 3840, "height": 2160, "frequency": 60} }', dab.system.set, 3000, "outputResolution"),
+    ("system/settings/set",'{"outputResolution": {"width": 1920, "height": 1080, "frequency": 24} }', dab.system.set, 3000, "outputResolution"),
     ("system/settings/set",'{"memc": true}', dab.system.set, 3000, "memc"),
     ("system/settings/set",'{"cec": true}', dab.system.set, 3000, "cec"),
     ("system/settings/set",'{"lowLatencyMode": true}', dab.system.set, 3000, "lowLatencyMode"),
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsSetOutputresolution
testing system/settings/set   {"outputResolution": {"width": 1920, "height": 1080, "frequency": 24} } ...
system/settings/set Latency, Expected: 3000 ms, Actual: 181 ms
[ PASS ]
{
  "status": 200
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest SystemSettingsGetConformance
testing system/settings/get   {} ...
system/settings/get Latency, Expected: 200 ms, Actual: 614 ms
system/settings/get took more time than expected.
[ FAILED ]
{
  "audioOutputMode": "Auto",
  "audioOutputSource": "HDMI",
  "audioVolume": 40,
  "cec": true,
  "hdrOutputMode": "AlwaysHdr",
  "language": "en-US",
  "lowLatencyMode": false,
  "matchContentFrameRate": "EnabledAlways",
  "memc": false,
  "mute": true,
  "outputResolution": {
    "frequency": 24.0,
    "height": 1080,
    "width": 1920
  },
  "pictureMode": "Standard",
  "status": 200,
  "textToSpeech": false,
  "videoInputSource": "Home"
}
d35@d35:~/Desktop/dab-compliance-suite$ dabSingleTest DeviceInfoConformance
testing device/info   {} ...
device/info Latency, Expected: 200 ms, Actual: 558 ms
device/info took more time than expected.
[ FAILED ]
{
  "chipset": "Amlogic S905X4",
  "deviceId": "02AD3201C835",
  "displayType": "External",
  "firmwareBuild": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "firmwareVersion": "lib32-rdk-generic-mediaclient-image_FBT_rdk-next_20240408193040",
  "manufacturer": "RDKCommonPort",
  "model": "AH212",
  "networkInterfaces": [
    {
      "connected": true,
      "dns": [],
      "ipAddress": "2601:41:c380:af60:ad:32ff:fe01:c835",
      "macAddress": "02:ad:32:01:c8:35",
      "type": "Ethernet"
    },
    {
      "connected": false,
      "dns": [],
      "ipAddress": "",
      "macAddress": "a0:9d:c1:6e:b2:c6",
      "type": "Wifi"
    }
  ],
  "screenHeightPixels": 1080,
  "screenWidthPixels": 1920,
  "serialNumber": "320b0205000000000808104731c7d900",
  "status": 200,
  "uptimeSince":<PHONE_NUMBER>000
}
d35@d35:~/Desktop/dab-compliance-suite$


feat: support dynamically changing qos for EIP

[x] Make sure you have followed Kube-OVN Code Style.

What type of this PR
Examples of user facing changes:

Features

Which issue(s) this PR fixes:
Fixes #2633
WHAT

🤖 Generated by Copilot at 54e9570
This pull request adds support for multiple QoS policy rules with different actions and match criteria, and improves the QoS policy deep copy, validation, and reconciliation logic. It also updates the QoSPolicy CRD and the QoS policy functions for EIPs to use the new QoS policy spec fields and types.

🤖 Generated by Copilot at 54e9570

To manage the QoS policy rules
We added some types and some tools
With action and direction
And bandwidthLimit selection
We can handle more cases and use cases

HOW

🤖 Generated by Copilot at 54e9570

Add new types and constants for QoS policy rules and modify QoSPolicySpec and QoSPolicyBandwidthLimitRule types to support multiple rules with different parameters and actions in pkg/apis/kubeovn/v1/types.go (link, link, link, link)
Modify QoSPolicy, QoSPolicySpec, and QoSPolicyStatus types to deep copy the new fields in pkg/apis/kubeovn/v1/zz_generated.deepcopy.go (link, link, link)
Modify QoSPolicy CRD schema and additionalPrinterColumns to reflect the new fields in yamls/crd.yaml (link, link, link)
Add a function to compare QoS policy rules and return the added, deleted, and updated rules in pkg/controller/qos_policy.go (link)
Modify QoS policy controller methods to handle different cases of QoS policy update, validate QoS policy rule names, and reconcile QoS policy rules for related EIPs in pkg/controller/qos_policy.go (link, link, link, link, link, link, link, link)
Modify EIP QoS controller methods to apply or delete QoS policy rules based on the new fields and parameters in pkg/controller/vpc_nat_gw_eip.go (link, link, link, link, link)

could you please review this pr? @bobz965  @hongzhen-ma

The yamls in chart should also be updated


C-API - Referencing python instances in C

Question, is there a way to keep track of python instances using the C-API?  I'm prototyping converting my engine's cpython stuff to pocketpy, but from what I can tell the only way to do so would be to keep track of then in python.
One other unrelated question, I've noticed that when I try to provide keyword arguments for a python instance's function the following result happens?
class Node:
    def __init__(self, entity_id: int):
        self.entity_id = entity_id

print(f"{Node(entity_id=1}")
# Returns 'TypeError: __init__() takes 2 positional arguments but 1 were given'

Does this have to do with positional and keyword arguments are strictly evaluated?
Great library btw, keep up the good work!

Yes. If you want to use k=v than the argument must also be defined as k=v (i.e. it has a default value)

I don't get it about "keep track of python instances". Could you please give an example/use case?

I don't get it about "keep track of python instances". Could you please give an example/use case?

I want to map entities within my engine to python instances so that I can reference the instances later to call functions, inspect properties, etc...  For example, I create a new Node instance like:
// vm already initialized
pkpy_getglobal(vm, pkpy_name("Node"));
pkpy_push_null(vm);
pkpy_push_int(vm, 1);
pkpy_vectorcall(vm, 1);

That will put a new instance of Node on the top of the stack correct?  I would like to somehow store this instance so I can use later for callbacks that exist on the python instance:
// After creating instance
PyObject* pyInst;
pkpy_to_pyobj(vm, 0, pyInst);

// When we need to use the instance (e.g. calling a method)
PyObject* pyInst = game_engine_get_py_inst(entityId);
pkpy_push_pyobj(vm, pyInst);
// Do stuff with instance

From what I can tell I could do something like store a global dict of nodes in python:
GLOBAL_ENTITIES_MAP: Dict[int. Node] = {}

But I would like to limit the usage of python in the engine directly unless I need to.

You can use pkpy_setglobal, this set the top of the stack (your Node instance) as a global variable. Then you can use pkpy_getglobal to access its value.

C-API does not allow to store PyObject* directly. It is a stack-based API.
If you like non-stack-based style, you can use C++ API.

I was thinking that was the case but wanted to be sure before I continued on with adding pocketpy to my project.  Thanks for your time!


github_packages: set github package type annotation.

This is an alternative to #11002.

Review period skipped due to critical label.


Customize Options using environment variables

Allows more customization from Environment variables defined by Docker or local deployment.
ENV BACKEND='http://localhost:5000'
ENV CENTER='38.8995,-77.0269'
ENV ZOOM='13'
ENV LANGUAGE='en'
ENV LABEL='Car (fastest)'

Thanks!

👍