Footer Text Needs Adjusting

This issue deals with multiple items in the footer of each page.

The footer text is a bit too large (currently same size as body text - 14px) and should be reduced (not shown below).
There should also be a header (not in numbering sequence) for this section to make it clear that it is not content body.
A couple of the text items need to be changed

The first line needs to be copyright of the material
The external ownership needs to be put into a separate paragraph.

It would help to reorganize the text - suggested structure is below.

Suggest replacement text
Legal Notice
© 2023, The Khronos Group. Creative Commons International 4.0 BY Attribution. Code is licensed as Apache 2.0.
The OpenXR Tutorial is owned and operated by The Khronos Group Inc. Khronos Legal Notices, Privacy Policy, and Code of Conduct apply.
"OpenXR" and the OpenXR logo are trademarks owned by The Khronos Group Inc. and are registered as a trademark in China, the European Union, Japan and the United Kingdom. Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.
OpenGL® and the oval logo are trademarks or registered trademarks of Hewlett Packard Enterprise in the United States and/or other countries worldwide. OpenGL is a registered trademark and the OpenGL ES logo is a trademark of Hewlett Packard Enterprise used by permission by Khronos.
Microsoft DirectX, Microsoft DirectX11, and Microsoft DirectX12 are trademarks owned by Microsoft.

Commit 7b8d8ba should resolve this issue with the footer text. Below is an image of how the footer is rendered in Chrome.

The paragraph spacing is unusually large,... what happened?

I am using <br> to add new lines. I will see if there's a way to control the sizing.
https://github.com/KhronosGroup/OpenXR-Tutorials/blob/28be71efab8cc57539d370a54ea870f27b65f6bf/tutorial/tutorial_sphinx_theme_1/footer.html#L27-L33

Awesome much better. Thanks.


Add "collections" type

Adds collections endpoints and UI for assigning samples within collections.
to-do:

[x] All API endpoints and database/indexes
[ ] API tests

[x] creating collections with entries
[x] creating entries in a collection
[ ] adding existing entry to collection

[x] Collection table UI
[x] Edit page for collections with table of entries
[ ] UI tests
[ ] Support for collection blocks (e.g., chat block)
[ ] Test for collection (comment block)
[ ] Update UI for fancy table

Address #255

Superseded by many PRs (linked above)


Automated cherry pick of #2608: feature: 1. ak/sk auth support 2. a full feature s3gateway works with Cyberduck

Cherry pick of #2608 on release/2.12.
#2608: feature: 1. ak/sk auth support 2. a full feature s3gateway works with Cyberduck

/approve
/lgtm


[8.x] Make MysqlDriver compatible with Doctrine\DBAL\Driver

Fixes #35553

What version of DBAL?

@GrahamCampbell DBAL version 2.12.1 is the currently installed one. As far as I can tell it was caused by this commit 0942a130 which introduced support for DBAL v3.0.
This commit also added the class src/Illuminate/Database/PDO/MySqlDriver.php which is now causing problems due to incompatibility between the Driver-interface from DBAL and src/Illuminate/Database/PDO/Concerns/ConnectsToDatabase.php-trait.
As far as I can tell it would make sense to align the method signatures from the src/Illuminate/Database/PDO/Concerns/ConnectsToDatabase.php-trait and the Driver-interface from DBAL as this incompatible. Also the getName() method is missing.
If I'm missing something or am on the wrong path please feel free to point me to the right direction to fix it in the desired way.
Thanks for your help!

So, just to clarify, everything works with any of the recent 2.x versions, but not with 3.0.0?

So, just to clarify, everything works with any of the recent 2.x versions, but not with 3.0.0?

@GrahamCampbell yes, just tried it out!

Which of the following versions works correctly:

2.9.3
2.10.4
2.11.3
2.12.1

And what version(s) of PHP did you try? Only 2.12.1 would be expected to work on PHP 8.0, but the others should all work on 7.3 and 7.4.

Which of the following versions works correctly:

2.9.3
2.10.4
2.11.3
2.12.1

@GrahamCampbell
2.9.3 => BAD
2.10.4 => BAD
2.11.3 => BAD
2.12.1 => BAD
3.x => GOOD
I currently was only able to test PHP 7.4.12
php -v
PHP 7.4.12 (cli) (built: Oct 29 2020 18:37:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.12, Copyright (c), by Zend Technologies

What about trying those DBAL 2.x versions with Laravel 8.14.0? Was the issue introduced in 8.15.0?

@GrahamCampbell I can confirm that it starts to break with 8.15.0 and DBAL 2.x versions

@duxthefux you pointed out in your issue that this happens only when running PHPStan. Are you experiencing any problem in an actual app at all?

@driesvints yes.
You can simple reproduce it by executing this.
/** @var DatabaseManager $manager */
$manager = app()->make(DatabaseManager::class);
$manager->connection()->getDoctrineConnection();

It works fine if you have doctrine installed. But if you don't have it installed (which might be rare as some popular packages have it as a dependency) then
protected function getDoctrineDriver()
    {
        return class_exists(Version::class) ? new DoctrineDriver : new MySqlDriver;
    }

will return the MysqlDriver and then causes

You can simple reproduce it by executing this.

This works fine for me on the latest 2.x DBAL version. Like I said: we don't optimize for tools like PHPStan.

I'm going to close this as I don't think there's any real bug at all. If you want you can resubmit this with a failing test. Thanks

@driesvints yes, it seems like it really an edge case where in a real app this scenario is never possible and it only happens together with phpstan.
We worked around the phpstan issue by upgrading to DBAL 3.x.
To really reproduce it changing the class_exists(Version::class) is necessary.
Anyway here are the steps how I managed to reproduce it.

Add a new test case to tests/Database/DatabaseConnectionTest.php

public function testDoctrine()
    {
        $connection = $this->getMockConnection();
        $mysqlConnection = new MySqlConnection($connection);

        // This will throw an exception
        $mysqlConnection->getDoctrineConnection();
    }

Apply patch

Index: src/Illuminate/Database/MySqlConnection.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/Illuminate/Database/MySqlConnection.php	(revision 3ed487766b190ef626628f71de9a8ddf2b455a80)
+++ src/Illuminate/Database/MySqlConnection.php	(date<PHONE_NUMBER>834)
@@ -88,6 +88,6 @@
      */
     protected function getDoctrineDriver()
     {
-        return class_exists(Version::class) ? new DoctrineDriver : new MySqlDriver;
+        return new MySqlDriver;
     }
 }

Install DBAL 2.x
composer require doctrine/dbal:^2.0

Run test

./vendor/bin/phpunit --filter DatabaseConnectionTest::testDoctrine

PHPUnit 9.5.0 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.4.12
Configuration: /Applications/XAMPP/xamppfiles/htdocs/framework/phpunit.xml.dist

PHP Fatal error:  Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params) must be compatible with Doctrine\DBAL\Driver::connect(array $params, $username = NULL, $password = NULL, array $driverOptions = Array) in /Applications/XAMPP/xamppfiles/htdocs/framework/src/Illuminate/Database/PDO/MySqlDriver.php on line 16

Fatal error: Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params) must be compatible with Doctrine\DBAL\Driver::connect(array $params, $username = NULL, $password = NULL, array $driverOptions = Array) in /Applications/XAMPP/xamppfiles/htdocs/framework/src/Illuminate/Database/PDO/MySqlDriver.php on line 16
```.

Again this scenario never happens in runtime in a real app. Therefore closing this seems reasonable.

Thanks for your time though!


proposal: strings: add ReplaceBetween function

ReplaceBetween(s, start, end, replace string, n int) string
ReplaceBetween will find all  (non-overlapping) substrings beginning with start (token) and ending with end and replace all characters in-between (inclusive of start and end) with replace string.

Why does this belong in the standard library? See https://golang.org/doc/faq#x_in_std.

The criteria is super vague and it seems to really depends on on what side of the bed 3 key Go people wake up in the morning so I don't know how to answer it.

It's useful.
And it's not as simple to implement properly for a the average programmer.

A key argument for something like this is not "it's useful"--everything that is proposed is useful, nobody proposes anything useless--but rather "here are several examples of existing real code that would benefit from this."  Thanks.

Why can this not just be done with regular expressions?

regex too slow

I think regular expressions makes way more sense as a general case for this. If that's not fast enough for your specific use case, implement it manually. This seems extremely specific for something to be included in the standard library.

I terms of existing examples, quickly and efficiently converting html tags come to mind:
sadgsgsge. => sgasassgashashashs

I actually want this if this enable me to implement string interpolation without conflicts.
And I never use regular expressions, just because.

Actually I think I misunderstood.
The OP's request should be easily doable using just strings.Replace.
This does not even really fit my use-case for string interpolation.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Based on the discussion above, this proposal seems like a likely decline.
— rsc for the proposal review group


feat: Change priority of constraints and add split_with_spacers ✨

Follow up to https://github.com/ratatui-org/ratatui/pull/783
This PR introduces different priorities for each kind of constraint. This PR also adds tests that specifies this behavior. This PR resolves a number of broken tests.
Fixes https://github.com/ratatui-org/ratatui/issues/827
With this PR, the layout algorithm will do the following in order:

Ensure that all the segments are within the user provided area and ensure that all segments and spacers are aligned next to each other
if a user provides a layout.spacing, it will enforce it.
if a user provides a Fixed(v) constraint, it will enforce it.
Min / Max binding inequality constraints
ensure proportional elements are all proportional to each other
Length
Percentage
Ratio
collapse Min or collapse Max
grow spacers as much as possible
grow Proportional as much as possible

This PR also returns the space areas as Rects to the user. Users can then draw into the spacers as they see fit (thanks @joshka for the idea). Here's a screenshot with the modified flex example:

Motivation
Cassowary is an constraint solving algorithm that solves systems of linear equalities and inequalities.
Numerical stability is important in solving systems of equations, especially when using iterative methods or numerical algorithms.
We want to strive for numerical stability, i.e. "stable solutions". Stable solutions are ones that are always reproducible on different architectures, ones where a small perturbation in the input does not lead to a large change in the output, etc.
For terminal user interfaces, we are bound to integer values as the solution, so a truly stable solution for all situations is never going to be possible.
Take this test for example:
let [_a, _b, c] = Rect::new(0, 0, 100, 1).split(&Layout::horizontal([
    Length(25),
    Length(25),
    Fixed(25),
]));
assert_eq!(c.width, 25);

Running this multiple times gives me different results. This is an example of an unstable solution.
Some of these are unavoidable but we can greatly minimize how number of times a user can create a layout that has an unstable solution.
We also want to allow users to be expressive in how they make layouts, and allow for making any kind of layout they want. Finally, we want layout algorithm's solution to be predictable and intuitive.
The easiest way to think about cassowary layouts is that there is a "cost" associated with not satisfying a constraint and the cassowary algorithm tries to minimize that "cost". In cassowary, the "cost" is proportional to the strength of the constraint.
Take the following example:
x == 20 // cost = 100
y == 20 // cost = 1
x + y == 50 // cost = 100

Cassowary will choose the values x = 20 and y = 30 to solve this system since that minimizes the "cost".
#[test]
fn test_solver() {
    use super::*;
    let mut solver = Solver::new();
    let x = Variable::new();
    let y = Variable::new();

    solver.add_constraint(x | EQ(100.0) | 20.0).unwrap();
    solver.add_constraint(y | EQ(1.0) | 20.0).unwrap();
    solver.add_constraint(x + y | EQ(100.0) | 50.0).unwrap();

    let changes: HashMap<Variable, f64> = solver.fetch_changes().iter().copied().collect();

    let x = changes.get(&x).unwrap_or(&0.0).round() as u16;
    let y = changes.get(&y).unwrap_or(&0.0).round() as u16;

    println!("x = {x}");
    println!("y = {y}");
}

Changing the costs can change the results entirely, for example if we switched the costs around like so:
x == 20 // cost = 100
y == 20 // cost = 100
x + y == 50 // cost = 1

i.e.
         let y = Variable::new();

         solver.add_constraint(x | EQ(100.0) | 20.0).unwrap();
-        solver.add_constraint(y | EQ(1.0) | 20.0).unwrap();
-        solver.add_constraint(x + y | EQ(100.0) | 50.0).unwrap();
+        solver.add_constraint(y | EQ(100.0) | 20.0).unwrap();
+        solver.add_constraint(x + y | EQ(1.0) | 50.0).unwrap();

         let changes: HashMap<Variable, f64> = solver.fetch_changes().iter().copied().collect();

When the solver can't satisfy all of the constraints, it will pick at least one of the weakest constraints to violate (i.e. the lowest "cost" to violate).
In this case, there's just one constraint that is clearly weaker than the others, so that is violated.
However if all the constraints are equally weighted, cassowary can, for efficiency reasons, pick any of the lowest equally weighted constraints to violate nondeterministically.
Take this set of equations for example:
        solver.add_constraint(x | EQ(100.0) | 20.0).unwrap();
        solver.add_constraint(y | EQ(100.0) | 20.0).unwrap();
        solver.add_constraint(x + y | EQ(100.0) | 50.0).unwrap();

Solving it gives:

Switching the order around however:
        solver.add_constraint(x | EQ(100.0) | 20.0).unwrap();
        solver.add_constraint(x + y | EQ(100.0) | 50.0).unwrap();
        solver.add_constraint(y | EQ(100.0) | 20.0).unwrap();

gives:

here again with a different order:
        solver.add_constraint(x + y | EQ(100.0) | 50.0).unwrap();
        solver.add_constraint(y | EQ(100.0) | 20.0).unwrap();
        solver.add_constraint(x | EQ(100.0) | 20.0).unwrap();

we get a different result:

In this case we are deterministically able to violate a different constraint based on the order in which we add constraints.
When cassowary violates constraints, it tends to violate the last constraint of the lowest weight. However, this is not deterministic and not guaranteed to happen. This unstable non-deterministic implementation detail is the current basis of Flex::StretchLast (this is changed to be more deterministic in this PR).
Due to the nature of the algorithm, "in-between" solutions, although just as valid, are not picked.
Goal
We want the layout solution to provide:

numerical stable solution
intuitive behavior
predictable behavior

Given a simple set of rules to remember, a user should be able to predict exactly what a layout is going to do.
For example, if [Length(x), Fixed(y)] results in two rects of widths x and y, [Fixed(y), Length(x)] should result in two rects of widths y and x. For this, we need to ensure that all constraints have different "strengths" or "costs".
This PR introduces a strengths module that has "default" weights that give stable solutions as well as predictable behavior.

Seems like fixed and flex are still in this.

Ah, I assumed we wanted to merge the other one first. I'm pushing the change with just the weights changed in this one. We'll have to resolve some conflicts to merge both of them but I can do that regardless of the order.

I want to clarify want I mean by unstable. If you have a width of a 100 and split it using these constraints:
[Length(25), Length(25)]

you will likely always get the exact same solution, i.e. widths of [25, 75]. But this solution is technically unstable.

(If solver can't satisfy all of the constraints) it will pick at least one of the weakest constraints to violate. In this case it will be one or both of the preferred widths. For efficiency reasons this is picked nondeterministically, so there are two possible results.
Due to the nature of the algorithm, "in-between" solutions, although just as valid, are not picked.

In this case there are 51 solutions that all are valid and possible that have equal costs according to the solver. The cost of the solution [25, 75] is the same as [26, 74], [27, 73], ..., [75, 25].
Because of an implementation detail, the dependency we are using tends to pick [25, 75] (i.e. what StretchLast does) in this case consistently. But for more complex cases that is not guaranteed to happen.
All of that is to say that StretchLast is currently an implementation detail and is unstable, and I recommend that after this PR is merged, we should change the default to Stretch and remove StretchLast.

All of that is to say that StretchLast is currently an implementation detail and is unstable, and I recommend that after this PR is merged, we should change the default to Stretch and remove StretchLast.

If I were to guess about a default layout, I'd intuitively think that  [Length(10) ; 3] would only allocate 30 cells, it would not stretch those.
And [Length(10), Min(0), Length(10)] would stretch regardless of Flex
So perhaps there's a missing Flex option?

And [Length(10), Min(0), Length(10)] would stretch regardless of Flex (Edit: I could be wrong about this)

Unfortunately this will not stretch when using Flex::Start because we currently have a constraint that tries to make Min(0) as close to 0 as possible if all other constraints are satisfied.
I personally think Stretch is a better default for the way all the constraints we have work with each other. More importantly, it will also not break any UI for existing users because it will behave almost identically to StretchLast.
When we move to taffy I think we should consider using Start as the default.

Some of the refactoring changes are related to each other, so it's harder to break it down into simpler chunks. I'll write up a map here, and open to suggestions to make it easier to understand.
Previously we had one big method called try_split in which a number of things happened:
https://github.com/ratatui-org/ratatui/blob/f383625f0e1cae320ae56af615f3b05c59700f93/src/layout/layout.rs#L488

layout.spacing:

This method conditionally added "spacers", i.e interspersed Fixed(layout.spacing) into the constraints:
https://github.com/ratatui-org/ratatui/blob/f383625f0e1cae320ae56af615f3b05c59700f93/src/layout/layout.rs#L498-L514
These Fixed constraints were only added in between constraints. At the end of the function, we step_by(2) to skip over these Fixed constraints to return the result to the user.
https://github.com/ratatui-org/ratatui/blob/f383625f0e1cae320ae56af615f3b05c59700f93/src/layout/layout.rs#L835-L857
Takeaways

The highest priority constraint we had was Fixed
This was used for layout.spacing
After interspersing the Fixed there was no way to distinguish between a user provided Fixed and a interspersed Fixed segment.

This is why a test like this was broken (note the ne in assert_ne!):
https://github.com/ratatui-org/ratatui/blob/1e755967c53e9a1803cc7fcc46ad0946c78f0eda/src/layout/layout.rs#L2173-L2186

Flex

This try_split method, also added "spacers" internally for different Flex layouts. Let's look at the current implementation of Flex::Center as an example:
https://github.com/ratatui-org/ratatui/blob/f383625f0e1cae320ae56af615f3b05c59700f93/src/layout/layout.rs#L650-L678
<------------------------------80 px (gap: 5 px)------------------------------->
┌   ┐┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐┌   ┐
     │     Fixed(20)    │     │      Min(20)     │     │      Max(20)     │
└   ┘└──────────────────┘     └──────────────────┘     └──────────────────┘└   ┘
^^^^^                                                                      ^^^^^
  └─────────────────────────flex elements────────────────────────────────────┘

For Flex::Center two spacers were added, one at the beginning and one at the end.
For Flex::Start and Flex::End, only one was added, either at the beginning or at the end.
For Flex::SpaceBetween, we create new spacers between every user provided segment (for Flex::SpaceAround we create new spacers around every segment).
https://github.com/ratatui-org/ratatui/blob/f383625f0e1cae320ae56af615f3b05c59700f93/src/layout/layout.rs#L560-L587
Takeaways

These "spacers" are lower strengths than layout.spacing, because if for example a user specifies layout.spacing = 2 and uses Flex::Center, we want the user provided spacing to take priority over the filler spacers at the beginning or the end:

     ┌──────────────────┐┌   ┐┌──────────────────┐┌   ┐┌──────────────────┐
     │     Fixed(20)    │     │      Min(20)     │     │      Max(20)     │
     └──────────────────┘└   ┘└──────────────────┘└   ┘└──────────────────┘
                         ^^^^^                    ^^^^^
                           └────────────────────────┴─────────────────────Spacers

Put another way, even if the user has a ultra wide monitor, we want the beginning and end to take any value such that all the segments are in the center with a space of 2 between each segment.

Constraint

Finally we added the constraints for the Constraint segments:
https://github.com/ratatui-org/ratatui/blob/f383625f0e1cae320ae56af615f3b05c59700f93/src/layout/layout.rs#L720-L765
Before layout.spacing, Flex, Fixed and Proportional were introduced, we really used just one weights here for all the constraints (STRONG):
https://github.com/ratatui-org/ratatui/blob/425a65140b61695169c996784974488ad2fd16ea/src/layout/layout.rs#L458-L485
This resulted in suggestions like this, saying increasing the priority of Length made it more intuitive:
https://github.com/ratatui-org/ratatui/issues/354#issuecomment-1675936938
More pertinently, because of the weights being the same, we relied on cassowary implementation details a lot. This means layouts were not stable and were inconsistent, e.g. in both these cases the last constraint would be violated:
let area = Rect(0, 0, 100, 0);

(width_25, width_75) = area.split(&Layout::horizontal([Length(25), Percentage(25)]))

(width_25, width_75) = area.split(&Layout::horizontal([Percentage(25), Length(25)]))

We decided to call this LastTakesRemainder or StretchLast but what's actually happening is that the last constraint of lowest priority is the one that is least binding. Previously we basically had just one weight (STRONG) so everything was of equal priority. This is not guaranteed behavior though, and we would see jumps in the layout because of this. See the flex example from main:
https://github.com/ratatui-org/ratatui/assets/1813121/06efaca3-60b3-4e57-89d1-0b85d9d3272a
When increasing spacing, when the solver recalculates the layouts, sometimes it makes Percentage take priority and some times it makes Length take priority. This effect is more pronounced when caching is small.

In an upcoming comment, I'll describe how this PR addresses these issues.

Thanks for the map of the changes, I feel like I have a much better idea about how to review this now.

Unfortunately, I'm not able to get this proportional behavior to work as expected in a stable manner.

Weirdly, I only get the error almost consistently when running cargo nextest run.  Running cargo nextest run --verbose -- widgets::table::table::tests::render::render_with_footer_margin fails occasionally but not often enough.
If I run cargo test --lib -- widgets::table::table::tests::render::render_with_footer_margin --nocapture it never seems to fail.
I tried to reproduce the error in a separate test like this and I'm never able to get it to fail:
#[rstest]
#[case::proportional( vec![0, 0, 0, 1, 1, 1, 0],   vec![Length(0), Length(0), Length(0), Min(0), Length(1), Length(1), Length(0)])]
fn table_unstable_test(#[case] expected: Vec<u16>, #[case] constraints: Vec<Constraint>) {
    let rect = Rect::new(0, 0, 3, 1);
    let r = Layout::horizontal(constraints)
        .split(rect)
        .iter()
        .cloned()
        .map(|r| r.width)
        .collect::<Vec<u16>>();
    assert_eq!(expected, r);
}

I've decided to decrease the scope of this PR. Previously, I was trying to make StretchLast also stable, but it seems like there's not a clear consensus on what we want Flex::StretchLast OR what we want the Flex::default() to do. Instead of trying to figure that out in this PR, I'm hoping we can discuss that in a future PR. We can also discuss if we want to remove Fixed() and Proportional() as part of that discussion.
This PR now just the following:

refactors the layout to make spacers higher priority (Fixes https://github.com/ratatui-org/ratatui/issues/827)
adds split_with_spacers to return these spacers
ranks Length higher than Percentage higher than Ratio for more stable solutions

This also means there are fewer tests that change between main and this PR.

LGTM

What's a good commit message for the changelog? Just first part of the PR description?

Thanks for all the comments!


Roadmap Add Year Popup Label

Center the 'Start Year' text. It is currently left-aligned.

I'll take this one for the fellowship task!


Parser issues with names and string escape

The nature of this issue is that there are alot of open problems about dealing with technially jvm valid input but invalid input regarding to antlr or jasm
public class java/lang/Example {
    public test()V {
        getstatic 1.0 I
    }
}

Results in: test.j : Cannot invoke "org.antlr.v4.runtime.tree.RuleNode.getChildCount()" because "node" is null
This should work because 1.0 is a valid path descriptor
Any class, extends, implements, method or field declaration fails when the access modifiers are used as names, but they should because they are valid jvm names
Example
public class public
extends private
implements final, static, private {

}

Is technically valid by the JVM but jasm errors with: test.j : Cannot invoke "org.antlr.v4.runtime.tree.TerminalNode.getText()" because the return value of "com.roscopeco.jasm.antlr.JasmParser$ClassnameContext.QNAME()" is null
It is impossible to name lables, variables, methods after any instruction and it will fail with: test.j : Cannot read field "inputLocals" because "dstFrame" is null in the goto case.
Example:
public class java/lang/Example {

    public test()V {
        goto ldc

		ldc:
			return
    }
}

It is also impossible for invokex descriptors to contain any keywords
Example:
public class java/lang/Example {

    public test()V {
        invokevirtual ldc/private.final(goto)V
    }
}

Also string escape is not working on example:
public class java/lang/Example {

    public test()V {
        ldc "\"\\\\\\\""
    }

}

Which should just result in the string '"\"' but instead errors with: test.j : Errors:     test.j:[4:22]: extraneous input '""'

Thanks for the report, all good points :)
To check my understanding, what are you expecting from:
getstatic 1.0 I

? I assume you mean a field named "0" on a class named "1"? If that's the case, it would be:
getstatic 1/0 I

(Which still doesn't work, but I will fix).

yes

Fixed with new literal names syntax.
Your point about string escapes isn't quite correct at the moment - JASM does not support backslash escapes. The way to escape quotes in a string is with "". However, going forward I'd like to add more robust escaping for other special characters, so I raised https://github.com/roscopeco/jasm/issues/37 to cover that.
Thanks again for reporting!


Control, maxWidth in the DxcDialog

Describe the bug
A clear and concise description of what the bug is.
Controlling the maximum width of a dialog ensures that it doesn't become too wide, maintaining readability and aesthetic
alignment within your application's layout.
The dialog size in the one page is different from that of dialog in next page(pagination).
To Reproduce
Include steps to reproduce the behaviour.
Add Table(with pagination) with different row/column dynamic sizes within DxcDialog.
Navigate between the pages, and the DxcDialog, will resize.
For more information, please refer the below story.
https://jira.dxc.com/browse/OCARTS-88
Example:

Create a new React app using Vite.
Install @dxc-technology\halstack-react package.
Click on '...'.
Scroll down to '...'.
See the error.

Expected behaviour
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Add labels
Add any applicable label like the concerned components or the target version of the Design System where the bug has been found.

Hello @akhilrangu!
We will review this requirement because we are not sure if it is a fair request or if the current behaviour is correct. We will keep you informed.
Thank you for your comments and your patience.

Hello again!
After some discussion we have decided that the Dialog is working as expected. By default, the dialog is as large as its content, setting only a maximum width and a minimum width depending on the screen's dimensions. So, for your case, you should define the width at Table level! If you want to stay consistent with the width of your dialogs, set the same size for every table with an DxcContainer or as you wish.


Help needed to build predicates dynamically

Hello, I am having some trouble building a predicate dynamically.
What I mean is, I want to retrieve all items from a table that have a Status = 0 and Flag = 2.
If user has entered a search text, then i also want to filter with that text. (I want to dynamically do this for a bunch of other properties).
Lets say i keep a predicate on a variable and use it on my query like this:
db.select().from(myTable).where(pred).exec()
The default predicate will be this;
var pred = lf.op.and(myTable.Status.eq(0), myTable.Flag.eq(2))
When user has entered a SearchText, i want to be able to alter the predicate to this:
var pred = lf.op.and(myTable.Status.eq(0), myTable.Flag.eq(2),  myTable.SearchableText.eq(userInput));
Since user can select many filters on my app, like text, dates, etc.. I want to be able to build the predicate based on user selections.
I tried building and passing an array like [myTable.Status.eq(0), myTable.Flag.eq(2)] to lf.op.and() but it doesnt work.
Any help would be appreciated

In case anybody runs into the same problem i managed to make it work using this:
https://github.com/google/lovefield/blob/master/demos/olympia_db/angular/demo.js#L342-L345
In my case i did this:
var predicates = [myTable.Status.eq(0), myTable.Flag.eq(2)];
if(userInput!=null && userInput.length>0)
   predicated.push(myTable.SearchableText.eq(userInput));

var pred  = lf.op.and.apply(null, predicates);
db.select().from(myTable).where(pred).exec();

You can also leverage the ES6 spread operator so that you don't need to call apply(), as follows
const pred = lf.op.and(...predicates);


Caller doesn't have android.permission.health.READ_SLEEPto read to record typeclass android.health.connect.datatypes.SleepSessionRecord

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Minimal Reproducible
Link to minimal reproducible code. It would be much easier for us to investigate the issue!
Environment:

Health Connect Version:3.1.0
React Native Version:  0.71.7
New architecture enabled: no
Using Expo: No
Android API Level: e.g API 34 (Android 14)

As there is no reproduction and templated filled   I am gonna close this.

https://github.com/matinzd/react-native-health-connect?tab=readme-ov-file#installation
You need to add the changes to your MainActivity.kt.


Add stronghold to Related Software section (#289), added shell syntax highlighting.

Fixed some minor capitalization and spacing issues.

Nice, thanks!


what is mounted the vs code give me error

if (context.mounted) {
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: const Text("Offline data marked for removal"),
backgroundColor: Theme.of(context).primaryColor,
duration: const Duration(seconds: 1),
));}

Hello @Yousef910; sorry I missed this as GitHub email notions seem to be broken.
Could you explain your problem in more detail. I don't understand what issue you are facing.


Bug with returning exceptions with JSON serialization.

#655  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rohinb2 and the rest of your teammates on  Graphite


Get user dat function not working

Get user data isn't fetching the phone numbers and emails of the specified usernames please any solution to get rid of this???

Hey @ackermenn
I just checked and its working. Whats the username you are trying to fetch phone number from? I just want to point out that this doesnt work for any private data, so you cannot find the emails attached to an account. But you can collect emails/phones from any professional/business account (the contact info embedded into the blue colored "contact" button on a user's profile).
Hope I explained it well.


Adding version 0.0.2 of Sosreport Operator

This is the initial alpha version commit of the Sosreport Operator
Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Submit operators to both upstream-community-operators and community-operators at once
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@andreaskaris, please check failures and fill PR form from your first post in this PR. When ready remove hold by  /hold cancel.

/test all

/test all

/test all

Most of the links from the checklist are dead. Can you address this (otherwise future contributors will have to search for each of these documents)

/hold cancel

/test all

/hold cancel


FutureProvider with MaterialApp cause "Null check operator used on a null value"

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const ProviderScope(child: MyApp()));
}

final delayProvider = FutureProvider<String>((ref) => Future.value("App"));

class MyApp extends ConsumerWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final delayedValue = ref.watch(delayProvider);
    return delayedValue.when(
      data: (title) => MaterialApp(routes: <String, WidgetBuilder>{
        '/': (context) => Scaffold(appBar: AppBar(title: Text(title)))
      }),
      error: (error, s) => const MaterialApp(home: Text("error")),
      loading: () => const MaterialApp(home: Text("loading")),
    );
  }
}

The code here will throw an error since widget.home is null:
https://github.com/flutter/flutter/blob/f1875d570e39de09040c8f79aa13cc56baab8db1/packages/flutter/lib/src/widgets/app.dart#L1352-L1354
If the MaterialApp in error and loading change to other widgets will be fine.
Using flutter 3.0.5 and tested with riverpod 1.0.3 and 2.0.0-dev.9.
Maybe I am using this wrong?

You code is wrong. You should put your delayedValue to the MaterialApp home section and return news screens with Scaffold widgets. To break all Material components on the loading it is very bad practice. Don't do that. MaterialApp widget must be on the top widget three.

So it does not replace with a new "object" with new "data", just replace the state/data if the widgets return from the build method is the same type.
Closing for now, since it has nothing to do with riverpod.


Feature/#693 - Remove clean_entities attribute from CoreSection

https://github.com/Avaiga/taipy-core/issues/693

Please add a new entry in the release notes. Thx,


filename issue

https://github.com/TheGammaSqueeze/GammaOS/blob/7e215b7fdf9b55743fd29fbc22d17328219db39a/RG505-FlashPartitions.sh#L24
should be "flash/boot_custom_505.img"

Ah yes, I'll get that fixed, my bad. Thanks for highlighting.


Revert "BROKERS: POST Audio File"

@Catalin-Andronie unfortunately we are going to have to revert this because it is not standard compliant.
RESTFulSense will need to be updated to handle multipart/form-data before this can be implemented.

@Catalin-Andronie unfortunately we are going to have to revert this because it is not standard compliant. RESTFulSense will need to be updated to handle multipart/form-data before this can be implemented.

@Gummimundur I have created a PR in RESTFulSense to add support for multipart/form-data. See: Issue https://github.com/hassanhabib/RESTFulSense/issues/71 and PR https://github.com/hassanhabib/RESTFulSense/pull/72 which is not reviewed yet.
@Gummimundur @hassanhabib what should we do in this scenario? Should we wait until a new RESTFulSense version is deployed?

Link to issue #210 so that we know that we've reverted the changes made in #226


Object reference not set to an instance of an object.

I am getting the following error after including Newtonsoft.Json(version 11.0.2) package
Uncaught Error: Newtonsoft.Json.JsonSerializationException: Error setting value to 'TargetId' on 'BlazorApp1.Message'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at System.Linq.Expressions.Interpreter.LightLambda.MakeRunDelegateCtor (System.Type delegateType) <0x1d7f658 + 0x00308> in :0
at System.Linq.Expressions.Interpreter.LightLambda.GetRunDelegateCtor (System.Type delegateType) <0x1d78e70 + 0x00048> in :0
at System.Linq.Expressions.Interpreter.LightLambda.MakeDelegate (System.Type delegateType) <0x1d78ce8 + 0x0000e> in :0
at System.Linq.Expressions.Interpreter.LightDelegateCreator.CreateDelegate (System.Runtime.CompilerServices.IStrongBox[] closure) <0x1d783c0 + 0x00024> in :0
at System.Linq.Expressions.Interpreter.LightDelegateCreator.CreateDelegate () <0x1d78250 + 0x0000a> in :0
at System.Linq.Expressions.LambdaExpression.Compile (System.Boolean preferInterpretation) <0x205a910 + 0x00018> in :0
at System.Linq.Expressions.LambdaExpression.Compile () <0x205a8d8 + 0x0000a> in :0

Yes, this is a known issue (https://github.com/aspnet/Blazor/issues/370) that we hope will be resolved with the next Mono update (#831)

Has this issue been addressed with 0.4.0? I'm having an issue with trying to serialize and deserialize using Newtonsoft (originally in 0.3.0, then updated this morning to 0.4.0) with a simple class (it errors on an int in the object). I didn't want to open another duplicate.

There are some reports from folks that this might actually be an issue with how Blazor trims out unused IL. @kiyote do you want to share the linker config you were using to get Json.NET working here?

Thanks @danroth27, hopefully that would help - what's a linker config and how does it help change how serialization happens?

@abhishekgoenka Could you please try out your scenario with this linker config and see if it resolves your issue?

@danroth27 I am using this linker. Will the same linker config work?

Blazor runs the mono linker by default as part of each build. You just need to configure it to not link out System.Linq.Expressions.* so that compiled expressions work. See https://gist.github.com/Suchiman/a5e65f40c353120c9cf7f6a631ded28b

It works with linker.xml file.


IsExpression: comment out alias template instance with parameters

Needed for https://github.com/dlang/dmd/pull/15053. After merging that, it will be an error.

Also needed for https://github.com/dlang/dmd/pull/15085, so merging now


Please release new linux distribution using 0.1337.2 (ver. 2024.05.14)

Feature Description
Please release new linux distribution using 0.1337.2 (ver. 2024.05.14)
Start going into detail..
Hi, I saw new 0.1337.2 release note.

Note: the linux builds were updated on 14. May 2024.
The old builds erroneously used dynamic linking, which limited them to systems that use glibc. The new builds use static linking like previous releases did. The old builds can still be accessed at:
https://assets.checkra.in/downloads/preview/0.1337.2/old/...

https://checkra.in/1337

We were the ones that requested directly for this to be fixed :). Nightly builds already have these builds of checkra1n 1337 included near https://github.com/palera1n/palera1n/commit/0e9cd5e1f67101616be9dbded8ac8a82ef35a939,and will be present in the next beta/release. Though, thank you for trying to point it out.


Added new option question 'tabs' to decide if you want to indent with tabs or spaces

Added editorconfig-spaces as the editorconfig to use with spaces
Added 2 tests - 1 to ensure old functionality, 2 to ensure new tabs
works for choosing spaces
Prettier reformated index a tad
Added 2 rules to package.json

comma-dangle for alwas multi line (makes diffs much cleaner when adding items)
obejct-curly-spacing for the one thing prettier above changed to make objects stand out a bit

I appreciate the PR, but it's not something I'm interested in maintaining. I would be happy to link to your fork if you decide to publish and maintain it though.

OK thanks
On Mon, May 20, 2019 at 2:27 PM Sindre Sorhus<EMAIL_ADDRESS>wrote:

@sindresorhus commented on this pull request.
In app/templates/editorconfig-spaces
https://github.com/sindresorhus/generator-nm/pull/80#discussion_r285715981
:

@@ -0,0 +1,15 @@
+root = true

+[]
+indent_style = space
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[.yml]
+indent_style = space
+indent_size = 2
You also need to prompt whether it should be 2 or 4 spaces. 4 spaces if
actually quite common in the JS world.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sindresorhus/generator-nm/pull/80?email_source=notifications&email_token=AABDTW5UJWYWLXGZH74IFW3PWLUQLA5CNFSM4HODV6B2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOBZEN4JY#pullrequestreview-239656487,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABDTW3Y5L576JFQP2ZPWO3PWLUQLANCNFSM4HODV6BQ
.


fix(compiler): fix typename comparison in function overloading

fixes https://github.com/sqlc-dev/sqlc/issues/3660

I'm not sure what's happened on GitHub's end, but the tests for this branch never ran. Could you rebase against main and push again?

done


Change everything to tag

Is it possible to change everything I type in tag?
For example, I'm creating some new directives in my app using angular, and I have one called "my-tmpl", and I want to change it for
<my-tmpl></my-tmpl>

when I type "tab", is it possible? Is there any configuration for that?
Thanks for your time, and congras for the plugin, it's awesome.

hello sorry for late reply, are you trying to create a snippet for your directive if I understand correctly?


chore: refactor, add typing and fix uncovered errors

CATEGORY
Choose one

[ ] Bug Fix
[x] Enhancement (new features, refinement)
[x] Refactor
[ ] Add tests
[ ] Build / Development Environment
[x] Documentation

SUMMARY
While working on another fix, I ended up refactoring the existing code, so decided to move these changes into a separate PR.
TEST PLAN
CI and local testing
ADDITIONAL INFORMATION

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

REVIEWERS

Codecov Report

Merging #8900 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8900   +/-   ##
=======================================
  Coverage   58.97%   58.97%
=======================================
  Files         359      359
  Lines       11333    11333
  Branches     2787     2787
=======================================
  Hits         6684     6684
  Misses       4471     4471
  Partials      178      178

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 191aca1...0b4b2e1. Read the comment docs.

@serenajiang it would be great if you could review this!

Thanks for the comments @serenajiang; this should be ready for another round of review


Add support for waist circumference

Description
This PR adds support for waist circumference to react-native-health library.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] I have checked my code and corrected any misspellings

Screenshot

Any ETA about when this is going to be reviewed/merged?

Any ETA about when this is going to be reviewed/merged?

Sorry for the delay, I am having some problems about some packages used by the project. I'll give another try over the weekend


sort-options interferes with input on page 2 and onward

Issue Type (delete the irrelevant ones)

[x] Bug

Specs
What version are you using?
2.1.1
What browser?
Chrome 65 , Firefox 59, IE 11, Edge
Expected Behavior
When configure pagination and sort together for a table with inputs in each row, should be able to enter input regardless of which page user is in.
Actual Behavior
When add sort to vue-good-table with inputs in each row and pagination already configured, sort interferes with the ability to update inputs when on page 2, and onward.
Steps to Reproduce the Problem

Go to the jsfiddle below.
Navigate to page 2 or beyond in the table.
Try to update any of the row's column age. This is where you could see that user cannot enter any more than 1 letter into the input box without being bounced back to page 1.

jsfiddle
jsfiddle reproduction

hey @khe817, v2.2.0 fixes this. your jsfiddle is now working.
closing.


Letter to present criteria and easy ways to tranfer data raw

Write an email to Single Cell Discoveries to propose partnership

@ami-day I actually created a ticket about this!


facebook preview not showing correctly

Hi Artem,
I integrated  jssocials plugin in the website conceptcradle.com. When I try to share in facebook the preview is only showing the title and the url. How can I display the image and description in the facebook preview? Is there a way to control the previews for facebook and google plus?
Thanks,
Con

Hi Con,
Please, read my answer to the issue: https://github.com/tabalinas/jssocials/issues/8


Making static .zsh file doesn't work on shared directories

I share my zsh config among a bunch of servers through a share.
This works fine with antibody, the bundles are cloned into a local directory, etc.
With antidote, it creates a zsh_plugins.zsh file in the same dir as zsh_plugins.txt.  Since this is a shared directory (in my case) , it gets overwritten by each machine that runs a shell :)
It would be nice to put this file in a local cache directory (or at least give the option to do so) rather than create it in the same dir as zsh_plugins.txt. That would make antidote work out of the box in my case, as antibody does.

Can you post the code you're using? This should work as-is, but maybe I'm not understanding your issue.
Antidote was designed for feature parity with antibody, so if you use it the same way you used antibody, it should all work the same way. Antidote also includes some new commands antibody didn't have like the load command, which already supports an argument for the plugins file:
antidote load ~/.zsh.server1/server1_plugins.txt

You can also call antidote bundle the same way that antibody worked and export your static file wherever you want it:
antidote bundle < ~/.zsh_plugins.txt > ~/.zsh_plugins.sh

Antibody code was the following:
source <(antibody init)
antibody bundle <~/.zsh/antibody_plugins.txt

Imagine the following:
~/.zsh is a shared directory on an NFS server.  All machines mount it. (it's really dropbox but it doesn't matter)
WIth antibody, the above will create no files in ~/.zsh. Zero.
With antidote, used like this:
# clone antidote if necessary
#[[ -e ~/.antidote ]] || git clone https://github.com/mattmc3/antidote.git ~/.antidot

# source antidote
# . ~/.antidote/antidote.zsh
#
# generate and source plugins from ~/.zsh_plugins.txt
#antidote load ~/.zsh/antibody_plugins.txt

This will create a ~/.zsh/antibody_plugins.zsh
It will then try to load this file next time.
This file is in the shared directory, and everything that has that dir mounted will try to use it.
However, that file has paths specific to whatever machine generated it.
Which won't work.
With antibody, because it does not create a .zsh file in the shared directory, i don't have to do anything.
With antibody, it looks like i have to manually manage a local directory and cache with bundle/load?

Looks like you were using the dynamic config option with Antibody. Antidote supports that method too.
So, if you do this, you won't get that static file:
source <(antidote init)
antidote bundle <~/.zsh/antidote_plugins.txt

Will that work for your use case? Since it doesn't create the static file and just evals the generated Zsh code, you don't get the highest performance config that way, but you didn't with antibody either and that may be fine for you. Let me know if that doesn't work and we can dig in further.

Yes, you are totally right, i wasn't thinking.  Doing it this way works. It loads in an immeasurably small amount of time, so i'm not too worried.
I assume to get the fastest I can use something like
# clone antidote if necessary
[[ -e ~/.antidote ]] || git clone https://github.com/mattmc3/antidote.git ~/
.antidote
source ~/.antidote/antidote.zsh

LOCAL_CACHE_BASE=${XDG_CACHE_HOME:-$HOME/.cache}/antidote-$HOST
[[ -e ${LOCAL_CACHE_BASE} ]] ||  mkdir -p ${LOCAL_CACHE_BASE}

[[ ~/.zsh/antibody_plugins.txt -nt ${LOCAL_CACHE_BASE}/antibody_plugins.zsh
]] || antidote bundle <~/.zsh/antibody_plugins.txt >${LOCAL_CACHE_BASE}/anti
body_plugins.zsh
source ${LOCAL_CACHE_BASE}/antibody_plugins.zsh

and it will work.
It looks like load  does something like this, but it doesn't look like i can use it directly because you can't redirect where it places the staticfile

You are correct. I'm going to leave this one open because there may be an opportunity here for a couple enhancements:

Update the docs to reflect the dynamic load method exists, similar to antibody's
Update the antidote load method to take an output file as a second parameter

Sounds good. Thanks for your  help, it is really appreciated.  If you change the load method and want someone to try it out, happy to volunteer!

The second param now works and docs updated: https://getantidote.github.io/migrating-from-antibody


Fix current_resource_record_set

Find record with current type. It fixes issue that happens when you have a few records for the same name (ex.: A, MX, ...)
Add alias_target data

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@palexvs

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

Thanks @palexvs. I'm curious if you have any feedback on the cookbook since you're one of the first users to experience the rewrite?

@tas50 , It works much faster now and I don't have exception 'Throttling => Rate exceeded' anymore. I like it.


MSFT_SqlSetup - After install it does not seem to test the service accounts

Details of the scenario you tried and the problem that is occurring
Install SQL Server using a particular user name each for the SQL Server service and Agent.
Then change the account to different user for both and recompile the MOF. Running this configuration again does not cause the service accounts to be tested and/or updated and LCM is returning that it is compliant.
The DSC configuration that is using the resource (as detailed as possible)
I'm using Azure Automation in this setup so I pull the credential object from Azure and it is returned to the variables below as a PSCredential object.
SqlSetup 'InstallInstance' {
            InstanceName         = $Node.InstanceName
            Features             = $Node.Features
            SQLCollation         = $Node.SQLCollation
            SQLSvcAccount        = $SqlServiceCredential
            AgtSvcAccount        = $SqlAgentServiceCredential
            PsDscRunAsCredential = $SqlInstallCredential

Version of the operating system and PowerShell the target node is running
Caption                                  OSArchitecture Version    MUILanguages $PSVersionTable.PSVersion
-------                                  -------------- -------    ------------ -------------------------
Microsoft Windows Server 2016 Datacenter 64-bit         10.0.14393 {en-US}      5.1.14393.2363

SQL Server edition and version the target node is running
Edition  : Developer Edition
Version  : 13.1.4001.0
Language : 1033

What SQL Server PowerShell modules, and which version, are present on the target node.
Name  Version Path
----  ------- ----
SQLPS 1.0     C:\Program Files (x86)\Microsoft SQL Server\130\Tools\PowerShell\Modules\SQLPS\SQLPS.psd1

Version of the DSC module you're using, or write 'dev' if you're using current dev branch
----         -------  ----
SqlServerDsc <IP_ADDRESS> C:\Program Files\WindowsPowerShell\Modules\SqlServerDsc\<IP_ADDRESS>\SqlServerDsc.psd1```

I'm adding the verbose output from Update-DscConfiguration that I run on the VM and you can see the setup is checked. Based on the output though it only seems to validate that the SQLENGINE is installed and then moves on to my next configuration.
verbose.txt
Should it do this or do I just need to start using the MSFT_SqlServiceAccount resource instead to make sure it is compliant to my requirements?

The SqlSetup resource only does what setup.exe can do. Once installed, and if installed with the wrong accounts, then SqlServiceAccount resource needs to be used to update those.

That is sad because I can't use the SqlServiceAccount that easily with Azure DSC. It depends on Server name being the actual server name, compared to something like MSFT_SqlServerNetwork that can handle using localhost.
The MSFT_SqlServiceAccount passes in the name: https://github.com/PowerShell/SqlServerDsc/blob/dev/DSCResources/MSFT_SqlServiceAccount/MSFT_SqlServiceAccount.psm1#L279
Where the MSFT_SqlServerNetwork assumes localhost: https://github.com/PowerShell/SqlServerDsc/blob/dev/DSCResources/MSFT_SqlServerNetwork/MSFT_SqlServerNetwork.psm1#L38
Because I have Azure as my pull server it just causes more headache since they are not consistent.

It doesn't help setting ServerName to 'localhost'? If not, then it seems we should change the helper function Get-ServiceObject to not pass in ServerName, since we always want to change this on current node. 🤔
Please open a new issue for this.

@wsmelton thnaks for confirming that, I had no environment to test it in my self. Please open a new issue, so the resource SqlServiceAccount can be updated appropriately, and it a separate issue than the initial question of this issue.


Home page style updates

Adjusted spacing for desktop, tablet, and mobile views

🚀 Thank you for your contribution! 🚀


Consider using WASM?

This is likely out of the scope of the project (but maybe it could be added to the FAQ why this project will not do this), but I think it would be interesting to provide a WASM runtime and software targetting that runtime.
This would of course reduce performance, but would probably result in very interesting portability (across OSes and even CPUs).

Definitely an option we're considering for future expansion. Totally open if some someone wants to spearhead it.

I'd love to do this, and longer term we will have the resources to explore it. The problem is certainly at least somewhat related to the base parts of the stack not having flexible build systems that can support it so it would be a large amount of man power and time.
WASM at higher levels should be easy enough though, eg. rustc output.


Errors with three of the scrapers

Hello,
I was trying to scrape magic, drugs and guidelinecentral without success, while some others were fine. Any idea how to make them work? Drugs seemed to work but 0 article was in the JSONL. GuidelineCentral got some click issues. FInally, Magic printed errors for each article but one.
Thanks in advance,

Looks like in the case of Drugs.com, it works by changing "class='ContentBox'" to "class='ddc-main-content'", and the content variable needs to be called with "content.get_attribute('innerHTML')" to get an HTML str for markdownify.

For the GuidelineCentral, I got some issues first with the chrome driver on WSL in general and changed some options,  but it looks like the "--headless" option shouldn't be activated for this scraper to work.

Hi @jpcorb20,
Thanks a lot for your interest in the guidelines scraping pipeline.
As described in the user notice, these scrapers are very fickle and aren't made to withstand the dynamic nature of websites. They worked in November 2023, but there's no guarantee that they would hold in the future.
If you'd be interested in updating the pipeline to update the scrapers, please do a pull request. We'd be grateful for your help.

Hello @AGBonnet, thanks for your reply! Definitely, I will put a PR regarding the updates of two scrappers (Drugs and GuidelineCentral).


allow market creator to specify phase duration during market creation

this is already done as part of the update to include startInfo during start tx.
however, at this moment, we disable phase time checking for easily testing.


Bad username or password...

[x] I've verified and I assure that I'm running youtube-dl 2016.07.17
[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

- [x] Bug report (encountered problems with youtube-dl)
d:\>youtube-dl -u<EMAIL_ADDRESS>-p password :ytsubs -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-u', 'PRIVATE', '-p', 'PRIVATE', ':ytsubs', '-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.07.17
[debug] Python version 3.4.4 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-67388-g37425fc, ffprobe N-67388-g37425fc, rtmpdump 2.4-47-gc26c541
[debug] Proxy map: {}
[youtube:subscriptions] Downloading login page
[youtube:subscriptions] Logging in
WARNING: unable to log in: bad username or password
[youtube:subscriptions] Youtube Subscriptions: Downloading webpage
[download] Downloading playlist: Youtube Subscriptions
[youtube:subscriptions] playlist Youtube Subscriptions: Collected 0 video ids (downloading 0 of them)
[download] Finished downloading playlist: Youtube Subscriptions```

---

Unfortunately I'm unable to use youtube-dl with my credentials since late last night (GMT).
I can login on youtube.com on different browsers just fine with the same credentials.
My credentials have NOT changed recently. I do NOT have 2-factor authentication on.

I don't know if others can still login with youtube-dl. What could be the problem?

+1 - same issue since today. 24 hours ago it worked alright.

same issue here... multiple times since yesterday.
android@android:~$ youtube-dl -f 43 -u<EMAIL_ADDRESS>-p ********** https://www.youtube.com/watch?v=c6oWQ8p0FuI -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-f', u'43', u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'https://www.youtube.com/watch?v=c6oWQ8p0FuI', u'-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.08.17
[debug] Python version 2.7.12 - Linux-4.4.0-34-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.6-1ubuntu2, ffprobe 2.8.6-1ubuntu2, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] Downloading login page
[youtube] Logging in
WARNING: unable to log in: bad username or password
[youtube] c6oWQ8p0FuI: Downloading webpage
[youtube] c6oWQ8p0FuI: Downloading embed webpage
[youtube] c6oWQ8p0FuI: Refetching age-gated info webpage
ERROR: c6oWQ8p0FuI: YouTube said: Please sign in to view this video.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 691, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 347, in extract
    return self._real_extract(url)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 1321, in _real_extract
    expected=True, video_id=video_id)
ExtractorError: c6oWQ8p0FuI: YouTube said: Please sign in to view this video.

I also am seeing "Bad Username or Password" when, as far as I can tell from multiple attempts, it is the correct username/pass combo.

I'm having the same problem.  I have verified I can login with the username & password I put on the command line.

I'm also having the same issue

Still an issue.
$ youtube-dl -u<EMAIL_ADDRESS>--format mp4 https://www.youtube.com/watch? v=VIDEOCODE

Type account password and press [Return]:
[youtube] Downloading login page
[youtube] Logging in
WARNING: unable to log in: bad username or password
[youtube] xY9TWQrF8AQ: Downloading webpage
[youtube] xY9TWQrF8AQ: Downloading embed webpage
[youtube] xY9TWQrF8AQ: Refetching age-gated info webpage
ERROR: xY9TWQrF8AQ: YouTube said: This video is private.

@AlexEdimensionz Did you use 2FA or App passwords? If so see #5053

I don't have 2FA on my account. Just used gmail login/password

As my account is working, I can only put random guesses. Do you have non-ASCII characters in your username or password? And please paste the output of
youtube-dl -v -u<EMAIL_ADDRESS>--format mp4 https://www.youtube.com/watch?v=VIDEOCODE

It's works only when I put double quotes :
youtube-dl -u<EMAIL_ADDRESS>https://youtube.com/watch?v=VIDEOCODE

I'm getting the same error when I try to download a private youtube video that I have subscribed to. I am certain that my username and password are correct. Here are my error messages. Any suggestion?
ubuntu:~$ youtube-dl -f bestvideo+bestaudio -ciw -o "/videos/%(title)s.%(ext)s" -u<EMAIL_ADDRESS>-p "PASSWORD" --ffmpeg-location /usr/bin https://www.youtube.com/watch?v=VIDEOCODE --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-f', u'bestvideo+bestaudio', u'-ciw', u'-o', u'/videos/%(title)s.%(ext)s', u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'--ffmpeg-location', u'/usr/bin', u'https://www.youtube.com/watch?v=VIDEOCODE', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.03.22
[debug] Python version 2.7.12 - Linux-4.4.0-66-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.11-0ubuntu<IP_ADDRESS>, ffprobe 2.8.11-0ubuntu<IP_ADDRESS>, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] Downloading login page
[youtube] Logging in
[youtube] lesiYZMTczk: Downloading webpage
[youtube] lesiYZMTczk: Downloading video info webpage
ERROR: lesiYZMTczk: YouTube said: This video is private.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 761, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 428, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 1392, in _real_extract
    expected=True, video_id=video_id)
ExtractorError: lesiYZMTczk: YouTube said: This video is private.

I'm still getting this problem with the latest version (2017.03.22). see #12520

Any idea when or if this will be addressed? Using double quotes doesn't help.


0.110 reports Cannot read property 'shadowRoot' of null

Log shows:
http://homeassistant.local:8123/hacsfiles/custom-header/custom-header.js:596:7289 Uncaught TypeError: Cannot read property 'shadowRoot' of null
Using current version 1.4.1

Same issue here

Please provide the information requested from the bots comment above

Same issue. Here are some details:
Ha version: 0.110.0
installation_type: Home Assistant Core on Docker
Custom header version: 1.4.1
Browser: Firefox 76.0.1
Custom header config:
resources:
  - type: module
    url: /hacsfiles/custom-header/custom-header.js

custom_header:
  compact_mode: true
  hide_help: true
  hide_config: true
  button_text:
    options: '{{ time }}'

HA log:
Logger: frontend.js.latest.202005190
Source: components/system_log/__init__.py:209
http://<IP_ADDRESS>:8123/hacsfiles/custom-header/custom-header.js:596:26508 TypeError: n.shadowRoot.querySelector(...) is null

@cjitariu That seems to be a completely different error than the one this issue is for, while I would prefer you create your own issue, I would also need to see your CH config so that I can try to recreate the problem.

This has been addressed in the latest releases. Current release is 1.4.5. Close if this has been resolved, share any additional info if it has not.


will change to swift 3.0?

Now ,swfit 3.0 has published,compare to swift 2.X, this change is large, and this project will change to swift3.0? If you Agree, I want to try.

Of course, I will also be ready to upgrade to swift3.0 in my spare time.
You can you up. Thanks.

Hi! This project have been upgraded to swift3.0.


Add a "hint" slide explaining how to use Array.prototype.filter

It's used in a couple of exercise and a lot of people are not familiar with the syntax

Where do you want the hint?

Actually not sure, ideally I would have it hidden, and then a test would have a link to it

But I'd say for now let's just have it before the first exercise

Hmm how about as a tool tip on the word "filter"?

Just added a slide for now


[CAMEL-18509]use servlet transport for camel-cxf spring boot test

(cherry picked from commit b0e105c18437987bdf1403083b32d1d6534711b1) (cherry picked from commit 84feba7e7b7a16a8ae22f3d0922827a5f0fcfeeb)

Thanks @cunningt !


"Failed to Map (Types Don't Match)" Error even when types can be converted

AppendMilitaryFeatures Tool does not convert easily convertable type (int to double, vice-versa). When run, tool outputs:
Failed to Map (Types Don't Match) Input Field: Speed to Output Field: Speed
Failed to Map (Types Don't Match) Input Field: Direction to Output Field: Direction
Source should be able to convert/cast between int/short and doubles/floats here:
https://github.com/Esri/military-feature-toolbox/blob/master/source/AppendMilitaryFeaturesCS/MilitaryFeatureAppender.cs#L538

Added to Asana - https://app.asana.com/0/23146878550035/23179693844842

Closing. The toolbox and issues/features will be managed in https://github.com/Esri/solutions-geoprocessing-toolbox/tree/dev/military_features.


RHOAIENG-2244: Add support for fetching models from S3 based on the modelRelativePath & Adds a universal OpenVino ContainerFile

Description

Updates the fetch-model-s3 task to provide basic support for fetching a model from a sub directory under the S3 bucket removing the hardcoded requirement that all model directories be stored at the root of the S3 bucket.
Adds a universal OpenVino containerfile that can build an inference container image for any supported OpenVino Model format

This provides the ability for users to utilize the OpenShift AI Fraud Detection tutorial in the workflow to train and deploy a model using our pipelines
Jira: RHOAIENG-2244
How Has This Been Tested?

Followed the RHOAI Fraud Detection example to train a model and used that with minio and our Pipeline
OR
Fetch the fraud-detection model from s3://rhoai-edge/example-models/fraud-detection

The test-model-rest-svc must be updated to match output based on the data: not prediction:
The Continerfile.openvino to build the inferencing container must be used with this model
Merge criteria:
Existing pipeline workflows for bike-rental and tensorflow-housing are not affected

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

Closing this as the changes are no longer relevant due to a planned refactor of this repository


Support TypeScript

When RFC800 has landed, especially the --typescript flag for ember addon (see https://emberjs.github.io/rfcs/0800-ts-adoption-plan.html#cli-integration), we should support that here as well. Especially as we need to compile TypeScript in rollup, so support in addons is not as trivial as for v1 addons (ember install ember-cli-typescript).
Some prior art:

https://github.com/NullVoxPopuli/ember-addon-v2-typescript-demo/blob/main/my-addon/config/rollup.config.js
https://github.com/NullVoxPopuli/ember-resources/blob/main/ember-resources/config/rollup.config.js
https://github.com/simonihmig/tracked-redux/blob/master/packages/tracked-redux/rollup.config.js

There has been some discussion about problems transpiling decorators:

https://github.com/embroider-build/embroider/pull/1099
Discord thread at https://discord.com/channels/480462759797063690/568935504288940056/978501243880218714

We might want to only let Babel transpile code, including decorators, and let tsc only emit types. Like in https://github.com/evoactivity/ember-fast-marquee/pull/1/files

all problems that I'm aware are resolved atm.
the last thing is getting strict about extensions in the rollup plugin configs

For the record, we don't actually need to wait for official --typescript support in ember addon, as it turned out we can support additional flags even when the base command does not declare them.
So I would suggest we add this asap here once all remaining questions on https://github.com/embroider-build/embroider/pull/1099 are resolved and the PR is merged. This can then serve as the "blueprint" (pun intended) for the implementation here...


Put Debug menu behind hidden preference

The pref should be named ShowDebugMenu. It should be available in the release build, even the MAS build, and not just when running from Xcode.
The web inspector, however, should not be available in the MAS build.

I can take care of this.

The web inspector, however, should not be available in the MAS build.

That seems unfortunate. I’m not familiar with the sandbox restrictions these days; I guess that’s one of the limitations?

The web inspector requires the use of private API. Apple would reject the app if we tried to include it.

FWIW, you should still be able to enable it (or at least the "Inspect Element" context menu item) manually by setting the appropriate user default.

This seems to have never made it over to master.

Would you be good enough to submit pull request to get master caught up?

Sure.


[Bug fixes] Further checking for the api wrapper response

Short Description:
After further testing my checks weren't complete, some errors were still popping up.
followup for #1459
What do you think ?

Works like a charm for now

:+1:

👍


Improve options panel.

Right now the iframe, image and link each have their own toolbar:

The link is the one that is pretty solid:

This is done through a Widget rather than as a NodeView. This means that there is only one of them and it doesn't have to be in the dom of the editor (which is more efficient). It is also not clear how to specify between toolbars that should be shown. For example, a link or inline equation (that might have an alt text?) would be difficult to show instead of a callout panel option. Only one of these should be seen at a time.
We should centralize the toolbar pieces into a toolbar view. This also has the added benefit of not requiring react in the editor dom almost at all? As well as the toolbar is not contained in the editor experience (which is auto scrolled, and means we need to pop it out for images). I also think that this will be easier to customize these toolbars outside of this package.

This is now in 0.5.1!


Transaction confirmation actionsheet in landscape mode should scrollable to shown full contents

In the screenshot, the amount at the bottom can't be scrolled into the viewport

Hi @mpaschenko can you create a landscape layout for the TX view and use as appropriate. You'll have to regenerate the view if the user swaps landscape to portrait too; since the ActionSheetDialog is always a member it shouldn't need too much surgery.
In the Landscape view just space out the text so it occupies less width, maybe put everything on a single line that can wrap around (with the different text styles you'll have to use a Styleable text string with the text style directives). For the chain icon, to reduce height you can use the new TokenIcon method setChainIcon which will be replacing most of the ChainName instances.


Styles: Select vertical alignment is slightly off

[ ] Vertical alignment is slightly off in the demo app

[ ] Arrow size is off: Figma 15x8.5px, Demo App 14x?px. The design uses a 32x32 icon with white space (export it from figma for the right dimensions)

Originally posted by @gfellerph in https://github.com/swisspost/design-system/issues/804#issuecomment-1337409801

[ ] Check if this is still the case

Select is not the only component that needs its vertical allignment adjusted. This in fact concerns all the form input components.
I created this #2163 ticket to solve this


Timeouts in CI tests

Pull Request Test Coverage Report for Build 52

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.435%

Totals

Change from base Build 49:
0.0%

Covered Lines:
79

Relevant Lines:
87

💛  - Coveralls


CRD fixes from #105 API review

CRD: Add missing +'s in kubebuilder tags

api/v1alpha1/externaldns_types.go (ExternalDNSInfobloxProviderOptions): Change "kubebuilder:validation:Required" to "+kubebuilder:validation:Required".
bundle/manifests/externaldns.olm.openshift.io_crd.yaml:
config/crd/bases/externaldns.olm.openshift.io_externaldnses.yaml: Regenerate.

CRD: Fix HostnameAnnotationPolicy kubebuilder tag
The HostnameAnnotationPolicy field is optional in some cases, and it has the +optional tag, so its kubebuilder tag should also indicate that the field is optional.

api/v1alpha1/externaldns_types.go (ExternalDNSSource): Replace +kubebuilder:validation:Required with +kubebuilder:validation:Optional.

CRD: Add +kubebuilder:validation:Optional tags
Add +kubebuilder:validation:Optional tags to all optional fields for consistency.
Before this change, some optional fields had both the +optional tag and the +kubebuilder:validation:Optional tag, and some fields had only the +optional tag.

api/v1alpha1/externaldns_types.go (ExternalDNSSpec, ExternalDNSDomainUnion, ExternalDNSProvider, ExternalDNSGCPProviderOptions, ExternalDNSSourceUnion, ExternalDNSCRDSourceOptions: Add +kubebuilder:validation:Optional tags to optional fields.

CRD: Improve godoc based on API review

api/v1alpha1/externaldns_types.go (SecretReference): Change "expected" to "required".
(ExternalDNSSource): Clarify exactly when FQDNTemplate must be specified and when it may be omitted.
(ExternalDNSSourceUnion): Describe the behavior for a null or empty label selector.
(ExternalDNSOpenShiftRouteOptions): Clarify that the router name is reported in route status.
bundle/manifests/externaldns.olm.openshift.io_crd.yaml:
config/crd/bases/externaldns.olm.openshift.io_externaldnses.yaml: Regenerate.

CRD: Fix grammar error in OpenShiftRoute godoc

api/v1alpha1/externaldns_types.go (ExternalDNSSourceUnion): Rewrite the godoc as a complete sentence that describes the field in general terms.
bundle/manifests/externaldns.olm.openshift.io_crd.yaml:
config/crd/bases/externaldns.olm.openshift.io_externaldnses.yaml: Regenerate.

/refresh


Cannot log into flutter-devicelab-linux-13.mtv.corp.google.com with flutter user

I am not sure if the credentials changes for the flutter user on this bot but I was unable to use the current credentials to log into the bot.

Tracking in the mentioned issue.


Create County Maps of Solar & Wind Deployments

Derek mentioned this on the call tonight related to someone else's needs, to help combat laws that block solar and wind deployments in certain counties.
The EPA or EIA may have the data we need.

I found a table with wind turbine data, it has both state and county. It is in the file titled "uswtdb_v5_1_20220729.csv" in the link below
https://www.sciencebase.gov/catalog/item/6001e327d34e592d8671fae0

Some additional details on the request from Illinois Clean Jobs Coalition:

It would be very helpful to have a statewide renewables map showing where solar and wind projects are deployed. Visuals would help to make the case to counties, as some counties in IL are anti-wind (likely from astroturf groups) and are restricting development. The state has known targets, so we could show a progress meter and break it out by region.
Also, many proposed projects are stuck in the queue awaiting approval. Calling these out would be very helpful. We can get connected to a renewables experts to learn more about this. Renewable energy credits (RECS) ties back to funding and budget.

Derek, me, and Juan are having a call with an org Thursday to talk about solar info for Illinois

For this to be useful for the ICJC folks, the source data needs to be updated at least quarterly. So far, I do not believe a national data source exists with this frequency.
For now, we are going to make a one-off map for IL based on this data from the Illinois Power Agency: https://illinoisabp.com/project-application-reports/ (Report no 3)


[WIP] Contexts

This introduces contexts, which are akin to kubectl contexts. It is a departure from what was being discussed in #3774, so wanted to collect feedback before moving forward.
Instead of building off of config V1 and having a different config file for each context, this stores all contexts in a single config file. The reasons for this:

The hope with multiple files was that we could save effort by just building off of config V1. I no longer think that is the case, because bolting contexts on top of that design appears to be just as much work, if not more.
This design avoids ambiguity when a user sets PACH_CONFIG that the multiple config file design has.
It more closely follows k8s' approach.

That said, contexts are nearly the same as config V1; they only have one added field specifying the source of the context. For now, the two options are user-created, or migrated from V1. PACHD_ADDRESS is only respected with V1 migrated contexts, and warnings are printed about the impending removal of PACHD_ADDRESS. Context sources provide two benefits:

It'll provide a clean upgrade path for a part of pachctl that has seen a lot of churn in the past 6 months.
Context sources will be useful in the future, e.g. for adding new kinds of sources that dynamically add/remove contexts.

Migration from config V1 to V2/contexts are done on-the-fly, so that users who don't set PACHD_ADDRESS should not notice anything. Users who are using PACHD_ADDRESS will get a warning, but it should behave the same.
TODO:

[ ] CLI targets for managing contexts
[x] A PACH_CONTEXT environment variable to override the currently set context
[x] ~Move user ID into config V2~ this doesn't seem worthwhile
[x] Replace --no-port-forwarding and --no-metrics (done on another branch since it's a lot of changes that would otherwise muddy the review of this general design.)

Are we definitely deciding to deprecate PACHD_ADDRESS? Or are we keeping it, but not having be the primary connecting option in the docs, etc?

With the current approach, PACHD_ADDRESS will work, but warnings will be printed about its impending removal

LGTM so far.  I'm slightly concerned that PACHD_ADDRESS might be important to certain workflows, and I'm generally in favor of being able to one-off-overide behavior on the command line through env vars.  However, I'm pretty ok with this for now - if someone really needs this we'll probably hear about it in the period of time that it's spitting out deprecation warnings.

@Tryneus contexts include a pachd address, as well as auth credentials. The concern is that setting PACHD_ADDRESS makes it trivial to send auth credentials to the wrong cluster. This issue is somewhat (though not fully) mitigated with the approach taken here, where PACHD_ADDRESS is only respected on the context that was migrated from config V1.

@Tryneus I need to add CLI endpoints for managing contexts, what do you think of the following?
pachctl get metrics - gets whether metrics are enabled
pachctl set metrics  - sets whether metrics are enabled
pachctl use context  - sets the active context
pachctl get context (|--active) - gets a context config by name, or gets the currently active context
pachctl put context   - sets a context config
pachctl delete context  - removes a context
pachctl list context - lists all contexts
A few notes:

Is get/set metrics too ambiguous? Will too many users think it actually gets/sets metrics data?
It strays from k8s' CLI for managing contexts/configs, but I think less ambiguous and more aligned with how our CLI is setup with your changes.
With this, contexts would be immutable (you can't change individual values in a context) but you could override a context.

pachctl get metrics - gets whether metrics are enabled
pachctl set metrics [value] - sets whether metrics are enabled

I'd prefer if these were more like:

pachctl metrics - prints the current state of metrics
pachctl metrics --enable - enables metrics
pachctl metrics --disable - disables metrics

Reasoning:

less overloading of the get verb, which currently dumps data from the cluster, while this is a local-only configuration change
set metrics [value] feels a bit overly verbose

Similarly, I'm a little wary of managing contexts using the same verbs for managing resources in the pachyderm cluster, I think it will break expectations.  What if it was more like:

pachctl context - prints the currently active context
pachctl context <name> - activates a context by name
pachctl context --list [options] - lists all local contexts
pachctl context --get <name> [options] - prints detailed information about a context
pachctl context --add <name> [options] - adds a context
pachctl context --remove <name> [options] - removes a context

The biggest con I can see is that this breaks our current pattern of <verb> <noun>, but I think that is alright because contexts are not Pachyderm-level resources, but abstractions at the CLI level.

That makes sense. I find a couple of those commands ambiguous (most particularly the context activation one, as without a description I would've thought that it would get details of the given context), but can play around with the general idea and see.

@Tryneus it seems kind of weird to me to have verbs as flags in metrics and context commands rather than as positional args like the rest of the commands, even though I do see the argument for why they're different compared to commands that interact with the cluster. Maybe it would make sense to put all of these under a subcommand called config (that's what kubectl uses for their equivalent, and while I don't think their config support is a paragon of good design I think the name is right.) That would save polluting the global namespace, which would maybe make it more tolerable to use pos-args instead of flags?

put all of these under a subcommand called config
@jdoliner - this solves my concerns and I am ok with it

Alright, I'll move forward with the first send of commands, under the config subcommand

One open question is the interaction points between this and kubectl contexts (if any.) Originally I was thinking that these could be totally isolated from kubectl contexts (i.e., adding a pach context does not add a kubectl context.) I don't think that's feasible because:

It would significantly hamper current workflows because users frequently use kubectl to introspect/modify the underlying k8s cluster.
Pach's port forwarder would have to be rewritten, reinventing a lot of stuff that k8s' client library already does.

Given that, I'm now thinking that each context should contain a reference to its underlying kubectl context, and the creation or deletion of a pach context will reflect in the k8s context.
Are there any alternate designs that might make more sense?

I've rewritten the PR description to be more in line with progress to date. There's still a few open design questions; I have bolded them in the description. Feedback welcome!

@jdoliner Ready for review. No rush though, since this shouldn't be merged in until after 1.9 is out, and I want to kick the tires with it a bit anyways.
There's still one open design question - see the migrations section in the PR description.

Is there a reason we have a --namespace argument when it could be set in the underlying k8s context? I'm tempted to remove it, since with these changes, we now rely on the context's namespace everywhere else.

I'm debating whether PACHD_ADDRESS should be deprecated. I think the present behavior is a bit confusing (i.e., it only works if you're on a migrated profile.) @JoeyZwicker thoughts?

I'm no longer deprecating PACHD_ADDRESS. We can always deprecate it later if need be.

@ysimonson - this appears to be because cobra.Command inherits its parent's UsageFunc in the command hierarchy, which hasn't been a problem before because docs commands did not have children.  I'll prepare a PR fix.

I've just removed the link between pach contexts and kube contexts. This was largely unused, and a discussion with Kevin made me realize that linking the two is problematic because there's a variety of ways in which the linked kube context might not be available at the time a pachctl command is issued (for example, if KUBE_CONFIG is set.)
In the process, I also cleaned things up related to namespaces, as outlined in the removal section of the PR description.
One issue I'm currently facing is that deployments aren't working because the call to kubectl apply in deployment-related commands doesn't seem to work unless a namespace is explicitly set. Would anyone know why that is?


Reveal your "marital " status.

Let me contribute on this file.

Thank you for reporting this issue! I'll take a look and update you soon.

I've fixed the issue. Thank you for informing ❤


Banner image option

Option to have a banner image in default and big views.
Could either replace the icon view if used, increasing the height of the dialog to compensate, or maybe used in conjunction, although I think that could have the potential to have a messy looking dialog.
Will need more work on the layout

Completed in v 0.5.0 -> 1.0 RC 1


Dunno why this didn't autoclose.


tflite inference on single image confidence scores.

I am fairly new to tensorflow and I have a tflite model which needs inference on a single image (ie no datasets).  When I run the inference on the quantised model, I out output confidence scores in the range of [0,255] as uint8.
However, when I do the inference on batch I get scores in the [0,1] float range.
I am a bit puzzled why this is. For example, if you see this post: https://thinkmobile.dev/testing-tensorflow-lite-image-classification-model/ you can see that the model results are in the 0-1 range, but, if you do it over a single image like so: https://towardsdev.com/custom-image-classification-model-using-tensorflow-lite-model-maker-68ee4514cd45 the results are in [0-255] int range.
Bit perplexed as to why this is.

@abaqusstudent ,
We see that the issue template has not been filled, could you please do so as it helps us analyse the issue [tf version, steps followed before you ran into this error or stand alone code to reproduce the issue faced] or if possible share a colab gist with the issue reported.


Swiping left or right on the map moves to another fragment on a tablet

Hello,
I have implemented OSMDroid in an application on a tablet that is "tabbed" - you swipe left and right to get to another tab. Now, if you push on the map and drag up or down, then you can also go left-right (west-east). But if you try to go west or east directly, by pushing on the map and dragging, the application will actually swipe left or right to another tab, and not scroll the map.
Do you have any experience with this? How can I say something like "when I swipe left or right on the map, I actually want to scroll the map, and not go to another tab of the application", in code? Because right now, the only way to scroll the map east or west is to first scroll it north or south, and only then you can go east or west, without the application "swiping" to another tab (because when you go north or south, there are no "north" or "south" tabs, only west or east (left or right) tabs, so it doesn't confuse  scrolling the map with swiping to get to another tab when you're doing it vertically).
Hopefully I've been pretty clear in what I'm trying to say.

Yes, there's an example and a solution for fixing it.
https://github.com/osmdroid/osmdroid/tree/master/OpenStreetMapViewer/src/main/java/org/osmdroid/samplefragments/layouts

see Map in a scroll view and map in a view pager, and of course the RecyclerMapView

OK, I'll look into it, thanks!

Hello,
I looked in the files that you mentioned but it's beyond me how they prevent the swiping from a fragment to another using the code inside of them. Are you sure they work? I don't see any mechanism that prevents the scrolling from one fragment to another when you try to scroll the actual map East or West.
In fact, I've tried the Map in a View Pager demonstration on my phone and it behaves the same as I described - when you move on the map left or right (West or East) you move to another fragment instead of scrolling on the map.
I want to make it such that when you put your finger somewhere in the middle of the screen and move left or right - the map moves; whereas when you put your finger on the edge of the screen and swipe, you move to another fragment.
Do you know how this could be implemented?
Thanks,
Robert.

I use ViewPager.setSwipeable() for that.

I looked for the method you specified but there is no such method. However, I found something else: https://stackoverflow.com/questions/9650265/how-do-disable-paging-by-swiping-with-finger-in-viewpager-but-still-be-able-to-s

Then us ToggleViewPager:
https://github.com/Bonnett/Something-Awful-Android/blob/master/Awful.apk/src/main/java/com/ferg/awfulapp/widget/ToggleViewPager.java


hope to  fixed the bug??

thx

Please do not create duplicate issues. Please continue to use this issue here: https://github.com/codecombat/codecombat/issues/5178, and close the current issue.


I can't open my application

Running "flutter pub get" in instagram_clone_marcus_ng...
Because instagram_clone_marcus_ng depends on module from unknown source "androidX", version solving failed.
pub get failed (1)

Hi @Bediosss-Pro
can you please provide your flutter doctor -v
and your flutter run --verbose?
Also, to better address the issue, would be helpful
if you could post  a minimal code sample
or the steps to reproduce the problem.
Please note that from the latest stable version androidx is set as default.
Thank you

Thanks, my problem is now resolved. 😉
Le dim. 22 déc. 2019 à 13:31, Francecsco Iapicca<EMAIL_ADDRESS>a écrit :

Hi @Bediosss-Pro https://github.com/Bediosss-Pro
can you please provide your flutter doctor -v
and your flutter run --verbose?
Also, to better address the issue, would be helpful
if you could post a minimal code sample
or the steps to reproduce the problem.
Please note that from the latest stable version androidx is set as
default.
Thank you
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/47601?email_source=notifications&email_token=AHDRSTVHS2VNZDFMZFHLKRDQZ5T45A5CNFSM4J6JXRLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHPP4XI#issuecomment-568262237,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHDRSTVO5TKZOX533ZM3JOLQZ5T45ANCNFSM4J6JXRLA
.


fix(pagination): make deprecated controller work with 1.3.x

Alright, this adds a bit of temporary overhead.
The problem with angular.extend(this, $controller...) is that it won't carry the stuff you assign to self.
So the thing is: 1.3.x support or a bit of temporary overhead?

LGTM


Add path helper which delegates to builtins.path and update examples and docs

Discussed in https://github.com/ipetkov/crane/discussions/269

Originally posted by dpc March 15, 2023
One of our contributors pointed out that they didn't get cached artifacts from cachix as they were using a different project name than what's the default, and pointed out to:
https://nix.dev/anti-patterns/language#reproducibility-referencing-top-level-directory-with
I'm going change our extra-filtering functions, but I wonder if crane should use it e.g. in the examples (https://crane.dev/examples/quick-start.html). I also wonder - if my code uses src = ./.; could crane "wrap it" with builtins.path internally? Does it already? Should it?

While we're at it, maybe we should add a craneLib.pathhelper which takes a path and calls builtins.path, setting name to the workspace name (or "source" if no name is set). This would make it slightly less verbose than filling out builtins.path directly

craneLib.path works for me.


Discard recently spent inputs from utxo selection

Coverage increased (+0.06%) to 85.317% when pulling 3db28a4e2d247e5f57c7a8ae2053dcf753e5260c on isocolsky:ref/locked-utxos into cf7d1cd55fdc6e915f82c69a95cb1daec2ad9633 on bitpay:master.

Coverage increased (+0.1%) to 85.373% when pulling 3d7a12f3ab06a9292ff4e475c14cb10e76f40e10 on isocolsky:ref/locked-utxos into cf7d1cd55fdc6e915f82c69a95cb1daec2ad9633 on bitpay:master.

Coverage increased (+0.1%) to 85.373% when pulling b7bc041f79ac254fd5baf768f2c29e39706de7d5 on isocolsky:ref/locked-utxos into cf7d1cd55fdc6e915f82c69a95cb1daec2ad9633 on bitpay:master.


Do not cover lines marked # pragma: no cover

Issue #3680.

Please add a test to one of the tests/run/coverage*.srctree test files. It's probably ok to just exclude one line in the coverage_cmd test with the pragma.

done

Nice, that looks good.

Thank you! I understand coverage and your testing framework better now. The only problem left is that it does not work. I think that I do it by the book now so if I cannot find a way, I will ask at coveragepy.

The simple report (coverage report) does not handle excluded lines at all. So I have added tests to the existing HTML tests and also new tests with the json output because it is by far the easiest to use. It seems to behave reasonably now.

@scoder I do not understand why Xenial 3.4–3.5 are red. The error messages do not seem to be related to coverage measurement at all. I would be very thankful if you could have a look.

coverage_cmd seems to be failing on json.loads. The documentation says

Changed in version 3.6: s can now be of type bytes or bytearray. The input encoding should be UTF-8, UTF-16 or UTF-32.

Presumably stdout is a bytes object and needs encoding?

@da-woods thank you! that makes sense.

I have improved the patch a bit: now, the excludes can be configured in .coveragerc to avoid littering the code with ugly pragmas. This reproduces the behavior of coverage running on pure Python code.

Any chance of seeing that merged now?

Thanks @Synss for working this out.