Add X Macro for fun and for profit

Summary of the Pull Request
This PR adds an X Macro for defining our ShortcutActions. This means that you can add the action in one place, and have the macro synthesize all sorts of boilerplate for you!
From the AllShortcutActions.h file:

For a clearer explanation of how this file should be used, see:
https://en.wikipedia.org/wiki/X_Macro
Include this file to be able to quickly define some code in the exact same
way for every single shortcut action. To use:

Include this file

Define the ON_ALL_ACTIONS macro with what you want each action to show up
as. Ex:
#define ON_ALL_ACTIONS(action) void action##Handler();

Then, use the ALL_SHORTCUT_ACTIONS macro to get the ON_ALL_ACTIONS marcro
repeated once for every ShortcutAction

This is used in KeyMapping.idl, ShortcutAction., TerminalPage., etc. to
reduce the number of places where we must copy-paste boiler-plate code for
each action. This is NOT something that should be used when any individual
case should be customized.

PR Checklist

[x] Scratches an itch
[x] I work here
[x] Tests passed
[n/a] Requires documentation to be updated

Detailed Description of the Pull Request / Additional comments
Originally I had this blocked as a follow up to #9662. However, I've grown tired after a month of merging main into this branch, and I'm just shipping it separately. It will inevitably conflict with anyone who has actions in flight currently.
Validation Steps Performed
The code still builds exactly as before!

@miniksa @DHowett when did this get busted in main?
 67>C:\a\1\s\src\host\exe\exemain.cpp(70,22): error C2220: the following warning is treated as an error [C:\a\1\s\src\host\exe\Host.EXE.vcxproj]
    63>ClCompile:
         CopyToCharPopupTests.cpp
##[warning]src\host\exe\exemain.cpp(70,22): Warning C4456: declaration of 'dwValue' hides previous local declaration
         DbcsTests.cpp
    67>C:\a\1\s\src\host\exe\exemain.cpp(70,22): warning C4456: declaration of 'dwValue' hides previous local declaration [C:\a\1\s\src\host\exe\Host.EXE.vcxproj]
       C:\a\1\s\src\host\exe\exemain.cpp(60,11): message : see declaration of 'dwValue' [C:\a\1\s\src\host\exe\Host.EXE.vcxproj]

@miniksa @DHowett when did this get busted in main?
 67>C:\a\1\s\src\host\exe\exemain.cpp(70,22): error C2220: the following warning is treated as an error [C:\a\1\s\src\host\exe\Host.EXE.vcxproj]
    63>ClCompile:
         CopyToCharPopupTests.cpp
##[warning]src\host\exe\exemain.cpp(70,22): Warning C4456: declaration of 'dwValue' hides previous local declaration
         DbcsTests.cpp
    67>C:\a\1\s\src\host\exe\exemain.cpp(70,22): warning C4456: declaration of 'dwValue' hides previous local declaration [C:\a\1\s\src\host\exe\Host.EXE.vcxproj]
       C:\a\1\s\src\host\exe\exemain.cpp(60,11): message : see declaration of 'dwValue' [C:\a\1\s\src\host\exe\Host.EXE.vcxproj]

EDIT: looks like it was fixed with a merge from inbox.

Yeah there was a kerfluffle where someone not in our team stealth changed console without telling us and this is just the fallout of discovering that and reconciling it. Should be good going forward.


textTransform style does not work under Android with New Arch

Description
The textTransform style property does not work correctly on Android with the New Architecture enabled, none of the possible values, i.e. capitalize, lowercase or uppercase, function.
Unfortunately, I'm not sure about iOS as I don't have a MacBook to test with, if anyone can confirm whether or not it works there, that would be great.
React Native Version
0.72.4
Output of npx react-native info
System:
OS: Linux 6.5 Fedora Linux 39 (Workstation Edition Prerelease)
CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-11320H @ 3.20GHz
Memory: 5.03 GB / 15.14 GB
Shell:
version: 5.2.15
path: /bin/bash
Binaries:
Node:
version: 20.6.1
path: /usr/local/bin/node
Yarn: Not Found
npm:
version: 9.8.1
path: /usr/local/bin/npm
Watchman:
version: 20221225.010033.0
path: /usr/local/bin/watchman
SDKs:
Android SDK:
API Levels:
- "31"
- "33"
Build Tools:
- 30.0.3
- 31.0.0
- 33.0.0
System Images:
- android-33 | Google APIs Intel x86_64 Atom
Android NDK: Not Found
IDEs:
Android Studio: Not Found
Languages:
Java:
version: 17.0.8
path: /usr/bin/javac
Ruby: Not Found
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.4
wanted: 0.72.4
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Steps to reproduce

Create a Text component e.g. <Text>hEllo!</Text>
Set textTransform style on it, e.g. <Text> -> <Text style={{ textTransform: 'lowercase' }}> or uppercase or capitalize.
Expect the text to become hello!, HELLO! or HEllo! for the 3 values respectively, but this only functions correctly on the Old Architecture, not New Architecture. (Side note: #34117 means capitalize has incorrect behaviour on Old Architecture as well.)

Snack, code example, screenshot, or link to a repository
https://github.com/retrixe/react-native-texttransform-bug (simply enabled the new arch and put this source code inside App.tsx)
import React from 'react';
import { SafeAreaView, ScrollView, Text, View } from 'react-native';

function App(): JSX.Element {
  return (
    <SafeAreaView>
      <ScrollView contentInsetAdjustmentBehavior="automatic">
        <View>
          <Text style={{textTransform: 'uppercase'}}>uppercase</Text>
          <Text style={{textTransform: 'lowercase'}}>LOWERCASE</Text>
          <Text style={{textTransform: 'capitalize'}}>capitalize</Text>
        </View>
      </ScrollView>
    </SafeAreaView>
  );
}

export default App;

Hi @retrixe I'm experiencing the same issue on Android and I'm not able to reproduce by running the project on iOS


Update DLPack header to v0.6 to support exchanging arrays backed by managed memory

I wanted to support detecting managed memory but it's currently blocked by #5511.

To rebase after #5544.

Note: This PR could break user code (see https://github.com/dmlc/dlpack/issues/74#issuecomment-888096863), so we probably should not backport it.

Jenkins, test this please

Jenkins CI test (for commit f57b8c8ba77b49d5c2c3080eaec618fb7b0197a3, target branch master) failed with status FAILURE.

Note: This PR could break user code (see dmlc/dlpack#74 (comment)), so we probably should not backport it.

Perhaps we should add an env var, say CUPY_DLPACK_ENABLE_MANAGED_MEMORY, to control if managed memory should be treated differently from normal device memory?

Jenkins, test this please

Maybe adding CUPY_DLPACK_EXPORT_VERSION, similar to CUPY_CUDA_ARRAY_INTERFACE_EXPORT_VERSION?

Jenkins CI test (for commit f57b8c8ba77b49d5c2c3080eaec618fb7b0197a3, target branch master) succeeded!

Hi @leofang
Can you add the

Maybe adding CUPY_DLPACK_EXPORT_VERSION, similar to CUPY_CUDA_ARRAY_INTERFACE_EXPORT_VERSION?

as @kmaehashi suggested? :)
Thanks!

Sorry I dropped the ball. Will do!

Jenkins CI test (for commit 6d6ef4079d0a37282c67fda0362b99a730af49c4, target branch master) succeeded!


Document conda installation

Also put installation instructions first

Thanks @mpharrigan. It's fine this time, but as you suggested, let's open PRs from our own forks.


About pretrained weights

Hi, thanks for sharing your pretrained weights. I ran code with your weight and follow your step. However, I can't get the same CD loss as your paper reported.
In your paper CD loss on table is 16.2, but I got 20.8.
Is this reasonable? Thanks for your reply in advance.

CD value
Plane
Cabinet
Car
Chair
Lamp
Sofa
Table
Boat
Average

Paper report
5.6
16.1
13.0
15.4
18.0
24.6
16.2
10.1
14.9

My result
4.3
18.6
12.0
16.2
14.4
22.6
20.8
10.1
14.9

Is the results too random?

Hi,
I believe that the randomness in initialization do affect the results. I would suggest you to run two more times for the classes that shows a big differences, ie, Lamp and Table.
Best,
Junzhe

Dear Dr. Zhang,
Thanks for sharing your interesting work. I'm currently working on the same task and want to compare the performance with your ShapeInversion model. Would you please share the pretrained weights? I tried to train the model but found it took a long time. Look forward to your reply.
Best,
Xiang

Hi Xiang,
The pretrained models are provided in this repo, you can simply download and conduct the inversion(completion).
Thanks,
Junzhe


Space cli should be able to setup and destroy space cloud on kubernetes as well.

Right now, this functionality is available only for the docker driver. We should be able to do the same for kubernetes as well!

One way to go forward with this is by using kubectl under the hood. This would require the user to setup the k8s cluster and kubectl.


Implicit construction of quantities from a value

With the new design a following change was needed:
using state = kalman::state<quantity<isq::position_vector[m]>, quantity<isq::velocity[m / s]>>;
-const state initial = {30 * km, 40 * (m / s)};
+const state initial = {30 * isq::position_vector[km], 40 * isq::velocity[m / s]};

As @JohelEGP correctly noticed that:

seems like an unfortunate deviation from the general idea of ISO 80000-1, 7.1.4 “Expression for quantities” and 7.2 “Names and symbols for units”'s 7.2.1 “General”. Since state is already strongly typed, could the previous iterator be made to work? I think it's preferable if C++ code looked like the quantity expression. Strong typing could be added without affecting it.

The intention seems to be for "30 km" to not be decorated with anything other than the number and the unit. In C++, we use * out of necessity. But this shouldn't be the place to specify the quantity.

I was thinking of permitting x * km, where x is a function parameter, to initialize any quantity of dimension L (besides the requirements on the representation and the unit).

Discussion of alternatives
A number and a unit are not enough to define a quantity. Even adding a dimension was found to be deficient. This was one of the biggest issues with the old "references".
Regarding function parameters, I am not the biggest fan of this syntax in general. Consider:
void foo(double a, double b)
{
  quantity<isq::distance[km]> l = a * m;
  quantity<isq::duration[h]> d = b * s;
  quantity<isq::speed<km / h>> speed = l / d;
}

This looks really cryptic to me and might be a source of confusion. I would much prefer people to type:
void foo(double a, double b)
{
  auto l = a * isq::distance[m];
  auto d = b * isq::duration[s];
  quantity<isq::speed<km / h>> speed = l / d;
}

So I do not think that there is a problem here. Additionally, to support such a scenario, we will have to introduce yet another type/abstraction that would handle such a scenario and make a quantity implicitly constructible from it. I am not so sure if it is worth it.
Another point here worth considering is that right now, we do the following to define a scaled unit:
inline constexpr struct minute : named_unit<"min", mag<60> * second> {} minute;

and I hope that if expression aliases became a part of the C++ language, we will write:
inline constexpr struct minute : named_unit<"min", 60 * second> {} minute;

so a 60 * s is just yet another scaled unit and not a quantity value.
Proposed solution
However, there is another even simpler solution to the problem. For now, the quantity cannot be implicitly constructible from the representation type, so we cannot just leave numbers to initialize the struct.
I believe that the creation of quantities from raw number arguments is quite rare and happens only on the boundaries of strongly typed engines. On the other hand, the initialization of some quantities from constant values will happen quite often, and sometimes, a quantity will be packed inside of the aggregate. Until now, we were not able to initialize such aggregates in an efficient way, and now with the V2 design it looks like this:
quantity<isq::length[m]> vec[3] = { 1 * isq::length[m], 2 * isq::length[m], 3 * isq::length[m] };
std::tuple<quantity<isq::length[m]>, quantity<isq::time[s]>> t = { 1 * isq::length[m], 1 * isq::time[s] };

If we would make the constructor implicit, then the above could be rewritten as:
quantity<isq::length[m]> vec[3] = { 1, 2, 3 };
std::tuple<quantity<isq::length[m]>, quantity<isq::time[s]>> t = { 1, 1 };

which I think could be a big improvement here.
On the other hand, it would allow something like:
void foo(quantity<isq::length[m]>);

int main()
{
  foo(3);
}

which I am not so sure if it is a great idea, although I am ready to discuss and consider it.
Any ideas, thoughts, or comments are welcome here.

Beginning of the thread: https://github.com/mpusz/units/pull/391#discussion_r1054395338.
The last point, "proposed solution", which is about sum types of quantities, feels very much like
quantity<dim_length, metre> f() {
  return {1}; // error: constructor is `explicit`
  return quantity<dim_length, metre>{1}; // OK
}

Yes, that is a really good point! Another reason to consider such a change.

It can't be done while disallowing f(3). If quantity were an aggregate, it would work to some extent, requiring LLVM 16 (https://github.com/llvm/llvm-project/issues/54040#event-8038714643), and with some downsides (https://quuxplusone.github.io/blog/2022/06/03/aggregate-parens-init-considered-kinda-bad/). f({3}) would still work.

Yes, I know. But the more I think about it, the more I am convinced that f(3) is not that bad and the benefits outweigh the possible issues. I hope to hear others' opinions on this as well, and then we can decide if we should do this change or not.

I tend to disagree here. To me, the main reason for using strongly typed engines is to avoid errors due to mis-interpretation between different units. These errors are of the worst kind, because they may be extremely hard to find. Because of that, I would prefer if the compiler would complain loudly whenever I separate units from values without having a clear and obvious marker (i.e. at the call site) that units are being converted.
(For the same reason, I always prefer .number_as<some_unit>() magnitude accessors over .number() - style accessors. However, in this case, at least I have a method call that is comparatively easy to audit).
Is there a way we could make implicit conversions opt-in at the call-site?
auto vec = implicit_quantities<quantity<isq::length[m]>[3]>({1,2,3});
auto t = implicit_quantities<std::tuple<quantity<isq::length[m]>, quantity<isq::time[s]>>>({1,1});

This would probably require explicit specialisations for all classes of containers that should be supported, but to me, that would still be preferable.


BUG:  't_span' is illustrated as 2-tuple of floats in scipy‘s documention, but which is always defined as  array_like in examples

Describe your issue.
https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html#scipy.integrate.solve_ivp
We can notice that 't_span' is illustrated as 2-tuple of floats in scipy‘s documention.

t_span: 2-tuple of floats
Interval of integration (t0, tf). The solver starts with t=t0 and integrates until it reaches t=tf.

Then, the example is show below.

from scipy.integrate import solve_ivp
def exponential_decay(t, y): return -0.5 * y
sol = solve_ivp(exponential_decay, [0, 10], [2, 4, 8])
print(sol.t)

However, in third line of the above paragraph ,we use [0, 10] as 't_sapn', which is array_like.
Reproducing Code Example
from scipy.integrate import solve_ivp
def exponential_decay(t, y): return -0.5 * y
sol = solve_ivp(exponential_decay, [0, 10], [2, 4, 8])
print(sol.t)

Error message
t_span2-tuple of floats
Interval of integration (t0, tf). The solver starts with t=t0 and integrates until it reaches t=tf.

SciPy/NumPy/Python version information
1.9.1 1.23.1 sys.version_info(major=3, minor=10, micro=4, releaselevel='final', serial=0)

Hi @tupui !
Can I pick this up?

Hi @Femme-js not really, as you can see, there is already a PR opened. We do not want competing work as well as to not waste review resources.

Sure, Thanks!


Avoid packaging org.slf4j.impl.StaticLoggerBinder in arquillian-persi…

…stence-dbunit.jar
DBUnitArchiveAppender packages required classes into arquillian-persistence-dbunit.jar which is added as an auxiliary archive to the deployment.
One of the packages added is org.slf4j which also adds the class org.slf4j.impl.StaticLoggerBinder available via the test dependencies.
As the @Deployment will usually also add an slf4j impl slf4j will recognize two different resources org.slf4j.impl.StaticLoggerBinder and throw a warning message:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/robertpanzer/dev/myproject/webapp/target/arquillian/testapp/WEB-INF/lib/arquillian-persistence-dbunit.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/robertpanzer/dev/myproject/webapp/target/arquillian/testapp/WEB-INF/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

As long as the Deployment packages the same implementation as is available via the test dependencies, this is not an issue as both classes will provide the same implementation.
But if the Deployment decides to package a different implementation for whatever reason one of the two implementations will be chosen by accident.
Very much explanation for a simple PR:
It simply excludes the org.slf4j.impl package.
If the Deployment choses to not add an implementation slf4j will automatically use the org.slf4j.helpers.NOPLogger which does just nothing.

Thanks, pushed upstream @24e5410!


Feature request

Add extra data to the tab like icon/counter/label (numbers) by callback.

Happy to accept a PR for this, possibly with a different template file to allow it to be an opt-in feature.  Counter should be updatable too.

If we get a few +1s on here, or if you will consider a bounty (https://www.bountysource.com/) otherwise I don't quite have the time i'm afraid.

+1

+1

+1

+1

+1 :)

Ok enough +1s :)  Just not sure when it'll happen, need to get the existing PRs looked at first.

Got the basics done, if someone wants to do the CSS for the positioning I can stick it up on a branch, i'm just short of time.

No one seems keen.  For now i'll focus on the BS 1.2.x update.

Wouldn't it be easier to simply have a way to apply generic html to the uib-tab-heading? That way we could have any content we wanted. It would just be nice to write the heading html in the actual html and not in the middle of our JS.
If you're ok with this, I could try implementing it and send a PR


Edge Case: Wrong Command Result for Logging empty list

While testing the Profile (for patients with appointment today) Listed on Logger Tab on App-start, I realised log does not show the right command result Cannot log an empty list. as  no find commands were done prior.

SS when log is performed on app-start (With Patients having appointment today)
[ Expects:  Cannot log an empty list. ]
[ Actual: The last filtered values have overridden the logger tab] (side note: should this also be changed to overwritten)

SS when log is performed on app-start (Without Patients having appointment today)

Ah, this is a simple fix - I didn't purge the Predicate used by foundPersonList when initializing the ModelManager.
    public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs) {
        ...
        filteredPersons = new FilteredList<>(this.addressBook.getPersonList());
        foundPersonsList = new FilteredList<>(this.addressBook.getPersonList());
        foundPersonsList.setPredicate(PREDICATE_TODAY);                                // OFFENDING LINE

        this.logBook.setPersons(foundPersonsList);
        loggedFilteredPersons = new FilteredList<>(this.logBook.getPersonList());
    }

I


Dropzone uploadMultiple: true error fix

When you set uploadMultiple : true in dropzone 5.7.2 request create multidimensional input of the upload like
upload[][0]: (binary)
upload[][1]: (binary)
upload[][2]: (binary)
When you send this request it is trying to validate this array value in UniSharp\LaravelFilemanager::uploadValidator()  but it is not a instance of UploadedFile it is instance of array. So with flatting this array we convert its dimension to
upload[0]: (binary)
upload[1]: (binary)
upload[2]: (binary)
(optional) Issue number:
Summary of the change:

type check error


Atom crashes when duplicating a file

Prerequisites

[ x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
When duplicating a file by right clicking on the file in the file tree, atom crashes.
Similar behavior witnessed when trying to copy project path from same right click menu.
Same issue as #4920
Steps to Reproduce

Open file tree
Right click on any file
Click Duplicate (or copy project path)
Watch the program crash.

Expected behavior:
No crashing
Actual behavior:
Crashing
Reproduces how often:
about 50% of the time.
Versions
Atom    : 1.42.0
Electron: 4.2.7
Chrome  : 69.0.3497.128
Node    : 10.11.0
apm  2.4.3
npm  6.2.0
node 10.2.1 x64
atom 1.42.0
python 2.7.16
git 2.21.0
Mac OS Catalina: 10.15.2 (19C57)

Thanks for taking the time to contribute!
We noticed that this is a duplicate of https://github.com/atom/atom/issues/20034. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


TypeError: Unsloth: Your model already has LoRA adapters. No need to run this again!

model = FastLanguageModel.get_peft_model(
    model,
    r = 16,
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
                      "gate_proj", "up_proj", "down_proj",],
    lora_alpha = 32,
    lora_dropout = 0,
    bias = "none",
    use_gradient_checkpointing = "unsloth",
    random_state = 3407,
    use_rslora = False,
    loftq_config = None,
)

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[<ipython-input-20-6010942139b1>](https://localhost:8080/#) in <cell line: 1>()
----> 1 model = FastLanguageModel.get_peft_model(
      2     model,
      3     r = 16,
      4     target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
      5                       "gate_proj", "up_proj", "down_proj",],

[/usr/local/lib/python3.10/dist-packages/unsloth/models/llama.py](https://localhost:8080/#) in get_peft_model(model, r, target_modules, lora_alpha, lora_dropout, bias, layers_to_transform, layers_pattern, use_gradient_checkpointing, random_state, max_seq_length, use_rslora, modules_to_save, init_lora_weights, loftq_config, **kwargs)
   1366
   1367         if isinstance(model, PeftModelForCausalLM):
-> 1368             raise TypeError(
   1369                 "Unsloth: Your model already has LoRA adapters. No need to run this again!"
   1370             )

TypeError: Unsloth: Your model already has LoRA adapters. No need to run this again!

@KaifAhmad1 I think you called the .get_peft_model twice!

@danielhanchen Thanks!!

I intentionally want to add another adaptor on top of the current one and train the last one or both of them what should I do?


Update OTAPI to 1.4.3

will close this off due to the other merged PR, will include in nuget notes as a contributor so thanks still 👍


CI: cmake fails due to an error of gdb

Hi @nbelakovski ,
https://github.com/libprima/prima/actions/runs/7760885748
I cannot resolve this issue since my knowledge about cmake and gdb is quite limited. It would be nice if you could have a look.
Thank you.
Zaikun

Maybe related: https://github.com/libprima/prima/commit/ccf6a65c932a9c0f3fa5935b08b51adaefd5ada3


[AMBARI-2366]. Support POST for querying logs for Log Search REST API.

What changes were proposed in this pull request?
Split actual requests to body and query requests and add POST methods next to the GET ones where it makes sense. (could not really use multiple inheritance as i required the fields)
also change te delete methods to use only body.
also renamed iMessage and eMessage to includeMessage and exlcudeMessage (for some reason its not used from the UI, but as i remember that was a useful parameter in the old one) - it caused some issues for swagger and jackson if i have like geteMessage and seteMessage kind of names (or with uppercase as well)
How was this patch tested?
UTs: passed, they need to be updated
Mostly manually but its still in progress
please review @kasakrisz @g-boros @swagle

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2041/
Test PASSed.


Quick feedback from a powerline shell user

Hey, thanks for sharing this. It looks great. I'm typically a powerline shell user, but I'm considering a switch. I wanted to leave some quick feedback with initial thoughts, but feel free to ignore/close if they don't align with the direction you wanted to go.

Does the readme describe (or show) what minimal mode changes? I couldn't figure it out.
Any thoughts on having a different visual git status when you have local commits that haven't been pushed yet?

feel free to give suggestions/open issues!
i will address this in the next commit, but it simply displays the prompt on one line and strips away some extra spaces. you can edit src/main.rs to your liking, it is fairly straightforward!
pista displays a ↑ ↓ character if HEAD is ahead/behind of the last cached upstream. if you made some commits, but haven't pushed them, you should see an up arrow!

Thanks for the quick response. I just installed pista, and found that the default light grey font doesn't show up well on a light themed terminal. It would be nice if there was a simple way to override that color.

all the colours are configurable. just add
export BRANCH_COLOR="green"

to your .bashrc or .zshrc and restart the shell (exec bash/zsh).this will change the colour of the arrow as well!
readability is subjective, so i prefer giving the user the option of changing colours.

Thanks for that. For future readers, it was actually the CWD_COLOR that I was looking for.
Last thing, I have noticed on two different machines (one ubuntu and one fedora, using default terminal in both) some strange behavior when I am entering a command and it breaks onto a new line.
The ubuntu machine overlaps the current line when the command should break to the next line. The fedora machine breaks to the next line, but if I then delete some characters from the beginning, the end of the command is padded with the last character of the command, and I am limited in how much I can delete. If you aren't able to reproduce I can try to explain more clearly.

ah i am aware of this issue. the fix (for bash users atleast) would bubble up to rewriting the colored crate! zsh users can run pista with the -z flag.

Ah I missed that issue, sorry about that. What specifically would need to change in the colored crate? Quickly looking at that repo, I didn't see any relevant open issues.

the issue is extremely specific, it stems from GNU Readline's method of calculation of line length. non-printing escape sequences (eg.: \x1b[31m to produce red text) tend to confuse its calculation, producing warped results.
the fix is, to wrap every occurrence of such a sequence with a \001 and a \002. the issue hasn't shown up anywhere because of how explicit it is!

Thanks for the follow up. I started a fix for this in mackwic/colored#57, but there was a lot of test breakage (tests which compare colored to a "reference implementation"). I'm not sure I'll get around to completing the change, but I think it might work as is for your crate.

As a follow up, I swapped the colored dependency to point to my fork and re-installed pista and it seems to have resolved the issue for me.

sweet! if you update your fork, ill add it as pista's dep! thank you for your time and effort!
i wonder if it would work alright in zsh.

What are you looking to have updated? You can use this as is in pista by updating the Cargo.toml with colored = { git = "https://github.com/JoshMcguigan/colored", branch = "char-count" } in place of the existing dependency.

ah my bad, i didnt notice the char-count branch. it works perfectly! this will also close #1
thank you so much for your contribution!


Update the Zipkin Server jar coordinates

The group ID has changed (from io.zipkin.java to io.zipkin) in recent versions, so the previous download link would not download the latest version.
See https://github.com/openzipkin/openzipkin.github.io/issues/136

Thanks


Branch enable assertions

Codecov Report

Merging #95 (891bf5f) into master (11eed42) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #95   +/-   ##
=========================================
  Coverage     69.75%   69.75%
  Complexity      427      427
=========================================
  Files            76       76
  Lines          1329     1329
  Branches        131      131
=========================================
  Hits            927      927
  Misses          366      366
  Partials         36       36

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 11eed42...891bf5f. Read the comment docs.


Select do not work when called in script

Hello @all
I built an bash- / ruby-script which helps to set up some Mac OS computers.
The bash part of the system pulls and installs the environment required by the script.
The ruby part installs the tools & configures the device.
Now I use TTY-Prompt to select the environment which shold get deployed on the maschine.
But when the ruby-script is called, tty-prompt dont work. It's only showing the menu, but I can't select the points.
For reproduction watch https://gitlab.com/fadendaten/mac-setup-script

OS version: Mac OS 10.14.3 / Ubuntu Server 16.04.5
Ruby version: 2.6.1 / 2.5.1 / 2.3.1
TTY version: 0.17.1 / 0.17.2 / 0.18.1

Hi Vento,
Thanks for using this gem!
I can assure you that I've put a lot of effort into making sure this works in a lot of platforms including 10-year-old windows power shell. The reason why the prompt won't work is when your terminal doesn't support ANSI codes. In other words, there is something fundamental missing from your system that doesn't support interactive shell. If you're, for example, using your script on non-interactive, non-login shell then all bets may be off.


fix: ES6: Replace var with const and let in JS

Thank you for your pull request, however our projects are not quite ready for this change, as they support the same Node.js versions as mainline Express.js does.

Thank you @dougwilson


CCIP & PoR

Removing pagination has interesting literature, see here for example.
It seems in our case the limiting factor would be execution time. If the call takes too long to process, the node could throw an error. I doubt this would be an issue for us, especially with dedicated nodes, plus we can always upgrade in the future if need be.

Cool, thanks for putting this together. So commenting on the pagination bit. Well, this certainly seems good enough for now. Getting rid of pagination definitely doesn't seem like a risk for our contract. You mention some potential future issues, but they could be handled as they come up, which would likely be pretty far in the future.
I see the recommendation from CL expects pagination in the form of the start / end indexes. But even with that logic, I suppose it's still better to have the funded counter, if we want to make things more efficient. It all kinda makes me think if we shouldn't just have the dlc list broken up into a bunch of different lists, one for each dlc state. And when DLCs change states, they actually change lists.
READY_DLCs = [];
FUNDED_DLCs = [];
And there could be a changeState(dlc, fromState, toState) function, which handles the moves. This would make querying them super easy. Could such a thing be worth it?


un-packing bug : TypeError: wrapper() got an unexpected keyword argument

🐛 Bug
Hi, since the update (lightning 1.4 & pytorch 1.9) i get some curios error:
 File "/home/felix/anaconda3/envs/work/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 178, in validation_step
    return self.model.validation_step(*args, **kwargs)
  File "/home/felix/Desktop/memoresa-work-ml/Task_NLP/NER_torch/torch_model.py", line 85, in validation_step
    loss, logits = self(ids=ids, mask=mask, labels=labels)
  File "/home/felix/.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
TypeError: wrapper() got an unexpected keyword argument 'ids'

(before update all was fine)
def forward(self, ids, mask, labels=None):
        outputs = self.bert(input_ids=ids, attention_mask=mask, labels=labels)
        # outputs.loss   outputs.logits   outputs.attentions
        return outputs.loss, outputs.logits

def validation_step(self, batch, batch_idx):
        ids = batch["ids"]
        mask = batch["mask"]
        labels = batch["tags"]
        loss, logits = self(ids=ids, mask=mask, labels=labels)

I have checked the validation step input all is ok
To Reproduce
pip3 install -r requiremetns.txt
(change paths in trainer.py and ner_dataset.py to your env paths)
python3 Task_NLP/NER_torch/trainer.py
You can use the following Github link (pls contact me to get access):
https://github.com/felixdittrich92/memoresa-work-ml
ID Slack: U01RBRR0EAG
Environment

CUDA:
- GPU:
- available:         False
- version:           10.2
Packages:
- numpy:             1.21.1
- pyTorch_debug:     False
- pyTorch_version:   1.9.0+cu102
- pytorch-lightning: 1.4.0
- tqdm:              4.61.2
System:
- OS:                Linux
- architecture:
- 64bit
- ELF
- processor:         x86_64
- python:            3.8.10
- version:           #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021

EDIT: the error occurs only if i try to set QuantizationAwareTraining as callback !!!

cc @Borda as it seems to be caused by QAT

Dear @felixdittrich92,
Would you mind trying to reproduce this behaviour using the BoringModel script: https://github.com/PyTorchLightning/pytorch-lightning/blob/master/pl_examples/bug_report_model.py
This doesn't seem much, but it saves us countless hours :)
Best,
T.C


fix: components are generated in the wrong directory

Close #46

Hi @sampullman
I think this PR is ready for review, thank you!

Nice! It seems like it works for all the combinations of lib/directory.


ui: add Lead struct to encapsulate related data

This isn't particularity more readable than the existing code. If you want to do some UI cleanup though, let's the rest of the NVG to Qt. #21821 is a good start on this.

opened #21821  for review


calling get_browser_test_result results in TypeError

Describe the bug
if calling the get_browser_test_result method on a test that has completed and suceeded, datadog will internally throw a TypeError-
Label the issue properly.

Add severity/ label.
Add documentation label if this issue is related to documentation changes.

To Reproduce
See above
Expected behavior
an object should be returned
Screenshots
Environment and Versions (please complete the following information):
A clear and precise description of your setup:
datadog-api-client==1.12 on python 3.9
Additional context
in under 2 hours I've uncovered serious bugs in both get_browser_test_result and get_api_test_result. Maybe consider testing this libraries a bit better? it's super annoying to have to revert to http clients after having spent time setting up this sdk.

Sorry for the troubles, should be fixed by #1038 and #1039 .


New PR to test SignCLA at 2019-08-08 12:32:32.574285196 -0700 PDT m=+4.570739759

Body of PR

corp-pass-staging: test succeeded


Export Project for android.

None
Godot version:

Godot 3.0.6.stable.mono.official.8314054 with mono download and tpz templates
OS/device including version:

Windows 8.1
Issue description:

I try to use Export Project with Andoid , the button is inactive (
mono template is install but tell me is missing).
Steps to reproduce:
I download Godot 3.0.6.stable.mono.official.8314054
I used a minimal project from youtube tutorial
I used java settings paths:
C:/Program Files/Java/jdk1.8.0_172/bin/jarsigner.exe
C:/Program Files/Java/jdk1.8.0_172/bin/debug.keystore
my username for Android Studio path , see C:/Users/username/AppData/Local/Android/Sdk/platform-tools/adb.exe
I used this tutorial for settings : https://www.youtube.com/watch?v=QPI8JsKF2j4&t=186s
Minimal reproduction project:

I used a minimal project from youtube tutorial and export for windows os working well.
This tutorial for project https://www.youtube.com/watch?v=-D-IcbsdT04

Will be great if the team of Godot game engine will come with one tool/infos  to repair compatibility and integrity issues with export output (Android OS). I can debug this ?

I believe there is no Mono export for android yet.

You can check #20267 to follow that issue like I do.

Duplicate of #20267


Add SDK changelog

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/68
Originally created by @aaronsteers on 2021-03-29 18:49:26

In preparation for 0.1.0, we should have a change log going forward to capture changes as they are implemented.
https://keepachangelog.com/en/1.0.0/

View 4 previous comments from the original issue on GitLab


Xen related stuff

All changes compile fine and the new and modified XEN runs my local systems.

@ts468 You should consider asking for commit rights instead of swinging by IRC so much ;)


TLS deferred auth caches do not work with the pelican client

When the pelican client attempts to access a file which is in a namespace that is under Director.X509CacheAuthorizationPrefixes, it recognizes that the namespace has required capabilities, but doesn't realize that x509 authentication can be used. So if a token isn't provided, it recognizes that one doesn't exist and fails without attempting an access at all (such as with a Stat call).
The fix should be the following:

When checking capabilities, determine if the request is for something in the deferred prefix list. If so, don't immediately fail if no token is provided.
Ensure that the tls certs are redirected to the xrootd.
Adjust the end-to-end test to check both curl and pelican client

Misunderstood the problem, going to generate a new issue once I diagnose it.


Fix for #115 and #116

Overall Review of Changes:
Added a requirements.txt file to list python libraries
Added a .yamllint for a consistent code style and fix these problems in a commit each:

caeba71 .yamllint file to start refactoring to consistent YAML.
aa3166a yamllint: document start
f21b80c yamllint: indentation
18f0ccb yamllint: comments-indentation
a71477e yamllint: truthy value should be one of [false, true]

Issues Fixes:
#115
#116
Enhancements:
Added a Makefile that runs checks by default.
How has this been tested?:
Makefile added, run make or its default target yamllint, or:
git ls-files "*.yml"|xargs yamllint

https://github.com/ansible/ansible/issues/78559


Fix read.me

There are two "Demo/visualizaion on the LineMOD Dataset". 2nd line must be "Demo/visualizaion on the YCB Dataset".

Fixed. Thanks for the advice.

Fixed. Thanks for the advice.


Show more descriptive error notification when trying to log with a username that doesn't exist

Also, ideally the backend would just return a generic error message for all auth errors.

Fixed


Fixed issues with README example

I have fixed the following three issues that were present in the README for this repository...

Two of the links to documentation were broken; I have replaced them with working links.
The callback function for webSocketHandler is passed a WebSocketChannel, not a CompatibleWebSocket (I have also imported the web_socket_channel library).
As webSocket is a WebSocketChannel, we must access the WebSocketSink before using .add.

I signed it!


In-place definition of the cargo projects in integration tests

Motivation
Defining the cargo project in the filesystem for a test requires extra activation energy and makes reading the test hard.
Suggested solution
Employ defining the whole cargo project in the test code using the builder pattern. See the cargo test suite - https://github.com/rust-lang/cargo/blob/57b75970e022e8519fe82cc38a7aed4862f67089/tests/testsuite/check.rs
An example:
    let foo = project()
        .file(
            "Cargo.toml",
            r#"
                [package]
                name = "foo"
                version = "0.0.1"
                authors = []

                [dependencies.bar]
                path = "../bar"
            "#,
        )
        .file(
            "src/main.rs",
            "extern crate bar; fn main() { ::bar::baz(42); }",
        )
        .build();
    let _bar = project()
        .at("bar")
        .file("Cargo.toml", &basic_manifest("bar", "0.1.0"))
        .file("src/lib.rs", "pub fn baz() {}")
        .build();

    foo.cargo("check")
        .with_status(101)
        .with_stderr_contains("[..]this function takes 0[..]")
        .run();

I like it, would definitely help reduce clutter for sure!


Flutter Blank Screen

Flutter Application showing blank screen when kept in the background about half an hour that means when I resuming the app after sometime it is showing blank screen. If anyone  experienced this problem could you help me please. For normal resuming (i.e, minimize and resuming), the application was working without any problem. But after some long time(more than 1 hour) it was showing blank screen.
Here I am sharing application screenshot when I got the blank screen.
flutter doctor output:
[✓] Flutter (Channel stable, v1.7.8+hotfix.3, on Linux, locale en_IN)
• Flutter version 1.7.8+hotfix.3 at /home/ag-purplle/Flutter/flutter
• Framework revision b712a172f9 (2 weeks ago), 2019-07-09 13:14:38 -0700
• Engine revision 54ad777fd2
• Dart version 2.4.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
• Android SDK at /home/ag-purplle/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.0
• ANDROID_HOME = /home/ag-purplle/Android/Sdk
• Java binary at: /home/ag-purplle/Downloads/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b16-5323222)
• All Android licenses accepted.
[✓] Android Studio (version 3.4)
• Android Studio at /home/ag-purplle/Downloads/android-studio
• Flutter plugin version 37.1.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b16-5323222)
[!] Connected device
! No devices available

Can you edit your post to include your 'flutter doctor -v' output

I think I've managed to replicate the issue with my own application. Left the application in background for over an hour, used other applications in the meantime. Opened the app by viewing background applications.
I was able to capture the following error message from Android Studio's logcat
2019-07-23 13:22:08.660 2683-2770/? I/ThermalEngine: Sensor:msm_therm:34000 mC
2019-07-23 13:22:08.834 3345-4645/? D/ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{167aac4 com.mycompany.myapp} is now in focus and seems to be in full-screen mode
2019-07-23 13:22:08.834 3345-4645/? E/ActivityTrigger: activityResumeTrigger: not whiteListedcom.mycompany.myapp/com.mycompany.myapp.MainActivity/1
2019-07-23 13:22:08.834 3345-4645/? D/ActivityTrigger: ActivityTrigger activityPauseTrigger
2019-07-23 13:22:08.835 3345-4645/? D/PowerManagerService: acquireWakeLockInternal: lock=265463535, flags=0x1, tag="*launch*", ws=WorkSource{10523}, uid=1000, pid=3345
2019-07-23 13:22:08.835 3345-4645/? D/PowerManagerService: updateWakeLockSummaryLocked: mWakefulness=Awake, mWakeLockSummary=0x1
2019-07-23 13:22:08.835 3345-4645/? D/PowerManagerService: updateUserActivitySummaryLocked: mWakefulness=Awake, mUserActivitySummary=0x1, nextTimeout=544262992 (in 292923 ms)
2019-07-23 13:22:08.835 3345-4645/? D/PowerManagerService: updateDisplayPowerStateLocked: mDisplayReady=true, policy=3, mWakefulness=1, mWakeLockSummary=0x1, mUserActivitySummary=0x1, mBootCompleted=true, screenBrightnessOverride=-1, useAutoBrightness=false, mScreenBrightnessBoostInProgress=false, mIsVrModeEnabled= false, sQuiescent=false
2019-07-23 13:22:08.836 3345-4645/? D/CompatibilityInfo: mCompatibilityFlags - 0
2019-07-23 13:22:08.836 3345-4645/? D/CompatibilityInfo: applicationDensity - 480
2019-07-23 13:22:08.836 3345-4645/? D/CompatibilityInfo: applicationScale - 1.0
2019-07-23 13:22:08.839 3345-4301/? D/ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{167aac4 com.mycompany.myapp} is now in focus and seems to be in full-screen mode
2019-07-23 13:22:08.839 3345-4301/? E/ActivityTrigger: activityResumeTrigger: not whiteListedcom.mycompany.myapp/com.mycompany.myapp.MainActivity/1

Have You got the blank screen as like me only?

Yes, all blank. But the app I've using isn't the production build it's the debug installation. I have to kill the application and reopen it for the app to work.
I will try replicating the issue with a production version.

Have you @l-k22  got the same screen after an hour?

roughly an hour, I wasn't purposely trying to cause this bug, I was just using my phone as normal, and then when I returned to work on my application I found the blank screen. I don't know if there is a set time or what causes it, it could be caused by how Android frees up memory, so the timing may be influenced by how soon the device starts garbage collection.
The error mentions whitelisting, I don't know what this is and can't find anything on google that is related specifically to Flutter.

Yeah Thank you for your response. Is there any problem with flutter coding or completely device dependent?

I think it's a bug with Flutter, I've only seen this issue with my own Flutter apps. I'm not sure who the right person is to ask so I'll ping a developer I've seen post recently. @dnfield

@eseidel Please look into this, we  are facing  on production apps

/cc @matthew-carroll and @jason-simmons  as this seems to be an Android issue and they are more familiar with the Android embedding

@dnfield
I don't think this is Android issue bottom three buttons are there Dev , Sandbox and Prod  View  in native Android .that shows without any issue.

I mean the Android embedding, as opposed to the iOS embedding

FYI @xster

Can you describe your app a bit more? Did you follow a process similar to something like https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps?
Is there a FlutterFragment or an io.flutter.embedding.android.FlutterView somewhere in there?
Are you making your own FlutterEngine instance?
Try turning on "Don't keep activities" in your Android developer options menu and see if this becomes reproducible instantly on backgrounding.

Yes, we followed the  same process.
We are using  io.flutter.embedding.android.FlutterView .
We are not making any changes in FlutterEngine instance.
If enable Don't keep activities option it's instantly reproducible on backgrounding.

Are you able to use FlutterFragment instead of FlutterView, or do you need to use a View? If you use FlutterView directly then you become responsible for doing everything that is in FlutterFragment, including sending app lifecycle events to Flutter at the appropriate times. My guess is that your blank screen is the result of not sending one of the required messages from Android to Flutter. Can you check that and report back?

How to send life cylce messages  to flutter if we use FlutterView

Please take a look at where/how FlutterFragment sends those messages:
https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java#L616
Also, if you choose to use FlutterView directly you should be aware that it requires taking much more responsibility for coordinating how Flutter works. This is the tradeoff. You can use FlutterView in more places, but you have to do more work. It will also be more susceptible to API changes in the future. So if it's possible, I would recommend using FlutterFragment instead. But if you have to use a View then FlutterView can work, if you provide the right setup.

for FlutterFragment problem is we won't get the FutterView
then the problem will be for platformChannnel.
GeneratedPluginRegistrant.registerWith(flutterView.getPluginRegistry());
        methodChannel = new MethodChannel(flutterView, PLATFORM_CHANNEL);

Are you referring to the old FlutterView? The new io.flutter.embedding.android.FlutterView does not have a method called getPluginRegistry():
https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/embedding/android/FlutterView.java
The way to register channels and plugins with a FlutterFragment is to override configureFlutterEngine(engine):
https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java#L463
You can declare something like:
public class MyFlutterFragment extends FlutterFragment {
  @Override
  protected void configureFlutterEngine(FlutterEngine engine) {
    MethodChannel myChannel = new MethodChannel(engine.getDartExecutor(), PLATFORM_CHANNEL);
  }
}

Thanks for the update.
I will check this

@matthew-carroll   I have the confusion
https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps as per this link.
to use fragment we have to use Flutter.createFragment. that returns the io.flutter.facade.Fragment.
but as you said to use io.flutter.embedding.android.Flutter.FlutterFragment

"Don't keep activities" in your Android developer

My app doesn't and it's 100% Flutter app =/

it's reproducible  if you add it in the existing native app and when you FlutterView it's confirmed

@matthew-carroll I have the confusion
https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps as per this link.
to use fragment we have to use Flutter.createFragment. that returns the io.flutter.facade.Fragment.
but as you said to use io.flutter.embedding.android.Flutter.FlutterFragment

Please ignore the references to io.flutter.facade.Fragment in that guide, it is out of date and we have a ticket filed to update it. For the sake of debugging this particular issue, please try the approach I mentioned so that we can try to locate the root cause.

After using Flutter fragment it's  working

The remaining action items on us are to:

Remove the facade classes from the doc https://github.com/flutter/flutter/issues/36580
Remove the facade classes https://github.com/flutter/flutter/issues/34458
Clearly document when using FlutterView that lifecycle messages must be pass in manually for it to work https://github.com/flutter/flutter/issues/32863

Otherwise, if you're unblocked on this symptom, we'll go ahead and close this issue.

i faced this issues too, on latest version 1.17.3. But it on ios platform, android platform running fine


Fix iOS build

For some reason the old iPlug2OOS template would not build to real devices only the simulator. This fixes that
The PR also adds async completion handlers to the model/IR load dialogs (required for iOS) and filters for file extensions "nam" and "wav"
also a few iOS UX improvements so controls aren't cut off the screen (can be improved)

Resolves #96


chore: sync prod->main

Syncing Prod->Main.

https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/


Feat/add back forward buttons to web platform player

📝 Description
Add the back and forward buttons to the web platform player, allowing to easily back and forth in a Live app and also between live apps (like with the Buy / Sell live-app that redirect to other live apps)
Possible to display or hide navigation through a new property in the TopBarConfig prop.
Enables the navigation on the dedicated Ledger Card entry
❓ Context

Impacted projects: ``
Linked resource(s): ``

✅ Checklist

[ ] Test coverage
[x] Atomic delivery
[x] No breaking changes

📸 Demo

https://user-images.githubusercontent.com/9203826/178308976-f1d276d8-cf08-4e71-a35b-a938cd5d8e8a.mov
🚀 Expectations to reach
We can go back and forward on live apps.
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

We also need a changeset for this PR

is it possible to have a unit test that instrument this to be able to test end to end?
We have to test all our PRs. and Desktop offers way to implement this. maybe a mock page could be used to record the events and assert it works? 🙏 would be super beneficial for non regression in future.

After further investigation and tests, we currently don't have a proper testing framework to easily build and reliably maintain such tests.
IMHO we should consider working on such framework independently from this feature PR (it's also a broader R&D subject) rather than blocking it until such thing is available


[Tracking] Website Overhaul

Goal
We want to have a new website that is built on top of a new site generator that will make maintenance and setup of docs much simpler. Additionally, a new hosting provider should be used so that hosting of the website will be easier as well.
Details
After the initial research done in https://github.com/keptn/lifecycle-toolkit/issues/2458, the plan is to move the docs to MkDocs and use the Material for MkDocs theme which comes with lots of extra features that take work off of the team's hands when it comes to customization of the website.
For hosting, ReadTheDocs will be used since it provides features that are tailored towards technical documentation which again, will make maintainability better.
Versioning of the website will be removed from the website for now since the project doesn't really need it except for certain specific pages like the Upgrade page.
PoC for this epic with a fully working setup: https://github.com/mowies/mkdocs-testing
The corresponding website can be accessed here: https://mkdocs-testing.readthedocs.io/en/stable/
The corresponding ReadTheDocs project can be accessed here: https://readthedocs.org/projects/mkdocs-testing/
### Tasks
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2550
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2552
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2553
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2548
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2555
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2551
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2585
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2584
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2587
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2586
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2592
- [ ] https://github.com/keptn/lifecycle-toolkit/issues/2774

Closing this since everything is done except for one issue, that will hopefully be done by the community


convert project into Android library project

project is simple java project in  it's current state, convert it to Android library project for ease of use and easy upgrade of library from client side.

I took the liberty to fork sugar and convert it into a library project in order to use it with the Eclipse toolchain. Android.com has the details on how to use library projects.


[hecs-plugin-three] Be able to set WebGLRenderer constructor params

Currently, there is no way to configure the renderer created in Presentation:
  createRenderer() {
    const renderer = new THREE.WebGLRenderer({
      antialias: true,
    })
...

As far as I can tell, these constructor params cannot be set after-the-fact.
Use Case: In order to get mixed-mode CSS3D+WebGL working, I need the alpha: true setting for WebGLRenderer.

Yeah for now it's just using some hardcoded defaults. It could probably have a method world.presentation.configure(options) to rebuild the WebGLRenderer/Camera/Scene etc based on some options if needed

Oh, that's an interesting approach. So basically throw away what was already configured, and build it again. You get the advantage of reasonable "default settings" as well as a way to customize settings.
This might also be a good way to handle the default lighting situation.

I'd be happy to update hecs-plugin-three to support replacing the scene, camera, renderer etc using this flow https://github.com/gohyperr/hecs/pull/26#issuecomment-730060336

Yes, that would be perfect.


Windows tool_integration_tests_1_6 flake for "allows overriding the directory for code size files"

Logs found at: https://ci.chromium.org/ui/p/flutter/builders/prod/Windows tool_integration_tests_1_6/6857/overview
07:56 +26 ~2 -1: test/integration.shard/analyze_size_test.dart: --analyze-size allows overriding the directory for code size files [E]
  Expected: <0>
    Actual: <1>

  package:matcher                                      expect
  test\integration.shard\analyze_size_test.dart 190:5  main.<fn>

Referenced in issue filed by bot: https://github.com/flutter/flutter/issues/125116

Another example of the same test failing for this builder: https://ci.chromium.org/ui/p/flutter/builders/prod/Windows tool_integration_tests_1_6/6787/overview

Looks like <1> means the exit code, in that building the app failed. Can we update the test to show the stdout and stderr when that line fails? https://github.com/flutter/flutter/blob/master/packages/flutter_tools/test/integration.shard/analyze_size_test.dart#L190

There's a handy test helper printOnFailure which will only print if the current test eventually fails: https://pub.dev/documentation/test_api/latest/test_api.scaffolding/printOnFailure.html

cc @eliasyishak

Closing issue, PR: https://github.com/flutter/flutter/pull/125910 has added logging to this test incase it fails again

Re-opening, we should probably only close this once we have identified the cause of the flake

With our updates from PR #125910, we can now observe the following output from the printOnFailure calls
07:10 +23 ~2 -1: test/integration.shard/analyze_size_test.dart: --analyze-size allows overriding the directory for code size files [E]
  Expected: <0>
    Actual: <1>

  package:matcher                                      expect
  test\integration.shard\analyze_size_test.dart 204:5  main.<fn>

workingDirectory: C:\b\s\w\ir\x\w\flutter\examples\hello_world

command:
C:\b\s\w\ir\x\w\flutter\bin\flutter build apk --analyze-size --code-size-directory=C:\b\s\w\ir\x\t\flutter_size_test.2b8000db --target-platform=android-arm64 --release

stdout:
Downloading android-arm-profile/windows-x64 tools...               601ms
Downloading android-arm-release/windows-x64 tools...               224ms
Downloading android-arm64-profile/windows-x64 tools...             256ms
Downloading android-arm64-release/windows-x64 tools...             229ms
Downloading android-x64-profile/windows-x64 tools...               226ms
Downloading android-x64-release/windows-x64 tools...               222ms

Running Gradle task 'assembleRelease'...
Checking the license for package Android SDK Build-Tools 30.0.3 in C:\b\s\w\ir\cache\android\sdk\licenses
License for package Android SDK Build-Tools 30.0.3 accepted.
Preparing "Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)".
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" ready.
Installing Android SDK Build-Tools 30.0.3 in C:\b\s\w\ir\cache\android\sdk\build-tools\30.0.3
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" complete.
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" finished.
Running Gradle task 'assembleRelease'...                          157.3s

stderr:
Dart snapshot generator failed with exit code -1073740940
Target android_aot_release_android-arm64 failed: Exception: AOT snapshotter exited with code -1073740940

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileFlutterBuildRelease'.
> Process 'command 'C:\b\s\w\ir\x\w\flutter\bin\flutter.bat'' finished with non-zero exit value 1

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

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

BUILD FAILED in 2m 36s
Gradle task assembleRelease failed with exit code 1

This is great info. I still think we will need more before we share the dart vm team. @eliasyishak can you add the --verbose flag to our flutter tool invocations for these tests?

Looks like we have some logging coming out for this build on a flake
https://ci.chromium.org/ui/p/flutter/builders/prod/Windows tool_integration_tests_1_6/7248/overview

Looks like we have some logging coming out for this build on a flake
https://ci.chromium.org/ui/p/flutter/builders/prod/Windows tool_integration_tests_1_6/7248/overview

I don't see the crash from https://github.com/flutter/flutter/issues/125512#issuecomment-1535065136 in this log.

If you search for "stdout:" in the logs, the first match is one of our tests. There seem to be more test files failing in this one builder run, but the stack trace can be seen for one of ours too

If you search for "stdout:" in the logs, the first match is one of our tests. There seem to be more test files failing in this one builder run, but the stack trace can be seen for one of ours too

It looks to me like the root cause of that failure was:
[        ] Execution failed for task ':app:packageRelease'.
[        ] > A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
[        ]    > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "C:\Users\chrome-bot\.android\debug.keystore": Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available

While it looks (to me) like the root cause of https://github.com/flutter/flutter/issues/125512#issuecomment-1535065136 was:
Dart snapshot generator failed with exit code -1073740940
Target android_aot_release_android-arm64 failed: Exception: AOT snapshotter exited with code -1073740940

Closing this as we updated the test to use ProcessResultMatcher. If this test flakes again, the flaky issue bot will re-open and we should have better test failure logs.


Google Drive only retrieves 100 most recent brews

We have users with surprisingly more than 100 brews on Google Drive, and they can only see the most recent 100 in their user page, which gives people a scare about lost data. Should be a pretty simple tweak to change the max number of files Google retrieves at once.
See https://www.reddit.com/r/homebrewery/comments/rv7unz/issue_my_brews_continuously_disappear_off_my_page/hr91fs2/?context=3

The 100 file limit appears to be set here.
Reading through the Google Drive API documentation, it appears that this is the default value for pageSize. However, from the API documentation, the value can be increased to a maximum value of 1000.
Remediation options:

Increase pageSize to 1000. This will alleviate the immediate issue, but may make fetching large numbers of Google files take a long time. The issue will return if/when users have more than 1000 Google brews.

Develop and implement a paging system for the UserPage, based on the value of nextPageToken. If this token exists, there are more Google brews to be retrieved than could fit in the current pageSize.

My current thinking is that we should implement solution 1 immediately to alleviate the issue for affected users, and add solution 2 to the roadmap as the permanent solution.

For future reference, there may be some nuance with what pageSize actually means: it is a "maximum" rather than an absolute value, so it is possible that Google has a hiccup and stops before getting the complete set of pageSize, and using nextPageToken may be necessary at a certain point. If that issue comes up we can implement more a more involved solution.
The docs:

The maximum number of files to return per page. Partial or empty result pages are possible even before the end of the files list has been reached. Acceptable values are 1 to 1000, inclusive. (Default: 100)

Stackoverflow:
https://stackoverflow.com/questions/42592125/list-request-page-size-being-ignored
Google API Github
https://github.com/googleapis/google-api-nodejs-client/issues/722

From the documentation, incompleteSearch will be set to true if the search did not complete. I think we could implement a looping function if nextPageToken and throw a warning on incompleteSearch.

My current thinking is that we should implement solution 1 immediately - it is literally adding a single 0 to one line of googleActions.js - to alleviate the issue for affected users, and add solution 2 to the roadmap as the permanent solution

This issue has indeed risen again — see #2408.


Overriding class UserResolver method byCredentials

Laravel Version: 5.6
Adldap2-Laravel Version: 4.0
PHP Version: 7.2
LDAP Type: Active Directory

Description:
Is there any way to override this method: byCredentials?
Steps To Reproduce:
public function byCredentials(array $credentials = [])
{
if (empty($credentials)) {
return;
}
    $provider = Config::get('adldap_auth.provider', DatabaseUserProvider::class);

    // Depending on the configured user provider, the
    // username field will differ for retrieving
    // users by their credentials.
    if ($provider == NoDatabaseUserProvider::class) {
        $username = $credentials[$this->getLdapDiscoveryAttribute()];
    } else {
        $username = $credentials[$this->getEloquentUsernameAttribute()];
    }

    $field = $this->getLdapDiscoveryAttribute();

    return $this->getProvider()->search()->whereEquals($field, $username)->first(); // edit
    return $this->query()->whereEquals($field, $username)->first();
}

Hi @groundbreaker08, yes definitely.
The user resolver is called using its facade Adldap\Laravel\Facades\Reolver. You can use the facade's swap() method to use your own implementation:
namespace App\Resolvers;

use Adldap\Laravel\Resolvers\UserResolver as AdldapUserResolver;

class CustomUserResolver extends AdldapUserResolver
{
   public function byCredentials(array $credentials = [])
    {
        // ...
    }
}

Then, call the swap() method somewhere in your application before authentication:
use Adldap\Laravel\Facades\Resolver;
use App\Resolvers\CustomUserResolver;

$resolver = new CustomUserResolver(app('adldap'));

Resolver::swap($resolver);

Thanks @stevebauman . this works.
created my custom resolver then override login method of AuthenticateUsers in LoginController Class.
then placed it before attemptLogin.
// swap my custom UserResolver         $resolver = new UserResolver(app('adldap'));         Resolver::swap($resolver);         if ($this->attemptLogin($request)) {             return $this->sendLoginResponse($request);         }

Awesome, glad it works! Thanks for following up.

Hi guys, trying to do something similar to the above but for another function in another adldap class but cannot get the custom extension to instantiate.
Laravel Version: 5.8
Adldap2-Laravel Version: 6.0
PHP Version: 7.2
LDAP Type: Active Directory
Description:
Is there any way to override this method: bindAsAdministrator?
Steps To Reproduce:
public function bindAsAdministrator()
{
$this->bind(
$this->configuration->get('username'),
$this->configuration->get('password')
);
}


PropertySourceBootstrapConfiguration has wrong order of order of PropertySources

Given spring boot app using spring-cloud-config configured with:
spring.cloud.config:
allowOverride: true
overrideSystemProperties: false
And a given app has:

application.yml file with property: a-value
application-dev.yml file with property: different-value

I expect the more specific  "property" value to be equals "different-value".
Analysing the code I found that it was introduced a reversed list iteration for the id block of those flags allowOverride and overrideSystemProperties.
The other if statement  if (!remoteProperties.isOverrideSystemProperties()) also needs to be iterated through the reversed list in order to achieve the desired result:
Here is the commit and the line that needs to be addressed:
https://github.com/spring-cloud/spring-cloud-commons/commit/763b6c1711d281f4b5f8555a25e886796325a6b5?diff=split#diff-623bc1ae6e39c3d19e880dc9118d72caR196
<spring-cloud-commons.version>2.2.1.RELEASE</spring-cloud-commons.version>
Sample
This is the comparison between the two scenarios order:
Bad order (allowOverride: true && overrideSystemProperties: false && overrideNone: false)
0 = {ConfigurationPropertySourcesPropertySource@5101} "ConfigurationPropertySourcesPropertySource {name='configurationProperties'}" 1 = {PropertySource$StubPropertySource@5102} "StubPropertySource {name='servletConfigInitParams'}" 2 = {PropertySource$StubPropertySource@5103} "StubPropertySource {name='servletContextInitParams'}" 3 = {PropertiesPropertySource@5104} "PropertiesPropertySource {name='systemProperties'}" 4 = {SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource@5105} "OriginAwareSystemEnvironmentPropertySource {name='systemEnvironment'}" 5 = {BootstrapPropertySource@5106} "BootstrapPropertySource {name='bootstrapProperties-/config/application.yml'}" 6 = {BootstrapPropertySource@5107} "BootstrapPropertySource {name='bootstrapProperties-/config/oauth2-authorization-server.yml'}" 7 = {BootstrapPropertySource@5108} "BootstrapPropertySource {name='bootstrapProperties-/config/application-mdev.yml'}" 8 = {BootstrapPropertySource@5109} "BootstrapPropertySource {name='bootstrapProperties-/config/oauth2-authorization-server-mdev.yml'}" 9 = {BootstrapPropertySource@5110} "BootstrapPropertySource {name='bootstrapProperties-/config/application-local.yml'}" 10 = {BootstrapPropertySource@5111} "BootstrapPropertySource {name='bootstrapProperties-configClient'}" 11 = {RandomValuePropertySource@5112} "RandomValuePropertySource {name='random'}" 12 = {MapPropertySource@5113} "MapPropertySource {name='springCloudClientHostInfo'}" 14 = {OriginTrackedMapPropertySource@5115} "OriginTrackedMapPropertySource {name='applicationConfig: [classpath:/application.yml]'}" 15 = {MapPropertySource@5116} "MapPropertySource {name='devtools'}" 16 = {OriginTrackedMapPropertySource@5117} "OriginTrackedMapPropertySource {name='applicationConfig: [classpath:/bootstrap.yml]'}" 17 = {MapPropertySource@5118} "MapPropertySource {name='springCloudDefaultProperties'}"
Good order (allowOverride: true && overrideSystemProperties: true && overrideNone: false)
0 = {BootstrapPropertySource@5106} "BootstrapPropertySource {name='bootstrapProperties-configClient'}" 1 = {BootstrapPropertySource@5107} "BootstrapPropertySource {name='bootstrapProperties-/config/oauth2-authorization-server-mdev.yml'}" 2 = {BootstrapPropertySource@5108} "BootstrapPropertySource {name='bootstrapProperties-/config/application-mdev.yml'}" 3 = {BootstrapPropertySource@5109} "BootstrapPropertySource {name='bootstrapProperties-/config/oauth2-authorization-server.yml'}" 4 = {BootstrapPropertySource@5110} "BootstrapPropertySource {name='bootstrapProperties-/config/application.yml'}" 5 = {ConfigurationPropertySourcesPropertySource@5111} "ConfigurationPropertySourcesPropertySource {name='configurationProperties'}" 6 = {PropertySource$StubPropertySource@5112} "StubPropertySource {name='servletConfigInitParams'}" 7 = {PropertySource$StubPropertySource@5113} "StubPropertySource {name='servletContextInitParams'}" 8 = {PropertiesPropertySource@5114} "PropertiesPropertySource {name='systemProperties'}" 9 = {SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource@5115} "OriginAwareSystemEnvironmentPropertySource {name='systemEnvironment'}" 10 = {RandomValuePropertySource@5116} "RandomValuePropertySource {name='random'}" 11 = {MapPropertySource@5117} "MapPropertySource {name='springCloudClientHostInfo'}" 12 = {OriginTrackedMapPropertySource@5118} "OriginTrackedMapPropertySource {name='applicationConfig: [classpath:/application.yml]'}" 13 = {MapPropertySource@5119} "MapPropertySource {name='devtools'}" 14 = {OriginTrackedMapPropertySource@5120} "OriginTrackedMapPropertySource {name='applicationConfig: [classpath:/bootstrap.yml]'}" 15 = {MapPropertySource@5121} "MapPropertySource {name='springCloudDefaultProperties'}"

Duplicates https://github.com/spring-cloud/spring-cloud-commons/issues/668


cmake workflows fail on Windows

Since yesterday or more specifically since pytorch=1.14.0.dev20221017 the CMake workflows are failing on Windows. For example: https://app.circleci.com/pipelines/github/pytorch/vision/21251/workflows/cb54fe99-650c-4084-9717-639ee6b20032/jobs/1724374
The command that is failing is the installation of PyTorch core:
$ conda install -yq pytorch=1.14.0.dev20221018 pytorch-mutex=1.0=cpu numpy -c nvidia -c pytorch-nightly
[...]
UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - pytorch=1.14.0.dev20221018 -> python[version='>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0']

Your python: python=3.7

If I interpret this right, it seems that the nightly requires Python>=3.8 although we are running on 3.7.
The day before everything worked fine:
$ conda install -yq pytorch=1.14.0.dev20221016 pytorch-mutex=1.0=cpu numpy -c nvidia -c pytorch-nightly
[...]
## Package Plan ##

  environment location: C:\tools\miniconda3

  added / updated specs:
    - numpy
    - pytorch-mutex==1.0=cpu
    - pytorch=1.14.0.dev20221016

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    blas-1.0                   |              mkl           6 KB
    intel-openmp-2021.4.0      |    haa95532_3556         2.2 MB
    mkl-2021.4.0               |     haa95532_640       114.9 MB
    mkl-service-2.4.0          |   py37h2bbff1b_0          49 KB
    mkl_fft-1.3.1              |   py37h277e83a_0         135 KB
    mkl_random-1.2.2           |   py37hf11a4ad_0         216 KB
    numpy-1.21.5               |   py37h7a0a035_3          25 KB
    numpy-base-1.21.5          |   py37hca35cd5_3         4.4 MB
    pytorch-1.14.0.dev20221016 |      py3.7_cpu_0       139.1 MB  pytorch-nightly
    pytorch-mutex-1.0          |              cpu           3 KB  pytorch-nightly
    typing_extensions-4.3.0    |   py37haa95532_0          42 KB
    ------------------------------------------------------------
                                           Total:       261.0 MB

Given that this only happens on Windows and couldn't find any commit that introduces the 3.8 requirement in core, this seems like a bug to me.
cc @seemethere

@pmeier I just ran CI Test on https://github.com/pytorch/vision/pull/5009 and it seems to pass the cmake for windows now.

Let's wait for the first PR to be merged into main that also passes. If that is the case, we can close.

All good on 7a62a545ce76f43ccc5cfe0009131f7db14ae7b5.


Question on use with Anamorphic Lens

If I want this script to crop and stretch scope movies (2.39 / 2.35) but ignore everything else would I just change this line?
ratios = "24/9 2.4 2.39 2.35 2.2 2 1.85 16/9 5/3 1.5 4/3 1.25 9/16"
change to -
ratios = "2.4 2.39 2.35 2.2",
Will this now ignore 1.78 / 1.85?

Awesome thanks.

You may also need to disable new_fallback_timer (set to 0):
script-opts-append=dynamic_crop-new_fallback_timer=0

This acutally isnt working.  If I remove no-keepaspect from my .conf black bars are never cropped (but if I keep it in then even 4:3 is stretched to 16:9 which I do not want).
Is dynamic-crop.lua supposed to stretch the picture to get rid of the top and bottom black bars on a scope film?

Have it now - I have to take the information this script provides and tell MPV to anamorphically stretch the video if aspect is greater than 2.00 -
[AnamorphicLens]
profile-cond= dwidth / dheight >= 2
profile-restore=copy
video-scale-y=1.33

Is dynamic-crop.lua supposed to stretch the picture to get rid of the top and bottom black bars on a scope film?

The script configure the crop filter with appropriate value, only if needed, then mpv handle the rest (video resolution is adjusted and scaled if necessary).
Example with 1920x1080 crop with 1920x804, fullscreen on 3440x1440:
[   4.305][d][cplayer] Run command: vf, flags=64, args=[operation="append", value="@dynamic_crop-crop:lavfi-crop=w=1920:h=804:x=0:y=138"]
[   4.318][v][vf] User filter list:
[   4.318][v][vf]   lavfi (dynamic_crop-cropdetect)
[   4.318][v][vf]   lavfi-crop (dynamic_crop-crop)
[   4.346][v][ffmpeg] dyn_cd: x1:0 x2:1919 y1:138 y2:941 w:1920 h:804 x:0 y:138 pts:3340000 t:3.340000 limit:0.062745 crop=1920:804:0:138
[   4.347][v][vf] [lavfi-crop] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.387][d][ffmpeg] mpv_src_default_in: w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 fr:992008/41375 sar:1/1
[   4.387][d][ffmpeg] filter: w:1920 h:1080 sar:1/1 -> w:1920 h:804 sar:1/1
[   4.387][v][vf] [autorotate] 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.388][v][vf] [convert] 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.388][v][vf] [out] 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.388][v][ffmpeg] dyn_cd: x1:0 x2:1919 y1:138 y2:941 w:1920 h:804 x:0 y:138 pts:3381000 t:3.381000 limit:0.062745 crop=1920:804:0:138
[   4.472][i][cplayer] VO: [gpu-next] 1920x804 yuv420p
[   4.472][v][cplayer] VO: Description: Video output based on libplacebo
[   4.472][v][vo/gpu-next] reconfig to 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.472][d][vo/gpu-next] max content size: 3440x1440
[   4.472][d][vo/gpu-next] monitor size: 3440x1440
[   4.472][v][vo/gpu-next/win32] reset window bounds: 0:0:3440:1440
[   4.473][d][vo/gpu-next/libplacebo] Requested alpha compositing mode: VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
[   4.473][d][vo/gpu-next/libplacebo] Requested surface transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
[   4.473][d][vo/gpu-next/libplacebo] Requested image count: 4 (min 2 max 8)
[   4.473][d][vo/gpu-next/libplacebo] Requested image size: 1920x804 (min 3440x1440 < cur 3440x1440 < max 3440x1440)
[   4.473][d][vo/gpu-next/libplacebo] (Re)creating swapchain of size 3440x1440
[   4.476][v][vo/gpu-next] Window size: 3440x1440 (Borders: l=0 t=0 r=0 b=0)
[   4.476][v][vo/gpu-next] Video source: 1920x804 (1:1)
[   4.476][v][vo/gpu-next] Video display: (0, 0) 1920x804 -> (0, 0) 3440x1440
[   4.476][v][vo/gpu-next] Video scale: 1.791667/1.791045
[   4.476][v][vo/gpu-next] OSD borders: l=0 t=0 r=0 b=0
[   4.476][v][vo/gpu-next] Video borders: l=0 t=0 r=0 b=0

The geometry property is also adjusted by the script to fix some behavior, you may want to disable it to be sure:
script-opts-append=dynamic_crop-fix_windowed_behavior=0
You can check if a crop filter is applied with shortcut i/I on desktop to display stats or check logs.

[AnamorphicLens]
profile-cond= dwidth / dheight >= 2
profile-restore=copy
video-scale-y=1.33

Good idea, do you achieve what you want with this?
You can also try to permanently change aspect ratio (just a random idea)
video-aspect-override=1.33
Do you use the Lens with a projector ?

Is dynamic-crop.lua supposed to stretch the picture to get rid of the top and bottom black bars on a scope film?

The script configure the crop filter with appropriate value, only if needed, then mpv handle the rest (video resolution is adjusted and scaled if necessary). Example with 1920x1080 crop with 1920x804, fullscreen on 3440x1440:
[   4.305][d][cplayer] Run command: vf, flags=64, args=[operation="append", value="@dynamic_crop-crop:lavfi-crop=w=1920:h=804:x=0:y=138"]
[   4.318][v][vf] User filter list:
[   4.318][v][vf]   lavfi (dynamic_crop-cropdetect)
[   4.318][v][vf]   lavfi-crop (dynamic_crop-crop)
[   4.346][v][ffmpeg] dyn_cd: x1:0 x2:1919 y1:138 y2:941 w:1920 h:804 x:0 y:138 pts:3340000 t:3.340000 limit:0.062745 crop=1920:804:0:138
[   4.347][v][vf] [lavfi-crop] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.387][d][ffmpeg] mpv_src_default_in: w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 fr:992008/41375 sar:1/1
[   4.387][d][ffmpeg] filter: w:1920 h:1080 sar:1/1 -> w:1920 h:804 sar:1/1
[   4.387][v][vf] [autorotate] 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.388][v][vf] [convert] 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.388][v][vf] [out] 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.388][v][ffmpeg] dyn_cd: x1:0 x2:1919 y1:138 y2:941 w:1920 h:804 x:0 y:138 pts:3381000 t:3.381000 limit:0.062745 crop=1920:804:0:138
[   4.472][i][cplayer] VO: [gpu-next] 1920x804 yuv420p
[   4.472][v][cplayer] VO: Description: Video output based on libplacebo
[   4.472][v][vo/gpu-next] reconfig to 1920x804 yuv420p bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   4.472][d][vo/gpu-next] max content size: 3440x1440
[   4.472][d][vo/gpu-next] monitor size: 3440x1440
[   4.472][v][vo/gpu-next/win32] reset window bounds: 0:0:3440:1440
[   4.473][d][vo/gpu-next/libplacebo] Requested alpha compositing mode: VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
[   4.473][d][vo/gpu-next/libplacebo] Requested surface transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
[   4.473][d][vo/gpu-next/libplacebo] Requested image count: 4 (min 2 max 8)
[   4.473][d][vo/gpu-next/libplacebo] Requested image size: 1920x804 (min 3440x1440 < cur 3440x1440 < max 3440x1440)
[   4.473][d][vo/gpu-next/libplacebo] (Re)creating swapchain of size 3440x1440
[   4.476][v][vo/gpu-next] Window size: 3440x1440 (Borders: l=0 t=0 r=0 b=0)
[   4.476][v][vo/gpu-next] Video source: 1920x804 (1:1)
[   4.476][v][vo/gpu-next] Video display: (0, 0) 1920x804 -> (0, 0) 3440x1440
[   4.476][v][vo/gpu-next] Video scale: 1.791667/1.791045
[   4.476][v][vo/gpu-next] OSD borders: l=0 t=0 r=0 b=0
[   4.476][v][vo/gpu-next] Video borders: l=0 t=0 r=0 b=0

The geometry property is also adjusted by the script to fix some behavior, you may want to disable it to be sure: script-opts-append=dynamic_crop-fix_windowed_behavior=0
You can check if a crop filter is applied with shortcut i/I on desktop to display stats or check logs.

[AnamorphicLens]
profile-cond= dwidth / dheight >= 2
profile-restore=copy
video-scale-y=1.33

Good idea, do you achieve what you want with this?
You can also try to permanently change aspect ratio (just a random idea) video-aspect-override=1.33
Do you use the Lens with a projector ?
Yes this working now.

Yes override to 1.33 is same as video-scale-y=1.33.  Yes I have a lens but it is on a sled so I do not want it in place unless the movie is scope, I want it out of the way if movie is not scope.  So my next step is to find a way to control the 12v trigger on the lens and have MPV only trigger it when it detects a scope movie.


Satel - connection issue - cannot yield from

Home Assistant release with the issue:

0.88.2
Last working Home Assistant release (if known):
<= 0.87
Operating environment (Hass.io/Docker/Windows/etc.):

python version:  3.7.2
running in docker (on synology)
Component/platform:

https://www.home-assistant.io/components/satel_integra/
Description of problem:
Satel component no longer works after upgrading to 0.88.0 or 0.88.1 or 0.88.2. Was perfectly working before the upgrade, did not change the config file.
Seems to be related to python version compatibility.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
Config probably not relavant since it was working before the update to 0.88.x
As a package
 packages: !include_dir_named packages

packages/alarm.yaml :
satel_integra:
  host: !secret satel_host
  port: !secret satel_port
  arm_home_mode: 1
  zones:
    ...

Traceback (if applicable):
Log Details (ERROR)
Sat Mar 02 2019 11:14:07 GMT+0100 (CET)

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/satel_integra/satel_integra.py", line 398, in monitor_status
    yield from self.start_monitoring()
  File "/usr/local/lib/python3.7/site-packages/satel_integra/satel_integra.py", line 172, in start_monitoring
    resp = yield from self._read_data()
  File "/usr/local/lib/python3.7/site-packages/satel_integra/satel_integra.py", line 327, in _read_data
    data = yield from self._reader.readuntil(b'\xFE\x0D')
TypeError: cannot 'yield from' a coroutine object in a non-coroutine generator

Additional information:

The same issue I have. Please fix it.

Fixed in latest release (0.89)

Hi C-Soft, dumb question but what do you mean by this?

Is fixed in the next release.

I'm currently in 0.89.2. Should I wait for 0.89.3 ? Or do I have to do somethig to update the Satel component?
Thank you very much

Yeah, I'm pretty sure that this fix didn't make it to the last release, so please bear with it a bit longer.
The good news is that it's already in the official codebase, so just a matter of release.

Reading the release notes it seems it also did not make it into the 0.9 release? Is there any ETA?
(Sorry to insist, but the integration has been so useful for me that I am really missing it; @c-soft it really is a great piece of software for me and a lot of other people!)

Have you tried it? It’s there, should work.

I just tried and I can confirm everything works as before. Thanks for all the good work!

Thanks!

Ok, thanks guys for all the support. I had not tried it because many of the updates of Home Assistant seem to break other things, so I only update when there is something in it for me. So I first skim the release notes to check for changes and i could not find it there.
I look forward to installing it later today!

It does work like a charm indeed. Thank you very much C-Soft!


Problems with Clusters

Hello and i hope anyone could help me and tell me what i did wrong.
I have 4 running Servers with different maps in 4 Folders
Each one has his own (arkserverroot="/srv/steam/ragnarok" )
ark_AltSaveDirectoryName="ragnarokalt" Setting and share
                                  ark_ClusterDirOverride="/srv/steam/arkcluster/"
                                  ark_clusterid="webportcluster"

Also set ark_PreventDownloadSurvivors="False"
ark_PreventDownloadItems="False"
ark_PreventDownloadDinos="False"
ark_PreventUploadSurvivors="False"
ark_PreventUploadItems="False"
ark_PreventUploadDinos="False"
ark_noTributeDownloads="False"
and my Folder tree Looks like this if i upload a dino: /srv/steam/arkcluster/?arkautorestartfile=ShooterGame/Saved/.ragnarokrestart?clusterid=webportcluster?exclusivejoin?PreventDownloadSurvivors=False?PreventDownloadItems=False?PreventDownloadDinos=False?PreventUploadSurvivors=False?PreventUploadItems=False?PreventUploadDinos=False?noTributeDownloads=False?listen/clusters/webportcluster?exclusivejoin?PreventDownloadSurvivors=False?PreventDownloadItems=False?PreventDownloadDinos=False?PreventUploadSurvivors=False?PreventUploadItems=False?PreventUploadDinos=False?noTributeDownloads=False?listen"

tested a bit and if i escape the  ark_ClusterDirOverride like this : ark_ClusterDirOverride="/srv/steam/arkcluster/"
the path Looks like this: /srv/steam/arkcluster/clusters/webportcluster?exclusivejoin?PreventDownloadSurvivors=False?PreventDownloadItems=False?PreventDownloadDinos=False?PreventUploadSurvivors=False?PreventUploadItems=False?PreventUploadDinos=False?noTributeDownloads=False?listen"
better but a step away from perfect :)

ok as i was thinking reworked the ark_clusterid too.
ark_clusterid="webportcluster"
now the path Looks like it should be: /srv/steam/arkcluster/clusters/webportcluster
So thats the Problems and a short Workaround.. now it has get fixed for common users to work as expected :)
Im Hosting my Servers on a Debian dedicated Server if you need to know it.

Try using
arkopt_ClusterDirOverride=/srv/steam/arkcluster
and
arkopt_clusterid=webportcluster

with this Settings no Folder will be created i the /srv/steam/arkcluster Folder and no file with my steam id within the steam Folder. as normaly with my found solution. Andy so no Dino for download at the terminal


Update project to stop using deprecated Ginkgo flag for flake attempts

What would you like to be added?

Update code to stop using deprecated Ginko flag --ginkgo.flakeAttempts and rather use --ginkgo.flake-attempts

Why is this needed?

At some point, the deprecated flag will stop being supported and we need to ensure we use the recommended flag. At the current moment, the following logs are shown

2023-09-04T16:59:52-07:00	INFO	You're using deprecated Ginkgo functionality:
2023-09-04T16:59:52-07:00	INFO	=============================================
2023-09-04T16:59:52-07:00	INFO	  --ginkgo.flakeAttempts is deprecated, use --ginkgo.flake-attempts instead
2023-09-04T16:59:52-07:00	INFO	  Learn more at: https://onsi.github.io/ginkgo/MIGRATING_TO_V2#changed-command-line-flags

Additional information

See Ginkgo CLI Overview for correct flag usage
For some Kubernetes versions, the flag was not yet deprecated. In the fix, we need to determine which Kubernetes version begins using the Ginkgo version whereby the flag is deprecated and add a conditional statement which uses the non deprecated version from a given Kubernetes version upwards.

/remove-lifecycle stale


Write TestCases

[X] DataNode
[x] DataTree
[x] Formats
[x] Csv Format
[x] Text Format
[x] Konbata

First Test Cases were added.


gh-actions: Enforce using a x86 macOS runner for linting to support Meteor.

Description

Recent linting workflows on macOS have been timing out when trying to download an ARM Meteor binary for macOS. This is because the GH runner macos-latest points at an M1 runner and there is no ARM binary for Meteor.
This PR fixes the GH runner to macos-13 (an x86 runner) for the macOS linting workflow to avoid the issue.
Validation performed

Validated the macos linting workflow passes.

Actually, it seems Meteor now has an ARM binary and the workflows in question were instead failing because Meteor's download site was down for some reason.


main: fix crash on printing -p output

Delete a duplicate ucv_put() line that can lead to a double-free bug.
Reproduced by running:
ucode -l nl80211 -p 'sprintf("%.J\n",
nl80211.request(nl80211.const.NL80211_CMD_GET_WIPHY,
nl80211.const.NLM_F_DUMP,
{ wiphy: 0, split_wiphy_dump: true }))'
Fixes: 0a7ff4715cb8 ("main: pretty-print -p output by default")

Merged, thanks!


Provide CLI Feedback when indexing data locally

Description

When running "dev": "tinacms dev -c \"next dev\", the CLI should provide some visual feedback that the local content is indexing. Maybe some text and a spinner?
This can take a few minutes with large amounts of content, so this will help notify the user that something is happening

Looks like Logan actually tackled this one is a separate PR: https://github.com/tinacms/tinacms/pull/3193


Prediction with -k and negative value doesn't work

Running ./bin/predic -f <file> -k -1000 will fail clap to work.

Fixed as in https://github.com/clap-rs/clap/issues/1245#issuecomment-380654193


Update data_model.py

Fixes

Closes #283  (hopefully)

Proposed Changes

The path a JSON file is written to is derived from the ultimate output path
To support use in cloud and local versions, this open/write needs to be able to adapt to both situations
This JSON file doesn't need to be persisted at all, but removing the possibility of write clashes is required to parallelise this behaviour in unit test fixtures

Might be worth having a broader conversation if this gains traction, about whether the data needs to be written prior to being returned, whether the JSON data is full disposable (i.e. literally write to ./tmp.json within the container which will be discarded), or any other I/O considerations


I think it's a good idea to add 'age + pose.pt' to github.

Thank you very much for your wonderful work! When I actually try it, pt is additive.
Therefore, I think it's a good idea to add'age + pose.pt'to github. Then, the face will rotate while the age changes.

Hi @cedro3!
The InterFaceGAN directions are indeed additive, and can be used without additional files.
age_direction = torch.load(available_interfacegan_directions["age"]).cuda()
pose_direction = torch.load(available_interfacegan_directions["pose"]).cuda()
editor.apply_interfacegan(latents, age_direction + pose_direction, factor_range=(-5, 5))

That way, it is possible to apply each attribute editing in a different scale:
smile_direction = torch.load(available_interfacegan_directions["smile"]).cuda()
editor.apply_interfacegan(latents, age_direction + pose_direction + 0.2*smile_direction, factor_range=(-5, 5))

It's so cool! No additional files were needed. This issue has been resolved.

I agree, thank you for the suggestion!
I am closing the issue :)

'smile_direction = torch.load(available_interfacegan_directions["smile"]).cuda()
editor.apply_interfacegan(latents, age_direction + pose_direction + 0.2*smile_direction, factor_range=(-5, 5)) 'is modified in where?


mouse coordinates seem to be off  using version 4.5 or higher

Actual behaviour
opencv version 4.4.0 seams to be still ok, but somewhere for later versions mouse reading coordinates seems to be off, is that true?  Not sure what version it starts but latest 4.6 or 4.7 for sure
It could be tested in code below. It is a 2x2 image, so with mouse increase the size of the window. It should print proper mouse coordinates while hoovering with mouse over image. But latest opencv versions show proper value only for top , left quadrant for a pixel
Steps to reproduce
import numpy as np
import cv2
print(f'OpenCV version {cv2.__version__}')

img = np.zeros((2,2,3), np.uint8)
img[0, 0] = (0, 0, 255)
img[1, 0] = (0, 255, 0)
img[0, 1] = (255, 0, 0)

def mouseAction(event,x,y,flags,param=None):
    print(x,y)

cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.setWindowProperty('image',cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_NORMAL)
cv2.setMouseCallback('image', mouseAction)
cv2.imshow('image', img)
cv2.waitKey(0)

@UniversalAl What is your platform? Could you add more details on your OpenCV configuration?

Windows 10 (but experienced same issue using  Windows 7 )
Python 3.8.10 (but experienced same issue on Python 3.9 or 3.11 as well)
non issue opencv is 4.4.0 , could be installed now as: pip install opencv-python==<IP_ADDRESS> (latest version or 4.6 was already with that issue)
Thanks

No one can experiences wrong pixel coordinate readings?


Long time waiting in "build ADCME" when "Looking for TensorFlow Dynamic Libraries"

Hi there,
when I build ADCME, the building process seems to be stuck by "Looking for TensorFlow Dynamic Libraries"(have waited  for 30+ minutes or so),
and the output in REPL and my settings are as follows.
Settings:

MacBook-Pro.local 20.3.0 Darwin Kernel Version 20.3.0 X86_64
OS version: MacOS Big Sur 11.2.1
julia version 1.5.3
conda 4.8.4 (in dir ~/.julia/adcme/condabin)
without Tensorflow pre-installed in conda

(@v1.5) pkg> build --verbose ADCME
   Building Conda ─→ `~/.julia/packages/Conda/tJJuN/deps/build.log`
   Building PyCall → `~/.julia/packages/PyCall/tqyST/deps/build.log`
[ Info: PyCall is using /Users/lizhehao/.julia/adcme/bin/python (Python 3.7.7) at /Users/lizhehao/.julia/adcme/bin/python, libpython = /Users/lizhehao/.julia/adcme/lib/libpython3.7m.dylib
[ Info: /Users/lizhehao/.julia/packages/PyCall/tqyST/deps/deps.jl has not changed
[ Info: /Users/lizhehao/.julia/prefs/PyCall has not changed
   Building CMake ─→ `~/.julia/packages/CMake/ULbyn/deps/build.log`
   Building HDF5 ──→ `~/.julia/packages/HDF5/T1b9x/deps/build.log`
   Building FFTW ──→ `~/.julia/packages/FFTW/G3lSO/deps/build.log`
   Building ADCME ─→ `~/.julia/packages/ADCME/hCmEo/deps/build.log`
┌ Warning: Pkg.installed() is deprecated
└ @ Pkg /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Pkg.jl:554
┌ Warning: Pkg.installed() is deprecated
└ @ Pkg /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Pkg.jl:554
[ Info: Your Julia version is 1.5.3, current ADCME version is 0.6.7, ADCME dependencies installation path: /Users/lizhehao/.julia/adcme
[ Info:  --------------- (1/6) Install Tensorflow Dependencies  ---------------
[ Info: ADCME dependencies have already been installed.
[ Info: Installing conda dependencies...
Collecting package metadata (repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 4.8.4
  latest version: 4.9.2

Please update conda by running

    $ conda update -n base conda

#
# To activate this environment, use
#
#     $ conda activate base
#
# To deactivate an active environment, use
#
#     $ conda deactivate

[ Info:  --------------- (2/6) Check Python Version  ---------------
┌ Warning: Pkg.installed() is deprecated
└ @ Pkg /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Pkg.jl:554
   Building Conda ─→ `~/.julia/packages/Conda/tJJuN/deps/build.log`
   Building PyCall → `~/.julia/packages/PyCall/tqyST/deps/build.log`
┌ Info: PyCall Python version: /Users/lizhehao/.julia/adcme/bin/python
└ Conda Python version: /Users/lizhehao/.julia/adcme/bin/python
[ Info:  --------------- (3/6) Looking for TensorFlow Dynamic Libraries ---------------

Thanks for pointing it out.