to_yaml() does not honor ordered_box

In [1]: from box import Box
In [2]: ordered_box = Box(ordered_box=True)
In [3]: ordered_box.zlast = 'first'
In [4]: ordered_box.afirst = 'last'
In [5]: ordered_box.keys()
Out[5]: ['zlast', 'afirst']  # correct, as expected
In [6]: ordered_box.to_yaml()
Out[6]: 'afirst: last\nzlast: first\n'  # not ordered as expected!

YAML really looks better when ordered logically, not arbitrarily!

Ouh, good idea. I think it will require passing the object through the python builtin OrderedDict somehow, so will have to look into this. Thanks!

FWIW, PyYaml 5.1+ can handle this with the sort_keys parameter. Prior to this version, it sorted keys alphabetically unconditionally, so there was no easy way to get insert ordered output. Here's a demo of the new behavior:
In [1]: from box import Box
In [2]: b = Box(last="1", first="2", an_arbitrarily_long_key_that_should_absolutely_be_last="3", ordered_box=True)
In [3]: b.keys()
Out[3]: ['last', 'first', 'an_arbitrarily_long_key_that_should_absolutely_be_last']
In [4]: print(b.to_yaml())                 # this gets sorted alphabetically >_<
an_arbitrarily_long_key_that_should_absolutely_be_last: '3'
first: '2'
last: '1'
In [8]: print(b.to_yaml(sort_keys=False))  # this is ordered correctly!!!
last: '1'
first: '2'
an_arbitrarily_long_key_that_should_absolutely_be_last: '3'

So unless you want to automatically add sort_keys to your to_yaml() method (after automatically detecting if that parameter is available in your PyYaml dependency) no change is really necessary, as I can manage the order myself as an end user.

That's great to know! I will have to see if such a simple thing also exists with ruamel.yaml and if so easy enough to include on ordered boxes all the time.
Thanks for figuring that out and glad you can get it to work for what you need already!

Sadly it looks like doing this in ruamel is much more cumbersome https://stackoverflow.com/questions/40226610/ruamel-yaml-equivalent-of-sort-keys and I don't think is worth setting as the default method for everyone's use case.

Sorry to update a long closed issue, but... now that ruamel.yaml is the default, I needed to figure this out again. The easiest way as an end-user to get creation-ordered YAML output is now:
In [1]: from box import Box
In [2]: b = Box(last="1", first="2", an_arbitrarily_long_key_that_should_absolutely_be_last="3")
In [3]: b.keys()
Out[3]: ['last', 'first', 'an_arbitrarily_long_key_that_should_absolutely_be_last']
In [4]: print(b.to_yaml())                 # this gets sorted alphabetically >_<
an_arbitrarily_long_key_that_should_absolutely_be_last: '3'
first: '2'
last: '1'
In [5]: from ruamel.yaml import RoundTripDumper
In [6]: print(b.to_yaml(Dumper=RoundTripDumper))  # this is ordered correctly!!!
last: '1'
first: '2'
an_arbitrarily_long_key_that_should_absolutely_be_last: '3'

Sadly, using the RoundTripLoader/RoundTripDumper doesn't retain comments, which is one of the major reasons for using ruamel.yaml!

Sorry to update a long closed issue, but... now that ruamel.yaml is the default, I needed to figure this out again. The easiest way as an end-user to get creation-ordered YAML output is now:
In [1]: from box import Box
In [2]: b = Box(last="1", first="2", an_arbitrarily_long_key_that_should_absolutely_be_last="3")
In [3]: b.keys()
Out[3]: ['last', 'first', 'an_arbitrarily_long_key_that_should_absolutely_be_last']
In [4]: print(b.to_yaml())                 # this gets sorted alphabetically >_<
an_arbitrarily_long_key_that_should_absolutely_be_last: '3'
first: '2'
last: '1'
In [5]: from ruamel.yaml import RoundTripDumper
In [6]: print(b.to_yaml(Dumper=RoundTripDumper))  # this is ordered correctly!!!
last: '1'
first: '2'
an_arbitrarily_long_key_that_should_absolutely_be_last: '3'

Sadly, using the RoundTripLoader/RoundTripDumper doesn't retain comments, which is one of the major reasons for using ruamel.yaml!

First of all love the concept of normalizing different data intake formats for conversion.  Thanks for your efforts!
Have been experimenting with lots of different packages and once its time to get to the yml output step
kept running into this, sort_keys for pyyaml fixed the default sorting behavior there which is so counter intuitive,
but I guess its historical from a python key sorting standpoint.
So when I got to using this package I was stuck w sorted data but thank you to @philipsd6 for this tip.
This tip should be hoisted up into the to_yaml usage section.
One of the things that makes python so awesome is to be able to quickly drop in packages and move quickly.
Default options are very important to reduce friction.  Unexpected behavior creates them.
IMO the basic usecase / expectation is to preserve original order and should be the default.
I would consider sorting a specialized usecase.  And consistency across conversions would be helpful.
For example, to_json gets it right - it preserves the order.
As is this is a rough edge in the "easy drop in" department and I think really should be addressed.
Thank you for an otherwise great package and I'm happy to help in testing.


Feature: useFocus hook

Linked Issue
Closes #5
Description
Adds the useFocus hook, tests for it and docs.
Changesets
We use Changesets to automatically create our changelog per each release. Any changes or additions to the Library assets in /lib must be documented with a new Changeset. This can be done as follows:

Navigate to the root of the project on your feature branch.
Run pnpm changeset to trigger the Changeset CLI.
Follow the instructions when prompted.

Changesets should be either minor or patch. Never major.
Prefix your Changeset description using: feature:, chore: or bugfix:.

Changeset .md files are added to the /.changeset directory.
Commit and push the the new changeset file.

Checklist
Please read and apply all contribution requirements.

[x] PR targets the dev branch (NEVER master)
[ ] All website documentation is current with your changes
[x] Ensure Prettier formatting is current - run pnpm format
[x] Ensure ESLint linting is current - run pnpm lint
[ ] All test cases are passing - run pnpm test
[ ] Includes a changeset (if relevant; see above)

Tests are still failing, this is being looked into. They're only failing in CI... 😄

I honestly don't know why CI is failing, if anyone could clone the repo and confirm tests are running locally just fine that would be great:

clone repo
cd to root
pnpm i
pnpm test


Make CSI depend on the model registry OpenAPI sepc

Is your feature request related to a problem? Please describe.
At the moment the CSI heavily relies on the model registry project, this is because the model-registry dependency is imported in order to interact with model registry by making use of the auto-generated and provided client:
https://github.com/kubeflow/model-registry/blob/332c0851544c525a68f8a467712b4b1542c25cf6/csi/pkg/storage/modelregistry_provider.go#L22-L27
This implementation could lead to some issues, especially from a maintenance point of view, see https://github.com/kubeflow/model-registry/pull/328#issuecomment-2324712508 as an example.
Describe the solution you'd like
Decouple CSI and Model Registry by removing the model-registry dependency from the CSI dependencies.
Then update the CSI to make use of a custom and auto-generated REST client (or whatever could be valuable and easy-to-maintain approach) relying on the versioned model-registry OpenAPI specification.
Describe alternatives you've considered
n/a
Additional context
If we go for a custom auto-generated client to interact with the MR REST interface consider that we just need a couple of endpoints to invoke so I think it is worth to evaluate whether we can auto-generate just a subset of the OpenAPI spec.

Is there reason why CSI needs to be designed as extension to MR vs have it part of the MR code directly to avoid such issues?

Describe alternatives you've considered

an alternative I didn't have chance to investigate is whether workspaces would make this easier also to be properly managed from dependabot automated toolings.

Is there reason why CSI needs to be designed as extension to MR vs have it part of the MR code directly to avoid such issues?

@rareddy  TBH I've never considered this because I always tried to make CSI as isolated and independent project as possible (at least this was the initial goal) but now that you pointed out again I am starting thinking it is worth to evaluate whether adding another go cmd https://github.com/kubeflow/model-registry/tree/main/cmd just for the CSI. Obviously generating the executable for the CSI will rebuild the model-registry source code as well (but this is actually already happening with the relative import).
Don't know if that could introduce other issues but I think it is worth to investigate.

an alternative I didn't have chance to investigate is whether workspaces would make this easier also to be properly managed from dependabot automated toolings.

Good point, this is another thing I did not try yet too.

As discussed in the last bi-weekly mtg, as part of this issue we should probably evaluate the following options:

decouple the REST part, by relying on the openapi to generate the client

Maybe Workspaces make it not necessary to “decouple this way”

ad-hoc command inside the existing Model Registry
To be noticed here, would require another command (not subcommand)

@lampajr can you explain what is ad-hoc command or sub-command in this context? I do not understand it.

@lampajr can you explain what is ad-hoc command or sub-command in this context? I do not understand it.

With command I mean a dedicated Go script like main.go which then will use the model registry source code directly. The only issue I might see here is that every dependency that is required by CSI needs to be included in the root go.mod
With sub-command I mean another cli command like the one we already have named proxy.

Another difference between opting for command vs subcommand is the resulting artifact produced: in the case of subcommand, that would have been a "subroutine" in the same binary, while for CSI we only need a subset of the whole in the final binary (for CSI). I believe is important to keep in mind/highlight.

Another difference between opting for command vs subcommand is the resulting artifact produced: in the case of subcommand, that would have been a "subroutine" in the same binary, while for CSI we only need a subset of the whole in the final binary (for CSI). I believe is important to keep in mind/highlight.

Definitely worth to mention it, thanks @tarilabs

Thanks, @tarilabs and @lampajr for the explanation, makes sense.
I guess command is the way we should do where the go.mod is common but different package structures produce multiple binaries. ex: https://stackoverflow.com/questions/50904560/how-to-structure-go-application-to-produce-multiple-binaries.

Yes @rareddy or something along those lines.
However as mentioned I believe Workspaces should be investigated first, if that ameliorates the problem of keeping deps in sync, without actually "mixing code". If that doesn't help, then the "different command(s) from the same go project" is likely the next simpler approach. my2c.

After some investigation it turned out the best approach here is to keep CSI as different executable/command from the same model registry go module such that we don't have to maintain different modules that share part of the codebase.
(changed the title of this issue reflecting the final decision)
The proposal can be found here 👉🏻 https://github.com/kubeflow/model-registry/pull/601
@tarilabs I think we can remove the lifecycle/stale here, wdyt?

@tarilabs I think we can remove the lifecycle/stale here, wdyt?

indeed this auto-resolved per https://github.com/kubeflow/model-registry/pull/601
thanks a lot again @lampajr for these contributions!! 🚀


Compiled inference failed: "Global state changed while dynamo tracing"

CLI command:
$ litgpt generate stabilityai/stablelm-base-alpha-3b --prompt "Hello, my name is" --compile true
Workaround:

Adding torch._dynamo.config.suppress_errors = True to generate/base.py didn't work.
Replace torch.compile(next_token, ...) with model = torch.compile(model) before model = fabric.setup_module(model) works

Env:
$ pip list | grep torch
pytorch-lightning        2.2.5
torch                    2.3.1
torchmetrics             1.4.0.post0

Full error:
Traceback (most recent call last):
  File "/opt/conda/bin/litgpt", line 8, in <module>
    sys.exit(main())
  File "litgpt/__main__.py", line 57, in main
    CLI(parser_data)
  File "/opt/conda/lib/python3.10/site-packages/jsonargparse/_cli.py", line 119, in CLI
    return _run_component(component, init.get(subcommand))
  File "/opt/conda/lib/python3.10/site-packages/jsonargparse/_cli.py", line 196, in _run_component
    return component(**cfg)
  File "/opt/conda/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "litgpt/generate/base.py", line 252, in main
    y = generate(model, encoded, max_returned_tokens, temperature=temperature, top_k=top_k, top_p=top_p, eos_id=tokenizer.eos_id)
  File "/opt/conda/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "litgpt/generate/base.py", line 127, in generate
    token = next_token(
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 451, in _fn
    return fn(*args, **kwargs)
  File "litgpt/generate/base.py", line 74, in next_token
    logits = model(x, input_pos)
  File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/lightning/fabric/wrappers.py", line 138, in forward
    with precision.forward_context():
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 921, in catch_errors
    return callback(frame, cache_entry, hooks, frame_state, skip=1)
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 786, in _convert_frame
    result = inner_convert(
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 400, in _convert_frame_assert
    return _compile(
  File "/opt/conda/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 676, in _compile
    guarded_code = compile_inner(code, one_graph, hooks, transform)
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/utils.py", line 262, in time_wrapper
    r = func(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 535, in compile_inner
    out_code = transform_code_object(code, transform)
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/bytecode_transformation.py", line 1036, in transform_code_object
    transformations(instructions, code_options)
  File "/opt/conda/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py", line 178, in _fn
    assert (
AssertionError: Global state changed while dynamo tracing, please report a bug

You can suppress this exception and fall back to eager by setting:
    import torch._dynamo
    torch._dynamo.config.suppress_errors = True

Sorry that I can't be more helpful here, but I never used compilation in LitGPT myself, but I remember from my colleagues that torch.compile does not fully support everything and there are some issues with it.


Provide instructions to set max_map_count for WSL2 users on sample docker-compose page

Is your feature request related to a problem?
Windows WSL2 user here. I decided to learn OpenSearch this morning and immediately hit a road block using the sample docker compose file from here:
Docker Compose did its thing but opensearch didn't load because it didn't have enough max_map_count resources.
What solution would you like?
A note in the OpenSearch documentation that users will need to increase the value of max_map_count before running docker-compose up.
It looks like this issue has been around for a good while and this stackoverflow answer gets to the bottom of it for WSL2 users.
I chose to implement the option that survives a reboot from the Answer but was also successful running sudo sysctl -w vm.max_map_count=262144 before the docker-compose up command - knowing it would not survive a reboot.
What alternatives have you considered?
I decided to report this because my guess is that all users will encounter this when starting their OpenSearch journey like I did. It is frustrating to start to learn something and have something fail.
Do you have any additional context?
No

Hey @bradthurber, thanks a bunch for writing in. We actually documented setting max_map_count in the important settings page, but I've also now added a note that links to it in the Docker installation page. The setting isn't part of the docker compose file, so I didn't want to add it to that section. If there are any other related issues, feel free to re-open the ticket!

@keithhc2 your links point to localhost.

@opyate Sorry about that. Just fixed.


Set up bandit for security scanning in python code

Set up bandit for security scanning in python code. I fixed a couple issues (such as removing shell=True) and ignored the rest, we can address some of them later if we think they're important.

I like this in principle but think it might be overkill for us right now. For example, seed.dcs is a glorified shell script whose commands aren't affected by user generated content, so these changes don't have much security upside while making the script harder to read.


Tabs component

I am wondering if there is a plan for an implementation of the Bootstrap Tabs component. I know this is for bugs, but there is nowhere to request a feature.

@wbhob Not sure I understand this request. The core Bootstrap 4 tabs are already adjusted to match Shards' design. You can also see an example in the docs showcasing tabs within cards. Please provide a link If you are referring to a 3rd party component library or something similar. 😄

Oh, I see. I was thinking more of a tabs subnavigation, like the Ant Design component (but that's not an official bootstrap component, so I don't know why it would be here). Thanks!


Destructure + highlight issue for typescript 3.0.1

interface Boo {
  a: string,
  b: string
}
function foo(x) { return x }
foo(() => ({ a, b }: Boo) => {
  return a + b
})
foo(() => ({
  a, b }: Boo) => {
})

Note the second Boo highlight is incorrect.
VSCode: 1.26.1

This issue was moved to Microsoft/TypeScript-TmLanguage#659


single step debugging

Hi, I'm interested in your work, I made a keyboard based on your project.
Since I use qmk to compile the code, but I don't know how to debug it , can you give some advice on debugging?
For nrf52, I would like to know if there is a way to debug the code in a single step on IDE ?
Can this project be converted to a "SEGGER Embedded Studio for ARM" project for debugging? Or are there some tutorials that can guide me to convert the project for single step debugging in some IDEs like vscode?
I have successfully created a simple hello world using vscode's nrfconnect plugin and SEGGER Embedded Studio, but I don't know how to convert your project into these two IDEs.
Thanks!

I wish I knew. QMK is not under development in favor of ZMK, and there are network/lag issues. Try asking here https://github.com/sekigon-gonnoc

thank you for your reply


Feat generate Giphy GIF demo function - PHP

What does this PR do?
Implements a demo function: Generate Giphy GIF
Test Plan

Related PRs and Issues
Implementation of the issue https://github.com/appwrite/appwrite/issues/1922

THANK YOU! All changes merged 🥳
Please reach out to eldadfux on our Discord server if you would like to claim your Appwrite swags! As a way of saying thank you, we would also love to invite you to join the Appwrite organization on GitHub. Please share your GitHub username with us on Discord.
You can accept the invite by visiting https://github.com/orgs/appwrite/invitation. By joining our team, you will officially be an Appwrite maintainer on GitHub.
You can change your membership visibility settings, so your new Appwrite team membership badge will show up on your personal GitHub profile.
Please feel free to look for more PRs you might be interested in helping with on our long list of Hacktoberfest friendly issues and help make Appwrite better :)


fix test broken by 955104c

Restored the fixture.
(If you haven't set up Travis before, you can just sign up with a GitHub account then activate this repository at https://travis-ci.org/profile)

Great, thank you again! And no, you're good, I was able to see the Travis build from your fork.


Suggestion: Symfony as a PHP alternative.

Symfony is the biggest php framework out there with over 2 BILLION downloads and already offers tailwind integration but NO UI components. Offering a pre configured download of your starter kit components would make it easy for users to integrate them into their project.
As it stands right now Symfony only supplies the database, php, and template engine for your project and leaves out most of the front end UI stuff so having a set of components to use would be awesome.
Right now your project offers several JS options and I think it is great you also offer a pure HTML option with vanilla JS code, it would be great to see a php option offered as well. Starting from html still requires a ton of work building the interaction between the backend and UI, which can be overwhelming with an unfamiliar system and would require millions of developers to do the same integration over and over again.

Hey @excitedbox ,
Thank you for sharing this information with us. We will try to add a PHP with Symfony version as soon as possible.
Best,
Manu

Awesome, I am looking forward to it. Like I said Symfony really lacks front end component frameworks and because they use the Twig template engine most integrations would need quite a bit of modification. I think the large user base makes it worth it though, especially since tailwind is picking up in popularity it would make a great addition.


Time scale only aligns single point

We should align on the start of every major unit and put the minor ticks evenly between major units. Right now we only align a single major ticks and it looks really weird.
I have a fix for this on a branch locally. Screenshot of the current version and fixed version below.
There's one thing I need to figure out before I can send this PR, which is that I need to move generate to be a class member so that I can call getPixelForOffset and getLabelCapacity. However, that would just make Chart.Ticks.generators even more broken than it already is (https://github.com/chartjs/Chart.js/issues/4599). I'm not sure there's any good way to make Chart.Ticks.generators work. I'd really love to remove it since I can't find anyone using it though that would technically be a breaking change.
Current

After Fix

Why generate would have to call getPixelForOffset, which one using the lookup table, which one being fed with the generate output?

We should align on the start of every major unit and put the minor ticks evenly between major units

I don't think its doing that: the "after" chart has inconsistent grid line spacing. There might be use cases for it but in general I find it really confusing.

@etimberg here's an example using default time scale styling that highlights why I'm not a fan of the major ticks (unless they can be turned off):

Imho the major (year) ticks should show up identically. Imho that should be the default styling.


1st argument: the table identifier does not refer to an existing ETS table

Hi guys! I need your help!
I am trying to verify idToken from google user(google sign in)
Here is my implementation
google_strategy.ex
defmodule MyApp.Account.GoogleStrategy do
  use JokenJwks.DefaultStrategyTemplate

  def init_opts(opts) do
    url = "https://www.googleapis.com/oauth2/v3/certs"
    Keyword.merge(opts, jwks_url: url)
  end
end

google_token.ex
defmodule MyApp.Account.GoogleToken do
  use Joken.Config

  add_hook(JokenJwks, strategy: MyApp.Account.GoogleStrategy)

  def token_config do
    auds = [
     .....................
    ]

    # Validate from the token
    default_claims()
    |> add_claim("iss", nil, &(&1 == "https://accounts.google.com"))
    |> add_claim(
      "aud",
      nil,
      &Enum.member?(auds, &1)
    )
  end
end

And trying
GoogleToken.verify_and_validate(id_token)

And got this error.
(stdlib 3.15.1) :ets.lookup(MyApp.Account.GoogleStrategy.EtsCache, :signers)
    (my_app 0.1.0) lib/my_app/account/google_strategy.ex:2: MyApp.Account.GoogleStrategy.EtsCache.get_signers/0
    (my_app 0.1.0) lib/my_app/account/google_strategy.ex:2: MyApp.Account.GoogleStrategy.match_signer_for_kid/2
    (joken_jwks 1.4.1) lib/joken_jwks.ex:54: JokenJwks.before_verify/2
    (joken 2.3.0) lib/joken/hooks.ex:199: anonymous fn/3 in Joken.Hooks.run_before_hook/3
    (elixir 1.13.1) lib/enum.ex:4475: Enumerable.List.reduce/3
    (elixir 1.13.1) lib/enum.ex:2442: Enum.reduce_while/3
    (joken 2.3.0) lib/joken/hooks.ex:196: Joken.Hooks.run_before_hook/3
    (joken 2.3.0) lib/joken.ex:253: Joken.verify/3
    (joken 2.3.0) lib/joken.ex:299: Joken.verify_and_validate/5

I am using joken_jwks 1.4
What am I missing?

Did you add MyApp.Account.GoogleStrategy to your children in the MyApp.Application module?
Unless you start it, the :ets.new() won't be run, meaning :ets.lookup won't work, because the table isn't created yet.

Thanks once again @lovebes ! I will close this for now for missing response here. If the problem still exists and is reproducible, please feel free to re-open :)


problems  wsgi

hello,
i have this problem and i search for solution

File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 193, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 181, in execute
application_iter = app(environ, start_response)
File "/home/ikram/odoo/odoo-10/odoo/service/wsgi_server.py", line 186, in application
return application_unproxied(environ, start_response)
File "/home/ikram/odoo/odoo-10/odoo/service/wsgi_server.py", line 172, in application_unproxied
result = handler(environ, start_response)
File "/home/ikram/odoo/odoo-10/odoo/http.py", line 1358, in call
return self.dispatch(environ, start_response)
File "/home/ikram/odoo/odoo-10/odoo/http.py", line 1330, in call
return self.app(environ, start_wrapped)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 599, in call
return self.app(environ, start_response)
File "/home/ikram/odoo/odoo-10/odoo/http.py", line 1537, in dispatch
return response(environ, start_response)
TypeError: 'NoneType' object is not callable

thx for help

You forgot to post your code. Also, please ask such questions on IRC or Stack Overflow. This is not the right place.


num2date returns 01:00:00 or 00:59:59 depending on calendar

Good afternoon,
Here is an issue I posted on https://github.com/Unidata/netcdf4-python/issues/810 two weeks ago, and I have been advised to submit it here. Here it is below:
You may already be aware of this problem, but I didn't find how to solve it.
I have an output with hourly intervals written in days since 1979-01-01 00:00:00.
The first time step is 0. The second is 0.041666666667.
I have noticed that num2date does not give the same results when reading the second time step depending on the calendar used. It sometimes give 1979-01-01 01:00:00 (which is what we want), and sometimes 1979-01-01 00:59:59 (see below).
How can we fix it so num2date would give the correct result (01:00:00. 02:00:00, etc.) whatever calendar is used?
Thank you for your help,
Marie-Estelle
time_in1=0.041666666667
print(time_in_units)
days since 1979-01-01 00:00:00
dt_in1 = num2date(time_in1,time_in_units,calendar='standard')
str(dt_in1)
'1979-01-01 01:00:00'
dt_in1 = num2date(time_in1,time_in_units,calendar='gregorian')
str(dt_in1)
'1979-01-01 01:00:00'
dt_in1 = num2date(time_in1,time_in_units,calendar='proleptic_gregorian')
str(dt_in1)
'1979-01-01 01:00:00'
dt_in1 = num2date(time_in1,time_in_units,calendar='noleap')
str(dt_in1)
'1979-01-01 00:59:59'
dt_in1 = num2date(time_in1,time_in_units,calendar='365_day')
str(dt_in1)
'1979-01-01 00:59:59'
dt_in1 = num2date(time_in1,time_in_units,calendar='360_day')
str(dt_in1)
'1979-01-01 00:59:59'
dt_in1 = num2date(time_in1,time_in_units,calendar='julian')
str(dt_in1)
'1979-01-01 01:00:00'
dt_in1 = num2date(time_in1,time_in_units,calendar='all_leap')
str(dt_in1)
'1979-01-01 00:59:59'
dt_in1 = num2date(time_in1,time_in_units,calendar='366_day')
str(dt_in1)
'1979-01-01 00:59:59'

Do you know how I could go around this?

No, not without a rewrite of our julian day arithmetic to preserve more precision.

Don't know whether this helps, but if you know the precision is 1 hour, you can do
print d.strftime(format="%Y-%m-%d %H")

Adding a small offset to the time seems to do it, i.e.
>> d = cftime.num2date((1./24.)+1.e-6,'days since 1979-01-01 00:00:00',calendar='365_day')
>> print d

1979-01-01 01:00:00

It works indeed. Thank you so much for your help!


Positive regulation of  GO:0006105 succinate metabolic process

Hi
for the annotation of GHR please could I have this term
Ref PMID:18648510
Thanks
Ruth

@RLovering Thinking about his further, perhaps we should use 'acts upstream of'? what do you think ?
@vanaukenk  this consistent with the Transcription annotation guidelines in Noctua if I remember well?

yes I am happy to add acts up stream of positive effect. but having read the paper properly I think I only want to include the regulation of one of the metabolic pathways - sorry about this


[SDL2][WIP] MorphOS Support

It looks like a lot of these changes could be useful for AmigaOS 3.x as well. :)

@BSzili @BeWorld2018
Since the official SDL finally moved over to Github, we decided to make a new fork from the official sources rather than the mirrors so we could continue pull changes from upstream. I then merged in our changes to the new fork, and then after doing that I synchronized your MorphOS fork into this branch: https://github.com/AmigaPorts/SDL-2.0/tree/MorphOS
So if you want to continue syncing with us, feel free to do a fork from there, all your latest changes should be in the branch I linked above, but it'd be nice if you can check if it still works for you. :)

Hi!
The last MorphOS version is now here : https://github.com/BeWorld2018/SDL and it's a fork of official SDL since few month :-)
I can change my repository again but..... i use link to my release version available (link... readme etc....)
I don't know how to do....

Thanks for the info! I will merge in your changes to our MorphOS branch and
set up a new PR from your new fork :)


"Virtual hubs across Virtual WAN do not communicate with each other" - confusing

In this page mentions "Virtual hubs across Virtual WAN do not communicate with each other." but just below that there is mention of a hub to hub connectivity preview. This seem to conflict with each other. Could the virtualWAN bullet point get changed to account for this?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 316afee6-13d5-4b73-5224-073b35e69737
Version Independent ID: be1f6b3f-e7c1-0775-8e38-1e5044f96baa
Content: Azure Virtual WAN Overview
Content Source: articles/virtual-wan/virtual-wan-about.md
Service: virtual-wan
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@lunar87 Thank you for your feedback! We have assigned this issue to the author to review further and take the right course of action.

#reassign:reyandap

Definitely requires clarity here.
I think what does it mean is if you have created two vWAN in your subscription and created a HUB in each vWAN then Hubs from each vWAN can't talk natively.  We might need to have S2S VPN connection between each vWAN Hubs. Please correct me if it is wrong. thanks


[Feature] Interactive Snowball Falling Background

Description
Implement a Particle.js background that simulates snowballs falling from the top of the screen. Additionally, add an interactive mouse hover effect that disperses the snowballs when the mouse moves over them.
Screenshots
https://github.com/Rakesh9100/Beautiify/assets/113046759/ce967d1f-7a30-4a23-a545-aa962a114500
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[x] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Proceed @Skb08


havoc: 0.5.0 -> 0.6.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ii8/havoc/releases.
meta.description for havoc is: Minimal terminal emulator for Wayland
meta.homepage for havoc is: https://github.com/ii8/havoc
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.6.0 with grep in /nix/store/b2xfqi6by0j24wd34lqil20745nvpzjq-havoc-0.6.0
found 0.6.0 in filename of file in /nix/store/b2xfqi6by0j24wd34lqil20745nvpzjq-havoc-0.6.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

havoc

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/b2xfqi6by0j24wd34lqil20745nvpzjq-havoc-0.6.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A havoc https://github.com/r-ryantm/nixpkgs/archive/c03bc76a2637c324a1c38ce3fb89700ef5a15676.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c03bc76a2637c324a1c38ce3fb89700ef5a15676#havoc

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/b2xfqi6by0j24wd34lqil20745nvpzjq-havoc-0.6.0
ls -la /nix/store/b2xfqi6by0j24wd34lqil20745nvpzjq-havoc-0.6.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

havoc

Maintainer pings
cc @AndersonTorres for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

@NixOS/nixpkgs-merge-bot merge


Add carthage support

because it's awesome. :smile:

Forgot something

Hi @istx25
I'm not a big fan of the repository structure, but I guess that I have to deal with it. Thanks for the PR.

Let me know when I can merge this. If you are still working on some changes there are a couple of thing I suggest:

remove the Test target from the root of the repo
Move back the BubbleTransition.swift in the Source path, and link it from there in the Framework project, without copying it over, so that the pod and the development project don't break.


(BUG) The shape of mobile number isn't highlighted in red if the entered number is invalid

Precondition:
The "Edit profile" page is opened
Steps to reproduce:

Enter the invalid number into the mobile field
Remove focus from mobile field
Pay attention to the shape of mobile field

Actual result: The shape of mobile number isn't highlighted in red if the entered number is invalid
Expected result: The shape of mobile number should be highlighted in red like the tip-text if the entered number is invalid
Checked on DEV V0.21.1-0
LG V30+ // Android 8.0 // Google Chrome 81.0.4044.138
Desktop: Windows 10 // Google Chrome Version 83.0.4103.6

The shape of mobile number is highlighted in red if the entered number is invalid
Checked on DEV V0.21.1-0
LG V30+ // Android 8.0 // Google Chrome 81.0.4044.138
Desktop: Windows 10 // Google Chrome Version 83.0.4103.6


Topic recognition

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202
Final Edit completed the task.

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202
Final Edit completed the task.

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202
Final Edit completed the task.

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202
Final Edit Submitted to Turnitin.

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202
Final confirmation submission. Removed a bit of commentation and Bit of readme.

JunHyuk Kim
First Task ISIC 2017 Improved Unet
Student Number 47423202
Final confirmation submission. Removed a bit of commentation and Bit of readme.

Wrong files path. All student constructed document should be packed in one document under the ‘recognition’ document.
Algorithm solves the problem appropriately. Average Dice Coefficient in testing dataset: 0.8383. Predicted Mask output looks good.
Try to use TensorFlow to construct the Improved U-Net model, but the model body is roughly a U-Net-like model(filters start with 64 and end up with 512) instead of the improved U-Net one(filters start with 16 and end up with 256). Other parts are ok.
Good coding design.
Sufficient docstring and comment in the code.
Easy difficulty problem, no higher difficulty marks.

About the wrong file path, you mean I have two folders and one should be removed? Or is there more?
Secondly, should was it required for me to use tensorflow? I dont think Ive used tensorflow before, so Im not sure if I can do that in few days while also preparing for my exams.

Lowering it from 64 to 16 actually lowers the accuracy. Its still around 80, is this expected?

About the wrong file path, you mean I have two folders and one should be removed? Or is there more?
Secondly, is it required for me to use tensorflow? I dont think Ive used tensorflow before, so Im not sure if I can do that in few days while also preparing for my exams. I can try, but Im a bit worried.

This is just comments for marking. No need to change anything.
Sorry for the TensorFlow comment. It's a typo. I have righted the wrong.
For the wrong file path, you should put in only one document under the topic-recognition, as all students files will be merged in this document.

Does the change look good to you?
I'm not sure how to apply the feedback. I changed a bit, because I need to apply the feedback within a week right?
Does this look good?

Marking
Good Practice (Design/Commenting, TF/Torch Usage)
OK design and implementation but incorrect model (UNet) -4
Good spacing and comments
Header blocks missing -1
Recognition Problem
Solves problem
Driver Script present
File structure present
Shows Usage & Demo & Visualisation & Data usage
Module present
Commenting
No Data leakage
Difficulty: Easy -10
Commit Log
Meaningful commit messages
Progressive commits used
Documentation
ReadMe acceptable/good
Model/technical explanation
Good Description and Comments
Markdown used and PDF submitted
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch)
Feedback required, remove pyc files for merging -2
Request Description minimal -1

Feedback marks possible +2 if the requested changes are made (see above).

I changed the file structure and removed the pyc files. Do you see this and is this good enough?

Feedback attempt and feedback marks granted +2.

Should I close the branch?  Or should I keep this open?


Duplicate profile

What are you experiencing, describe the bug
My account appears on the highscores twice
How are you expecting it would work?
It should appear only once
What is your username?
Zhelezny

Update: the upload button stopped working for me for some reason. I tried deleting my profile to fix the issue. Now there is only one (outdated) profile on the website, it can't be deleted and I can't upload my data.

Nevermind, it somehow fixed itself


fix(a11y): prevent refocus of textarea on keyboard navigation

Closes STACKS-383
This PR ensures that the focused editor menu element retains focus when navigating via keyboard.
Previously, tabbing to a menu element then invoking it with enter would send focus to the "view" (aka the textarea). This would require those navigating with the keyboard to have to tab back to where they were to continue where they left off. This PR addresses this issue with the following changes:

Focus is no longer moved to the view unless editor menu item was clicked
The popover is only hidden if the popover menu item was clicked

TODO

[ ] Add unit test
[ ] Add ticket(s) for fully accessible menu (see https://github.com/StackExchange/Stacks-Editor/pull/254#pullrequestreview-1624199129)

Thanks @dancormier for this small fix (see comment in the code - there is a small bug). We can add a unit test and we should be good to move on with this story.

I'll add a unit test and merge it in. It's not perfect, but it accomplishes the goal at hand and is an improvement over what we had.

Sidenote (More a11y issues)
While reviewing this fix I spent a good amount of time reading WAI authoring practices for menu and menubar. I think that what we have now is still not fully accessible. Here are the issues I understood still affect our implementation:
* When a menu opens, keyboard focus should be placed on the first item (at the moment the focus stays on the menu button)

* `Tab` and `Shift + Tab` should NOT move focus among `menuitem`s instead they should move to the next/previous focusable item which is not a `menuitem` and close the menu if it was open.

* `Arrow Up` and `Arrow Down` should be used instead to loop through the `menuitem`s (focus should be trapped)

* When `Enter` (and optionally `Space`) is pressed and user is focused on a `menuitem` the item should activate and the menu should close (at the moment the menu remains open)

Thank you for this research. I kinda took the ticket/report at face value and "fixed" the issue, but the approach you found in your research makes total sense. When I was working on this, I even had the thought about arrow navigation making sense (I thought it would be nice if it kinda worked like navigating a radio group), but just left it as-is.
Out of curiosity (and proximity), I tested out the ⋮ button on the top-right corner of these PR comments to see how they work. GitHub is not without its accessibility issues but I figured they'd meet MSFT's standards considering they're GitHub's parent company. What they do is close to what WCAG describes, with the exceptions that:

Invoking the menu does not focus the first item
Tab navigates the menuitems in addition to the arrows

For the record, I'm not suggesting we follow GitHub's lead here. I figured I'd mention it as a curiosity here.

I think we could consider these a11y issues outside the scope of this fix (since they were not in the report). That said I would not be surprised if we will get a follow up report with these issues listed. The minimum we should do is to create a ticket for our backlog and in my opinion we should try to work on that ticket before the enterprise release too to be on the safe side.

I agree. I think we can consider this as accomplishing the goal and resolving the stated issue. There's room for improvement, but this is moving in the right direction. Related, I've yet to see a concrete standard we're being held to by the third-party requesting the fix. The best I've heard is "we need to be able to show we're improving accessibility" which I think this accomplishes. We can prioritize other improvements that get us closer to something like WCAG AA adherence outside of this PR. For now, I'll write up some tickets.
Thanks @giamir for the review and all the information!


Read from URL

It would be great if I could paste an URL, then it downloads the resource and read it.
This app could register itself as an option to open URLs, opening directly into its "Read URL" mode.
Improvements when mime type is text/html or the extension is html:

Remove text inside <script> or <style>, remove all tags <[^>]*> and translate &abc; occurrences.
Build a simple navigation menu to read only some part or the page, like text below <H#> or inside <article>.

Hello @aurium,
Thank you for opening this issue.
I think this is a good idea, but it would be quite tricky to implement.  Removing JavaScript, style and other non-textual tags might sound good in theory, but not in practice.  Unfortunately, many modern sites use JavaScript to load text content.  Some sites also require one to login first.
The only reliable way to implement this feature for the modern web would be to interface with a browser, either external or embedded.  I'm afraid that is somewhat beyond my vision for TTS Util.
If you really need this feature, Google's TalkBack app should be able to do most of what TTS Util could.  TalkBack is open source, too.


Seems that Sunshine is broken now

Describe the bug
I had a Sunshine server set up, but after flake update and rebuild there is no image. Mouse movements and sound still there.
Log of sunshine command in terminal (while the server is working, so there may be some bloat)

[2024:09:21:14:16:34]: Info: Sunshine version: 0.23.1
[2024:09:21:14:16:34]: Info: /dev/dri/card0 -> simpledrm
[2024:09:21:14:16:34]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:34]: Info: /dev/dri/card1 -> nvidia-drm
[2024:09:21:14:16:34]: Info: System tray created
[2024:09:21:14:16:34]: Error: Environment variable WAYLAND_DISPLAY has not been defined
[2024:09:21:14:16:34]: Info: Detecting monitors
[2024:09:21:14:16:34]: Info: Detected monitor 0: HDMI-0, connected: true
[2024:09:21:14:16:34]: Info: Detected monitor 1: DP-0, connected: false
[2024:09:21:14:16:34]: Info: Detected monitor 2: DP-1, connected: false
[2024:09:21:14:16:34]: Info: Detected monitor 3: DP-2, connected: false
[2024:09:21:14:16:34]: Info: Detected monitor 4: DP-3, connected: false
[2024:09:21:14:16:34]: Info: Detected monitor 5: DP-4, connected: false
[2024:09:21:14:16:34]: Info: Detected monitor 6: DP-5, connected: false
[2024:09:21:14:16:34]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2024:09:21:14:16:34]: Info: Trying encoder [nvenc]
[2024:09:21:14:16:34]: Info: Screencasting with KMS
[2024:09:21:14:16:34]: Info: /dev/dri/card0 -> simpledrm
[2024:09:21:14:16:34]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:34]: Info: /dev/dri/card1 -> nvidia-drm
[2024:09:21:14:16:34]: Error: Couldn't find monitor [0]
[2024:09:21:14:16:34]: Info: /dev/dri/card0 -> simpledrm
[2024:09:21:14:16:34]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:34]: Info: /dev/dri/card1 -> nvidia-drm
[2024:09:21:14:16:34]: Error: Couldn't find monitor [0]
[2024:09:21:14:16:34]: Info: Screencasting with KMS
[2024:09:21:14:16:34]: Info: /dev/dri/card0 -> simpledrm
[2024:09:21:14:16:34]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:34]: Info: /dev/dri/card1 -> nvidia-drm
[2024:09:21:14:16:34]: Error: Couldn't find monitor [0]
[2024:09:21:14:16:34]: Info: /dev/dri/card0 -> simpledrm
[2024:09:21:14:16:34]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:34]: Info: /dev/dri/card1 -> nvidia-drm
[2024:09:21:14:16:34]: Error: Couldn't find monitor [0]
[2024:09:21:14:16:34]: Info: Encoder [nvenc] failed
[2024:09:21:14:16:34]: Info: Trying encoder [vaapi]
[2024:09:21:14:16:34]: Info: Screencasting with KMS
[2024:09:21:14:16:34]: Info: /dev/dri/card0 -> simpledrm
libva info: VA-API version 1.22.0
[2024:09:21:14:16:34]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:34]: Info: Found monitor for DRM screencasting
[2024:09:21:14:16:34]: Error: Failed to determine panel orientation, defaulting to landscape.
[2024:09:21:14:16:34]: Info: Found connector ID [36]
[2024:09:21:14:16:34]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
libva info: Trying to open /run/opengl-driver/lib/dri/simpledrm_drv_video.so
libva info: Trying to open /usr/lib/dri/simpledrm_drv_video.so
libva info: Trying to open /usr/lib32/dri/simpledrm_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/simpledrm_drv_video.so
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/simpledrm_drv_video.so
libva info: va_openDriver() returns -1
[2024:09:21:14:16:34]: Error: Couldn't initialize va display: unknown libva error
[2024:09:21:14:16:34]: Warning: Monitor  doesn't support hardware encoding. Reverting back to GPU -> RAM -> GPU
[2024:09:21:14:16:34]: Info: /dev/dri/card0 -> simpledrm
[2024:09:21:14:16:34]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:34]: Info: Found monitor for DRM screencasting
[2024:09:21:14:16:34]: Error: Failed to determine panel orientation, defaulting to landscape.
[2024:09:21:14:16:34]: Info: Found connector ID [36]
[2024:09:21:14:16:34]: Warning: No KMS cursor plane found. Cursor may not be displayed while streaming!
[2024:09:21:14:16:35]: Info: SDR color coding [Rec. 601]
[2024:09:21:14:16:35]: Info: Color depth: 8-bit
[2024:09:21:14:16:35]: Info: Color range: [JPEG]
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
[2024:09:21:14:16:35]: Error: [h264_vaapi @ 0x2bba05c0] No usable encoding entrypoint found for profile VAProfileH264High (7).
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
[2024:09:21:14:16:35]: Info: Retrying with fallback configuration options for [h264_vaapi] after error: Function not implemented
libva info: va_openDriver() returns 0
[2024:09:21:14:16:35]: Error: [h264_vaapi @ 0x2bbdf680] No usable encoding entrypoint found for profile VAProfileH264High (7).
[2024:09:21:14:16:35]: Error: Could not open codec [h264_vaapi]: Function not implemented
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
[2024:09:21:14:16:35]: Info: SDR color coding [Rec. 601]
[2024:09:21:14:16:35]: Info: Color depth: 8-bit
[2024:09:21:14:16:35]: Info: Color range: [JPEG]
libva info: va_openDriver() returns 0
[2024:09:21:14:16:35]: Error: [h264_vaapi @ 0x2bbdf680] No usable encoding entrypoint found for profile VAProfileH264High (7).
[2024:09:21:14:16:35]: Info: Retrying with fallback configuration options for [h264_vaapi] after error: Function not implemented
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
[2024:09:21:14:16:35]: Error: [h264_vaapi @ 0x2bba05c0] No usable encoding entrypoint found for profile VAProfileH264High (7).
[2024:09:21:14:16:35]: Error: Could not open codec [h264_vaapi]: Function not implemented
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
[2024:09:21:14:16:35]: Info: SDR color coding [Rec. 601]
[2024:09:21:14:16:35]: Info: Color depth: 8-bit
[2024:09:21:14:16:35]: Info: Color range: [JPEG]
libva info: va_openDriver() returns 0
[2024:09:21:14:16:36]: Error: [h264_vaapi @ 0x2bba05c0] No usable encoding entrypoint found for profile VAProfileH264High (7).
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
[2024:09:21:14:16:36]: Info: Retrying with fallback configuration options for [h264_vaapi] after error: Function not implemented
libva info: va_openDriver() returns 0
[2024:09:21:14:16:36]: Error: [h264_vaapi @ 0x2bbdf680] No usable encoding entrypoint found for profile VAProfileH264High (7).
[2024:09:21:14:16:36]: Error: Could not open codec [h264_vaapi]: Function not implemented
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
[2024:09:21:14:16:36]: Info: SDR color coding [Rec. 601]
[2024:09:21:14:16:36]: Info: Color depth: 8-bit
[2024:09:21:14:16:36]: Info: Color range: [JPEG]
libva info: va_openDriver() returns 0
[2024:09:21:14:16:36]: Error: [h264_vaapi @ 0x2bbdf680] No usable encoding entrypoint found for profile VAProfileH264High (7).
[2024:09:21:14:16:36]: Info: Retrying with fallback configuration options for [h264_vaapi] after error: Function not implemented
libva info: VA-API version 1.22.0
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
[2024:09:21:14:16:36]: Error: [h264_vaapi @ 0x2bba05c0] No usable encoding entrypoint found for profile VAProfileH264High (7).
[2024:09:21:14:16:36]: Error: Could not open codec [h264_vaapi]: Function not implemented
[2024:09:21:14:16:36]: Info: Encoder [vaapi] failed
[2024:09:21:14:16:36]: Info: Trying encoder [software]
[2024:09:21:14:16:36]: Info: Screencasting with KMS
[2024:09:21:14:16:36]: Info: /dev/dri/card0 -> simpledrm
[2024:09:21:14:16:36]: Warning: No render device name for: /dev/dri/card0
[2024:09:21:14:16:36]: Info: Found monitor for DRM screencasting
[2024:09:21:14:16:36]: Error: Failed to determine panel orientation, defaulting to landscape.
[2024:09:21:14:16:36]: Info: Found connector ID [36]
[2024:09:21:14:16:36]: Warning: No KMS cursor plane found.  Cursor may not be displayed while streaming!
[2024:09:21:14:16:36]: Info:
[2024:09:21:14:16:36]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2024:09:21:14:16:36]: Info:
[2024:09:21:14:16:36]: Info: Found H.264 encoder: libx264 [software]
[2024:09:21:14:16:36]: Fatal: Couldn't bind RTSP server to port [48010], Address already in use
[2024:09:21:14:16:36]: Info: Adding avahi service Sunshine

To ensure that it is not because of sunshine state, I commented out sunshine module, rebuilded, collected garbage, removed sunshine config from ~/config and included it again. After new configuration in web interface, it behaves the same (no image).
I use Gnome-xorg on Nvidia and nixos-unstable with flakes. This is my config
Steps To Reproduce
Steps to reproduce the behavior:

Have Nvidia and Gnome xorg
do

{

services.sunshine = {
  enable = true;
  autoStart = true;
  capSysAdmin = true;
  openFirewall = true;
};

}

Expected behavior
I should get an image output also of course
Notify maintainers
@devusb

Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.11.0, NixOS, 24.11 (Vicuna), 24.11.20240919.c04d565`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - nixpkgs: `/nix/store/hiasfhl8f5yy88hcfbr3s8s4bm63wsjw-source`

Add a :+1: reaction to issues you find important.

Update:
On Gnome Wayland it is working.

Haven't used NVIDIA + xorg in awhile -- try without capSysAdmin = true?

Can you explain what is "awhile -- try" and "capSysAdmin = true"? I never encountered this and simple googling gives bad results.

In your above configuration you show that you used
services.sunshine = {
  enable = true;
  autoStart = true;
  capSysAdmin = true;
  openFirewall = true;
};

remove thecapSysAdmin line such that it becomes
services.sunshine = {
  enable = true;
  autoStart = true;
  openFirewall = true;
};

and see if you have different behavior.
I don't have an NVIDIA card anymore so it's difficult for me to test this setup -- I did use Plasma + xorg + NVIDIA for awhile and it generally worked fine, but thinking that I only needed capSysAdmin for KMS when using Wayland.

Yes, this fixes the issue.
So, I think it is needed to make a comment about this in both NixOS wiki.

@ArtemChandragupta good point -- I updated the wiki page. thanks for the feedback.

Hi. It's sad to say, but I misled you. Unfortunately, this "solution" resulted in the stream starting time to time, depending on the session. Same with wayland gnome and hyprland, time to time.
I carried out testing, so to speak, and found out that the problem is in the newest kernel/Nvidia drivers, which are updated along with it, namely
kernelPackages = pkgs.linuxPackages_latest;
Removing it I got reliable streaming. I waited threw one default kernel update and three latest kernel updates to get sure that I won't make mistake in this time.


Method in the Ipamer interface to fetch existing Prefixes

From what I could tell, the Ipamer interface is there to abstract out the Storage backend.
Wouldn't it make sense to have a method in the Ipamer interface to fetch existing CIDRs?
Only way I can see how to do it right now is via the ReadAllPrefixCidrs() method in the Storage interface.
Am I missing something?

There is already a ReadAllPrefixes method defined in the Storage interface. Exposing it would be possible.
May i ask what is the use case ? For Backup purposes i am preparing a Dump and Load Interface in this PR: #65, maybe this  already serves your purpose ? If not feel free to raise a  PR for that.

Exposing ReadAllPrefixes would also work but seems like overkill.  I mentioned ReadAllPrefixCidrs simply because it's more light weight and serves the purpose:
If you can get the CIDRs directly from the 'Ipamer, then that would allow you to fetch a Prefixvia thePrefixFrommethod.  That in turn means you don't need the Storage for anything but initialization.  Seems like a simpler approach in the sense that it avoids you from having to carry around both theStorageand theIpamer` everywhere in the code.
Also, if you look at the example on the README that uses New, no way to get the list of Prefixes since you never get access to the underlying memory Storage.
Make sense?

Thanks @majst01


build.submit_for_beta_review!(parameters) raise err

Hi :
I want to change my build after ITC processing,but when i use "build.submit_for_beta_review!(parameters)"mehod i found that throw following issue:
/Library/Ruby/Gems/2.0.0/gems/spaceship-0.14.1/lib/spaceship/tunes/tunes_client.rb:163:in handle_itc_response': ITC.apps.builds.errorMessage.notApprovedBuild (Spaceship::TunesClient::ITunesConnectError) 	from /Library/Ruby/Gems/2.0.0/gems/spaceship-0.14.1/lib/spaceship/tunes/tunes_client.rb:474:in update_build_trains!'
from /Library/Ruby/Gems/2.0.0/gems/spaceship-0.14.1/lib/spaceship/tunes/build_train.rb:100:in update_testing_status!' 	from notification.rb:78:in beginTest'
from notification.rb:13:in run' 	from notification.rb:84:in '

Hey @self-creative, is this still an issue for you? I am going to close it for now as it has been a while since this was opened. But please reopen it if you are having the issue on new versions of the tools! Also, if you do reopen, please paste in the full output from your terminal. Thanks! :computer:


Issue 1173

Rebased the work against development branch and refactored all the tests using RSpec.

@Bodacious, @briri and @xsrust all the tests related to #1173 are passing so please check the CI in order to fix the failing tests.

@jollopre These broken tests were caused by git merges.
(The issues were initially fixed in #1850 and #1851)


Testing - Child Entity - Multipe Events

Hi Charles
I have a child entity that is raising multiple events when processing a command.
I want to test that the event data is correct but values of the properties when the event is retreived through .Raised<> are blank.
  context.UoW
      .Check<Visit>(visitId)
      .Check<VisitPlan>(planId)
      .Raised<ScopeUpdated>(@event =>
      {
          @event.PlanId.Should().Be(planId.GuidId);
          @event.VisitId.Should().Be(visitId.GuidId);
          @event.Version.Should().Be(nextVersion);
          return true;
      })
      .Raised<SubmittedForApproval>(@event => {
       @event.Version.Should().Be(nextVersion); // the properties are this @event are all empty (i.e. int = 0, string = null etc)
       return true;
      });

I've confirmed in the Event handler in the EntityState that the event properties are populated and correct. It's just when the event is accessed in this scenario.
The first event comes through ok, so it makes me think its some casting issue of the event type for subsequent events. Maybe because all events inherit IStampedEvent or something.
I've only seen this issue when dealing with subsequent events from a child entity if that helps.
Thanks

Curious - if you swapped the Raised calls ie
context.UoW
      .Check<Visit>(visitId)
      .Check<VisitPlan>(planId)
      .Raised<SubmittedForApproval>(@event => {
       @event.Version.Should().Be(nextVersion); // the properties are this @event are all empty (i.e. int = 0, string = null etc)
       return true;
      })
      .Raised<ScopeUpdated>(@event =>
      {
          @event.PlanId.Should().Be(planId.GuidId);
          @event.VisitId.Should().Be(visitId.GuidId);
          @event.Version.Should().Be(nextVersion);
          return true;
      });

Does the ScopedUpdated check work?
AFAIK - off hand - the raised method checks the event type against the list of raised events, it won't go up the inheritance chain if that's what you are concerned about.
Looking into the double raised issue in any case!

Hi @galenp sorry for the delay and confusion!
So I was writing up unit tests to cover these issues you had and realized what the problem is. Raised is not designed to work like that. Raised takes a factory constructor to create an event object to compare to the list of raised events while processing the message.
The intended way to do this test would be
context.UoW
      .Check<Visit>(visitId)
      .Check<VisitPlan>(planId)
      .Raised<ScopeUpdated>(@event =>
      {
          @event.PlanId = planId.GuidId;
          @event.VisitId = visitId.GuidId;
          @event.Version = nextVersion;
      })
      .Raised<SubmittedForApproval>(@event => {
       @event.Version = nextVersion;
      });

The Raised methods are building events not for asserting on their contents. Raised will throw itself if the list of events raised during processing does not contain an exact match to the event you're checking.
See Testable.cs L84

Theres a fuller example of the testing project's capabilities here https://github.com/charlessolar/Aggregates.NET/wiki/Testing#testing-entities


Log exploded when rendering modified blocks

Every time modified blocks like furnaces and brewing stands are rendered, a log line will output through STDOUT.
Minecraft Version
1.21
Modloader
Fabric 0.15.11 with Fabric API 0.100.3
Mod Version
5.2.0
Log
latest.log

I just noticed this myself. Fixed!


Cannot assign value type of...

Hi, I've recently added your lib to my project but I'm getting this error

Cannot assign value of type '[String : Any]?' to type '[NSAttributedStringKey : Any]?'

This error can be found in the file RSSelectionMenuController.swift line 325 witch contains this function
    // navigation bar
    fileprivate func setNavigationBarTheme(_ theme: NavigationBarTheme) {
        if let navigationBar = self.navigationController?.navigationBar {

            navigationBar.barTintColor = theme.color
            if theme.color != nil {
                navigationBar.tintColor = UIColor.white
            }

            navigationItem.title = theme.title
            navigationBar.titleTextAttributes = theme.attributes // <- Line where the error is located (325)
        }
    }

Hello, @PedroCavaleiro please follow below steps.
Go to pods projects in your workspace.
Select RSSelectionMenu target.
Go to Build Settings and set Swift Language Version to 3.2

Did not know that I was able to change the Swift Language Version for only one Pod
Thanks


chore: setup changie on Rust SDK

Add basic Changie setup to Rust based on #5408.

Yes is it, here is an example of command: changie new --kind "Fixed" --body "Improve enum management to not conflict with string" --custom "Author=TomChv" --custom "PR=5645"
You can also check our CONTRIBUTING.md

I'll apply the changes today or tomorrow and we can merge it after that :)

I merge that PR as soon as CI has finished :)

I see a few issues with this PR:

Release notes for already released Rust SDK versions have been deleted - we need to restore these.

There is no version in sdk/rust/.changes, meaning that the first Rust SDK version generated by changie will be 0.0.1. This is linked to 1, we are missing a bunch of files in sdk/rust/.changes. See https://github.com/dagger/dagger/tree/v0.8.4/sdk/go/.changes for an example.

Releasing instructions have been added to generate the Rust SDK changelog, but we are missing everything else that is required to produce a Rust SDK release. We either add the rest, and produce a Rust SDK release same as other SDKs, or remove these partial instruction.

Release notes for already released Rust SDK versions have been deleted - we need to restore these.

My answer was:

I saw that all commits where on your personal repository, so I'll drop this changelog so we can start with a fresh one on Dagger repository :)

Basically, all the commits are pointing to @kjuulh, and not our, if that's not a problem I can add old changelog but I thought it would be better to tag PR from our repository that splitting commits across repos.

There is no version in sdk/rust/.changes, meaning that the first Rust SDK version generated by changie will be 0.0.1. This is linked to 1, we are missing a bunch of files in sdk/rust/.changes. See https://github.com/dagger/dagger/tree/v0.8.4/sdk/go/.changes for an example.

Right, I wasn't sure which version I should take, should we start with 0.3.0 since it's the latest?
https://crates.io/crates/dagger-sdk/0.3.0

Releasing instructions have been added to generate the Rust SDK changelog, but we are missing everything else that is required to produce a Rust SDK release. We either add the rest, and produce a Rust SDK release same as other SDKs, or remove these partial instruction

What is the best to do? @kjuulh do you want the Rust release to be part of our SDKs release or do you wanna keep doing the release yourself?

@TomChv @gerhard
It would be best if the rust sdk aligns with the existing release process for other sdks, that is as long as it is something I can trigger =D
Version 0.3.0 is a good starting point, so we can just start off of that. The old changelogs aren't super necessary, as we've got quite limited consumers, feel free to start off from scratch if it is easier. If people want to read changelogs, they can go back to the archived repo and read the release notes for the older releases, or read them via. crates io, where they should be included as well.
The only thing I need to do is fix the publish pipeline, it was disabled because it was too unstable I think. Rust is very finicky about releasing dependent crates (I've already fixed this issue), so I will attempt to fix the last parts missing for the publisher and we should be good to go.
The only other thing is that I need to support bumping the versions in the crates as well, rust prefers if the Cargo.toml version follows what is being released, and is in git. This is currently a missing feature, but it shouldn't be too bad to implement, maybe as part of the preparation in the release steps, or automated not quite sure what the best is here.

Version 0.3.0 is a good starting point, so we can just start off of that. The old changelogs aren't super necessary, as we've got quite limited consumers, feel free to start off from scratch if it is easier. If people want to read changelogs, they can go back to the archived repo and read the release notes for the older releases, or read them via. crates io, where they should be included as well.

Sounds good, I'll create a first version file then to pin this version!

The only thing I need to do is fix the publish pipeline, it was disabled because it was too unstable I think. Rust is very finicky about releasing dependent crates (I've already fixed this issue), so I will attempt to fix the last parts missing for the publisher and we should be good to go.

The only other thing is that I need to support bumping the versions in the crates as well, rust prefers if the Cargo.toml version follows what is being released, and is in git. This is currently a missing feature, but it shouldn't be too bad to implement, maybe as part of the preparation in the release steps, or automated not quite sure what the best is here.

Is that thing that can be integrated to our mage system? You can open a PR to add these changes for sure!

@TomChv probably the only thing that is a bit iffy is that it needs to commit the changes afterwards. If so I may avoid doing it there and see if I can do it in another place.

@kjuulh part of releasing the Engine & CLI, we also release the Go, Python, Node.js & Elixir SDKs.
We use the same version across all artefacts so that users don't get confused about version mismatches. We had multiple situations when the different versions created confusion for our users (e.g. Go SDK v0.7.4 & Python SDK v0.6.4 which both required Engine v0.6.4). We used the v0.8.0 release to match the Engine & CLI version with all SDKs. There is a single version now - v0.8.4 is the lastest stable available today - and everything that we release uses it.
I see two options:

We release the Rust SDK same as all the above SDKs. This PR took a small step towards this (the RELEASING.md change). We have more work to do if we want that to happen.
We let you release Rust SDK on your own schedule & don't make it part of our release cycle.

What would you prefer @kjuulh?

@gerhard i probably need to release it on my own then. As i may not always be available to fix issues that come up during the release process.

Alright, we can keep changie for the consistency but I'll remove Rust from RELEASING.md, do that sounds good to you?


iOS debugging only works with a configuration called "Debug"

Description
The code that adds the build settings for enabling the hermes debugger will only run if the configuration is called (or maybe contains) "Debug"
Steps to reproduce
Reproducer with "Debug" scheme renamed to "Local"
https://github.com/benhandanyan/react-native-debugger-local-bug

Clone the reproducer locally
Install dependencies and pods
Run the ios app with yarn ios
Attempt to open the debugger

React Native Version
0.76.4
Output of npx react-native info
npx react-native info
info Fetching system and libraries information...
System:
  OS: macOS 15.1.1
  CPU: (12) arm64 Apple M2 Pro
  Memory: 1.10 GB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.10.0
    path: ~/.nvm/versions/node/v20.10.0/bin/node
  Yarn:
    version: 1.22.19
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.2.3
    path: ~/.nvm/versions/node/v20.10.0/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /Users/benjamin/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.1
      - iOS 18.1
      - macOS 15.1
      - tvOS 18.1
      - visionOS 2.1
      - watchOS 11.1
  Android SDK: Not Found
IDEs:
  Android Studio: 2022.2 AI-222.4459.24.2221.9971841
  Xcode:
    version: 16.1/16B40
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.13
    path: /usr/bin/javac
  Ruby:
    version: 3.3.0
    path: /Users/benjamin/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.0.1
    wanted: 15.0.1
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.76.4
    wanted: 0.76.4
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

### Screenshots and Videos

_No response_

I previously reported this issue as a problem with an upgrade from v0.72 to 0.73. Prior to version 0.73 I could debug my application with my "Local" configuration

Based on some quick local testing, it looks like it would be possible to use config.type instead of config.name to add certain configurations. With my custom configs, none of which are named debug or release, they all have config.type values of either "debug" or "release". If there are other settings that are dependent on specific configuration names, there could be other bugs or issues beyond just the native debugger impacted as well.

post_install do |installer|
react_native_post_install(installer)
Check the build configuration
installer.pods_project.targets.each do |target|
if target.name == 'React-Core'
# Ensure Hermes is enabled for custom schemes
target.build_configurations.each do |config|
if config.name == 'Debug' || config.name == 'Local' # Add any schemes you want
config.build_settings['ENABLE_HERMES'] = 'YES'
end
end
end
end
end
Step 3: Clean Build and Rebuild
Clear Derived Data: Sometimes, Xcode can cache settings, which might cause issues. You can clean your build folder by running:
bash
Copy code
rm -rf ~/Library/Developer/Xcode/DerivedData/*
Reinstall Pods: Reinstall your CocoaPods to make sure all configurations are applied:
bash
Copy code
cd ios
pod install --repo-update
cd ..
Clear Metro Bundler Cache: Sometimes caching causes issues with Hermes. Clear the Metro cache by running:
bash
Copy code
npx react-native start --reset-cache
Rebuild the App: After performing the above steps, run your app again:
bash
Copy code
yarn ios


Buyer should be able to write a brief

#111139752
Adds a Brief model and routes to create, update, list, get and update the status.
There are various constraints around brief creation and modification.

There is a composite foreign key to FrameworkLot to ensure that a brief isn't created for a lot on a different framework.
Only 'buyer' users can be associated with a brief
Status must be 'draft' or 'live' and 'live' briefs cannot be turned into 'draft' briefs.
Briefs can only be created for lots that require briefs (ie. not for G-Cloud lots or studios)

I have created stub JSON schemas just to allow their integration.
depends on

[x] https://github.com/alphagov/digitalmarketplace-apiclient/pull/6

Looks great :+1:

Rebased on top of https://github.com/alphagov/digitalmarketplace-api/pull/336


MyVW - Make it work with US based VW ID4

Is your feature request related to a problem? Please describe.
I am in USA and have a ID4.  I have my MyVW app setup and it works.  However, this plug in doesnt work.  I think the apps are different for US vs Non-US

There is a whole different API and app for the USA.
I can't build it because i live in the EU :( it's sad that VW choose to do this.


Ignore log files

Opened #2932 to address test failures

Looks fine. We can merge this as the lint failure is not related.

:+1:


Route planner - reverse route

Reverse entire route. This is done surprisingly often, when after planning the route, the wind expectation is viewed!

Implemented in release 3.0.0-alpha-23.

De omkeerfunctie werkt niet meer, bij mij.

@pelderson thanks for reporting this problem
Fixed in version 3.0.0-alpha-36.


Implement CupertinoListSection and CupertinoListTile

This pull request adds two important widgets that were missing, a CupertinoListSection (a close relative of Material Design ListView) and a CupertinoListTile (a iOS-style twin of Material Design ListTile).

Fixes #19228
Repo flutter/tests left intact.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

Pull Request steps

[x] Implement CupertinoListSection and CupertinoListTile.
[x] Dedup code between these widgets and CupertinoFormSection and CupertinoFormRow.
[x] Add tests for CupertinoListSection and CupertinoListTile. These tests should be similar to the ones already present for CupertinoFormSection and CupertinoFormRow.
[ ] Organize PR into meaningful commits.
[x] Review the code before removing Draft.

Gold has detected about 5 untriaged digest(s) on patchset 2.
View them at https://flutter-gold.skia.org/cl/github/78732

Gold has detected about 5 untriaged digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/78732

Gold has detected about 5 untriaged digest(s) on patchset 4.
View them at https://flutter-gold.skia.org/cl/github/78732

hi @campovski do you happen to have the source of demo screens from above available? It looks great and thank you for the work on it.

@bsr203 I am glad you are find this useful! I am just sorry that I didn't have so much time lately to finish this PR.
Yes, the examples are available here.

@campovski thanks a lot for getting back to me and your time building the examples. I copies your code to latest flutter and it didn't give any error. Will try out the examples of usage. Thanks again for sharing your work. Cheers.

Gold has detected about 57 new digest(s) on patchset 16.
View them at https://flutter-gold.skia.org/cl/github/78732

@campovski At a high level this looks great. It probably needs some work e.g. resolving analysis issues and some code review comments and such, but before I get too into the weeds I wanted to ask you what the best way to help you is. Are you still interested in landing this? (I'm painfully aware that it has taken us months to get to it and I'm really sorry about that.)

@Hixie Yes, I would like to land this, however unfortunately I haven't got time lately to work on Flutter in general. What I am a bit worried about this PR is organizing it into meaningful commits. I did my best to do so when I actively developed this feature but now it became a bit of a mess with last few commits.
Nonetheless, I promise to resolve the analysis issues and comments tomorrow. Looking forward to it!

Please don't feel like I'm rushing you, I'm obviously in no position to do so since we've been so slow here. Your contributions are massively welcome regardless. :-)

@Hixie just wanted to let you know that this PR is now ready.
The analysis errors have been fixed and CR comments either applied or (I believe justiable) answered.
Please, explicitly say, if it is required, that this PR be organised into meaningful commits.

No, no need to worry about the commits. It all gets squashed into one when it lands anyway. The only reason to worry about the commits is if doing so would make it notably easier to review (e.g. if one commit is all automated fixes created by a regular expression, or something, vs hand-written code).

Ok, that was my thought as well but since this PR affects just a few files, it is probably redundant to organize commits, I agree.

@campovski are you still interested in landing this? if so, you will need to address code review feedback.

@christopherfujino Yes, I am, I just somehow missed the comments from Hixie.

I was looking for a nice CupertinoListTile. This seemed like a good one to experiment with. @campovski  - In iOS when you have a title (or subtitle) that has a long text -- aka longer than the width allows, you have a couple of options. Either to wrap or truncate.
Material's ListTile seems to wrap it, perfectly sensible. This new tile doesn't wrap or truncate. It overflows.
I didn't want to figure out how to provide a test case for a PR. But if you change any of your list tiles to have the standard Flutter example, you'll see it too.. In my case I had the following wrapped in a ListView inside a CupertinoPageScaffold.
        children: [
          const CupertinoListTile(
            title: Text("You have pushed the button this many times."),
          ),
          CupertinoListTile(
              title: Text(
            "$_counter",
            style: Theme.of(context).textTheme.headline4,
          )),

Error I saw was
======== Exception caught by rendering library =====================================================
The following assertion was thrown during layout:
A RenderFlex overflowed by 2.0 pixels on the right.

@vnagendra Yes, this is intentional. I am pretty sure that is also mentioned in a docstring, but I might be wrong. If it is not, I will have to add it.

This is great, and sorry for how long it took to review.

@campovski Only some trivial nits (and branch conflicts); once you've had a chance to fix those please poke me (either on Discord or e-mail me — I get too many GitHub notifications to notice comments on GitHub unfortunately) and I'll make sure it lands. Thanks!

@campovski I know this behavior is intentional, but is there any reason why wrapping the Column that contains both the title and the subtitle in https://github.com/flutter/flutter/blob/451ccced68e4d7f45204e516271e6f349a6ba381/packages/flutter/lib/src/cupertino/list_tile.dart#L356 with an Expanded widget and then removing the Spacer in https://github.com/flutter/flutter/blob/451ccced68e4d7f45204e516271e6f349a6ba381/packages/flutter/lib/src/cupertino/list_tile.dart#L367 would not be a better (correct me if I'm wrong) solution?
This would solve overflow issues like https://github.com/flutter/flutter/pull/78732#issuecomment-1093133652 and as far as I can tell wouldn't result in any direct downsides as restricting the title / subtitle extent would still be possible. IMHO this should be, if not the default behavior, at least provided as an option via a parameter for example.

@alex-sandri @henry2man I agree, we should change it.

(sorry for the delay, i need to get a second reviewer to check it over per our process, and a lot of people are on vacation)

The google testing shard here is stuck, I have confirmed the tests passed. Merging manually.

Which flutter stable version will include these new widgets?

This merged in commit https://github.com/flutter/flutter/commit/0c40945a67dc936f7eb61b7f752d2cec5fbe4055 and right now is only available in the master channel.  You can follow along on that commit as tags get added to it https://github.com/flutter/flutter/wiki/Where's-my-Commit%3F#finding-the-versions-that-contain-framework-commit-x


can`t use git clone

I want to try the git clone way. On my Server i cant run docker :/
Here is the output:

Administrator@WIN-7SM163QVH8B MINGW64 ~/Desktop
$ git clone git@github.com:binance-exchange/binance-java-api.git
Cloning into 'binance-java-api'...
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,<IP_ADDRESS>' (RSA) to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

is this an error?
greetings

You with have to authenticate to git for the binance-exchange/binance-java-api
Then you can git clone as follows:
#git clone https://github.com/binance-exchange/binance-java-api
#git clone https://github.com/unterstein/binance-trader.git


Fixes:#3550; Added hello-world Android Kotlin example using Mill

Pull Request
Fixes: #3550
Description
Added Kotlin Android "Hello World" Application Example while reusing AndroidSdkModule, KotlinModule and creating new Module AndroidAppModule with Kotlin Support and Proper Documentation.
Related Issues

Link to related issue #3550.

Checklist

[x] Android Support for Kotlin Added in the example section for "HelloWorld" Android Application.
[x] Added Kotlin Source files and Customized AndroidAppModule.
[x] Code is clean and follows project conventions.
[x] Documentation has been updated.
[x] Tests have been added or updated.
[x] All tests pass.

Additional Notes
Actually, I was wondering that we reused the AndroidSdkModule but created a new Module AndroidAppModule for Andorid Workflow but what we can do is to provide Kotlin support in the Existing AndroidAppModule and then based on user query they can use the functionality.
So for this i need @lihaoyi Sir your Permission and Guidance, Please Review this PR suggest changes...

Final Changes

[x] mill.kotlinlib.android.AndroidAppModule Renamed to AndroidAppKotlinModule
[x] Extended mill.javalib.android.AndroidAppModule for App related tasks and redefine androidJar task for Kotlin Compilation
[x] Fixed and Updated Documentation
[x] All Tests Passed

Note
@lihaoyi Thankyou Sir for the detailed feedback!
I’ve addressed all the requested changes and resolved the comments. Please let me know if anything else needs attention.
Please pardon me if I missed anything or made a mistake. Looking forward to your final review and any further suggestions!

Look great @himanshumahajan138 , will merge it and close out that part of the bounty


Allow mat-checkbox click event to read checked value

Bug
Checkbox's event has no way to get the checked value of the source checkbox if we would like to use the (click) event.
What is the expected behavior?
Define event.checked or a similar property.
What is the current behavior?
The values are undefined
What are the steps to reproduce?
https://stackblitz.com/edit/matcheckbox-checked
What is the use-case or motivation for changing an existing behaviour?
I would like to make a checkbox, where value only gets changed if the underlying HTTP request succeeds (there is a confirm box after the click and the request returns the entity changed, so I can get the updated value and change the values based on that, also I display notification about the success or failure..etc). The checkbox should not change value before I handle the event.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I used  "@angular/core": "^6.1.2", "@angular/material": "^6.4.6" and  "typescript": "^2.9.2", chrome, but you can check the stackblitz too.
Is there anything else we should know?
https://github.com/angular/material2/issues/1142
https://stackoverflow.com/questions/52364296/matcheckbox-preventdefault-and-event-checked-value

As Chellappan pointed out, this (stackblitz) works.

The click event on the checkbox is just the native click event, which doesn't know anything about the checkbox itself. Using the change event or just getting a handle on the MatCheckbox instance directly (e.g. with @ViewChildren) would be the recommended approach.

You can do this:


Add flax logo in SVG and 3 PNG sizes.

We were lacking a vector version of the Flax logo.  This has been added as an SVG alongside several resolutions of PNG.
Resolves #1454

Codecov Report

Merging #1524 (77e0f6e) into main (6d0a807) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1524   +/-   ##
=======================================
  Coverage   82.60%   82.60%
=======================================
  Files          66       66
  Lines        5491     5491
=======================================
  Hits         4536     4536
  Misses        955      955

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 6d0a807...77e0f6e. Read the comment docs.

note: copybara config handles images/ dir now, but with fixed config it won't update this state to green - so force merging here.