[Work in progress] Hook up custom editors to backup restorer

This is the first attempt at hooking up custom editors to the backup restorer. It creates a ICustomEditorInputFactory similar to the existing IFileEditorInputFactory that can restore custom editors
This PR is not complete. I'm struggling to implement it because custom editors do not seem to fit the current backup restorer model very well. Some specific problems I've run into:

Every custom editor input must be unique
If the same resource is opened using a custom editor in two editor groups, we must create two custom editor inputs. Each of these inputs stores unique state information. I believe this is different than how our normal file editor inputs work.
I need to figure out how to backup a custom editor resource that may have multiple inputs, and how to restore these in the backup restorer flow

ICustomEditorInputFactory must return an input synchronously.
This means that I cannot read from a backup before creating the initial editor input. Instead, I am encoding some of the custom editor data in the resource's uri. The resource uri is shared between all custom editor inputs for a given resource, so I cannot store information that is unique to an editor input on it

Also this work made me realize that webviews have never implemented backup restorer logic either
@bpasero We should probably talk about these issues in person at the next custom editor sync. I'm copying you on this PR so you know my status with this work but the PR is not ready for review yet

@mjbvz feel free to change editor service for the custom editor inputs as you see fit. By no means is the caching mandatory, it just felt convenient for my inputs to use but we can easily disable it for custom editor inputs if that is not possible to do.
The more I think about the actual problem we are trying to resolve, why don't we simply rather make the backupTracker aware of how to restore custom editors? I feel that is the only client of this change and then we should scope it to that particular problem and also have a chance to make the backup restoring more specific for custom editors as needed.
For example, we could leave the custom editor factory as it is, but use it only from backup tracker to open these editors + handle them in a specific way as needed.
I would simply say custom scheme is used to check for the one or the other.

@bpasero Can you please take a look at the editor and backup restorer changes


Update README with conda info, add MANIFEST.in

Fixes #202
Qt.py was today added to conda/Anaconda Cloud/conda-forge and its feedstock lives here.
I added the Anaconda Cloud badge to the README and extended the install instructions with a conda example.
What's particularly cool about this, is that PySide2 can be – as of yesterday – also installed with conda:
This makes me very happy:
$ conda config --add channels conda-forge
$ conda install qt.py pyside2

We should make our LICENSE be included in the Qt.py tarball instead of keeping a copy of it in qt.py-feedstock. I've added MANIFEST.in to this PR, which is supposed to handle this but I'm not sure how to test this. We need to trigger a PyPi release (through Travis) to know for sure?

I've added MANIFEST.in to this PR, which is supposed to handle this but I'm not sure how to test this. We need to trigger a PyPi release (through Travis) to know for sure?

That is one way of doing it, and you can test it via python setup.py sdist I think.
Alternatively, there is a data_files argument to setup.py you could use to include it, then the above will work for sure and you can inspect the resulting zip file.

Alternatively, there is a data_files argument to setup.py

I was thinking of that too. But wouldn't that add LICENSE to the wheel and cause it to get dropped inside of end-users site-packages directory?

python setup.py sdist

That worked!
And LICENSE is inside.

Before MANIFEST.in:

And after:

I just ran python setup.py bdist_wheel to check the contents of the wheel. And with MANIFEST.in in place, there are no additional files added to the wheel (such as the license).

Ok, I just also used data_files in setup.py and that resulted in this wheel:

...and this tarball:

I think that's cleaner. So, I'll vote for adding data_files to setup.py and remove MANIFEST.in.
@mottosso what would you prefer?

Okay, I'm ready if you are. Pull the trigger on this PR if you're happy!

Cool, win. :)


restored WithSessionPoolKeepAliveMinSize & WithSessionPoolKeepAliveTimeout

for backward compatibility.
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: #1173
What is the new behavior?

Other information

Codecov Report
Attention: Patch coverage is 0% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 39.83%. Comparing base (304cde8) to head (c667551).

Files
Patch %
Lines

options.go
0.00%
4 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1179       +/-   ##
===========================================
- Coverage   68.31%   39.83%   -28.48%
===========================================
  Files         308      307        -1
  Lines       32412    32280      -132
===========================================
- Hits        22142    12860     -9282
- Misses       9314    18999     +9685
+ Partials      956      421      -535

Flag
Coverage Δ

?

go-1.21.x
41.75% <0.00%> (-28.69%)
:arrow_down:

go-1.22.x
39.83% <0.00%> (-28.47%)
:arrow_down:

integration
?

macOS
39.83% <0.00%> (+<0.01%)
:arrow_up:

ubuntu
39.83% <0.00%> (-0.01%)
:arrow_down:

unit
39.83% <0.00%> (-0.05%)
:arrow_down:

windows
?

ydb-23.3
?

ydb-24.1
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Change example transform() -> Transform()

Thanks @furii
In addition there is  CHANGELOG.rst     -   last line

This looks good! Thanks for catching the error @furii!


New Tutorial for 4H

Hi Galen,
Can you create a new "Collect the Clovers" tutorial and post on Home Page?
This is for the 4-H to use, also we can reuse for the Garden Game Jam.
All files posted here: https://1drv.ms/u/s!AmMIW5Hxi0RtgZwSbPMCqlSc7Z74mg?e=mTCaWX
Thank you!!

Working on it #1961


test: use the o octal specifier for python 3 compatibility

This adjusts the permissions to use the octal specifier explicitly.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

CC: @tachoknight @drexin @tbkka

@swift-ci please test


DOI/manuscript service returns an empty manuscript

The UI is now guarding for this, but we should investigate why this is happening in the API at all.

@jaredgalanis @markpatton Looking at the code in UnpaywallDoiService which handles calls to the manuscript path, it loops over the oa_locations array and creates a Json manuscript object for each.  If the url_for_pdf is null, it sets url and name as null in the returned manuscript Json object.
Based on unpaywall api docs, it is valid for url_for_pdf to be null.  I would say that based on this, UnpaywallDoiService appears to be doing the right thing.  If we don't want to display manuscripts from unpaywall that don't have a url_for_pdf we should filter them out on the UI as already being done.  We could also not include any manuscripts in the response if the url_for_pdf is null, but seems like that info may be useful in some other case.

We have decided to leave the UnpaywallDoiService code as is for now.  Closing.


Adding Container support to Rhel

Slight refactor that abstracts ContainerizedMixin away from a specific Linux type. Now ContainerizedMixin works both with CentOS and with Ubuntu.

LGTM but I'd like ehankland to review as well.
On Mon, Jun 29, 2015 at 1:31 PM, Gabriel Guimaraes<EMAIL_ADDRESS>
wrote:

Slight refactor that abstracts ContainerizedMixin away from a specific
Linux type. Now ContainerizedMixin works both with CentOS and with Ubuntu.
You can view, comment on, or merge this pull request online at:
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352
Commit Summary

Adding Container support to Rhel

File Changes

M perfkitbenchmarker/benchmark_spec.py
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352/files#diff-0
(9)
M perfkitbenchmarker/gcp/gce_virtual_machine.py
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352/files#diff-1
(16)
M perfkitbenchmarker/linux_virtual_machine.py
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352/files#diff-2
(31)
M perfkitbenchmarker/packages/docker.py
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352/files#diff-3
(21)

Patch Links:

https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352.patch
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352.diff
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/352.

--
Anthony F. Voellm (aka Tony)
Google Voice:<PHONE_NUMBER>
https://www.google.com/voice/b/0?pli=1#phones
Blog: http://perfguy.blogspot.com/
Benchmark like a pro... PerfKitBenchmarker
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker

@ehankland

I made a new PR just with the CheckDockerExists part, so we can merge that while thinking about the triple inheritance issue a bit more.

Dropping this in favor of https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/378


platform.arch != GOARCH

I would like to make one last plea to the community to consider not deferring definition of the values of platform.arch to GOARCH, but instead hold a canonical list of accepted values within this specification.
The reason is that runtime requirements for an image need not be tied to any runtime capabilities of golang.  I can give a concrete example here of ARM's ILP32 ABI which is currently in the process of reviewed by the community for upstreaming.
We currently have no need or desire to add ILP32 capability to golang.  The host platform will be running in 64 bit only mode.  So there will be no 'arm64ilp32' definition in GOARCH.  This does not mean that a container image can't be compiled against the ILP32 ABI, and be run on a platform that has a container engine built in arm64 mode, but also have the runtime capability for ILP32.
We have validated this in the offices here with a docker engine running in LP64/arm64 mode, whist executing a container image compiled against the ILP32 ABI.
The current OCI scheme does not seem to allow for me to define this runtime requirement.
I would therefor like to suggest that the OCI specification holds the canonical list for platform.arch.

understandable.
https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform does not have a MUST around this though.
         If an architecture is not included in the GOARCH documentation, it SHOULD be submitted to this specification for standardization.

This does not prevent putting in the value of arm64ilp32. It would be up to runtime whether they "support" this arch.
As for having a canonical list, something like this use-case you've provided could be the first to add here. Should we have a table just below the example for Platform?

See also the in-flight #850, where the platform information will become entirely internal and we'll drop the architecture component completely.

@stevvooe says -->
https://docs.google.com/document/d/1zgRBe9rpvogFEotmhxqpjrPdeaIDaIfD0ox-wvwe6nI/edit
https://golang.org/src/go/build/syslist.go
https://groups.google.com/a/opencontainers.org/forum/m/#!topic/dev/Eht-i5UbUvo
arm64ilp32 would be arm64p32

@mattspencer-arm As I've mentioned before, OCI shouldn't really be in the business of maintaining a curated list of platform and architectures. We don't have the resources or expertise to get it right. We have deferred to GOARCH because the Go team have this as a first-class problem and have done a good job of defining a taxonomy of extant hardware while avoiding the explosion of gnu triples.
As far as an "example", ilp32 is more of an exception, and the only exception. Taking on the extra definitions and forking the definitions for what amounts to a single exception is very unwise. It is incumbent on the ARM team to reach out and request at least an architecture identifier from the Go team before OCI takes on the expense of a fork. It seems reasonable that they would at least reserve it for a future port.
Furthermore, if the only container platforms that are running arm64ilp32 are actually just arm64 systems and the pointer size is detectable in the ELF, presumably, I am not sure that I understand the necessity of calling this out directly. When container runtimes do exist that are targeted for ilp32, and nothing else, it seems that would be a good time to differentiate.

@vbatts The naming convention as set out by the go syslist would be arm64p32, but the correct naming would be arm64ilp32 as it is the ilp32 ABI that is being used.
@stevvooe I understand the reasons why the OCI have deferred this difficult problem over to another organisation.  And there does seem to be a precedent for putting 'placeholders' into the syslist definition - I am not aware of anyone using arm64be for example, but it exists in the list.  So this could be a viable solution for us.
/However/
My worry is that the metadata here is going to be embedded in many thousands of packages in hundreds of image repositories and there is no specification control over the nomenclature.  What if the go community decide to change the way they express GOARCH?  How would that impact the container community?
I would not suggest starting again with a new definition of the architecture.  What I would suggest is that the OCI specification takes a snapshot of the GOARCH definition as it stands today and then curates any modifications to the base GOARCH definition to control any impact it may have on live container ecosystems.

@mattspencer-arm Why should we do this when the only exception is ARM? It makes no sense to take on that amount of complexity and effort when all that needs to be done is reach out to the Go team and ask them for an architecture identifier for your new platform.
Right now, we have a single platform with an exception that it is not represented in GOARCH, which is solvable with much less effort than creating a new architecture tautology.

What if the go community decide to change the way they express GOARCH? How would that impact the container community?

If they do that, we will solve that problem at that time. As it stands now, GOARCH is both sufficient and complete.
Reach out to the golang-dev mailing list and ask them for an identifier for arm64p32. If you don't want to do it, I'll do it.

Obsolete now that #850 has landed?

I think we can close this - I wouldn't say its obsolete, because the issue is still there.  However the issue is not relevant today, so maybe we can re-assess the position when the issue becomes real?

On Thu, Jun 22, 2017 at 12:48:38AM -0700, mattspencer-arm wrote:

… I wouldn't say its obsolete, because the issue is still there.

But with #850 and opencontainers/image-spec#699 any remaining
arch-labeling concerns are image-spec issues and no longer
runtime-spec issues.


Fixed Edit Item's Version History crashing

References

Fixes #3252

Description
This PR removes the method calls from the template that return Observables causing an infinite rerendering of the page.
Instructions for Reviewers
List of changes in this PR:

Created a VersionsDTO containg all the data that is required to render the template in order to prevent the infinite recreation of the canEditVersion Observable.

Guidance for how to test or review this PR:
Test that everything still work correctly on the item page & the edit item version history tab both for items with and without any versions.
Checklist

[x] My PR is created against the main branch of code (unless it is a backport or is fixing an issue specific to an older branch).
[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
[x] My PR passes ESLint validation using yarn lint
[x] My PR doesn't introduce circular dependencies (verified via yarn check-circ-deps)
[x] My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
[x] My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
[x] My PR aligns with Accessibility guidelines if it makes changes to the user interface.
[x] My PR uses i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
[x] My PR includes details on how to test it. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
[x] If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

@alexandrevryghem : Based on reviewing the code, this looks like it may need backporting to dspace-7_x?  I see very similar code on that branch.  If that's so, I think this will require a manual backport to 7.x

@alexandrevryghem : I've just realized that this PR is refusing to run automated tests.  I'm going to close & reopen to see if that triggers them to run.  As I want to simply verify they all succeed before merging.

@alexandrevryghem : It looks like this hit merge conflicts for both backports to the dspace-8_x and dspace-7_x branches.  Could you find time to create backport PRs to apply this fix to 8.x and 7.x (if necessary for both)?

Ported to 7.x in #3368.

Ported to 8.x in #3412 and to 7.x in #3368


Remove invalid attribute exception

https://docs.djangoproject.com/en/1.9/ref/views/#django.views.defaults.server_error
This bug was introduced at https://github.com/rtfd/readthedocs.org/commit/5e0f4c0d0796476c4da9aabffca1d57fea806f57#diff-f37089595920e35da08a9395c370515eR107

Makes sense 👍


🎮 Game Request
"Stone-Paper-Scissors" is a hand gesture-based game where two players compete against each other by simultaneously forming one of three shapes: a closed fist representing "Stone," an open hand representing "Paper," or the index and middle fingers forming a V shape representing "Scissors." The outcome is determined based on a set of rules: "Stone" beats "Scissors," "Scissors" beats "Paper," and "Paper" beats "Stone."
Point down the features
The objective is to win against the computer in the Stone Paper Scissor Game.
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @yashyvs !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey @yashyvs 👋!
@kunjgit here,
We have this annoucement to make 📢!!
During the time of PR don't alter main index file ! 🙂
In main Readme file just use * as a game number during the time we are merging we will add number !! 👀
Make sure you join our Discord🕹 if you haven't 😇
Thank you 💗!

Hello,
I hope you're doing well. I am interested in contributing to this project as part of GSSoC. It aligns with my skills and interests, and I believe I can make a meaningful contribution to the project Could you please assign this task to me?
Looking forward to hearing from you.
Thank you,
Lavesh Vishwakarma

/assign

Hey @yashyvs ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


README.md / Example fails / appname is not provided

zap install --from https://f.sed.lol/wow.AppImage
->
appname is not provided

Blame: https://github.com/srevinsaju/zap/commit/1b58636550acb97d1cfec115f6b067ad2b731839

I'd be great if zap would prompt the user:
The appname has not been specified.
Shall I name it `wow`? (y/N)

and if no is selected
Aborted. Nothing has been installed.
You can specify the appname via the next positional argument.

Example: This will install the appimage as `custom-appname`
zap install --from https://f.sed.lol/wow.AppImage custom-appname

Tell me if you like this idea, maybe I'll find some time to open a PR.

Yes! this would be a great feature to have, I like this idea :sparkles:


Redshift: Unable to create uppercase schema history table

Which version and edition of Flyway are you using?
5.0.7
If this is not the latest version, can you reproduce the issue with the latest one as well?
(Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command Line
Which database are you using (type & version)?
Redshift and MS SQL
Which operating system are you using?
RHEL
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
Using the -table  as a command line argument for the custom schema history table ..
It creates the schema history table that needs to be created but keeps trying again and again .. and then says that the table already exists  and throws out error
Database: jdbc:redshift://uxs-eswa-talc-redshift-dip-int-auto.xxxxx.xxxx.com:5439/talc_dip_int_auto (PostgreSQL 8.0)
Creating Schema History table: "talc_dip_int_auto"."NBA"
ERROR:
Script failed
SQL State  : 42P07
Error Code : 500310
Message    : Amazon Invalid operation: Relation "NBA" already exists;
Line       : 17
Statement  : CREATE TABLE "talc_dip_int_auto"."NBA" (
"installed_rank" INT NOT NULL SORTKEY,
"version" VARCHAR(50),
"description" VARCHAR(200) NOT NULL,
"type" VARCHAR(20) NOT NULL,
"script" VARCHAR(1000) NOT NULL,
"checksum" INTEGER,
"installed_by" VARCHAR(100) NOT NULL,
"installed_on" TIMESTAMP NOT NULL DEFAULT getdate(),
"execution_time" INTEGER NOT NULL,
"success" BOOLEAN NOT NULL
)
What did you expect to see?
it should create the schema history table and pass on to the next step or migrating the SQL's
What did you see instead?
SQL State  : 42P07
Error Code : 500310
Message    : Amazon Invalid operation: Relation "NBA" already exists;
Line       : 17
Statement  : CREATE TABLE "talc_dip_int_auto"."NBA" (
"installed_rank" INT NOT NULL SORTKEY,
"version" VARCHAR(50),
"description" VARCHAR(200) NOT NULL,
"type" VARCHAR(20) NOT NULL,
"script" VARCHAR(1000) NOT NULL,
"checksum" INTEGER,
"installed_by" VARCHAR(100) NOT NULL,
"installed_on" TIMESTAMP NOT NULL DEFAULT getdate(),
"execution_time" INTEGER NOT NULL,
"success" BOOLEAN NOT NULL
)

Hmm I wonder if this has to do with the table name being uppercase and Flyway not finding it when checking whether it already exists. Do you have the same result with a lowercase name?

It indeed turned out to be an uppercase issue as Redshift internally is case-insensitive and pg_class contains the lowercase name of the table. Workaround until the fix is out: use a lowercase table name.


[UPDATE ALGORITHM] adding more sorting algorithms

Description:
Please describe the changes you want to make to the existing algorithm and why they are necessary.
Checklist:

[x] Contributor in GSSoC-ext
[x] Want to work on it

Affected Algorithm:
Mention which algorithm you want to update and the specific directory where you want to change.
Additional Information:
Any extra details or suggestions related to the update.
Research Existing Algorithms: Familiarize yourself with well-known sorting algorithms (e.g., Quick Sort, Merge Sort, Bubble Sort) to understand their properties and limitations.
Choose the Algorithm Type: Decide on the type of sorting algorithm based on the use case:
Comparison-based: (e.g., Bubble Sort, Quick Sort)
Non-comparison-based: (e.g., Counting Sort, Radix Sort)
Design the Algorithm: Outline the specific steps and logic for the new sorting method. Consider algorithm complexity (e.g., average and worst-case time complexity).
Implementation: Code the sorting algorithm in your chosen programming language. Ensure it adheres to coding standards for maintainability.
Test the Algorithm: Validate the algorithm with various datasets, including:
Random data
Sorted data
Reversely sorted data
Edge cases (e.g., empty arrays, arrays with identical elements)
Optimize: Analyze performance through benchmarking. Optimize for speed and memory usage.
Document: Provide clear documentation outlining how the algorithm works, its time complexity, best use cases, and limitations.
Integrate: Combine the new sorting method into existing systems, ensuring it integrates well with other functionalities.
Monitor Performance: After integration, monitor the algorithm’s performance to identify any issues or areas for improvement.
Popular Sorting Algorithms to Consider:
Quick Sort:
Divide-and-conquer algorithm.
Average time complexity of O(n log n).
In-place sorting.
Merge Sort:
Also a divide-and-conquer algorithm.
Stable and excels in worst-case scenarios at O(n log n).
Requires additional space.
Insertion Sort:
Efficient for small datasets and nearly sorted arrays.
Time complexity of O(n²) in the average and worst case but O(n) in the best case.
Heap Sort:
Based on a comparison-based binary heap data structure.
Time complexity of O(n log n).
In-place but not stable.
Counting Sort:
Non-comparison-based sorting algorithm.
Efficient for sorting integers or objects within a known range.
Time complexity of O(n + k), where k is the range of the input.
Radix Sort:
A non-comparison-based algorithm that processes individual digits.
Time complexity of O(nk), where k is the number of digits.
Bucket Sort:
Distributes elements into several "buckets" and sort each bucket individually.
Time complexity of O(n + k) but works best with uniform distribution.
By following these steps and methodologies, you can effectively design, implement, and integrate new sorting algorithms into your projects.

Can you please assign it to me? I want to work on it.


Add cyVariables.size() and .at(..)

Add cdef equivalents for __len__ and __getitem__ in cyVariables.

Codecov Report

Merging #817 (a2d0f80) into main (cb6ef90) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #817   +/-   ##
=======================================
  Coverage   92.50%   92.50%
=======================================
  Files          63       63
  Lines        4658     4658
=======================================
  Hits         4309     4309
  Misses        349      349

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 cb6ef90...a2d0f80. Read the comment docs.


TST: add test for make_dna_scoring_dict()

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
9 unchanged lines in 5 files lost coverage.
Overall coverage remained the same at 91.531%

Files with Coverage Reduction
New Missed Lines
%

.nox/test-3-11/lib/python3.11/site-packages/cogent3/evolve/likelihood_function.py
1
96.3%

.nox/test-3-8/Lib/site-packages/cogent3/evolve/likelihood_function.py
1
96.3%

.nox/test-3-9/lib/python3.9/site-packages/cogent3/evolve/likelihood_function.py
1
96.45%

.nox/test-3-8/Lib/site-packages/cogent3/maths/scipy_optimize.py
3
84.87%

.nox/test-3-9/Lib/site-packages/cogent3/maths/scipy_optimize.py
3
84.87%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
235582

Relevant Lines:
257380

💛  - Coveralls

add a transition != transversion check

I pushed one to my fork yesterday, but is hasn't been automatically be added to the PR?
@GavinHuttley  I could cancel and reopen the PR?

add a transition != transversion check

I pushed one to my fork yesterday, but is hasn't been automatically be added to the PR?
@GavinHuttley I could cancel and reopen the PR?

that is super odd. Yes to close and re-open.
Actually, here's a better way than checking ts != tv. You explicitly define the values of match, ts and tv in constructing the scoring matrix. Just add those specific values to each tested condition.

Done. Also pushing up that change appears to have bundled up the rest of them.


Reading from ADC1 is broken once esp-wifi initialize() function has been called

Context
I’m working on a project where I read sensor values from the ADC and send them to a connected device via bluetooth.
I use a Lolin32-lite board with an ESP32 Rev1.
Unexpected Behaviour
As soon as I call initialize() in my code, the ADC1 returns only zeros instead of valid readings. No errors appear.
Reproducability
I was able to reproduce the issue on all GPIO pins connected to ADC1 (pins 32—34, 36, and 39).
Code Example
Here’s a simplified code example to reproduce the issue:
#![no_std]
#![no_main]

// Logging traits
use esp_backtrace as _;
use esp_println::println;

// Core traits
use esp_hal::{
    adc::{AdcConfig, Attenuation, ADC},
    clock::ClockControl,
    peripherals::{Peripherals, ADC1},
    prelude::*,
    timer::TimerGroup,
    Delay, Rng, IO,
};

// BLE traits
use esp_wifi::{initialize, EspWifiInitFor};

#[entry]
fn main() -> ! {
    // Set up system
    let peripherals = Peripherals::take();
    let system = peripherals.SYSTEM.split();
    let clocks = ClockControl::max(system.clock_control).freeze();
    let mut delay = Delay::new(&clocks);

    // Set up IO
    let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);

    // Set up ADC
    let mut adc_config = AdcConfig::new();
    let mut adc_pin =
        adc_config.enable_pin(io.pins.gpio35.into_analog(), Attenuation::Attenuation0dB);
    let mut adc = ADC::<ADC1>::new(peripherals.ADC1, adc_config);

    // Set up BLE
    let timer = TimerGroup::new(peripherals.TIMG1, &clocks).timer0;
    let init = initialize(
        EspWifiInitFor::Ble,
        timer,
        Rng::new(peripherals.RNG),
        system.radio_clock_control,
        &clocks,
    )
    .unwrap();

    loop {
        let raw_value: u32 = nb::block!(adc.read(&mut adc_pin)).unwrap() as u32;
        println!("{:?}", raw_value);

        delay.delay_ms(100u8);
    }
}

Doesn't seem to happen to me.
I cloned esp-wifi and replaced the ble example with this
#![no_std]
#![no_main]

use bleps::{
    ad_structure::{
        create_advertising_data, AdStructure, BR_EDR_NOT_SUPPORTED, LE_GENERAL_DISCOVERABLE,
    },
    attribute_server::{AttributeServer, NotificationData, WorkResult},
    gatt, Ble, HciConnector,
};
use esp_backtrace as _;
use esp_println::println;
use esp_wifi::{ble::controller::BleConnector, initialize, EspWifiInitFor};
#[path = "../../examples-util/util.rs"]
mod examples_util;
use examples_util::hal;
use hal::{clock::ClockControl, peripherals::*, prelude::*, Rng, IO};
use hal::adc::{AdcConfig, Attenuation, ADC};

#[entry]
fn main() -> ! {
    #[cfg(feature = "log")]
    esp_println::logger::init_logger(log::LevelFilter::Info);

    let peripherals = Peripherals::take();

    let system = peripherals.SYSTEM.split();
    let clocks = ClockControl::max(system.clock_control).freeze();

     #[cfg(target_arch = "xtensa")]
    let timer = hal::timer::TimerGroup::new(peripherals.TIMG1, &clocks).timer0;
    #[cfg(target_arch = "riscv32")]
    let timer = hal::systimer::SystemTimer::new(peripherals.SYSTIMER).alarm0;
    let init = initialize(
        EspWifiInitFor::Ble,
        timer,
        Rng::new(peripherals.RNG),
        system.radio_clock_control,
        &clocks,
    )
    .unwrap();

     let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
    // Set up ADC
    let mut adc_config = AdcConfig::new();
    let mut adc_pin =
        adc_config.enable_pin(io.pins.gpio35.into_analog(), Attenuation::Attenuation0dB);
    let mut adc = ADC::<ADC1>::new(peripherals.ADC1, adc_config);

    #[cfg(any(feature = "esp32", feature = "esp32s2", feature = "esp32s3"))]
    let button = io.pins.gpio0.into_pull_down_input();
    #[cfg(any(
        feature = "esp32c2",
        feature = "esp32c3",
        feature = "esp32c6",
        feature = "esp32h2"
    ))]
    let button = io.pins.gpio9.into_pull_down_input();

    let mut debounce_cnt = 500;

    let mut bluetooth = peripherals.BT;

    loop {
        let connector = BleConnector::new(&init, &mut bluetooth);
        let hci = HciConnector::new(connector, esp_wifi::current_millis);
        let mut ble = Ble::new(&hci);

        println!("{:?}", ble.init());
        println!("{:?}", ble.cmd_set_le_advertising_parameters());
        println!(
            "{:?}",
            ble.cmd_set_le_advertising_data(
                create_advertising_data(&[
                    AdStructure::Flags(LE_GENERAL_DISCOVERABLE | BR_EDR_NOT_SUPPORTED),
                    AdStructure::ServiceUuids16(&[Uuid::Uuid16(0x1809)]),
                    AdStructure::CompleteLocalName(examples_util::SOC_NAME),
                ])
                .unwrap()
            )
        );
        println!("{:?}", ble.cmd_set_le_advertise_enable(true));

        println!("started advertising");

        let mut rf = |_offset: usize, data: &mut [u8]| {
            data[..20].copy_from_slice(&b"Hello Bare-Metal BLE"[..]);
            17
        };
        let mut wf = |offset: usize, data: &[u8]| {
            println!("RECEIVED: {} {:?}", offset, data);
        };

        let mut wf2 = |offset: usize, data: &[u8]| {
            println!("RECEIVED: {} {:?}", offset, data);
        };

        let mut rf3 = |_offset: usize, data: &mut [u8]| {
            data[..5].copy_from_slice(&b"Hola!"[..]);
            5
        };
        let mut wf3 = |offset: usize, data: &[u8]| {
            println!("RECEIVED: Offset {}, data {:?}", offset, data);
        };

        gatt!([service {
            uuid: "937312e0-2354-11eb-9f10-fbc30a62cf38",
            characteristics: [
                characteristic {
                    uuid: "937312e0-2354-11eb-9f10-fbc30a62cf38",
                    read: rf,
                    write: wf,
                },
                characteristic {
                    uuid: "957312e0-2354-11eb-9f10-fbc30a62cf38",
                    write: wf2,
                },
                characteristic {
                    name: "my_characteristic",
                    uuid: "987312e0-2354-11eb-9f10-fbc30a62cf38",
                    notify: true,
                    read: rf3,
                    write: wf3,
                },
            ],
        },]);

        let mut rng = bleps::no_rng::NoRng;
        let mut srv = AttributeServer::new(&mut ble, &mut gatt_attributes, &mut rng);

        loop {
            let raw_value: u32 = nb::block!(adc.read(&mut adc_pin)).unwrap() as u32;
            println!("{:?}", raw_value);

            let mut notification = None;

            if button.is_low().unwrap() && debounce_cnt > 0 {
                debounce_cnt -= 1;
                if debounce_cnt == 0 {
                    let mut cccd = [0u8; 1];
                    if let Some(1) = srv.get_characteristic_value(
                        my_characteristic_notify_enable_handle,
                        0,
                        &mut cccd,
                    ) {
                        // if notifications enabled
                        if cccd[0] == 1 {
                            notification = Some(NotificationData::new(
                                my_characteristic_handle,
                                &b"Notification"[..],
                            ));
                        }
                    }
                }
            };

            if button.is_high().unwrap() {
                debounce_cnt = 500;
            }

            match srv.do_work_with_notification(notification) {
                Ok(res) => {
                    if let WorkResult::GotDisconnected = res {
                        break;
                    }
                }
                Err(err) => {
                    println!("{:?}", err);
                }
            }
        }
    }
}

I get reasonable readings

@bjoernQ I tried to do the same, but have issues running the example.
I tried running cargo run --example ble --target xtensa-esp32-none-elf, which leads to build errors at least regarding the esp-println and esp-backtrace crates (no chip specified), and after specifying a chip here regarding the include module in esp-wifi-sys (file not found).
Can you tell me the correct command to run it?

@bjoernQ I tried to do the same, but have issues running the example. I tried running cargo run --example ble --target xtensa-esp32-none-elf, which leads to build errors at least regarding the esp-println and esp-backtrace crates (no chip specified), and after specifying a chip here regarding the include module in esp-wifi-sys (file not found).
Can you tell me the correct command to run it?

The (modified) example can be run by using cargo +esp esp32 --release --example=ble --features=ble in the esp-wifi directory
We configured the esp32xx aliases to make it more convenient to run the examples

I cloned esp-wifi and replaced the ble example with this
[…]
I get reasonable readings

With this, me too. I’ll try to figure out, what’s going with my code then.

The issue seems to lie in the order of operations. The ADC spits out only zeros, if it is initialized after the initialize() function from esp-wifi is called, but works as intended if called beforehand.
This works:
let mut adc_config = AdcConfig::new();
let mut adc_pin =
    adc_config.enable_pin(io.pins.gpio35.into_analog(), Attenuation::Attenuation0dB);

let init = initialize(
    EspWifiInitFor::Ble,
    timer,
    Rng::new(peripherals.RNG),
    system.radio_clock_control,
    &clocks,
)
.unwrap();

let mut adc = ADC::<ADC1>::new(peripherals.ADC1, adc_config);

And this doesn’t:
let mut adc_config = AdcConfig::new();
let mut adc_pin =
    adc_config.enable_pin(io.pins.gpio35.into_analog(), Attenuation::Attenuation0dB);
let mut adc = ADC::<ADC1>::new(peripherals.ADC1, adc_config);

let init = initialize(
    EspWifiInitFor::Ble,
    timer,
    Rng::new(peripherals.RNG),
    system.radio_clock_control,
    &clocks,
)
.unwrap();

Thanks for the update on this.
I agree this is unexpected and t.b.h. I cannot explain it right now.
In the meanwhile, we should probably add some note to the ADC docs until we (hopefully) find a way to make it work also for the case of initializing ADC before initializing esp-wifi.

Is it related to Rng (specifically TRNG). Instead of calling initialize, could you just call Rng::new(peripherals.RNG) and see if its the same results?

Is it related to Rng (specifically TRNG). Instead of calling initialize, could you just call Rng::new(peripherals.RNG) and see if its the same results?

Yes, it does cause the same behaviour.

cc: @playfulFence Looks like more TRNG issues :( - could you take a look?

Given we identified #1296 as the real root cause of this we can close this. Reopen in case you don't agree


dnspy link unreachable

It seems 0xd4d removed binaries from releases.
https://github.com/0xd4d/dnSpy/releases

binaries are restored.


Windows compatibility

Adds a very small amount of Windows compatibility to the build script.
This now Works on My Machine™, but hopefully it hasn't broken how the script functions on other non-Windows hosts.

Thanks for the PR!
Isn't it better to use PowerShell or something similar witch supports Unix commands?

Powershell still isn't the default "shell" on windows. Running commands from Node like we're doing at the moment sort of opens up cmd /C ... (forgive me for not being perfectly technical). To use Powershell, we'd need to wrap all the commands in pwsh -c ... which is also just as feasible (I don't know why I didn't think of that to begin with!).

PowerShell is pre installed on Windows.
The "default" cmd.exe is not recommended for developers anyway. Just like "Notepad" the default text editor is not a good choice for writing code 😅
I mean... Isn't it better to use the right tool instead of adding OS specific if conditions to all the codebases on GitHub which are using Unix commands?

Hahaha, fair enough! I'll try and whip something up real quick!


Word Vectors

Hi,
I would like to use the segmentation algorithm but the word vectors are missing ("/home/aaa244/storage/arxiv_glove/bigrun/data/mats/vecs.npy"). Is it possible to make them available?
Thank you,
Pedro Mota

You can download pretrained word vectors from other sources, including the word2vec project page: https://code.google.com/archive/p/word2vec/
Or the GloVe project page: http://nlp.stanford.edu/projects/glove/

Hi Alex,
thank you for the fast answer.
Best,
Pedro
On Tue, Nov 15, 2016 at 4:08 PM, Alex Alemi<EMAIL_ADDRESS>wrote:

You can download pretrained word vectors from other sources, including the
word2vec project page: https://code.google.com/archive/p/word2vec/
Or the GloVe project page: http://nlp.stanford.edu/projects/glove/
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alexalemi/segmentation/issues/1#issuecomment-260684090,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFWMq1RkEhdRGmSQQlaa6DpkvspHudEMks5q-djhgaJpZM4Kyr1c
.


Update failed pipeline

Fixes #2903

We create a new field on pipelineInfo for the stopped bool
A pipeline is marked as stopped and once the pps master picks up this change and actually kills the pods, we report a PAUSED state
Now when updating a pipeline, it gets marked as STARTING so that we re-create the workers
Also added a few tests to represent the cases we're now handling
There's also a bit of helper cleanup in pps master

Haha :-P


DEP: linalg: use _NoValue for eigh/eigvalsh positional argument deprecation

Reference issue

What does this implement/fix?

The deprecated arguments turbo and eigvals were due for removal in this release however unfortunately I don't think this will be possible due to a couple of flaws in the deprecation:

Users who have turbo set as False either as a positional or keyword argument won't have seen the deprecation warning
Users using positional arguments passing None to both turbo and eigvals  won't have seen the deprecation warning

So instead this PR fixes up the deprecation so instead we can remove them in a future release.
Additional information

I would have agreed if these were deprecated rather recently but;

turbo is not important, we can remove it since it has been in the documentation since the last 7 years and that is a risk we can take and also the name is esoteric enough for people to be curious about.
eigvals is a bit more problematic indeed however the signature is way too long for anyone to type in positional fashion all the way to eigvals. So if anyone is using probably used on purpose and not to set to None. We can leave some of the responsibility to the users about this.

turbo is not important, we can remove it since it has been in the documentation since the last 7 years and that is a risk we can take and also the name is esoteric enough for people to be curious about.

I am not sure I agree with this point. There is a mistake in the logic for the deprecation that means a call such as eigval, eigvec = scipy.linalg.eigh(ci_matrix, lower=False, overwrite_a=True, turbo=False, type=1) doesn't cause a deprecation warning.
A quick search show that removing directly would break the following downstream projects:
https://github.com/QuantumElephant/fanpy/blob/89006672a7927d47efec16ef6bf57adb8eaefe92/wfns/solver/ci.py#L70
https://github.com/petrobras/ross/blob/ee6e3f0a9e346aee164de01e4a2e6e1f66ed0a9d/ross/defects/crack.py#L252
https://github.com/radiocosmology/driftscan/blob/255c9afe1f8fe5a51f10e1187fff9d02d25ede4f/drift/core/kltransform.py#L124
https://github.com/sandialabs/pyapprox/blob/91fe543b9ed03a357b42803b451637e01aa78b81/pyapprox/pde/karhunen_loeve_expansion.py#L344
and quite a few more. Whilst painful, I think a the fix/delay proposed in this pr is the right thing to do.

Whilst painful, I think a the fix/delay proposed in this pr is the right thing to do.

Had time to rethink, I think you are right. Though people never fix warnings (as we learned painfully, from removal of misc), I think this is at least giving us some leverage for the future.
Thanks all. Let's get it in.

Or are we waiting for jsonschema?

5245cc1 passed the doc build and the latest commit doesn't touch the docs so I think this is safe to merge


omni_base_simulation: 2.0.9-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository omni_base_simulation to 2.0.9-1:

upstream repository: https://github.com/pal-robotics/omni_base_simulation.git
release repository: https://github.com/pal-gbp/omni_base_simulation-release.git
distro file: humble/distribution.yaml
bloom version: 0.12.0
previous version for package: 2.0.3-1

omni_base_gazebo
* Merge branch 'abr/feat/advanced-navigation' into 'humble-devel'
  added advanced navigation
  See merge request robots/omni_base_simulation!20
* added advanced navigation
* Contributors: antoniobrandi, davidterkuile

omni_base_simulation

No changes

Holding for Humble sync


Use native Promise implementation when available

I'm covered by the CLA between Mozilla and Google.

Thanks!


set client app name and app version explicitly in exp Go SDK

this allows any app using the new SDK to set the client app name and version explicitly

@poliha yes, that makes sense. Will update this PR with the suggestions.

@poliha updated


Support for rendering human readable model name in reports

Before:

After:

@gtanzillo please review

Looks good to me :+1:


Check that file is a csv file

[ ] Ensure that basic file format is correct before continuing to other checks...
[ ] Check that dimensions are approximately correct

ensuring content type is csv entity$get("contentType") == "text/csv"
check dimensions: if data and header separate, check number of columns in each file matches


why react-toolbox components don't accept and render props.style?

For instance I need to set inline style for positioning.
<Navigation type='vertical' style={this.props.style} theme={theme} className={this.state.active ? theme.fm__active :""} >
          <Button floating mini theme={theme} style={{backgroundColor: BrandColor.linkedin}}>
            { <LinkedinIcon /> }
          </Button>
          <Button floating mini theme={theme} style={{backgroundColor: BrandColor.facebook}}>
            { <FacebookIcon /> }
          </Button>
        </Navigation>

But It doesn't work and I think because of there is no style={props.style} in return method of all of the components.

Because the implementation and styling is abstracted away from the components you are calling. So everything you want to style must be used through the theme api. I do not necessarily agree with this approach, but this is how react-toolbox has decided to approach this problem.


Add ant task to install lombok jar into local maven repository

Shouldn't it contain the text -SNAPSHOT?

Good point. I have corrected that now.


Storage dependency override

About the PR

Added a new entity tag and logic for overriding the clothing requirement of inventory slots for specific objects.
Why / Balance

While I understand the need for balance in preventing gas tanks, guns, etc. from being able to be equipped in the suit storage without proper gear, some objects don't really make much sense to not be able to be worn, such as guitars. Some of these objects can be worn in the back slot, but it can be unnecessarily prohibitive to give up a backpack for them. This change allows for objects to have or be given a tag so that they can be equipped in their respective inventory slots without the need for the dependent clothing.
Technical details

~ tags.yml
∟ + New tag "SlotDependencyOverride" which can be added to equipable entities.
~ Content/Shared/Inventory/InventorySystem.Equip.cs
∟ + Added dependency and reference to the tagging system
∟ + Added small amount of logic under CanEquip() to handle skipping slot dependency check if the item contains the override tag
Media

This is only for example! No objects have had the tag added in this PR.
https://github.com/user-attachments/assets/72b7325b-3d7d-43c9-b911-c07bb93da81f
Requirements

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

Breaking changes

Changelog

No direct gameplay changes in this PR, only the setup for future changes.

Based off the correct fork this time, sorry about the last one.


Unit tests use incorrect measurement summary hash macros

For example https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/unit_test/test_spdm_responder/key_exchange.c#L26-L28 SPDM_CHALLENGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH should be SPDM_KEY_EXCHANGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH. In addition there is no corresponding macro for PSK_EXCHANGE.

I will take this.

Not only the unit tests, but also the function codes use incorrect measurement summary hash macros. for example,
SPDM_CHALLENGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH at the following line 288:
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/library/spdm_responder_lib/libspdm_rsp_key_exchange.c#L287-L292
SPDM_CHALLENGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH at the following line 323:
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/library/spdm_responder_lib/libspdm_rsp_psk_exchange.c#L322-L328

Go deep into review, libspdm_get_measurement_summary_hash_size() function was a common function called by challenge , key_exchange and psk_exchange.
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/library/spdm_responder_lib/libspdm_rsp_challenge_auth.c#L109-L110
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/library/spdm_responder_lib/libspdm_rsp_key_exchange.c#L284-L285
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/library/spdm_responder_lib/libspdm_rsp_psk_exchange.c#L197-L198
But libspdm_get_measurement_summary_hash_size() function does not distinguish challenge , key_exchange and psk_exchange, it always use SPDM_CHALLENGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH, SPDM_CHALLENGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH and SPDM_CHALLENGE_REQUEST_ALL_MEASUREMENTS_HASH.
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/library/spdm_common_lib/libspdm_com_crypto_service.c#L1149-L1173
due to the above status, I prefer to not distinguish challenge , key_exchange and psk_exchange, just delete the current SPDM CHALLENGE request HashType and SPDM KEY_EXCHANGE request HashType and define new common measurement summary hash type, such as REQUEST_NO_MEASUREMENT_SUMMARY_HASH, REQUEST_TCB_COMPONENT_MEASUREMENT_HASH and REQUEST_ALL_MEASUREMENTS_HASH.
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/include/industry_standard/spdm.h#L495-L498
https://github.com/DMTF/libspdm/blob/3f215681eb21bdb50141645720d10e259eced37e/include/industry_standard/spdm.h#L733-L736

Yeah it's fine to use a generic macro in libspdm. For completeness though I would say have the four macro groups in spdm.h.

SPDM_CHALLENGE_REQUEST_*
SPDM_KEY_EXCHANGE_REQUEST_*
SPDM_PSK_EXCHANGE_REQUEST_*
SPDM_REQUEST_*

And define the SPDM_CHALLENGE_REQUEST_* etc macros from the generic macros.

Agree.


Remove 2 wrongly registered UDFs

These 2 UDFs are registered with wrong return types (SqlTypeName.ANY should never appear in the UDF return type), removing them given they can be handled by the dynamic Hive generic UDF registration. Didn't choose to modify registered return type given the return types are too complex to register manually, and might be modified afterwards. We should only register UDFs that can't be handled by the dynamic Hive generic UDF registration.
Note: We need to be careful about the return type for UDF registration, because it would affect the RelNode data type consumed by Trino for return type validation.

Thanks for the PR @ljfgem !
Did this get surfaced as part of some bug report?

Thanks for the PR @ljfgem ! Did this get surfaced as part of some bug report?

No, the views can be translated well to Trino SQL, but the type of RelNode is not correct, which would cause issue like:
Caused by: io.trino.spi.type.TypeNotFoundException: Unknown type: any
  at io.trino.metadata.TypeRegistry.instantiateParametricType(TypeRegistry.java:180)
  at io.trino.metadata.TypeRegistry.lambda$getType$0(TypeRegistry.java:148)
  at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4853)
  at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
  at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278)
  at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)

because Trino would validate the query return type against the RelNode type.
It was caught by the test Trino server approach that I proposed.

I see, thanks for elaborating.
LGTM!


Detected blocking call to scandir with args (b'/config/pyscript',)

Since last HA update, I have the following error in loop :

2024-07-08 11:06:49.641 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to scandir with args (b'/config/pyscript',) inside the event loop by custom integration 'pyscript' at custom_components/pyscript/init.py, line 335: observer.start() (offender: , line 366: ?), please create a bug report at https://github.com/custom-components/pyscript/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/main.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/runner.py", line 166, in setup_and_run_hass
return await hass.async_run()
File "/usr/src/homeassistant/homeassistant/core.py", line 523, in async_run
await self.async_start()
File "/usr/src/homeassistant/homeassistant/core.py", line 576, in async_start
self.bus.async_fire_internal(EVENT_HOMEASSISTANT_STARTED)
File "/usr/src/homeassistant/homeassistant/core.py", line 1559, in async_fire_internal
self._hass.async_run_hass_job(job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 941, in async_run_hass_job
return self._async_add_hass_job(hassjob, *args, background=background)
File "/usr/src/homeassistant/homeassistant/core.py", line 756, in async_add_hass_job
task = create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async.py", line 37, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/config/custom_components/pyscript/init.py", line 335, in hass_started
observer.start()

My HA informations :
System Information

version
core-2024.7.1

installation_type
Home Assistant OS

dev
false

hassio
true

docker
true

user
root

virtualenv
false

python_version
3.12.4

os_name
Linux

os_version
6.6.33-haos

arch
x86_64

timezone
Europe/Paris

config_dir
/config

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

GitHub API Calls Remaining
4785

Installed Version
1.34.0

Stage
running

Available Repositories
1394

Downloaded Repositories
10

Home Assistant Cloud

logged_in
false

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Home Assistant Supervisor

host_os
Home Assistant OS 12.4

update_channel
stable

supervisor_version
supervisor-2024.06.2

agent_version
1.6.0

docker_version
26.1.4

disk_total
503.3 GB

disk_used
169.2 GB

healthy
true

supported
true

host_connectivity
true

supervisor_connectivity
true

ntp_synchronized
true

virtualization
kvm

board
ova

supervisor_api
ok

version_api
ok

installed_addons
Terminal & SSH (9.14.0), File editor (5.8.0), Samba share (12.3.1), Studio Code Server (5.15.0), SQLite Web (4.1.2)

Dashboards

dashboards
2

resources
7

views
9

mode
storage

Recorder

oldest_recorder_run
8 juillet 2024 à 09:06

current_recorder_run
8 juillet 2024 à 11:06

estimated_db_size
3.54 MiB

database_engine
sqlite

database_version
3.45.3

Xiaomi Miot Auto

component_version
0.7.18

can_reach_server
ok

can_reach_spec
ok

logged_accounts
1

total_devices
4

This is a repeat of #612.   It should be fixed with commit 27ca121.

Thanks for your answer.
I just update the latest code from github and I still have the issue :
2024-07-08 13:05:59.927 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to scandir with args (b'/config/pyscript',) inside the event loop by custom integration 'pyscript' at custom_components/pyscript/__init__.py, line 340: observer.start() (offender: <frozen os>, line 366: ?), please create a bug report at https://github.com/custom-components/pyscript/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/config/custom_components/pyscript/__init__.py", line 340, in hass_started
    observer.start()

Thanks for checking,.  My fix didn't work.  I'm traveling tomorrow and I'll try to get to it on the flight (assuming the WiFi is decent).

Just to let you know I'm getting the same warning here. I know it's affected a number of other integrations (Such as the Solcast Solar PV integration https://github.com/BJReplay/ha-solcast-solar). If you can stick the changes up as a beta release I'll give it a whirl. There was some discussion over on that repo (new management!) about how to do that if you aren't sure.

Ok, I pushed another potential fix 774842d.  Just about to depart on a flight, so I haven't tested it much....

Thanks,
Seems good this time 👍

Just updated my HA instance with code from pyscript/custom_components/pyscript, restarted HA and run my automation that uses PyScript.
No PyScript Warnings/Errors in HA system log
Thought you might like to know.

Thanks for checking and confirming the fix!

@craigbarratt I've updated my HA instance and the warning disappeared for all my pyscripts except one:
2024-07-09 19:36:35.106 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open with args ('/config/multiscrape/solzaima_ha_integration/page_response_headers.txt', 'rb') inside the event loop by custom integration 'pyscript' at custom_components/pyscript/eval.py, line 1982: return func(*args, **kwargs) (offender: /usr/local/lib/python3.12/shutil.py, line 260: with open(src, 'rb') as fsrc:), please create a bug report at https://github.com/custom-components/pyscript/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/config/custom_components/pyscript/function.py", line 448, in run_coro
    result = await coro
  File "/config/custom_components/pyscript/eval.py", line 508, in do_service_call
    retval = await func.call(ast_ctx, **data)
  File "/config/custom_components/pyscript/eval.py", line 800, in call
    val = await self.try_aeval(ast_ctx, arg1)
  File "/config/custom_components/pyscript/eval.py", line 700, in try_aeval
    return await ast_ctx.aeval(arg)
  File "/config/custom_components/pyscript/eval.py", line 940, in aeval
    val = await getattr(self, name, self.ast_not_implemented)(arg)
  File "/config/custom_components/pyscript/eval.py", line 1029, in ast_if
    val = await self.aeval(arg1)
  File "/config/custom_components/pyscript/eval.py", line 940, in aeval
    val = await getattr(self, name, self.ast_not_implemented)(arg)
  File "/config/custom_components/pyscript/eval.py", line 1367, in ast_expr
    return await self.aeval(arg.value)
  File "/config/custom_components/pyscript/eval.py", line 940, in aeval
    val = await getattr(self, name, self.ast_not_implemented)(arg)
  File "/config/custom_components/pyscript/eval.py", line 1937, in ast_call
    return await self.call_func(func, func_name, *args, **kwargs)
  File "/config/custom_components/pyscript/eval.py", line 1982, in call_func
    return func(*args, **kwargs)

Now, I dont' if it is an issue of the script itself... but it was not showing any warning before  the HA upgrade:
Here is the script:
@service
def copy_myceza_response_headers():
	"""Python Script to copy page_response_headers.txt to the sensor folder file"""
	import os.path
	import shutil
	source_folder = "/config/multiscrape/solzaima_ha_integration/page_response_headers.txt"
	target_folder = "/config/multiscrape/tokens/page_response_headers.txt"
	check_file = os.path.isfile(source_folder)
	if check_file:
		shutil.copyfile(source_folder, target_folder)
		log.info(f"Python Script to copy page_response_headers.txt to the sensor folder file finished!!!")
	else:
		log.info(f"page_response_headers.txt does not exist in source folder!!!")

Thank you!

Your code is doing file system operations (os.path.isfile and shutil.copyfile), which are considered blocking operations.  You could solve this by making this function run in its own thread with the @pyscript_executor decorator (note that log.info() won't work inside a function with that decorator).  See the docs.

I’ll try to make the changes and check how it goes. Thank you for your feedback.


Settings view source redirects to Repository view Code Tab

Since we do have code browsing, It's nice to redirect our settings "view source" button to repository view code tab. In case user still wants to see repo in safari, they can use more button on top right in repo screen.

I actually think we should pause this for now. The code browser atm is super limited, and there's no way to open Safari from it. I'd rather ppl be able to view the source, open Safari, and share stuff.
Ok w/ closing for now? We can revive once the code browsing is much more robust.


Spyder crashing all the time

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[x] Could not reproduce inside jupyter qtconsole (if console-related)
[x] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[x] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
I uninstalled Spyder, Anaconda and Python 3.8 and 3.7 from my computer. I erased all files and set them to a clean environment (on my computer). I re-installed Anaconda with full administrative rights. Yet, it seems that it crashes all the time. I had to uninstall it since every four or five lines it kept reporting:
Execution abort
Now it only shows a message when trying to import geonpandas
FileNotFoundError: Could not find module '~path\anaconda3\Library\bin\geos_c.dll' (or one of its dependencies). Try using the full path with constructor syntax.
What steps reproduce the problem?

import geopandas as gpd

What is the expected output? What do you see instead?
Processing code with GIS libraries in Python.
Paste Traceback/Error Below (if applicable)

runcell(0, 'D:/Users/Daniel_Avila/Documents/CMEI/Proyectos/Plantaciones/Tulancinguillo/filtrarBiodiversidad.py')
Traceback (most recent call last):

  File "D:\Users\Daniel_Avila\Documents\CMEI\Proyectos\Plantaciones\Tulancinguillo\filtrarBiodiversidad.py", line 10, in <module>
    import geopandas as gpd

  File "D:\Programs\anaconda3\lib\site-packages\geopandas\__init__.py", line 3, in <module>
    from geopandas.geoseries import GeoSeries  # noqa

  File "D:\Programs\anaconda3\lib\site-packages\geopandas\geoseries.py", line 10, in <module>
    from shapely.geometry.base import BaseGeometry

  File "D:\Programs\anaconda3\lib\site-packages\shapely\geometry\__init__.py", line 4, in <module>
    from .base import CAP_STYLE, JOIN_STYLE

  File "D:\Programs\anaconda3\lib\site-packages\shapely\geometry\base.py", line 18, in <module>
    from shapely.coords import CoordinateSequence

  File "D:\Programs\anaconda3\lib\site-packages\shapely\coords.py", line 8, in <module>
    from shapely.geos import lgeos

  File "D:\Programs\anaconda3\lib\site-packages\shapely\geos.py", line 145, in <module>
    _lgeos = CDLL(os.path.join(sys.prefix, 'Library', 'bin', 'geos_c.dll'))

  File "D:\Programs\anaconda3\lib\ctypes\__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)

FileNotFoundError: Could not find module 'D:\Programs\anaconda3\Library\bin\geos_c.dll' (or one of its dependencies). Try using the full path with constructor syntax.

 Please go ahead and see the following video to see if that helps you to fix your environment, https://www.youtube.com/watch?v=Ul79ihg41Rs&t , if that doesn't fix your error please report this issue in geopandas repo, https://github.com/geopandas/geopandas
Thanks for reporting!

Hey @steff456 ,
I have done all what is described in the video you have shared, without a proper result. I have re-installed Anaconda and Spyder at least 3 times, erasing all directories, folders, and cleaning the registry without a proper solution. Further, conda install xxx is not working for several libraries such as geopandas, gdal, rasterio, libgdal, gee, shapely, fiona, etc.
I have also tried conda install -c conda-forge package and once it gets the proper repo, it starts performing an environment analysis that ends up in nothing.
I have created a new environment, and this also do not solve the problem.
How can I proceed?

Hi @DanielIAvila,
I'm seeing the installation notes of geopandas here, https://geopandas.readthedocs.io/en/latest/install.html, it should work with conda install -c conda-forge geopandas sometimes resolving environment will take some time. Please try to install the packages you are having trouble in a new environment,
conda create -n my-test-env
conda activate my-test-env
conda install -c conda-forge geopandas gdal rasterio libgdal ...etc

I'm seeing in Anaconda cloud that all the packages are available through the conda-forge channel. Afterwards you can open a python interpreter by typing python in your terminal and trying to import the packages to see if they are available. In case of a wrong installation I will recommend you to open an issue directly in the geopandas repo so they can help you more effectively.


Troubleshooter VMs with GuestAgent_XXX.XXX.XX folder absent.

Troubleshooter VMs with GuestAgent_XXX.XXX.XX folder absent contain a Packages folder alternatively

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


Home: course description overruns cards on home page

Steps to Reproduce

Arrange it so 11.S942 is a new a course on the home page

Expected Behavior
TBD
Actual Behavior
Course title, instructors and topics overflow the course card
Screenshot or Screencast

The solution here is probably to create a new design for course cards


php-resque and supervisord

Hi, I use php-resque with supervisord to keep the process alive.
When i restart supervisord I see in the web ui (resque-web) that I have 16 active workers in each host, but for some reason if the process is dead supervisord will start another process instead of the dead one but this worker wont be visible in the web ui.
any one has an idea why?
Thanks
by the way, if then I restart the supervisord service the workers will be visible once again

Just saw this and thought of you, from the supervisor docs:
[program:x]

stopasgroup

If true, the flag causes supervisor to send the stop signal to the whole process group and implies killasgroup is true. This is useful for programs, such as Flask in debug mode, that do not propagate stop signals to their children, leaving them orphaned.

Default: false

Required: No.

Introduced: 3.0b1


Improve VNC screenshot test

What this PR does / why we need it:
It turns out that eventually the VNC screen ends up with a resolution of 720x400, but the initial seabios screen has a different resolution for a very short amount of time.
Cope with that by retrying until we see the expected resolution.
Example run: https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/batch/pull-kubevirt-e2e-k8s-1.22-sig-compute/1574529294523174912
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:
NONE

/test pull-kubevirt-unit-test

/cc @brianmcarey @dhiller

/override pull-kubevirt-e2e-k8s-1.22-sig-storage
Failure is unrelated, let's get the test stable.


Move babelify to devDeps

Thanks for awesome component, we are using it in our project.
There is a tiny thing - babelify gets installed every CI build, which is unnecessary action and takes significant time for us.

:+1: thanks!

Released 2.4.0 with your PR :dancer:


Problems copying a bug report

Great project! I started using Aider. But the code it produced did not run.
I had the code open in visual studio code and as soon as I tried to run it, it gave me some errors.
How am I supposed to progress from there?
Because on ChatGPT I normally would have copied the errors report and I would receive informations on what to do. But when I tried to do this, since the report has a number of newlines inside, it would read each newline as the end of my feedback and start working from there. And then send the next line, respond to that, and so on. Is there a way to copy a block of text without this happening?
If not I could look into the bugs myself, but honestly I would rather have an aider that corrects my bug, and not me correcting the bugs of an aider :-).
Cheers

I discovered, if I copy immediately the error report, then it works. What instead does not work is to say a few words ("I just tested it and I got this error when i click this button. And here is the report: ", and then copy the report. Then it copies the report, but it only reads it one line at a time.

Just fyi, it's very hard to understand what you mean. In the age of AI, you can use it for a lot more than just coding -- for example, fixing your English and for general clarification if you're not very good at writing in a clear manner. There's really no excuse to write, especially a bug report, in broken English anymore. Then you may actually get a helpful response.

https://aider.chat/#tips
Use Meta-ENTER (Esc+ENTER in some environments) to enter multiline chat messages. Or enter { alone on the first line to start a multiline message and } alone on the last line to end it.

I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.

Thanks @paul-gauthier. I did not answer because I did not have the time so far to test what you said. But I appreciate you answering me.
@transcendr I apologise if my request was not clear enough. It probably would be clearer if I added a video. But I am grateful Paul could understand it.


[BUG?] SKTypeface.FromFamilyName should not return null... or could?

Description
Not sure what is going with SKTypeface.FromFamilyName. The code docs say it should NEVER return null, but does and should in some cases? Those are conflicting statements right there.
I see this previous issue where I say that there is no guarantee: https://github.com/mono/SkiaSharp/issues/643
But, there is in this docs:
    /** Creates a new reference to the typeface that most closely matches the
        requested familyName and fontStyle. This method allows extended font
        face specifiers as in the SkFontStyle type. Will never return null.

https://github.com/mono/skia/blob/xamarin-mobile-bindings/include/core/SkTypeface.h#L95-L104
And then we go straight into this:
            // On Android, we must return nullptr when we can't find the requested
            // named typeface so that the system/app can provide their own recovery
            // mechanism. On other platforms we'd provide a typeface from the
            // default family instead.

https://github.com/mono/skia/blob/xamarin-mobile-bindings/src/ports/SkFontMgr_android.cpp#L475-L484
Fear!
Never mind the fontconfig variants which basically just return nullptr:
https://github.com/google/skia/blob/chrome/m68/src/ports/SkFontMgr_fontconfig.cpp#L894
Who knows at this point!

This PR (https://github.com/toptensoftware/RichTextKit/pull/6) in RichTextKit fixes it, but I am not sure if we should fix this in SkiaSharp. Isn't a null match meaning that there is no match.

I am thinking about this and I am starting to agree with #643 and just say it may return null if no match was found.

I need a way to know that a font wasn't found. If I can always compare with the default it is fine to return the default. I doubt that always works.

That's the thing... Deep inside the logic, it may/may not decide to use default.
It might be better to use the SKFontManager and use GetFontStyles: https://docs.microsoft.com/en-us/dotnet/api/skiasharp.skfontmanager.getfontstyles
You can then also find the nearest bold/italic combo that tickles your fancy. For example, there my be a black and not a bold or something.

I think to be consistent, the SKTypeface should never return null, but SKFontManager is to be used to see if there was a match. I'll do some tests.

FromFamilyName already does the fallback for you. https://docs.microsoft.com/en-us/dotnet/api/skiasharp.sktypeface.fromfamilyname?view=skiasharp-1.68.1#SkiaSharp_SKTypeface_FromFamilyName_System_String_SkiaSharp_SKFontStyleWeight_SkiaSharp_SKFontStyleWidth_SkiaSharp_SKFontStyleSlant_
I prefer getting a null if the request can't be fulfilled so I can deside how to proceed.

That's the thing, on Android and Linux, it doesn't. It may return null.

Currently I do this https://github.com/AvaloniaUI/Avalonia/blob/master/src/Skia/Avalonia.Skia/FontManagerImpl.cs#L97 this works as long as the default never changes.

 But, it is not equal to SKTypeface.Default...

I tried:
var fm = SKFontManager.Default.GetFontStyles("System");
var fm2 = SKFontManager.Default.MatchFamily("System", SKFontStyle.Bold);

var tf = SKTypeface.FromFamilyName("System");

on macOS, none are null, but fm is an empty set. fm2 is the default.
on Android, fm is also an empty set, but fm2 and tf are null

Looking at the implementation of the matching, it pretty much always creates a new reference to the font. So we can't even use the == Default because it creates a new object each time.

Is the UniqueId also different?

I haven't exposed that, but most probably as the only reference to that field is just a blind new, incrementing value:
https://github.com/mono/skia/blob/xamarin-mobile-bindings/src/core/SkTypeface.cpp#L21

Why on earth did they do that? So I have to cache Typefaces on my own? 🤔

Looking at Android some more, and I see that if I match Helvetica - it matches, but sans-serif is the font name...

Looks like the most consistent is the SKFontManager.Default.GetFontStyles(<family>) and that returns a list of supported styles. If there is no font, then there are no styles.
You can then use SKFontManager.Default.MatchFamily(<family>, <style>) to find the specific typeface.

It depends on the actual font manager. For platforms that are using FontConfig aliases are sometimes used to resolve some font.

Good to know this. Will change my code to use the SKFontManager to resolve fonts.


Add conditional compilation to desmos-std

In order to optimise the usage of desmos-std by devs in their contract, we can add conditional compilation to its packages. Conditional compilation allows to build only the features that are needed in a specific context.
For instance, if someone wants to write a contract which only use subspaces messages, it's useless for them to also include other modules. Including them all will result in:

an increased contract size;
a higher deployment cost.

To solve these problems, conditional compilation come useful, we just need to:

Updated the config.toml:

...
[features]
profiles = []
subspaces = []
...

Update the code where needed, with macros for features:

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case", tag = "route", content = "msg_data")]
pub enum DesmosMsg {
    #[cfg(feature = "profiles")]
    Profiles(ProfilesMsg),
    #[cfg(feature = "subspaces")]
    Subspaces(SubspacesMsg),
}

Note:
Special thanks to @manu0466 to bring this to my attention
@dadamu what do you think about this?

I love this idea. Let's add it.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_01ene2cc7f/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_01ene2cc7f/clone/recipe/meta.yaml:24: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_01ene2cc7f/clone/recipe/meta.yaml:31: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_01ene2cc7f/clone/recipe/meta.yaml:41: http_url: http://github.com/WhyNotHugo/python-barcode is not https
WARNING: /tmp/abs_01ene2cc7f/clone/recipe/meta.yaml:41: missing_description: The recipe is missing a description
ERROR: /tmp/abs_01ene2cc7f/clone/recipe/meta.yaml:41: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


[BUG]

When fetching the posts under a specific hashtag, it only retrieves media types 1 and 8, and it completely ignores videos. How can we resolve this issue and retrieve videos as well?

Show a code example that reproduces your case


Update Cargo.lock when publishing crate

Sample commit generated by this PR in my private sandbox: https://github.com/scouten-adobe/c2patool/commit/9750c8d0c7aa24c82468523a436fef7fd80b86f4

And it "only" took 27 seconds: https://github.com/scouten-adobe/c2patool/actions/runs/3064312912/jobs/4947296527


Error installing iqsharp kernel

I'm trying to follow the guidelines mentioned in https://docs.microsoft.com/en-us/quantum/install-guide/python?view=qsharp-preview to install the iqsharp kernel, but I get a No executable found matching command "dotnet-install" when installing it (using dotnet iqsharp install).
ayush99@ayush99:~/quant$ dotnet tool install -g Microsoft.Quantum.IQSharp
Tool 'microsoft.quantum.iqsharp' is already installed.
ayush99@ayush99:~/quant$ dotnet install iqsharp
No executable found matching command "dotnet-install"

Thanks for the report! It looks like you may have run dotnet install iqsharp instead of dotnet iqsharp install?

@cgranade I still get the same error:
ayush99@ayush99:~$ dotnet iqsharp install
No executable found matching command "dotnet-iqsharp"

@ayush1999 This can happen sometimes if you haven't restarted your shell since installing the .NET Core SDK. Can you check if ~/.tools is on your $PATH? Thanks!

I manually added it to my path: export PATH="/home/ayush99/.dotnet/tools:$PATH", however I still get the same error. (Which is strange, I can see the executable in my path, not sure why it isn't recognized.)

That is odd, agreed. Typically, when you run a global tool using syntax like dotnet iqsharp, that looks for a dotnet-iqsharp executable. Can you run dotnet-iqsharp --version (with the dash)? If not, if you use the explicit path to the dotnet-iqsharp executable in ~/.dotnet/tools, does that work to run dotnet-iqsharp --version?

@cgranade I can run dotnet-iqsharp --version:
ayush99@ayush99:~$ dotnet-iqsharp --version
Language kernel: 0.5.1902.2802
Jupyter core: <IP_ADDRESS>

Is there any other possible reason that dotnet iqsharp might not be recognizing the executable?

That's definitely odd, would you be willing to provide some more diagnostic information? Specifically, the output of dotnet --info could be quite useful. Thanks!

Sure:
ayush99@ayush99:~$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.105
 Commit:    7cecb35b92

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  18.04
 OS Platform: Linux
 RID:         ubuntu.18.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.105/

Host (useful for support):
  Version: 2.2.3
  Commit:  6b8ad509b6

.NET Core SDKs installed:
  2.2.105 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

ayush99@ayush99:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.2 LTS
Release:	18.04
Codename:	bionic

I have the same problem...on ubuntu 18.04

@cgranade Any updates on this?

I ran into this but when I re-ran this nder the Anacorda prompt it worked!

I have encounter the similar problem. But, in my case I solve it with installed .Net again with the builds apps version that compatible with visual studio 2017

@tirdtoon @ayush1999 @desireevl My apologies, but I haven't been able to reproduce the issue on my end. If you have any other information you provide, I would greatly appreciate it. Are you able to run other .NET Core Global Tools (e.g.: dotnet-cowsay)? Thanks for the help diagnosing this!

Looks like dotnet-iqsharp works, but dotnet iqsharp doesn't work, is that correct @ayush1999?
If so, looks like a problem on how dotnet is findind sub-commands in Ubuntu, looks like in this environment is not looking yet for subcommands in global tools.
@cgranade , do you have any objections if we change the tool name to be just iqsharp? Looking at global tools documentation, that'w how is documented on how to create custom tools.

@tirdtoon @ayush1999 @desireevl if dotnet-iqsharp works, as a workaround you should be able to run this command to install the kernel:
dotnet-iqsharp install --user --path-to-tool="$(which dotnet-iqsharp)"

Optionally, if there is a Dockerfile in our samples repository that you can use to create a Docker image and get you started. The image is setup you can run Q# from C#/Python/Jupyter.

@tirdtoon @ayush1999 @desireevl if dotnet-iqsharp works, as a workaround you should be able to run this command to install the kernel:
dotnet-iqsharp install --user --path-to-tool="$(which dotnet-iqsharp)"

Optionally, if there is a Dockerfile in our samples repository that you can use to create a Docker image and get you started. The image is setup you can run Q# from C#/Python/Jupyter.

Thank you, it saved my time! But I want to know how do you find this solution? It is a dotnet bug or jupyter ?

I'm trying to follow the guidelines mentioned in https://docs.microsoft.com/en-us/quantum/install-guide/python?view=qsharp-preview to install the iqsharp kernel, but I get a No executable found matching command "dotnet-install" when installing it (using dotnet iqsharp install).
ayush99@ayush99:~/quant$ dotnet tool install -g Microsoft.Quantum.IQSharp
Tool 'microsoft.quantum.iqsharp' is already installed.
ayush99@ayush99:~/quant$ dotnet install iqsharp
No executable found matching command "dotnet-install"

Use this
dotnet iqsharp install --user
Because Jupyter can not run under Sudo mode, but without sudo mode you can not write into Jupyter notebook directory. So, you need to make file writing local


Table says pkce but sample uses client credentials

[Enter feedback here]
Desktop -> .NET ->
• Call Microsoft Graph with daemon console
• Call web API with daemon console
says Auth flow it uses is Authorization code with PKCE but both samples actually use client credentials.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b90331e5-cca5-b157-eaa1-6f8f90003b32
Version Independent ID: 4b1b803d-e30d-10b2-90a1-3f0ccd8d7d44
Content: Code samples for Microsoft identity platform authentication and authorization - Microsoft Entra
Content Source: articles/active-directory/develop/sample-v2-code.md
Service: active-directory
Sub-service: develop
GitHub Login: @mmacy
Microsoft Alias: marsma

@adamkimsft Good spot. Those samples are also in the wrong table - they should be in the Service / Daemon table.
Will fix - thanks!
#reassign:mmacy
#label:usability-accuracy

Are you trying to add/remove a custom label? The syntax for that is #label:"your label".

@OwenRichards1 Hey Owen, can you take this one?
@reassign:OwenRichards1


FactoryVec[Deque] update logic is limiting

Imagine this factory collection:
0: Foo { leader = true }  (Object A)
1: Foo { leader = false } (Object B)

What if I want to implement logic where I need to remove leader from a list and set new leader?
This means removing element at index 0 and updating element at index 1.
Desired result collection would look like this
0: Foo { leader = true }  (Object B)`

However, due to how Factory collection update logic works it's impossible to do so.
Updating an element after removal at the same index is prohibited.
Updating an element at index 1 while removing element at index 0 is useless because it won't invoke update at index 0.
One possible fix I see is to call view() in generate() function for every index where there was removal and that is still present in a collection`.

That's definitely an error in the update logic. This behavior shouldn't happen.
One reason why I changed the implementation of FactoryVecDeque for the upcoming version was exactly because the update logic in 0.4 is very hard to understand and also flawed as this issue shows. Yet, I don't know if it's worth to fix this now that 0.5 should soon see its first beta release.
I just have one question:

This means removing element at index 0 and updating element at index 1.

Did you mean this: This means removing element at index 0 and updating element at index 0 ?
Because one the first element is removed the second one is now the first and has index 0.

0.5 is now stable which should fix this issue.


check_syntax: Table field not found although available in dependency repository

The dependency project contains the table:

Coding:

The table also shows up when running dependency list for this object.
abaplint version: 2.38.1
REF: PROG XBPTEMPVAR

thanks, what is the exact error message from abaplint?

SCI also shows same message

The Issue might be more generic.
./src/ecc/#jcs#mm_lis_sel_versions_reorg.prog.abap[10, 1]                  - "rsparams" not found (check_syntax)

It definitely exists in dependency project

I've checked again with 2.38.12
Issue resolved.


History slider CSS is broken

The CSS of the history slider needs some tweaking:

It would be cool to test it with other themes as well.

I'll try to fix this

Awesome! 🎉
Feel free to join https://slack.nteract.io if you have questions.

Closed by #1049


Fix/codepipeline manualapprove sequecing

fix code pipeline run order issue

Just refactor and retest pipeline, merge for testing ....


What does the trait Gender play in the WIR.scala file?

What does the trait Gender play in the WIR.scala file?
trait Gender
case object MALE extends Gender
case object FEMALE extends Gender
case object BIGENDER extends Gender
case object UNKNOWNGENDER extends Gender

See page 47 in the spec https://github.com/freechipsproject/firrtl/blob/master/spec/spec.pdf

See page 47 in the spec https://github.com/freechipsproject/firrtl/blob/master/spec/spec.pdf

Thank you for your answer!

Going to go ahead and close this as I think this is resolved. If not, feel free to re-open.


Failure to parse token from hook.

Component
server, agent
Describe the bug
On a freshly installed woodpecker instance (docker compose), I'm running into an error when triggering a build from Gitea.
I succesfully connected Woodpecker with Gitea using OAuth, but after triggering the pipeline, with a repo commit, I get following error in my server log:
time="2021-09-29T22:48:37Z" level=error msg="Error #01: signature is invalid\n" fields.time="2021-09-29T22:48:37Z" ip=<IP_ADDRESS> latency=1.518018ms method=POST path=/hook status=400 user-agent=Go-http-client/1.1,
and:
time="2021-09-29T22:48:37Z" level=error msg="failure to parse token from hook for FlyingDutchman/app. signature is invalid"
The agent also gets triggered, but also got a error message:
{"level":"debug","time":"2021-09-29T22:58:02Z","message":"request next execution"},
2021/09/29 22:58:02 grpc error: done(): code: Unknown: rpc error: code = Unknown desc = invalid agent token,
{"level":"error","error":"rpc error: code = Unknown desc = invalid agent token","time":"2021-09-29T22:58:02Z","message":"pipeline done with error"}

System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"v0.14.1"}

Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server.

@Flying--Dutchman what agent version do you use?

Same version, also v0.14.1

Same issue on v0.14, so maybe a setup issue?
Here is my docker-compose.yml:
`# docker-compose.yml
version: '3'

services:
  cicd_woodpecker_prod_server:
    image: woodpeckerci/woodpecker-server:v0.14
    ports:
      - 13005:8000
      - 9000
    volumes:
      - woodpecker-server-data:/var/lib/drone/
    restart: always
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_HOST=https://woodpecker.domain.tld
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_CLIENT=GITEA-CLIENT
      - WOODPECKER_GITEA_SECRET=GITEA-SECRET
      - WOODPECKER_GITEA_URL=https://git.domain.tld
      - WOODPECKER_AGENT_SECRET=AGENT-SECRET

  cicd_woodpecker_prod_agent:
    image: woodpeckerci/woodpecker-agent:v0.14
    command: agent
    restart: always
    depends_on:
      - cicd_woodpecker_prod_server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WOODPECKER_SERVER=cicd_woodpecker_prod_server:9000
      - WOODPECKER_AGENT_SECRET=AGENT-SECRET

volumes:
  woodpecker-server-data:
    driver: local-persist
    driver_opts:
      mountpoint: /woodpecker-data`

I think the problem is that we already changed docs to match the next release 0.15.0, which renames the option: WOODPECKER_SECRET to WOODPECKER_AGENT_SECRET.
Could you try to change you config like this:
`# docker-compose.yml
version: '3'

services:
  cicd_woodpecker_prod_server:
    image: woodpeckerci/woodpecker-server:v0.14
    ports:
      - 13005:8000
      - 9000
    volumes:
      - woodpecker-server-data:/var/lib/drone/
    restart: always
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_HOST=https://woodpecker.domain.tld
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_CLIENT=GITEA-CLIENT
      - WOODPECKER_GITEA_SECRET=GITEA-SECRET
      - WOODPECKER_GITEA_URL=https://git.domain.tld
-     - WOODPECKER_AGENT_SECRET=AGENT-SECRET
+     - WOODPECKER_SECRET=AGENT-SECRET

  cicd_woodpecker_prod_agent:
    image: woodpeckerci/woodpecker-agent:v0.14
-   command: agent
    restart: always
    depends_on:
      - cicd_woodpecker_prod_server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WOODPECKER_SERVER=cicd_woodpecker_prod_server:9000
-     - WOODPECKER_AGENT_SECRET=AGENT-SECRET
+     - WOODPECKER_SECRET=AGENT-SECRET

volumes:
  woodpecker-server-data:
    driver: local-persist
    driver_opts:
      mountpoint: /woodpecker-data`

Great, that was it!
Thank you very much :+1:


Translate docs to Mongolian - work in progress

We are would like to start translating vuejs.org docs to the Mongolian language.
Translation Repo vuejs-mn
Contributors: @doljko @ebatgerel and anyone is welcome to contribute to this translation.
https://vuejs-mn.netlify.com/
Thank you,
Turtuvshin Byambaa

Please see #2015.


Refactor

I have refactored deoplete-go source.
Please check it.

@Shougo Thank you for everything :)
Now faster to get a complete word.
LGTM.


Ceremony meetup time not shown correctly

I would expect a localized date & time  and I believe the 22:45 is not correct

this issue should be solved when we change to multi-day ceremony cycles. It is caused by the fact that we have 30min ceremonies but meetup time assumes high sun

now that we changed the ceremony schedule, the meetup time should actually be show correctly, but it isn't

Seems like a 12h vs 24h Problem in display. The rpc reports the time correctly:
./encointer-client-notee list-meetups --cid srcq45PYNyD
listing meetups for cid srcq45PYNyD and ceremony nr 1595
MeetupRegistry[(srcq45PYNyD, 1595), 1] location is Location { lat: 44.69733524402990809676, lon: 13.1277179718017578125 }
MeetupRegistry[(srcq45PYNyD, 1595), 1] meeting time is<PHONE_NUMBER>000
MeetupRegistry[(srcq45PYNyD, 1595), 1] participants are:
   5DCr4Xh5pFCRHZQhvteNbdzH5bD68b5VFhAkunF7gW9umwkf
   5DPgv6nn4R1Gi1MUiAnzFDPaKF56SYKD9Zq4Q6REUGLhUZk1
   5FEkyAfUWXwA4jdsm88kMzhF7VAenxuwZtwNs9RzeFRjXGcS
   5E6x8Z6R7fYeTETj8Em5pDazcodq6Krjig5gxkSuQEvj6evv
   5FyWbcwN1TGPdyzRzoEeem3MUcc7jXRs7ZoftZkAQLV47nS7
   5CMVLJCC4Jn7QmLsFRkLWkm2w4LJswpZo1V2nd1tp64iVnCR
   5F77sGnUhpjdFnzruhurGZgqPFtvdECXTGgX4Bgy2zGavbEw
   5GNdoaiCrGU9G9zz694d1S3XPov6Ji3zo6NR7nN2tH7jtK7Z
   5GjnBkWthQqmfxL35A2sY9QeTky33bENo5zbLxh7KsY5wo5L
   5ChwkE8kd2qagyiCikP2Ns2T6vWh7dbURx54gXcPKw8NotNp


Fix dimension name

What are you changing in this pull request and why?

Checklist

[ ] Review the Content style guide and About versioning so my content adheres to these guidelines.
[ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."

Adding new pages (delete if not applicable):

[ ] Add page to website/sidebars.js
[ ] Provide a unique filename for the new page

Removing or renaming existing pages (delete if not applicable):

[ ] Remove page from website/sidebars.js
[ ] Add an entry website/static/_redirects
[ ] Ran link testing to update the links that point to the deleted page

hey @dpguthrie , this looks good but not sure what's the change? it looks the same -- unless it's the underscore

Ya, it's just the missing underscore.