[WIP] Sharing problem

Pull Request
Description
Explain any proposed changes here.
This pull request addresses #170
Currently, the PR has merged the new code with the changes in 170 and resolved merge conflicts. Tests added soon.
Checklist
The following items have been checked for this PR:

[ ] Conforms to PEP8 style standards (check with pylint, flake8, or similar)
[ ] Code is documented with docstrings, or docstrings have been updated as appropriate
[ ] New unit test/integration test have been added to check new code
[ ] All existing tests still pass

**ignore new commits, problems with rebasing


CI: Move coverage definitions to pyproject.toml

Codecov Report
Patch and project coverage have no change.

Comparison is base (44509c6) 97.89% compared to head (bf66b2e) 97.89%.

:exclamation: Current head bf66b2e differs from pull request most recent head c17b9a7. Consider uploading reports for the commit c17b9a7 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #259   +/-   ##
=======================================
  Coverage   97.89%   97.89%
=======================================
  Files          24       24
  Lines         997      997
  Branches      233      233
=======================================
  Hits          976      976
  Misses         19       19
  Partials        2        2

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Produce builds for Linux, macOS, and Windows

Builds are now working and created to each new release https://github.com/oscarmcm/neocal/releases/tag/v0.3.0
Support for this was introduced in the following commit https://github.com/oscarmcm/neocal/commit/49483d6be106d37caa3f22e985b7bb25e72a4daf


feat: Implementation of prettyVc certificate while fetching the verified proof details

[x] Refactor Fetch Verification List API to include additional fields required for EduCreds
[x] Refactor Fetch Verified Proof Details API for fetching verified proof details, To include the retrieval of prettyVC details

The above task has been tested, and it is working as expected.


Added initial coverage test

I have added initial coverage test in the github actions environment. I have used Codecov (following LSST examples). Additionally, tests are now live in a separate directory. An example of the report can be seen here: https://app.codecov.io/gh/lincc-frameworks/lsstseries/tree/coverage/lsstseries

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@86b920c). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #13   +/-   ##
=======================================
  Coverage        ?   70.14%
=======================================
  Files           ?        1
  Lines           ?       67
  Branches        ?        0
=======================================
  Hits            ?       47
  Misses          ?       20
  Partials        ?        0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Package libssl into Kerblam!

This is a tentative patch to fix #42. The libssl1.1 requirement is honestly out of nowhere (the build system?) since the openssl crate should link with whatever version is available.
The possible fixes are:

Compile on the host system (with cargo install --git ...)

Pros: always works;
Cons: You need cargo and you need to wait for kerblam! to compile.

Link with the proper version of libssl in our build systems;

Pros: It it as it should be, no extra work needed;
Cons: I have no idea what is making rustc link to the wrong lib;

Package the libssl and the code to fetch the certificates in the host system (which would normally be done by the locally present, dynamically linked libssl) into kerblam! itself.

Pros: Easy to do and (probably) fixes the issue. Might help with having kerblam! run inside random docker containers (with unknown libssl versions).
Cons: Makes the build time longer (~+20%) and the executable larger (~2x, to 11Mb), which is undesirable.

TODO
Before merging, tick all of these boxes:

[X] cargo check passes without errors or warnings.
[X] @all-contributors is made aware of this PR.

So, as an update to this for posterity. The issue is that reqwest uses by default the feature flag default-tls, which pulls in the openssl crate which uses local libssl bindings.
If you disable this flag (the only default flag) with default-features = false and add another backend to tls protocols you can sidestep this entirely. This is what 0503139 does: it uses rustls-tls, a rust-native implementation, as suggested by the devs of cargo-dist.


Update Crossplane helm chart to latest

Description of your changes
Sync latest helm chart changes from Crossplane master
I have:

[x] Read and followed Upbound's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.
[x] Added backport release-x.y labels to auto-backport this PR, as appropriate.

How has this code been tested

To be tested with integration tests

Closing in favor of https://github.com/upbound/universal-crossplane/pull/216


Apps don't re-register after server restarts

This may be a duplicate of #26, but that seemed to be some kind of authentication issue and I don't believe this is. Client apps start fine and connect to the server, but upon killing and restarting the server, none of them re-connect.
Client logs:
2023-01-06T03:53:46.208Z  WARN 37592 --- [tbeatExecutor-0] c.n.d.s.t.d.RetryableEurekaHttpClient    : Request execution failed with message: Error while extracting response for type [class com.netflix.appinfo.InstanceInfo] and content type [application/json]
2023-01-06T03:53:46.208Z ERROR 37592 --- [tbeatExecutor-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_BOASUI/PC.mshome.net:BOASUI - was unable to send heartbeat!

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
	at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112) ~[eureka-client-2.0.0.jar:2.0.0]
	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) ~[eureka-client-2.0.0.jar:2.0.0]
	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92) ~[eureka-client-2.0.0.jar:2.0.0]
	at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-2.0.0.jar:2.0.0]
	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) ~[eureka-client-2.0.0.jar:2.0.0]
	at com.netflix.discovery.DiscoveryClient.renew(DiscoveryClient.java:837) ~[eureka-client-2.0.0.jar:2.0.0]
	at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1401) ~[eureka-client-2.0.0.jar:2.0.0]

There doesn't appear to be any log acknowledging this attempt on the server.  I have both client and server configured with the default options - no additions in any application.yml.

Same problem

Same problem

Created a minimal project that reproduces the issue here.

@bchilcott
Have you checked related solution at #4145 for server side ?
that fixed issue for me. Error handling for client side restTemplate is missing as i saw. when empiting the content to bypass cleint side error eureka able to renew the lease.

any solution for this?
@GilbertHG

You can add one end poitm to your Eureak server tp bypass the error content then it iwll work but keep follow the permanent solution
@RestController
static class CustomErrorController implements ErrorController {

	private static final String ERROR_MAPPING = "/error";

	@RequestMapping(ERROR_MAPPING)
	public ResponseEntity<Void> error() {
		return ResponseEntity.notFound().build();
	}

}

Duplicates #4153

Duplicates #4153

Am I missing something..? This is #4153.

typo sorry


Independent animaions

I have 2 views. I want them to animate independently (with different parameters like 'duration' or so).
How can I achieve this behaviour?

You can apply different heroModifiers to them.
view1.heroModifiers = [.duration(0.5)]
view2.heroModifiers = [.duration(0.3)]


Added ability to add classes to the breadcrumb, item and link

Added ability to add classes to:

Breadcrumb
List item
Link

Updated documentation to reflect this ability.

 Issue #1309: Can’t add classes to breadcrumb links


Button: propType 'containerStyle' is invalid

Hi,
after upgrading from RN 0.17 to 0.19, I'm getting the following warning when using react-native-button:
Warning: Button: propType 'containerStyle' is invalid; it must be a function, usually from React.PropTypes.

I've made a pull request #27 to fix this.

@ide this issue should be fixed now

Thanks for quick PR, @peterlazar1993 and for quick release, @ide

I think this is happening again for "react-native": "^0.22.2"


strings.xml updater doesn't fully work

Today I wanted to update the translations of an app I had translated in the past. So I opened it in Stringlate and chose "Update strings.xml" from the menu.
It started loading and updated my GitHub fork, but the percentage stayed the same. Only way I could update the percentage was when I recloned the project.

Sorry for the delay. I'm closing this since it's a somewhat old issue and doesn't have enough information (it only happened once, and we don't know which repository caused this). If the repository was big, it might be that, or perhaps it was a slow network or temporary issue.


Targetting iOS 7.0 causes menu background to disappear

I am using the SSASideMenuStoryboardExample on xcode 6.3.1 and Swift 1.2. When I change the target to 7.0, the background disappears: http://cl.ly/image/283R403R0A0g
If I manually change the backgroundColor in LeftMenuViewController's viewDidLoad method to a solid color, the menu is now visible: http://cl.ly/image/3S1G021M0P1i
Any ideas how to get the background image to appear without having to set a solid color?

Interestingly, the non-storyboard example ("SSASideMenuExample") works fine with the target set to 7.0. Going to assume this is something to do with the storyboard setup. Closing.


Add PodDisruptionBudget to chart

Purpose of this PR
When running the operator in production, it would be nice to have a PDB to ensure HA and prevent service disruption.
Proposed changes:

Allow deploying a PDB within the chart

Change Category
Indicate the type of change by marking the applicable boxes:

[ ] Bugfix (non-breaking change which fixes an issue)
[x] Feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that could affect existing functionality)
[ ] Documentation update

Rationale
Here's a blog post that summarizes the main advantages of PDBs
Checklist
Before submitting your PR, please review the following:

[x] I have conducted a self-review of my own code.
[x] I have updated documentation accordingly.
[x] I have added tests that prove my changes are effective or that my feature works.
[x] Existing unit tests pass locally with my changes.

Additional Notes
x

@csp33 What's the minimum k8s version needed to support this feature?

@csp33 What's the minimum k8s version needed to support this feature?

1.21
https://kubernetes.io/docs/tasks/run-application/configure-pdb/

/lgtm


add @vik.bme.hu

@hoopy1986 First stage of verification passed, official domain for Budapesti Műszaki és Gazdaságtudományi Egyetem is vik.bme.hu as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.


Exception 'The limit of '0' for Top query has been exceeded' by calling examples with parameter "top"

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
BUG:

Step to reproduce:

checkout branch  "release/6.3"
Execute \examples\AspNetCore\OData\ODataOpenApiExample\
Call https://localhost:5001/api/Orders?api-version=2.0&top=1

I assume that the parameter "top" generates exceptions for all OData examples having options.Validate or [EnableQuery].
Expected Behavior
Response 200
Steps To Reproduce
No response
Exceptions (if any)
Microsoft.OData.ODataException: 'The limit of '0' for Top query has been exceeded. The value from the incoming request is '1'.'
.NET Version
net6.0
Anything else?
No response

This is ultimately an issue with OData; however, I didn't want to just punt you over to their repo. I've updated any existing issue with comprehensive details regarding the problem in OData/AspNetCoreOData#695.
TL;DR
The crux of the problem is that Order has model bound settings applied a result of [Select] being used. This cause all other MaxTop settings to be ignored.  One fix is to apply [Page(MaxTop = 42)]. That would apply to all API versions, but that might be ok. The other way is to apply it via the model builder:
builder.EntitySet<Order>("Orders").EntityType.Page(maxTopValue: 42, default);

This can easily be applied via IModelConfiguration (e.g. OrderConfiguration.cs) and can vary by API version. Model bound settings are enforced before [EnableQuery] so those settings end up being ignored.
It was pretty tedious to track down the main cause. I'll update the examples so that they at least work as expected.


fix(sec): upgrade org.apache.tinkerpop:gremlin-core to 3.5.2

What happened？
There are 1 security vulnerabilities found in org.apache.tinkerpop:gremlin-core 3.5.1

MPS-2022-12129

What did I do？
Upgrade org.apache.tinkerpop:gremlin-core from 3.5.1 to 3.5.2 for vulnerability fix
What did you expect to happen？
Ideally, no insecure libs should be used.
How was this patch tested?
Run mvn compile failed locally, couldn't complete the build process.
Run mvn clean test failed locally, unit-test couldn't pass.
The specification of the pull request
PR Specification from OSCS

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhoumengyks seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @zhoumengyks,
Thanks for contributing! Please sign-off the CLA then we can get this pull request landed.

Codecov Report

Merging #2118 (ce598f6) into main (b6d68bc) will decrease coverage by 3.76%.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #2118      +/-   ##
==========================================
- Coverage   43.81%   40.05%   -3.77%
==========================================
  Files          87       87
  Lines        9891     9891
==========================================
- Hits         4334     3962     -372
- Misses       5557     5929     +372

Impacted Files
Coverage Δ

python/graphscope/tests/unittest/test_java_app.py
0.00% <0.00%> (-100.00%)
:arrow_down:

python/graphscope/deploy/hosts/cluster.py
29.41% <0.00%> (-58.83%)
:arrow_down:

python/graphscope/analytical/app/java_app.py
24.36% <0.00%> (-44.68%)
:arrow_down:

python/graphscope/framework/utils.py
40.10% <0.00%> (-14.85%)
:arrow_down:

python/graphscope/framework/app.py
69.95% <0.00%> (-10.33%)
:arrow_down:

python/graphscope/client/rpc.py
81.48% <0.00%> (-8.34%)
:arrow_down:

python/graphscope/framework/graph_schema.py
52.73% <0.00%> (-6.63%)
:arrow_down:

python/graphscope/tests/conftest.py
48.81% <0.00%> (-4.41%)
:arrow_down:

python/graphscope/analytical/udf/utils.py
36.17% <0.00%> (-3.20%)
:arrow_down:

python/graphscope/client/session.py
63.24% <0.00%> (-2.97%)
:arrow_down:

... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b6d68bc...ce598f6. Read the comment docs.

Closing as upgrading gremlin-core is not our current plan and there's no bandwidth to investigate the failure on CI.


Diversity Committee update (Membership)

The Membership list needs to be revised.  Currently, Edee, Rick, Irene, Blake Thomas, and three faculty members are on the committee.  There is no Vice President for Administration and Planning, and no Special Assistant to the Provost for Diversity Initiatives.

A suggestion for adding a student member to the committee:
---------- Forwarded message ---------
From: Edee Schulze<EMAIL_ADDRESS>Date: Sat, Oct 1, 2022 at 10:25 AM
Subject: Re: Diversity Committee
To: Jaron Burdick<EMAIL_ADDRESS>Jaron,
There has been a student sporadically on the committee in the past. Since the diversity and equity manager position was created (within the last 3 or 4 years), the faculty handbook has not been updated to reflect the creation of this position and the inclusion of a student on this committee. I am supportive of a student being on this committee so I recommend we invite Melanie and update the faculty handbook accordingly.
The gathering of the committee was initiated by Mark Sargent and by the provost's office under Rick. I will ask Gayle in my meeting with him next week who he would like to appoint as the chair of the committee and let you and Kim know. She can talk with him also about it in her meeting with him next week if she likes.
Edee Schulze, Ph.D.
Vice President for Student Life


Hide routes from the API when they're not needed.

The 'routes' table is a point of confusion with new developers. By
providing a 'home' argument that sets the '/' route, we can delay the
point at which we teach developers about 'routes' until the point where
they want to have a second route.
cc @abarth for review
cc @qchong, @collinjackson for impact on codelab
Fixes https://github.com/flutter/flutter/issues/3340

fyi @lukechurch

I'll update the codelab. Thanks!


Feat/implement footer

Fixes #95

Added Footer Page on wagtail admin
Added Footer Index Page on wagtail admin
Footer Index Page will hold all Footer Pages
Footer Listing Wagtail Admin View will default to orderable view

This looks good to me. The Footer Index Page is a sensible way of managing footers. In particular, having ordering by default is really nice and a big improvement from v1 that has been requested.
@istride @isedwards over to you for review.

resolve conflicts and fixed migration file, so before pulling new code run the following commands
make ssh
cd /app/
python manage.py migrate home 0004

then you can pull new code and run new migrations

Hey @istride, could you please go through this PR.


[Question]: cannot open the web service

Describe your problem
Dear author:
I deploy the ragflow via the docker, command "docker logs -f ragflow-server" show the same infos as in readme

but i can not open the web service in "<IP_ADDRESS>:80", i can access the backend api in "<IP_ADDRESS>:9380"。

Is there a problem with nginx?

It seems the network is not fine.

It seems the network is not fine.

sorry, 80 Port seems to be occupied by some other application, I change docker-compose.yml:services/ragflow/ports"80:80" to "81:80" and can access the web service via 81 port.


How to extend basic edit form for my custom component?

I want to have my own custom edit form for my component as it show in example here
https://github.com/formio/angular/wiki/Custom-Components-with-Angular-Elements
with minimalEditForm(), but I want to change only few fields different from basic edit form.

@TimurAztec the default edit form for custom components is the Text Field component one.
There are two ways for you to change it:

Go to formio.js repo and navigate to src/components/textfield.
You'll see editForm folder with files that have sets of components used in edit form and TextField.form.js file that combines them. You may take them, modify for your needs and use in your application.
In your application you may direct import textfield (or any other component) edit form and change it in static editForm() method of your component. Here is an example on how you may do this.


[Blockchain] Blockchain as a form of e-voting

Introduction
Satoshi Nakamoto, in his famous paper Bitcoin: A Peer-to-Peer Electronic Cash System begins by talking about how the Internet's commerce and transaction system suffers from a trust-based model. Furthermore, Nakamoto mentions this model's need for a central authority that acts as an intermediary for transactions, that is, any and all transactions must go through this central authority. Think, for example, of a bank. Nakamoto's proposal in his paper is precisely that of a decentralized and highly secure technology as an alternative to this current model: the Blockchain.
Drawing a parallel with a voting process, its integrity and effectiveness also depend on voters' trust and in the authorities that organized it. Electronic voting can improve some aspects of manual voting such as the speed, simplicity, and flexibility of the process. On the other hand, they bring red flags that deserve attention and care, such as issues of secrecy, privacy, transparency, and security.  Some places around the world have used some form of electronic voting or experimented with this voting model. In my country, Brazil, electronic voting machines have been used for elections since the 1990s, for example. In Moscow, an e-voting experiment was recently carried out using Blockchain as a backend.
In the words of The Economist, the Blockchain is a way of " creating and preserving truths". In fact, the technology has promising properties for an electronic voting system such as anonymity, decentralization, transparency, immutability, and encryption. In this article, we will briefly see what Blockchain is, then we will see how this technology can be used in electronic voting, its advantages and problems, and end by talking a little about Moscow's experience using Blockchain in an election.
Key Takeaways

Quick revision of Blockchain, how it works, and its basic properties;
How can Blockchain be used in e-voting systems;
Advantages and problems of using Blockchain in e-voting;
Example: how was Moscow's e-voting experience using Blockchain.

References

Blockchain for Electronic Voting System — Review and Open Research Challenges.
The great chain of being sure about things.
Bitcoin: A Peer-to-Peer Electronic Cash System.
How Moscow organized voting on a Blockchain in 2020.

Seems like a helpful topic. Let's ensure that it adds value to the community. It should be different from already published articles on other sites. Thanks


Create data for testing

Testing the classes I wrote to store data is impossible off the RSP at the moment, which is problematic.
The most elegant way to do this will be to create a small SQL database with exactly the same tables as the RSP for a single object using DP0.3 data. There's already some placeholder code in the classes where I can add functionality to read from a SQL database.

I think *.db is in the .gitignore  so I'll probably have to remove that.

This would be awesome for working on a local machine. It would be ideal if we could have a small number of objects representing the main dynamical groups (e.g. main belt asteroids, near earth objects, transneptunian objects)


Add Serving Runtime resource

Short description:
Add the ServingRuntime resource.
More details:
Serving Runtimes are used to deploy ML models in OpenShift.
What this PR does / why we need it:
This PR will allow us to handle ServingRuntimes.
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

Report bugs in Issues
The following are automatically added:

Add reviewers from OWNER file (in the root of the repository) under reviewers section.
Set PR size label.
New issue is created for the PR. (Closed when PR is merged/closed)
Run pre-commit if .pre-commit-config.yaml exists in the repo.

Available user actions:

To mark PR as WIP comment /wip to the PR, To remove it from the PR comment /wip cancel to the PR.
To block merging of PR comment /hold, To un-block merging of PR comment /hold cancel.
To mark PR as verified comment /verified to the PR, to un-verify comment /verified cancel to the PR.
verified label removed on each new commit push.
To cherry pick a merged PR comment /cherry-pick <target branch to cherry-pick to> in the PR.

Multiple target branches can be cherry-picked, separated by spaces. (/cherry-pick branch1 branch2)
Cherry-pick will be started when PR is merged

To build and push container image command /build-and-push-container in the PR (tag will be the PR number).
To add a label by comment use /<label name>, to remove, use /<label name> cancel
To assign reviewers based on OWNERS file use /assign-reviewers
To check if PR can be merged use /check-can-merge

Supported /retest check runs

/retest tox: Retest tox
/retest python-module-install: Retest python-module-install

Supported labels

hold
verified
wip
lgtm

/verified

/verified

/verified

/verified

/verified

/verified

/verified

/lgtm

/verified

/check-can-merge


[CELEBORN-657][BUG] DataPushQueue return task should always remove iterator

What changes were proposed in this pull request?
DataPushQueue return task should always remove iterator
Related to
https://github.com/apache/incubator-celeborn/commit/251b923b5beb0bd13cdf8059a39edc7d6e435364
https://github.com/apache/incubator-celeborn/commit/cb19ed1c66a8ece834fc6aea10b8b57627d2eec6
Why are the changes needed?
Does this PR introduce any user-facing change?
How was this patch tested?

ping @RexXiong

Merged to main/0.3

@RexXiong the JIRA ticket seems not resolved correctly.

@RexXiong the JIRA ticket seems not resolved correctly.

This maybe due to merge 0.3 error.(My local workspace not clean)...

in such case, you may need to do extra work manually, to make to JIRA ticket stay correct state

in such case, you may need to do extra work manually, to make to JIRA ticket stay correct state

I see.


preview mode: Show info text as hover

Nice to have: In preview mode, show the text of the "info" field as a hover text field (with an (i) symbol).
(Of course without the { $P_EpistemicGoals_Other_MeasurementAuxiliaries |etc. syntax add-ons).

Done. 6aa74e08e3079e14b3bd204ccd8ff6f895ab7fae

Looks nice! But I found a markup that was not erased:

I think this is a problem in the core-pubs.json

I checked it in the collector app too, it is still there.
The problem is, you open it with {:0 | but there is no closing }.

I think this is something from the past, since we also changed it to {:'YesParts' | ...} or similar

Ah, OK. Can you fix it?


  Quite a few merge conflicts here :)

The conflicts are the deleted tutorials - they all match what I identified in the Jira ticket (https://figmentio.atlassian.net/browse/LR-317) as well as the two tutorials that I put together into multipage - "Substrate Kitties" and "Polygon Peer to Peer payments".
I'm not certain why it is conflicting...


Why does the ZSH theme look nothing like dracula?

So I'm just curious as to why the ZSH dracula theme looks nothing like the others themes.
I've become accustom to a look like below;

But instead, the ZSH theme looks like this (which is really ugly if I'm honest...)

Is there any particular reason for this? Are we supposed to do something extra or what?

You would need to set the theme of your terminal to Dracula to get the right colours.
I assume that's the default Terminal in MacOS? If so, this is what you want https://draculatheme.com/terminal/

You would need to set the theme of your terminal to Dracula to get the right colours.
I assume that's the default Terminal in MacOS? If so, this is what you want https://draculatheme.com/terminal/

Thanks but I've already done that. I'm using iTerm2.
If I open iTerm it's black like the image shown in OP, but if I open a new tab or a new window, it shows the Dracula colours. Any idea how to fix this? 🤔

Hmm, that's an odd issue. I'm not familiar with iTerm, so not sure  of any fixes. Only thing I can think of is an option for setting the default profile.

Very odd. Managed to fix this by just resetting my iTerm completely. Seems to be working now. Must have been some sort of error/corruption in my profile.
Thanks for the help. :)


Mimo HDMI Capture device not creating audio device laptop

We use HDMI capture devices (such as Magewell, Innogenni or Logitech) to capture video and audio from a laptop and display/play on a desktop system.   When the laptop is plugged into capture device and the capture device is plugged into the desktop, A new "playback device" appears on the Control Panel -> Playback and Sound -> Manage Audio devices -> Playback tab.   On the desktop computer we see a HDMI capture device under recording devices.
This all works fine with our custom app using the NAudio library.
However, one capture device - the Mimo HDMI Capture device - no audio playback device shows on the laptop at all and we cannot get audio.  We can see on the desktop a "Plankton HDMI Capture Audio" device under recording devices.  When we try using the MS Camera app or VLC media player, somehow these cause an audio playback device to appear on the laptop and we can then hear audio through these apps.
We have talked to the Mimo manufacturer and they do not know why our software with NAudio is not causing an audio playback device to appear on the laptop.
Below is our code.  When debugging it all works OK - no errors.  But no audio is present (probably because there is no audio device present on the laptop).  Is there another call we can/should make that would trigger the audio device to appear on the laptop?
`               WaveInCapabilities waveInCapabilities = NAudio.Wave.WaveIn.GetCapabilities(waveInDeviceNumber);
            //Input
            WaveIn = new WaveInEvent();
            WaveIn.BufferMilliseconds = 50;
            WaveIn.DeviceNumber = waveInDeviceNumber;

            if (waveInCapabilities.SupportsWaveFormat(SupportedWaveFormat.WAVE_FORMAT_96S16))
            {
                WaveIn.WaveFormat = new WaveFormat(96000, 2);
            }
            else if (waveInCapabilities.SupportsWaveFormat(SupportedWaveFormat.WAVE_FORMAT_44S16))
            {
                WaveIn.WaveFormat = new WaveFormat(48000, 2);
            }
            else if (waveInCapabilities.SupportsWaveFormat(SupportedWaveFormat.WAVE_FORMAT_4S16))
            {
                WaveIn.WaveFormat = new WaveFormat(44100, 2);
            }
            else if (waveInCapabilities.SupportsWaveFormat(SupportedWaveFormat.WAVE_FORMAT_2S16))
            {
                WaveIn.WaveFormat = new WaveFormat(22050, 2);
            }
            else if (waveInCapabilities.SupportsWaveFormat(SupportedWaveFormat.WAVE_FORMAT_1S16))
            {
                WaveIn.WaveFormat = new WaveFormat(11025, 2);
            }
            else
            {
                WaveIn.WaveFormat = new WaveFormat(11025, 1);
            }

            //Output
            WaveProvider = new BufferedWaveProvider(WaveIn.WaveFormat);
            WaveOut = new WaveOut();
            WaveOut.Init(WaveProvider);
            WaveOut.DesiredLatency = 50;
            WaveOut.Volume = (float)0.01;

            WaveIn.StartRecording();
            WaveOut.Play();`

You use in code " WaveIn" recording interface - IT IS VERY OLD (Win 95) audio recording interface, and it DEMANDS that audio capture devices output RAW WAVE stream. If Mimo Vue Capture outputs ONLY COMPRESSED audio stream (MP3, AAC, Dolby Surround) - then on interface " WaveIn" you have got NOTHING: there IS NOT any devices with output RAW WAVE stream.
Could you change NAudio.Wave.WaveIn on WASAPI ?

Thanks for the info.  We are testing with the NAudio "NAudioWpfDemo"  Sample, using the WASAPI capture.  It shows our device on the desktop, but does not cause an audio playback device to appear on laptop.  Do we need to make a specific WASAPI call to trigger the laptop to show the playback device? Any other suggestions?
thanks!

So, it looks like problem with USB Audio Class driver on laptop - driver must redirect audio stream from USB class to WASAPI, but it does not. I previously said - " If Mimo Vue Capture outputs ONLY COMPRESSED audio stream (MP3, AAC, Dolby Surround)" - could you check what is format of output audio stream?
You can download project CaptureManager-SDK-Demos  and compile and launch CaptureManager-SDK-Demos/CSharpDemos/WPFDeviceInfoViewer for getting all media devices streams formats info.

Great, thanks for the help.  Here is the info from the MIMO.  We also tried the NAudio WASAPI capture example, but it did not work to capture the audio on the MIMO.
> \\usb#vid_266e8pid_50028&35d6fdc6
> Microphone (3- Plankton Captured HDMI Audio)
> Attributes of source
> The endpoint ID for an audio capture device.
{<IP_ADDRESS>00000}.{ff513b05-c504-480b-8962-5947 1b093cd5}
> The type of audio capture source.
Hardware device
> The display name for a device.
Microphone (3- Plankton Captured HDM! Audio)
> The symbolic link for a audio capture driver.
\VAASWD#MMDEVAPEHO.0. 100000000} .{ff5 1 3b05-c504-480b-8962-5947 1b093cd5}#(2eef81 be-33fa-4800-9670-10d474972c3f}
> The type of device.
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID
> The link for a capture device.
\\\usb4vid_266e&pid_50028&35d6fdc6
> Presentation - Stream count: 1
> Stream - Index: 0; StreamType: MFMediaType_Audio
> Attributes of Stream
> The name of a stream.
Audio stream
> MediaTypes - MediaTypes count: 1
> MediaType - Index: 0
> Average number of bytes per second.
384000
> Block alignment, in bytes.
8
> Number of audio channels.
2
> Major type GUID for a media type.
MFMediaType_Audio
> Specifies the assignment of audio channels to speaker positions.
| Values
> Number of audio samples per second (integer value).
48000
> Independent of samples.
True
> Number of bits per audio sample.
32
> Subtype GUID for a media type.
MFAudioFormat_Float

So, CaptureManager SDK recognize the target audio capture correct. It means that USB audio class works correct and produces Raw WAVE format in Float 32 bit format.
In WasapiCaptureDemo/WasapiCaptureViewModel.cs there is the next code line:
CaptureDevices = enumerator.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active).ToArray();
Could you check 'CaptureDevices' with DeviceState.All on presenting Plankton Captured HDMI Audio.
In desktop there is not default microphone, and code:
var defaultDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Capture, Role.Console);
can return Plankton Captured HDMI Audio as default,
However, laptop HAS default microphone, and it can skip Plankton Captured HDMI Audio

Hi Xirexel,  thanks for the help we really appreciate it.
We tested the WasapiCaptureDemo with  'CaptureDevices' with DeviceState.All it does display the Plankton Captured HDMI Audio (as before) but still no audio device shows up on the laptop.
We are unsure of what you mean by  "...However, laptop HAS default microphone, and it can skip Plankton Captured HDMI Audio".
We looked closely at the VLC code and ran it with debugger to try an find out what it is sending to the Mimo HDMI capture device to cause it to create an audio playback device on the laptop.  No such luck.
I need to restate - that we do not have this issues with other HDMI capture devices: Magewell, Innogeni or Logitech.
thanks again

Hi Xirexel,  thanks for the help we really appreciate it.
We tested the WasapiCaptureDemo with  'CaptureDevices' with DeviceState.All it does display the Plankton Captured HDMI Audio (as before) but still no audio device shows up on the laptop.
We are unsure of what you mean by  "...However, laptop HAS default microphone, and it can skip Plankton Captured HDMI Audio".
We looked closely at the VLC code and ran it with debugger to try an find out what it is sending to the Mimo HDMI capture device to cause it to create an audio playback device on the laptop.  No such luck.
I need to restate - that we do not have this issues with other HDMI capture devices: Magewell, Innogeni or Logitech.
thanks again

Hi Evgeny,   we were away for the Christmas break.  We responded to the note on Github NAudio about the Mimo capture device - still no luck.
If you could please take a look we would really appreciate it.  We are happy to pay you for your time as well.  Please let me know.

From: Evgeny Pereguda<EMAIL_ADDRESS>Sent: Tuesday, December 22, 2020 7:15 PM
To: naudio/NAudio<EMAIL_ADDRESS>Cc: Don Cameron<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [naudio/NAudio] Mimo HDMI Capture device not creating audio device laptop (#718)
You use in code " WaveIn" recording interface - IT IS VERY OLD (Win 95) audio recording interface, and it DEMANDS that audio capture devices output RAW WAVE stream. If Mimo Vue Capture outputs ONLY COMPRESSED audio stream (MP3, AAC, Dolby Surround) - then on interface " WaveIn" you have got NOTHING: there IS NOT any devices with output RAW WAVE stream.
Could you change NAudio.Wave.WaveIn on WASAPI ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/naudio/NAudio/issues/718#issuecomment-749903233, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIIWPS6H7WH47NQFICRYYRLSWFOG3ANCNFSM4VGCZXPQ.

Hi Evgeny,   we were away for the Christmas break.  We responded to the note on Github NAudio about the Mimo capture device - still no luck.
If you could please take a look we would really appreciate it.  We are happy to pay you for your time as well.  Please let me know.

From: Evgeny Pereguda<EMAIL_ADDRESS>Sent: Tuesday, December 22, 2020 7:15 PM
To: naudio/NAudio<EMAIL_ADDRESS>Cc: Don Cameron<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [naudio/NAudio] Mimo HDMI Capture device not creating audio device laptop (#718)
You use in code " WaveIn" recording interface - IT IS VERY OLD (Win 95) audio recording interface, and it DEMANDS that audio capture devices output RAW WAVE stream. If Mimo Vue Capture outputs ONLY COMPRESSED audio stream (MP3, AAC, Dolby Surround) - then on interface " WaveIn" you have got NOTHING: there IS NOT any devices with output RAW WAVE stream.
Could you change NAudio.Wave.WaveIn on WASAPI ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/naudio/NAudio/issues/718#issuecomment-749903233, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIIWPS6H7WH47NQFICRYYRLSWFOG3ANCNFSM4VGCZXPQ.

Hi, you wrote that you have very unique problem ("that we do not have this issues with other HDMI capture devices: Magewell, Innogeni or Logitech") with combination unique capture device and laptop ("It shows our device on the desktop, but does not cause an audio playback device to appear on laptop"). I had marked Plankton Captured HDMI Audio as USB Audio Class - looks like the target laptop cannot route USB Audio Class to WASAPI. It could be problem with drivers on the laptop, or problem with USB Hub of the laptop.
So, I can spend couple days on you task - but I need a remote access to the target laptop the Visual Studio by TeamViewer. You can send access key by email.

Hi, you wrote that you have very unique problem ("that we do not have this issues with other HDMI capture devices: Magewell, Innogeni or Logitech") with combination unique capture device and laptop ("It shows our device on the desktop, but does not cause an audio playback device to appear on laptop"). I had marked Plankton Captured HDMI Audio as USB Audio Class - looks like the target laptop cannot route USB Audio Class to WASAPI. It could be problem with drivers on the laptop, or problem with USB Hub of the laptop.
So, I can spend couple days on you task - but I need a remote access to the target laptop the Visual Studio by TeamViewer. You can send access key by email.


window.close() javascript function

window.close() has been around since forever, so will work in all browsers.

Available at https://caniuse.com/#feat=mdn-api_window_close


How to run celery periodic task starting from specific date to some other date

I want to run periodic task with some cron type scheduler with some fixed date range.
lets say I want to run task from 25 May 2016 to 30 Nov 2016 for an every hour.
Any example?

If i am not wrong ETA and EXPIRES are already present.
http://docs.celeryproject.org/en/latest/userguide/calling.html#eta-and-countdown
tomorrow = datetime.utcnow() + timedelta(days=1)
add.apply_async((2, 2), eta=tomorrow)
AND
add.apply_async((10, 10), kwargs, expires=datetime.now() + timedelta(days=1)


[Bug] Unit test infers the wrong data type when the first record has some NULL values

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
unit_tests:
  - name: test_user_events_combined
    model: int_mycfg__user_events_combined
    given:
      - input: ref('stg_mycfg__user_events')
        rows:
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 1,
              is_closed: null, # <--- if we change both of these null values to true/false, the error goes away.
              is_validated: null, # <--- if we change both of these null values to true/false, the error goes away.
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:02:00",
              user_id: 1,
              is_closed: null,
              is_validated: true,
              user_action: validated,
            }
      - input: ref('stg_mycfg__user_snapshot')
        rows: []
    expect:
      rows:
        - { user_id: 1, is_closed: true, is_validated: true }
        - { user_id: 2, is_closed: null, is_validated: true }
        - { user_id: 3, is_closed: true, is_validated: null }
        - { user_id: 4, is_closed: null, is_validated: null }
        - { user_id: 5, is_closed: false, is_validated: true }
        - { user_id: 6, is_closed: true, is_validated: true }

When you run the test you will see error like this.

And here is the logs:

Input build

Expected result build
Interestingly, the incorrect casting happen in the dbt_internal_unit_test_expected cte but not the input cte.

Our current workaround is to use sql to cast the correct type, eg.
select
    '2024-01-01 10:01:00' as created_at,
    1 as user_id,
    null::boolean as is_closed,
    null::boolean as is_validated,
    'created' as user_action
union all
select '2024-01-01 10:02:00', 1, null, true, 'validated'

Expected Behavior
The test runner should be able to guess the data type correctly.
Steps To Reproduce

Provide unit test data with some null values in the first record.
Run the test
ERROR!

Relevant log output

Input build

Expected result build
Interestingly, the incorrect casting happen in the dbt_internal_unit_test_expected cte but not the input cte.
Environment
- OS: Ubuntu 24.04 WSL
- Python: 3.12.2
- dbt: 1.8.0-rc1

Which database adapter are you using with dbt?
redshift
Additional Context
No response

Thanks for reporting this @leesiongchan !
I wasn't able to replicate this on my first try. Could you try out the files below and make any tweaks needed to trigger the error you saw?

Project files and commands

models/stg_mycfg__user_events.sql
select
    cast('2024-01-01 10:01:00' as timestamp) as created_at,
    1 as user_id,
    true as is_closed,
    false as is_validated,
    'created' as user_action

models/stg_mycfg__user_snapshot.sql
select 1 as id

models/int_mycfg__user_events_combined.sql
-- {{ ref("stg_mycfg__user_snapshot") }}
select * from {{ ref("stg_mycfg__user_events") }}

models/_unit.yml
unit_tests:
  - name: test_user_events_combined
    model: int_mycfg__user_events_combined
    given:
      - input: ref('stg_mycfg__user_events')
        rows:
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 1,
              is_closed: true,
              is_validated: true,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:02:00",
              user_id: 2,
              is_closed: null,
              is_validated: true,
              user_action: validated,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 3,
              is_closed: true,
              is_validated: null,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 4,
              is_closed: null,
              is_validated: null,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 5,
              is_closed: false,
              is_validated: true,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 6,
              is_closed: true,
              is_validated: true,
              user_action: created,
            }
      - input: ref('stg_mycfg__user_snapshot')
        rows: []
    expect:
      rows:
        - { user_id: 1, is_closed: true, is_validated: true }
        - { user_id: 2, is_closed: null, is_validated: true }
        - { user_id: 3, is_closed: true, is_validated: null }
        - { user_id: 4, is_closed: null, is_validated: null }
        - { user_id: 5, is_closed: false, is_validated: true }
        - { user_id: 6, is_closed: true, is_validated: true }

Run this command:
dbt build -s +stg_mycfg__user_events+1

You have to change your first record with some NULL values: eg.
unit_tests:
  - name: test_user_events_combined
    model: int_mycfg__user_events_combined
    given:
      - input: ref('stg_mycfg__user_events')
        rows:
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 1,
              is_closed: null,
              is_validated: null,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:02:00",
              user_id: 2,
              is_closed: null,
              is_validated: true,
              user_action: validated,
            }
        ...

@leesiongchan This worked for me -- is it not working for you?
unit_tests:
  - name: test_user_events_combined
    model: int_mycfg__user_events_combined
    given:
      - input: ref('stg_mycfg__user_events')
        rows:
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 1,
              is_closed: null,
              is_validated: null,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:02:00",
              user_id: 2,
              is_closed: null,
              is_validated: true,
              user_action: validated,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 3,
              is_closed: true,
              is_validated: null,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 4,
              is_closed: true,
              is_validated: true,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 5,
              is_closed: false,
              is_validated: true,
              user_action: created,
            }
          - {
              created_at: "2024-01-01 10:01:00",
              user_id: 6,
              is_closed: true,
              is_validated: true,
              user_action: created,
            }
      - input: ref('stg_mycfg__user_snapshot')
        rows: []
    expect:
      rows:
        - { user_id: 1, is_closed: null, is_validated: null }
        - { user_id: 2, is_closed: null, is_validated: true }
        - { user_id: 3, is_closed: true, is_validated: null }
        - { user_id: 4, is_closed: true, is_validated: true }
        - { user_id: 5, is_closed: false, is_validated: true }
        - { user_id: 6, is_closed: true, is_validated: true }

Oh... could this be dbt-redshift problem?

Ah! I can get the same error as you now.
It runs fine in dbt-postgres, but gives an error in dbt-redshift. See details below for a simplified example.

Reprex

models/some_input.sql
select
    1 as user_id,
    cast(true as boolean) as is_closed

models/my_model.sql
select * from {{ ref("some_input") }}

models/_unit.yml
unit_tests:

  - name: test__my_model
    model: my_model
    given:
      - input: ref('some_input')
        rows:
          - { user_id: 1, is_closed: null }
          - { user_id: 4, is_closed: true }
    expect:
      rows:
        - { user_id: 1, is_closed: null }
        - { user_id: 4, is_closed: true }

Run this command to see the error:
dbt build -s +my_model

Output:
17:09:03    Runtime Error in unit_test test__my_model (models/_unit.yml)
  An error occurred during execution of unit test 'test__my_model'. There may be an error in the unit test definition: check the data types.
   Database Error
    cannot cast type boolean to character varying

But if the order of the given inputs is swapped, then it runs successfully:
models/_unit.yml
unit_tests:

  - name: test__my_model
    model: my_model
    given:
      - input: ref('some_input')
        rows:
          - { user_id: 4, is_closed: true }
          - { user_id: 1, is_closed: null }
    expect:
      rows:
        - { user_id: 1, is_closed: null }
        - { user_id: 4, is_closed: true }

I'm having a similar error where using redshift using csv's as the input and output

Looking at the expected output
It's casting something that should be numeric as a character
cast('0' as character varying(128)) as conversion_value,
When it should be casting it as whatever the output model schema is

Thanks for reporting an additional error scenario @jnapoleon 👍
Could you share the relevant example code as well so we can make sure it gets covered by any potential solution?


Allow tuple colors to be put directly into GanjaScene

This means that the caller can now use any of the following in the color argument, all with the same meaning:

0x00FF0000
(255, 0, 0)
(0, 255, 0, 0)
(1.0, 0.0, 0.0)

Approved over-the-shoulder by @hugohadfield


Clone form

Functionality adds a button on form gallery which allows a user to copy/clone a form into their own dashboard. Removes the need for someone to download the xform and upload it on their own dashboard, especially if they are likely not going to modify the form but use it for their own use and keep their data private.

Is duplicate of #134


Kivy camera does not run on android device when compiled with Buildozer 1.0

Software Versions

Python: 3.6.5
OS: Ubuntu 18.04 LTS
Kivy: 1.11.1 and 2.0.0rc2(dev)
Kivy installation method: tested with Pip and Git(dev)
Buildozer: 1.0

Describe the bug
Kivy camera does not run on android device when compiled with Buildozer 1.0.
Test 01 - Buildozer 0.34 with default configs
android.api = 19
android.minapi = 9
android.ndk = 9c

Result: It's works fine for me with NDK 9c (others not work) , but the image appears rotated (90°).
Test 02 - Buildozer: 1.0 with default configs
android.api = 27
android.minapi = 21
android.ndk = 19b #I also tested 17c

Result: The app is compiled but closes after the presplash screen.
Test 03 - Buildozer: 1.0 with custom configs
android.api = 19
android.minapi = 18
android.ndk = 9c

Result: The Buildozer does not compile because the API Level was deprecated.
Related issues
Issue #6369 kivy camera example does not work on android
Conclusions

Camera Kivy still works with ANDROID_SDK_VERSION = '20' and  ANDROID_NDK_VERSION = '9c' with Buildozer 0.34.
The Camera widget depends of the android.hardware.Camera API (in camera_android.py file), that was deprecated in API level 21.
Buildozer 1.0 does not works with old API level.

Possible Solution
I think an alternative to solve the issue would be to upgrade the camera_android.py file with the Camera2 API, as in colour-blind-camera, but I still don't know how to do it.
To Reproduce
main.py:
'''
Camera Example
'''

# Uncomment these lines to see all the messages
# from kivy.logger import Logger
# import logging
# Logger.setLevel(logging.TRACE)

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
import time
Builder.load_string('''
<CameraClick>:
    orientation: 'vertical'
    Camera:
        id: camera
        resolution: (640, 480)
        play: False
    ToggleButton:
        text: 'Play'
        on_press: camera.play = not camera.play
        size_hint_y: None
        height: '48dp'
    Button:
        text: 'Capture'
        size_hint_y: None
        height: '48dp'
        on_press: root.capture()
''')

class CameraClick(BoxLayout):
    def capture(self):
        camera = self.ids['camera']
        timestr = time.strftime("%Y%m%d_%H%M%S")
        camera.export_to_png("IMG_{}.png".format(timestr))
        print("Captured")

class TestCamera(App):
    def build(self):
        return CameraClick()

TestCamera().run()

Built-in Kivy Camera widget is in a deprecated state now, use something else if you can.
Test 01 - The bug with rotation is known, and it is present only on phones (not exactly sure about iOS, though). Since the widget needs a major rewrite, I don't think this will be fixed.
Test 02 - Your app closes with API 21+, but what is the error? I have exactly the same setup as in your example, and everything works for me. I just had to pick a working resolution manually.
Test 03 - I doubt that version of buildozer supports such old APIs, but I may be wrong. Nevertheless, you stated yourself that it doesn't compile, so it is not a widget problem.

Where is it documented that Kivy Camera is depreciated?
"Depreciated state" means "bit rot", not depreciated.
I suggest the decision the depreciate Kivy Camera should not be made passively, as the camera is possibly the most important hardware feature on a mobile device.
It is correct that Android Camera is depreciated in favor of Android Camera2.
Camera2 works with Kivy as shown by the Color Blind Camera example.

I suppose, you misunderstood/misread my comment. I never said it is bad, and I decided to use it in my project just a few days ago. Also, I didn't "make decisions", I just repeated that it is old, lacks some features and needs an update - just what the devs said. For now, AFAIK, there are no people working on it, so one should consider implementing the camera functionality by other means to avoid such workarounds as in this issue.

We totally agree, I didn't say it was bad either,
"bit rot" is a phrase that describes how software, untouched, decays. Of course the software doesn't rot. It exists in an ever changing environment, and from the point of view of that environment it is decaying.
This is the issue with kivy.core.camera.  Depreciated is somthing different.

I took a look and kivy.uix.camera.Camera()  is missing the call to CoreCamera.init_camera()
Also the default resolution causes the camera to return before doing anything
The two changes below get the Kivy Camera example
https://kivy.org/doc/stable/examples/gen__camera__main__py.html
working on Windows.
Adding an init_camera() call is safe because all providers have init_camera() implemented.
There needs to be documentation for Windows saying to use the camera:
pip install opencv-python
Please consider implementing these changes.
Next I'm going to look at Android, that might take a while or maybe forever.
kiv/uix/camera.py
    def _on_index(self, *largs):
        self._camera = None
        if self.index < 0:
            return
        ########### change from < 0 to < -1 ######################
        if self.resolution[0] < -1 or self.resolution[1] < -1:
            return
        self._camera = CoreCamera(index=self.index,
                                  resolution=self.resolution, stopped=True)
        ########### add init_camera() ############################
        self._camera.init_camera()

        self._camera.bind(on_load=self._camera_loaded)
        if self.play:
            self._camera.start()
            self._camera.bind(on_texture=self.on_tex)

Thanks!
Buildozer 1.0 call current release of python-for-android that require a minimum target API level of 21 (Android 5.0 - Lollipop ).
So the Camera widget should be updated to android.hardware.camera2 api in camera_android.py.

Hi!
Has anyone succeed to replicate the colour-blind-camera app?

From the Kivy Camera Class? Sort of. I can display an image. But I have issues I have yet to explore: frame rate appears slow, issues related to rotation, and separately issues related to landscape/portrait. I wrote the code so I caused all these issues :( And of course there are issues I have not found yet ;)
Also more generally the Camera2 capability is much more than that required for the Camera Class, and this should be considered. Presumably the issues are addressable. I'm not working on a schedule or to a deadline, so avoid disapointment by asking.

Thanks!
Buildozer 1.0 calls current release of python-for-android that require a minimum target API level of 21 (Android 5.0 - Lollipop ).
So the Camera widget should be updated to android.hardware.camera2 api in camera_android.py to works fine, as in colour-blind-camera.

Can you please tell us, how you upgraded the camera api to camera2?

I tried it but couldn't get rotation to work properly. Mine will rotate smoothly (as expected) through 90 deg, but jumps and inverts for 180 and 270. I occasionally try to figure out how the Java is supposed to work, but without success. If you figure it out please share.

Hi!
I'm still not working on android.hardware.camera2 API.
But the Camera worked fine after add runtime permissions before call Camera API, in main.py. And added requirements = android,kivy,python3 to buildozer.spec.
I do this similar to xcamera in xcamera.py.
With API level >= 21, you will need to request runtime permissions to access the SD card,
the CAMERA, and other things.
I also tried it but couldn't get rotation to work properly.
from kivy.app import App
from kivy.lang import Builder
from kivy.clock import mainthread
from kivy.logger import Logger
from kivy.utils import platform

def is_android():
    return platform == 'android'

'''
Runtime permissions:
'''

def check_camera_permission():
    """
    Android runtime `CAMERA` permission check.
    """
    if not is_android():
        return True
    from android.permissions import Permission, check_permission
    permission = Permission.CAMERA
    return check_permission(permission)

def check_request_camera_permission(callback=None):
    """
    Android runtime `CAMERA` permission check & request.
    """
    had_permission = check_camera_permission()
    Logger.info("CameraAndroid: CAMERA permission {%s}.", had_permission)
    if not had_permission:
        Logger.info("CameraAndroid: CAMERA permission was denied.")
        Logger.info("CameraAndroid: Requesting CAMERA permission.")
        from android.permissions import Permission, request_permissions
        permissions = [Permission.CAMERA]
        request_permissions(permissions, callback)
        had_permission = check_camera_permission()
        Logger.info("CameraAndroid: Returned CAMERA permission {%s}.", had_permission)
    else:
        Logger.info("CameraAndroid: Camera permission granted.")
    return had_permission

perm_denied = '''
BoxLayout:
    orientation: 'vertical'
    size: root.size

    canvas:
        Color:
            rgb: 0, 0, 0
        Rectangle:
            size: self.size

    Label:
        text:"DENIED CAMERA"

'''

camUI = '''
BoxLayout:
    size: root.size

    canvas:
        Color:
            rgb: 1, 0, 0
        Rectangle:
            size: self.size

    Camera:
        id: cam0
        resolution: (480,640)
        play: True
        size_hint: 1,1
        allow_stretch: True
'''

class TestCamera(App):

    def build(self):

        @mainthread
        def on_permissions_callback(permissions, grant_results):
            """
            On camera permission callback calls parent `_on_index()` method.
            """
            if all(grant_results):
                return Builder.load_string(camUI)

        if check_request_camera_permission(callback=on_permissions_callback):
            return Builder.load_string(camUI)
        else:
            return Builder.load_string(perm_denied)

TestCamera().run()

Now i'm working in camera_android.py in order fix the rotation issue.

Hi,
I'm not sure if this is relevant and the same rotation issue, that you are having, but I've managed to do some temporary workaround for my rotation issue where camera texture is inverted and after rotation by 90 degrees camera becomes really small. Maybe this will help someone
<XCamera>:
    id: camera
    resolution: (640, 480) # 1920, 1080
    allow_stretch: True
    play: True
    size_hint: 0, 0
    pos: self.parent.pos
    canvas.before:
        PushMatrix:
        Rotate:
            axis: 0, 0, 1
            angle: -90
            origin: self.parent.center
    canvas.after:
        Color:
            rgba: 1,1,1,1
        Rectangle:
            pos: (-self.sheight / 2 + 80, self.swidth / 4 -40)
            size: self.window_sizes
            texture: camera.texture
        PopMatrix

Where swidth sheight is defined in a constructor class of xcamera class as follows:
def __init__(self, **kwargs):
    super().__init__(**kwargs)
    self.swidth = Window.size[1]
    self.sheight = Window.size[0]
    self.window_sizes = (self.swidth, self.sheight)

This is still a background project for me.
Below is my best shot so far at the rotation issue,  with .spec orientation = all.   The long side of the image is always parallel to the long side of the display (which is how I think things should be) on my Pixel 3.
from android import mActivity

class XCameraWrapper(XCamera):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self._camera.bind(on_load=self.loaded)

    def loaded(self,platform_camera):
         mActivity.setRequestedOrientation(LANDSCAPE)

But the selfie camera is still mis-orientented, and the switch between cameras can only occur one Kivy event after the LANDSCAPE call above otherwise it crashes.  Reading your code you might have found a partial solution for the mis-orientation.
My attempts at pause/resume when another app uses the camera in between do not have a happy ending.  :(

My attempts at pause/resume when another app uses the camera in between do not have a happy ending. :(

Do you have pause/resume issues with the colour-blind-camera method?

Do you have pause/resume issues with the colour-blind-camera method?

I gave up on the Camera2 API, because I could not get rotation to work.
Since then I have discovered that SDL2 will do rotation for me, at least with Camera API and I expect Camera2 API
The magic word is orientation =sensorLandscape Simple when you know how.
Pause/resume is still an issue, using xcamera : CameraAndroid()._release_camera() and CameraAndroid().init_camera() when on_resume() the init_camera() results in:

10-11 13:46:49.332  1123  2199 W ServiceManager: Permission failure: android.permission.SYSTEM_CAMERA from uid=10487 pid=5506

Which is really odd because check_permission(Permission.CAMERA) is at all times True.
This might be an artifact of my using Android 11 https://source.android.com/devices/camera/system-cameras
Also I'm using sdk=27, Android permissions implementation is changing, something else to check...
All I really want is to point users to a camera that can be made to work on Android :(

I took another look and the issue is the same shader fails to link at resume.
I think because the old shader is still in a RenderContext dict. But I get can't see all the way...
I use:
  def on_pause(self):
       if self.xcamera._camera:
           self.xcamera._camera._release_camera()
       return True

   def on_resume(self):
       if self.xcamera._camera:
           self.xcamera._camera.init_camera()

I get:

10-12 16:21:28.177 14357 14357 I python  :    File "kivy/graphics/shader.pyx", line 587, in kivy.graphics.shader.Shader.link_program
10-12 16:21:28.177 14357 14357 I python  :  Exception: Shader didnt link, check info log.

Do you have pause/resume issues with the colour-blind-camera method?

I gave up on the Camera2 API, because I could not get rotation to work.
Since then I have discovered that SDL2 will do rotation for me, at least with Camera API and I expect Camera2 API
The magic word is orientation =sensorLandscape Simple when you know how.
Pause/resume is still an issue, using xcamera : CameraAndroid()._release_camera() and CameraAndroid().init_camera() when on_resume() the init_camera() results in:

10-11 13:46:49.332  1123  2199 W ServiceManager: Permission failure: android.permission.SYSTEM_CAMERA from uid=10487 pid=5506

Which is really odd because check_permission(Permission.CAMERA) is at all times True.
This might be an artifact of my using Android 11 https://source.android.com/devices/camera/system-cameras
Also I'm using sdk=27, Android permissions implementation is changing, something else to check...
All I really want is to point users to a camera that can be made to work on Android :(

Hey Robert, would you be able to elaborate a little on how you used SDL2 to fix the camera rotation and orientation problem? I am going crazy trying to get mine to work, it is stuck in -90 degree landscape. I tried using @pawel3275, and other peoples Push and PopMatrix solutions but it does weird transformations on the texture I guess due to the fact that it's crunching the sides and pulling the ends, and it only changes the orientation to portrait - rotation is still broken. Cheers.

Do you have pause/resume issues with the colour-blind-camera method?

I gave up on the Camera2 API, because I could not get rotation to work.
Since then I have discovered that SDL2 will do rotation for me, at least with Camera API and I expect Camera2 API
The magic word is orientation =sensorLandscape Simple when you know how.
Pause/resume is still an issue, using xcamera : CameraAndroid()._release_camera() and CameraAndroid().init_camera() when on_resume() the init_camera() results in:

10-11 13:46:49.332  1123  2199 W ServiceManager: Permission failure: android.permission.SYSTEM_CAMERA from uid=10487 pid=5506

Which is really odd because check_permission(Permission.CAMERA) is at all times True.
This might be an artifact of my using Android 11 https://source.android.com/devices/camera/system-cameras
Also I'm using sdk=27, Android permissions implementation is changing, something else to check...
All I really want is to point users to a camera that can be made to work on Android :(

Hey Robert, would you be able to elaborate a little on how you used SDL2 to fix the camera rotation and orientation problem? I am going crazy trying to get mine to work, it is stuck in -90 degree landscape. I tried using @pawel3275, and other peoples Push and PopMatrix solutions but it does weird transformations on the texture I guess due to the fact that it's crunching the sides and pulling the ends, and it only changes the orientation to portrait - rotation is still broken. Cheers.

are you guys able to change the resolution of the camera? i keep gettings this error and the app crashes afterwards
python  :  ...
python  :       57:                    id: camera
python  :       58:                    index: 1
python  :  >>   59:                    resolution: (640,480)

are you guys able to change the resolution of the camera? i keep gettings this error and the app crashes afterwards
python  :  ...
python  :       57:                    id: camera
python  :       58:                    index: 1
python  :  >>   59:                    resolution: (640,480)

Hi guys,
My app DeOlhonaCosta have camera runtime permission and rotation ok. But I still struggling with camera full screen issue. Any one solved this?
Permission runtime (the same as @fs-melo ) + resolution + rotation issue  solve.
I know this is not an elegant way to do it, but it works!
Until runtime permission is not granted the resolution=self.resolution, after permission is granted resolution=[640,480]
def capture(self):
    '''
    Function to capture the images and give them the names
    according to their captured time and date.
    '''
    #from os import getcwd
    #self.cwd = getcwd() + "/"
    #path = self.cwd
    ##    return
    #from android.permissions import Permission, request_permissions
    #request_permissions(Permission.CAMERA)
    global name_trans
    global name_fx
    import os
    camera=self.ids['camera']
    print (camera.resolution)
    camera.resolution=[640,480]

   `

`<Camera_page>:
#id: camera_01
canvas:
Color:
rgba: 0.531,0.5546,0.6172,1
Rectangle:
size: self.size
pos: self.pos
orientation:'vertical'
size: root.size
Camera:
    id: camera
    allow_stretch: True
    resolution: self.resolution #(640,480) #(1280,960) #(1920,1080) #(1280,960)  #(640,480)  #self.resolution # (750,1334)
    keep_ratio: True
    play:False
    index:0
    canvas.before:
        PushMatrix
        Rotate:
            angle:270
            origin:self.center
    canvas.after:
        PopMatrix`

Hi guys,
My app DeOlhonaCosta have camera runtime permission and rotation ok. But I still struggling with camera full screen issue. Any one solved this?
Permission runtime (the same as @fs-melo ) + resolution + rotation issue  solve.
I know this is not an elegant way to do it, but it works!
Until runtime permission is not granted the resolution=self.resolution, after permission is granted resolution=[640,480]
def capture(self):
    '''
    Function to capture the images and give them the names
    according to their captured time and date.
    '''
    #from os import getcwd
    #self.cwd = getcwd() + "/"
    #path = self.cwd
    ##    return
    #from android.permissions import Permission, request_permissions
    #request_permissions(Permission.CAMERA)
    global name_trans
    global name_fx
    import os
    camera=self.ids['camera']
    print (camera.resolution)
    camera.resolution=[640,480]

   `

`<Camera_page>:
#id: camera_01
canvas:
Color:
rgba: 0.531,0.5546,0.6172,1
Rectangle:
size: self.size
pos: self.pos
orientation:'vertical'
size: root.size
Camera:
    id: camera
    allow_stretch: True
    resolution: self.resolution #(640,480) #(1280,960) #(1920,1080) #(1280,960)  #(640,480)  #self.resolution # (750,1334)
    keep_ratio: True
    play:False
    index:0
    canvas.before:
        PushMatrix
        Rotate:
            angle:270
            origin:self.center
    canvas.after:
        PopMatrix`


Make the velocity arrows resizable

Scale varies with data.
Arrows may be too small or too large
Make it possible to change the width of plt.quiver from scegot.plot_cell_velocity()

Use scVelo's function: #136


Extract chat thread ID from teams meeting ID

Purpose
Chat thread ID can be picked up from the teams meeting ID, using a regular expression.
Does this introduce a breaking change?
[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

Run the join-chat-to-teams-meeting quickstart and observe that the chat thread ID is extracted from the teams meeting ID

looks like you have this merged in other PR, do you want to close off this one? @emlynmac


DataTables column headers do not scroll with columns

In the "Genes" tab, when you scroll horizontally, the column headers stay in the same place and do not line up with their respective columns:

Yeah I know It's on my list. 😂
On Feb 14, 2017 9:40 AM, "Rob Schaefer"<EMAIL_ADDRESS>wrote:

In the "Genes" tab, when you scroll horizontally, the column headers stay
in the same place and do not line up with their respective columns:
[image: image]
https://cloud.githubusercontent.com/assets/2566591/22935939/a3173cc6-f299-11e6-83eb-9327d3ffd370.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/schae234/cob/issues/75, or mute the thread
https://github.com/notifications/unsubscribe-auth/AGw_DhiAD4Zdx0XPV9V8KMpikc6CzbBXks5rccr_gaJpZM4MAoKy
.

Fixed in #76

🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣


Include instructions on building documentation

Issue:
READTHEDOCS=1 has to be set to successfully build documentation.
Proposed solution:
Add instructions for building documentation in a README.txt in docs/.

Closed by https://github.com/aimakerspace/PeekingDuck/pull/523


How to Use cordova-plugin-background-mode ?

Ionic Framework Version: 3.0.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.5
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.9.5
Xcode version: Xcode 8.3.1 Build version 8E1000a

How To Use cordova-plugin-background-mode ?

This has nothing to do with this repo. Please close it and read the ionic native docs.


Convergence test for gemma2

🐛 Describe the bug
Currently convergence test doesn't include gemma2 because it cannot pass the test. After investigating, it seems that LigerRMSNorm is the cause.
Reproduce
Simply set rms_norm=False (not patching it) can make gemma2 pass the convergence test, test_mini_models.py.
Here's the output if setting rms_norm=True and my assumptions.
I set num_step=2 and print logits and its grad out for observation only.
Liger kernel patches have been reverted.
Step 0, Loss: 6.3974809646606445
Step 0, logits: tensor([ 0.0000,  0.6915,  4.3167,  ..., -0.1310,  0.4010,  0.3292],
       device='cuda:0', grad_fn=<SelectBackward0>)
Step 0, logits's grads: tensor([ 1.2537e-08,  2.5032e-08, -4.9119e-04,  ...,  1.0997e-08,
         1.8721e-08,  1.7424e-08], device='cuda:0')
Step 1, Loss: 0.950512707233429
Step 1, logits: tensor([-0.0451,  0.3177, 11.4745,  ...,  0.4984, -0.2665,  1.2135],
       device='cuda:0', grad_fn=<SelectBackward0>)
Step 1, logits's grads: tensor([ 3.5163e-09,  5.0539e-09, -1.3815e-04,  ...,  6.0553e-09,
         2.8179e-09,  1.2379e-08], device='cuda:0')
Liger kernel patches have been reverted.
Liger kernel patches have been reverted.
Step 0, Loss: 6.39747953414917
Step 0, logits: tensor([ 0.0000,  0.6915,  4.3167,  ..., -0.1310,  0.4010,  0.3292],
       device='cuda:0', grad_fn=<SelectBackward0>)
Step 0, logits's grads: tensor([ 1.2537e-08,  2.5032e-08, -4.9119e-04,  ...,  1.0997e-08,
         1.8721e-08,  1.7424e-08], device='cuda:0')
Step 1, Loss: 0.7350322008132935
Step 1, logits: tensor([-0.0521,  0.0941, 12.8524,  ...,  0.2240, -0.0294,  0.7218],
       device='cuda:0', grad_fn=<SelectBackward0>)
Step 1, logits's grads: tensor([ 1.1150e-09,  1.2904e-09, -4.3773e-05,  ...,  1.4696e-09,
         1.1405e-09,  2.4174e-09], device='cuda:0')
Liger kernel patches have been reverted.

In step 0, there are no difference between patching and non-patching, so I think forward pass is fine.
In step 1, logits are off, which means parameters weren't correctly updated, ie backward pass might go wrong.
Everything is done in fp32, so I guess casting method is not the main reason.
Versions
Environment Report:
Operating System: Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.35
Python version: 3.10.12
PyTorch version: 2.4.1+cu121
CUDA version: 12.1
Triton version: 3.0.0
Transformers version: 4.45.2

update: inplace operations on dY will cause issues for Gemma2DecodeLayer.post_attention_layernorm and Gemma2DecodeLayer.post_feedforward_layernorm
https://github.com/linkedin/Liger-Kernel/blob/b2b6970afea80e43ad20c005926f65d8cc0d309e/src/liger_kernel/ops/rms_norm.py#L268-L270
create new tensor for dX can avoid this problem


2727 global analytics 2

https://trello.com/c/h3595yEp/2727-show-cookie-banner-when-global-analytics-is-configured-for-a-form
Pulls in latest from Metadata Presenter for Analytics handling
(Replaces previous PR https://github.com/ministryofjustice/fb-runner/pull/970 with clean commit history)

So this will show the banner even when no analytics measurement IDs are present in the form containers. Is that our intention?

So this will show the banner even when no analytics measurement IDs are present in the form containers. Is that our intention?

Yes, the banner is no longer controlled just by a Form Owner adding settings for analytics.
Global (MoJ Forms) analytics measurements were requested so, regardless of Form Owner actions, we have a need to get user agreement for cookies.


fix Issue 15019 - [ICE] Heisencrash on OS X 32-bit with non-trivial projects

https://issues.dlang.org/show_bug.cgi?id=15019
I don't know how this code ever worked.

Should this go into stable and 2.068.2?

Should this go into 2.068.2?

Yes. It fixes memory corruption, and so is a critical bug fix.

If so please reopen this against the stable branch.

I don't know how to do that. The last time I tried it horrible things happened.

I have no idea why cherry-pick would not work for this. I use cherry-pick all the time to merge fixes into other branches. Isn't this the whole point of cherry-pick?

I don't know how to do that. The last time I tried it horrible things happened.

There is no button on GitHub to do it, a new PR has to be opened. You could e.g. close this PR, run git rebase "HEAD^" fix15019 --onto origin/stable, then force-push fix15019 and open a new PR against stable (choose the target branch in GitHub's PR form).

I have no idea why cherry-pick would not work for this. I use cherry-pick all the time to merge fixes into other branches. Isn't this the whole point of cherry-pick?

The problem with cherry-pick is that it doesn't merge changes, it copies them, which causes two copies of the same change to exist in the repository and its history. This confuses git when later merging things, causes problems for tools like Digger, and is generally confusing ("Which commit introduced that change? This one? Then what's this other commit with the exact same diff?")

This confuses git when later merging things,

Why would stable ever get merged into head? Things should be going the other way.

causes problems for tools like Digger, and is generally confusing ("Which commit introduced that change? This one? Then what's this other commit with the exact same diff?")

If changes are first introduced into head, then cherry-picked as required into other branches, I don't see the problem.
And lastly, changes put into stable would then have to be cherry-picked into head. Wouldn't that be the exact same issue?

No, the stable branch can be merged into master instead of duplicating a subset of the commits (i.e. cherry-picking the other way).

The assumption that all commits to stable should be merged into head is unfounded.

The assumption that all commits to stable should be merged into head is unfounded.

We decided for this b/c it's the cleanest workflow, makea it easy to find out which release contains a particular fix, and avoids plenty of merge conflicts.
And yes any fix on stable should end in master, though they might need to be adjusted when merging them back.
Meanwhile we missed to fix this issue, please make a Trello card or at least add a milestone to the PR so I have a chance to keep track of what needs to be done.


Add documentation for options in usage section

Sorry—I need to make one grammatical change before submitting this pull request again. Let me know if I misunderstand anything and what to correct if some of the changes in the new pull request don't accurately describe the options.


drivers: timer: allow reuse of native_posix_timer out-of-tree

Currently, only native_posix and native_posix_64 in-tree boards use native_posix_timer.c. The nrf52_bsim board uses nrf_rtc_timer.c.
This change allows out-of-tree boards based on native_posix (i.e. boards defined in modules) to reuse the native_posix_timer driver without conflict.

Hi Chris, Are you sure you want to do this?

Yes

This driver is directly coupled to the native_posix "timer" model. And the API between both is not something considered an external API anybody is meant to use.

We are not using it as an external API.

Anyhow, as there are other POSIX arch boards out there, the default would need to be n for any other (you can then just default it to y thru your out of tree board)

That works for me.

This driver is directly coupled to the native_posix "timer" model. And the API between both is not something considered an external API anybody is meant to use.

We are not using it as an external API.

In a way you are, between your out of tree board, and this driver. How is your external board providing the native_posix timer_model and hw_models_top functionality? Are you just building the native_posix files as part of your out of tree board?
In any case, what you do out of tree is your concern. But just beware that the APIs this native_posix timer driver uses in the board code (or the structure of the board code) can change without warning.

@cfriedt how the change is now, at least it won't break things for other people, but it is still a quite weird thing (which may confuse future developers who see it).
Can you please elaborate on the use case/motivation for this change?
I understand you want to reuse the native_posix timer driver code, but, "why", I don't really understand. I can only imagine something relatively hacky is being built downstream, and if that is the case, this kconfig change in Zephyr to get the code built could be worked around downstream instead by other hacky means than modifying Zephyr.
Changes to Zephyr should either be done to improve Zephyr itself or to enable meaningful use-cases downstream. This seems more of a "with this not too nice change upstream, it is easier for me to hack this very particular thing downstream", which sounds like a bad motivation.

@cfriedt how the change is now, at least it won't break things for other people, but it is still a quite weird thing (which may confuse future developers who see it).

Maybe - that is why I suggested the Device tree binding and DT_HAS_NATIVE_POSIX_TIMER_ENABLED. That would actually make it uniform with the rest of the existing timer drivers (which would be less confusing).

@aescolar - the motivation, as I mentioned, is to be able to have a custom out-of-tree board based on native_posix.
If you are wondering specifically about what is being customized, I can say that it is the device tree.

So you are building the native_posix C source, but not setting the BOARD_NATIVE_POSIX kconfig option? while also reusing the Cmake files. And you want some changes to the board DTS that you cannot just apply thru an overlay?

@cfriedt
I'm just trying to understand the motivation for the change.

I would like to make a Device tree binding and adjust the Kconfig to depend on DT_HAS_NATIVE_POSIX_TIMER_ENABLED which would make the native_posix timer driver more uniform.

The reason why I'm not fond of that, is that it creates even more of an illusion that the timer driver is a separate thing you can enable/disable (this kconfig option should have been promptless). (Which in upstream zephyr you can't). It just adds another layer of on top of the current kconfig symbol adding to the possible confusion.
You want it selectable because with your out of tree board it is actually reused, fair enough.
This kconfig change does it; the DT change, would not be better.
I can approve this review if you add a comment in the kconfig option, indicating users that, in tree, this option can only be used with the native_posix board, and warning people who may use it for other reasons that this driver uses internal APIs of that board which may change at any point.

I can approve this review if you add a comment in the kconfig option, telling users that, in tree, this option can only be used with the native_posix board, and warning people who may use it with other out of tree boards that this driver uses internal APIs of that board which may change at any point.

Done! Thanks @aescolar

The changes are as agreed.
But let me ask a last question: Are you aware that you can effectively override kconfig's depends from other kconfig files?
So, for example in this case, you should be able to do, for example, in your out of tree board's Kconfig file the following
boards/posix/banana/Kconfig:
+
+config NATIVE_POSIX_TIMER
+       default y
+       depends on BOARD_BANANA

And that depends on line will effectively be "ORed" with the original definition, allowing you to set that symbol to y either there directly by default like in the example, or somewhere else.

boards/posix/banana/Kconfig:
+
+config NATIVE_POSIX_TIMER
+       default y
+       depends on BOARD_BANANA

Oh wow - I wasn't aware of that. Will give it a shot.

Likely will work - I've just been so swamped that I have not had a chance to try. Will get to it this week hopefully.

Fair enough


feat : added tower of hanoi code

Tests are failing (because of how you are passing the elements). You might want to look at my implementation of Tower of Hanoi in the Lua repo: https://github.com/TheAlgorithms/Lua/blob/main/src/misc/tower_of_hanoi.lua. Note that you don't need to give the disks names, you can just enumerate them.


Fix IBM java detection

Signed-off-by: Ben Walsh<EMAIL_ADDRESS>

if we remove javaVersionOutput.contains("OpenJ9") check from isIBMJvm(), then tests that use this method (e.g. JdiTest, HCRLateAttachWorkload, JCK etc) will fail to run on OpenJ9 SDKs.
I suggest if we do remove this check from isIBMJvm(), we add a new method like:
public boolean isOpenJ9Jvm() throws StfException {
		return (javaVersionOutput.contains("OpenJ9"));
	}

And then update the tests where isIBMJvm() is used, and replace that call with call to isOpenJ9Jvm().
Also,

We need to add a new method in StfEnvironment equivalent to verifyUsingIBMJava() (e.g. verifyUsingOpenJ9Java()) - and update references accordingly.
We need to add a new method in JavaVersion equivalent to verifyUsingIBMJava() (e.g. verifyUsingOpenJ9Java() - and update references accordingly.

@ben-walsh & @Mesbah-Alam - Should we close off this PR?

I will close this.  If we need it, we can raise a fresh PR.


Subcommand to get current configuration parameters

I'm trying to work on some fish completions for todoman, and in order to get the list displaynames you need to basically do something like cat ~/.local/share/calendars/*/displayname; however, there's no guarantee the user stores their calendars there.
I noticed the ZSH completions inspect the default-config-file location for the path setting, but figure it might be useful to be able to do something like todo config get {setting} to be able to load this at runtime. You can do something similar with pip, which comes in handy.
Later, if #129 ever got implemented you could do other subcommands like todo config set.

Following up on this: it looks like the click library that todoman depends on actually lets you generate completions, so I will probably end up using that.
_TODO_COMPLETE=fish_source todo > ~/.config/fish/completions/todo.fish

https://click.palletsprojects.com/en/8.1.x/shell-completion/


notifications: Automatically following topics with alert words.

Commit 3137606: populates the alert_words set of zulip_rendering_result with set of alert words present in the message before sending it in actions/message_send.py
Commit ab43701: Adds an option to each alert automatically follow topics with alert word.
Fixes: #28777
#api design thread

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

List[Union[str, Tuple[str, bool]]] on the Python side does not match [string, boolean][] | string[] on the TypeScript side!
Moreover, either way, tuples make for an unclear and inextensible API. Use objects like {word: string, automatically_follow_topics: boolean} instead (ideally with a Pydantic model on the Python side).


Reduce amout of fixture data generated.

This reduces the amount of files changed from 1600+ to 350+. The remaining changes are due to past events being different when a fixture is generated. To avoid these remaining changes, we need to mark which events are important to us and which not so that we can ignore the change in the ones that don't matter to us.

Pushed to remove an unused variable unique_id_counter which I forgot to remove after I introduced it.

Merged, thanks @amanagr!


Prototype of the regulations editor

The content of the first tab should be a regulations editor. This editor is based on cytoscape.js and this object https://github.com/sybila/biodivine-aeon-client/blob/master/script/CytoscapeEditor.js
The first goal is to try to take the existing functionality and port it to the new implementation. This includes:

Adding/removing nodes/regulations.
Drag-and-drop to re-layout nodes.
More or less the general style that is currently in use.
Floating menus for changing regulation/node properties (although some buttons can be disabled if the functionality does not exist yet).

Other stuff that involves updating the rest of the UI/app-state which is not the regulations editor can be skipped for now.

The frontend part is implemented thanks to #21 , #22 , #24. The backend part was addressed by #26.


Update timeline for significant delays - openrollup-mvp-phase-1.md

I'm very sorry for not being able to delivery M1 on time. Recently, due to some other problems, the progress has been slow, and we should be able to complete the delivery by the end of February.

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


got error 503 - CERTIFICATE_VERIFY_FAILED - randomly after new deployments

We are running with istio 1.4.7, on EKS v1.15,
suddenly we start to get error 503 with CERTIFICATE_VERIFY_FAILED error in the client-side, and after restarting the pilot or the citadel the problem resolved and the service come to be reachable, but when we run new deployment it reproduced again!
Verified the xDS and all look fine, the EDS look ok and all in sync,
is there any chance you face this problem before? why this happened, and how can we make sure that the issue not reproduced again? cause from k8s API the deployment look ok (active healthcheck pass) but once we try to send other requests (via istio) we got error 503
Please help cause it really blocking us...
istio sidecar log:
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:95] creating a new connection
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][client] [external/envoy/source/common/http/codec_client.cc:31] [C588988] connecting
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][connection] [external/envoy/source/common/network/connection_impl.cc:718] [C588988] connecting to <IP_ADDRESS>:8080
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][connection] [external/envoy/source/common/network/connection_impl.cc:727] [C588988] connection in progress
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][pool] [external/envoy/source/common/http/conn_pool_base.cc:20] queueing request due to no available connections
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][http2] [external/envoy/source/common/http/http2/codec_impl.cc:742] [C6] stream closed: 0
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][connection] [external/envoy/source/common/network/connection_impl.cc:566] [C588988] connected
[Envoy (Epoch 0)] [2020-08-10 07:51:42.368][34][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:191] [C588988] handshake expecting read
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:198] [C588988] handshake error: 1
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:226] [C588988] TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][connection] [external/envoy/source/common/network/connection_impl.cc:193] [C588988] closing socket: 0
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][client] [external/envoy/source/common/http/codec_client.cc:88] [C588988] disconnect. resetting 0 pending requests
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:136] [C588988] client disconnected, failure reason: TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][pool] [external/envoy/source/common/http/http1/conn_pool.cc:167] [C588988] purge pending, failure reason: TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][router] [external/envoy/source/common/router/router.cc:911] [C588982][S7458161559789993786] upstream reset: reset reason connection failure
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:1354] [C588982][S7458161559789993786] Sending local reply with details upstream_reset_before_response_started{connection failure,TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED}
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][filter] [src/envoy/http/mixer/filter.cc:135] Called Mixer::Filter : encodeHeaders 2
[Envoy (Epoch 0)] [2020-08-10 07:51:42.370][34][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:1552] [C588982][S7458161559789993786] encoding headers via codec (end_stream=false):
':status', '503'
'content-length', '91'
'content-type', 'text/plain'
'date', 'Mon, 10 Aug 2020 07:51:41 GMT'
'server', 'istio-envoy'

pilot logs look ok, nothing special there

I would suggest compare the trusted certificates for the sidecar with the root CA for Istio citadel. You can grab the certs from the sidecar by hitting the localhost:15000/certs endpoint in the istio-proxy container

Verified again the EDS table and look ok
ENDPOINT             STATUS      OUTLIER CHECK     CLUSTER
<IP_ADDRESS>:8080     HEALTHY     OK                outbound|80||my-bad-service.my-namespace.svc.cluster.local

@christian-posta verified that the client and the service have the same root CA as expected, I think it the same for citadel as well , ill verify it

one more interesting things is when call pilot debug endpoint from the any sidecar in the cluster, i got this error:
istio-proxy@httpbin-7dc998658b-hg4lx:/$ curl -k --cert /etc/certs/cert-chain.pem --cacert /etc/certs/root-cert.pem --key /etc/certs/key.pem https://istio-pilot.istio-system:8080/debug/edsz
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number

We sniffed the tls handshake while making a request to this service, the client hello and server hello looks o.k., but the response to "server hello" is "Certificate unknown".
For some reason, this service account is unknown in the mesh.

Entering into the istio sidecar container of a test pod, and making a mtls request with curl to the risk-live-payu pod works
Making the same call from the application container of the same pod doesn’t work and wireshark shows “unknown certificate”

The first conclusion we have is that the certificate is o.k. and passed correctly

Is there anyway to know what is the secure naming map the pod got from the pilot? can we debug it?

We found the main reason for why this happened,
This is the scenario to reproduce it:
pre: create service and connect it to a pod
1: take a POD with service account: SA_1
2: redeploy it again but with different service account: SA_2
When we change the service account(SA_2) without changing the service name itself, the secure naming does not been pushed to the envoys although it has been changed,
in the cluster discovery service (CDS) we saw that the spiffy value ( secure naming) still with the old value (SA_1) and this cause to handshake error and got error 503
The interesting thing is if we deployed the pods again with (SA_3) service account, it got the second service account spiffe value (SA_2), this means that the pilot already have the updated data, but not push them to the envoys as expected and keep them with wrong values
The best workaround we found is to create new service and this triggers the pilot to push the xDS tables to all the envoys with the correct values

@1hanymhajna thanks for the discovery!
@incfly this is on 1.4. I tested on master and it works. Do we have tests for this type of thing? If so, I think we can close?

@howardjohn you mean this is worked on 1.4? @howardjohn is his workaround ok to do the fix? or do we need to do any code change to mitigate this case?

need to add some tests to cover it.

@howardjohn you mean this is worked on 1.4? @howardjohn is his workaround ok to do the fix? or do we need to do any code change to mitigate this case?
need to add some tests to cover it.

@myidpt could you take a look ? which kind of test we need to add to cover this case?

I was unable to reproduce on multiple versions I tried. Since this was reported for a version far out of support (https://istio.io/latest/about/supported-releases/) I am assuming this has been fixed since then. if you see this on a recent version please do not hesitate to reopen/open a new issue. Thanks!

It's happening on:
control plane version: 1.12.5
data plane version: 1.12.5 (18 proxies)

I can also confirm it is happening with 1.12.5-asm.0.

Same problem with 1.11.4.

v1.13.3  +1

Seeing this after updating from 1.12.6 to 1.12.8.

here with 1.14.2

Confirm with 1.14.3

I fixed this by installing the CNI (sidecars were not working properly for me) and following the additional config instructions at https://ranchermanager.docs.rancher.com/integrations-in-rancher/istio/configuration-options/install-istio-on-rke2-cluster . I'm running k3s, and all my nodes are ubuntu.