Flow errors

I see that Flow annotations were added (recently?). Unfortunately, they don't pass. Here's the output I'm getting when I run npm run flow in my project which uses Radium:
node_modules/radium/src/components/style-root.js:16
 16:     instance._radiumStyleKeeper = new StyleKeeper(userAgent);
                  ^^^^^^^^^^^^^^^^^^ property `_radiumStyleKeeper`. Property not found in
 16:     instance._radiumStyleKeeper = new StyleKeeper(userAgent);
         ^^^^^^^^ StyleRoot

node_modules/radium/src/components/style-sheet.js:8
  8:   static contextTypes = {
       ^ Experimental class static field usage. Class static fields are an active early stage feature proposal that may change. You may opt-in to using them anyway in Flow by putting `esproposal.class_static_fields=enable` into the [options] section of your .flowconfig.

node_modules/radium/src/components/style-sheet.js:15
 15:     this.state = this._getCSSState();
                      ^^^^^^^^^^^^^^^^^^^ object type. This type is incompatible with
  7: export default class StyleSheet extends Component {
                                             ^^^^^^^^^ undefined. Did you forget to declare type parameter `State` of identifier `Component`?

node_modules/radium/src/components/style-sheet.js:17
 17:     this._onChange = this._onChange.bind(this);
              ^^^^^^^^^ property `_onChange`. Property not found in
  7: export default class StyleSheet extends Component {
                          ^^^^^^^^^^ StyleSheet

node_modules/radium/src/components/style-sheet.js:21
 21:     this._isMounted = true;
              ^^^^^^^^^^ property `_isMounted`. Property not found in
  7: export default class StyleSheet extends Component {
                          ^^^^^^^^^^ StyleSheet

node_modules/radium/src/components/style-sheet.js:22
 22:     this._subscription = this.context._radiumStyleKeeper.subscribe(
              ^^^^^^^^^^^^^ property `_subscription`. Property not found in
  7: export default class StyleSheet extends Component {
                          ^^^^^^^^^^ StyleSheet

node_modules/radium/src/components/style-sheet.js:29
 29:     this._isMounted = false;
              ^^^^^^^^^^ property `_isMounted`. Property not found in
  7: export default class StyleSheet extends Component {
                          ^^^^^^^^^^ StyleSheet

node_modules/radium/src/components/style-sheet.js:41
 41:       this._isMounted && this.setState(this._getCSSState());
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call of method `setState`
 41:       this._isMounted && this.setState(this._getCSSState());
                                            ^^^^^^^^^^^^^^^^^^^ property `css` of object type. Property cannot be assigned on possibly undefined value
  7: export default class StyleSheet extends Component {
                                             ^^^^^^^^^ undefined. Did you forget to declare type parameter `State` of identifier `Component`?

node_modules/radium/src/components/style-sheet.js:45
 45:   render(): ReactElement {
                 ^^^^^^^^^^^^ identifier `ReactElement`. Could not resolve name

node_modules/radium/src/components/style-sheet.js:47
 47:       <style dangerouslySetInnerHTML={{__html: this.state.css}} />
                                                               ^^^ property `css`. Property cannot be accessed on possibly undefined value
 47:       <style dangerouslySetInnerHTML={{__html: this.state.css}} />
                                                    ^^^^^^^^^^ undefined. Did you forget to declare type parameter `State` of identifier `Component`?

node_modules/radium/src/components/style.js:79
 79:   render(): ?ReactElement {
                  ^^^^^^^^^^^^ identifier `ReactElement`. Could not resolve name

node_modules/radium/src/enhancer.js:63
 63:     static _isRadiumEnhanced = true;
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Experimental class static field usage. Class static fields are an active early stage feature proposal that may change. You may opt-in to using them anyway in Flow by putting `esproposal.class_static_fields=enable` into the [options] section of your .flowconfig.

Found 12 errors

You should ignore node_modules in your .flowconfig, and consider using the flow-typed definitions for Radium: https://github.com/flowtype/flow-typed/blob/master/definitions/npm/radium_v0.17.x/flow_>%3Dv0.23.x/radium_v0.17.x.js

No, ignoring the entire node_modules is a bad idea. It can lead to errors.

No, it is a very good idea, because there is no guarantee they are using the same version of flow as you, or, as you are seeing, the same flowconfig as you. You should be using flow-typed or create declaration files to get coverage. If you want, you can also just ignore node_modules/radium, as in https://github.com/facebook/flow/issues/869

I'll clarify a couple points:
Putting node_modules/.* in .flowconfig is not a good idea. It results in several "required module not found" errors when you run flow. On a similar note, it's also not a good idea to ignore node_modules/radium/.* either, because it will result in the same error for Radium.
The workaround is to ignore node_modules/radium/src/.*.
However, what I don't understand is why npm run flow passes fine if I clone the Radium repo, but in my project, Flow chokes on the Radium annotations I pasted above. I do know how to resolve some of these, for example:
node_modules/radium/src/components/style-sheet.js:15
 15:     this.state = this._getCSSState();
                      ^^^^^^^^^^^^^^^^^^^ object type. This type is incompatible with
  7: export default class StyleSheet extends Component {
                                             ^^^^^^^^^ undefined. Did you forget to declare type parameter `State` of identifier `Component`?

This would fix it:
export default class StyleSheet extends Component {
  static contextTypes = {
    _radiumStyleKeeper: React.PropTypes.instanceOf(StyleKeeper)
  };

  state: {
    css: string
  };

Again, I don't know why the Radium repo passes all Flow checks. I'm not experienced enough with Flow to know what's going on, and why my project is being pickier. There's nothing too different in Radium's .flowconfig compared to mine.

@alexlande was looking at upgrading Radium to the latest flow version which might help.
Anyway, I can tell you for certain (I work at Facebook and talk frequently with the Flow team) that ignoring node_modules is the recommended route, for exactly the reason you are running into.

Anyway, I can tell you for certain (I work at Facebook and talk frequently with the Flow team) that ignoring node_modules is the recommended route, for exactly the reason you are running into.

Oh! Well I appreciate the insight :) Not to go off-topic, but how do I prevent all these errors from popping up when I ignore the node_modules folder?
imports/features/UserProfile/components/UserProfile.js:12
 12: } from 'material-ui';
            ^^^^^^^^^^^^^ material-ui. Required module not found

imports/features/UserProfile/components/UserProfile.js:13
 13: import Formous from 'formous';
                         ^^^^^^^^^ formous. Required module not found

imports/features/UserProfile/components/user-profile-form.js:3
  3: import validator from 'validator';
                           ^^^^^^^^^^^ validator. Required module not found

imports/helpers.js:3
  3: import invariant from 'invariant';
                           ^^^^^^^^^^^ invariant. Required module not found

You need to either create declaration files for the modules or import them from flow-typed. Basically you add type files that are completely separate from the actual modules.

Ok, looks like I have some reading up to do. Thanks for the info.

what i'm thinking why not to update flowtype to mind order of include/ignore.
for example we have around 200 node modules, where only about ~10 - 15 of them
have to be used by flow.
so this would work perfectly fine:
[ignore]
.*/node_modules/.*

[include]
.*/node_modules/react
.*/node_modules/redux-react
...

possible ?

I tried the following but seems that it doesn't work:
[ignore]
<PROJECT_ROOT>/node_modules/.*
[include]
<PROJECT_ROOT>/node_modules/axios
I'm still receiving axios. Required module not found

@marianban
I think you need to add flow file to lib.
[libs]
node_modules/mobx/lib/mobx.js.flow


Applying EQ to file?

Hi I’ve searched everywhere but having trouble implementing the equalizer to a file that is able to be saved to json data instead of just applying it to the audio file. If someone could point me in the right direction if this is even possible I’d be eternally grateful. Thanks

implementing the equalizer to a file that is able to be saved to json data instead of just applying it to the audio file.

This sounds confusing. You can save the peaks data of a waveform to a json file, do you have this working? After that, what is it that you want to save to json regarding the equalizer?

Do you mean normalizing json peaks data? https://wavesurfer-js.org/faq/
Under "How to generate waveform data on the server" there is a python script that normalizes peaks saved to json.
If you mean equalizer, then maybe the Web Audio API "audio effects nodes" is what you are looking for? https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API

no feedback, closing.


Some minor english language corrections and swift optional block optimizations

Hi @scottdelly
Thanks very much, I really appreciate this!


Make the interval skew configurable

Previously the verify method would only check the current and the previous interval, which causes problems when the user has positive clock skew.
Example:

Server time is 10:29:00.
User time is 10:31:00.
Server will check intervals 09:59:30-10:00:00,10:00:00-10:30:00, and reject the code with only a couple of seconds skew.

This commit makes the default to check both the previous, the current, and the next interval, and also lets the user change this behavior if desired.

@thomasliasn I would be more than happy to review this change, but before I would really appreciate if you could remove the trailing spaces not relevant to the change and rebase.
Thanks in advance.

@abstractj, in case you didn't get a notification, I've pushed your suggested change.

@thomasliasn I'm not sure if I follow the real issue here, but seems like we're creating a window of attack. I would like to reproduce the real issue, before get it merged.
The project follow strictly RFC6238 to make sure that it will be compatible with third-party projects. Quoting them:
When an OTP is generated at the
   end of a time-step window, the receiving time most likely falls into
   the next time-step window.  A validation system SHOULD typically set
   a policy for an acceptable OTP transmission delay window for
   validation.  The validation system should compare OTPs not only with
   the receiving timestamp but also the past timestamps that are within
   the transmission delay.  A larger acceptable delay window would
   expose a larger window for attacks.

As any specification, it gives a rise to multiple interpretations, maybe I'm missing the real issue here.

@abstractj the issue is that the client's time could be ahead and not in sync with the server. I agree with you that we don't / can't take into account such situations as it will open up for attacks. If you want to use OTP you must use NTP to sync your clock.

As already explained in the commit message, and as @edewit correctly points out, the issue is that users will get their codes rejected if the their clock is ahead of the server. As always there will be a trade-off between security and usability. Ideally users devices will be 100% in sync with the server, but obviously this will not always be the case.
From what I have gathered the industry best-practice is to have a time window before and after the current window, as I have implemented:
When setting up Google Authenticator with https://github.com/google/google-authenticator/tree/master/libpam one is informed that the window is 90 seconds:

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n)

Here (http://jacob.jkrall.net/totp/) the spec referred to by @abstractj is interpreted to mean three windows, one before and one after:

Aside: latency and clock skew
The Internet can be slow, and clocks might not match exactly, so some leniency is allowed. RFC6238
recommends looking an extra time step in either direction, which essentially opens the window from 30
seconds to 90 seconds.

Here the "IBM Security Access Manager for Mobile 8.0.0" can configure the number of intervals to check before and after the current one, the default being 2 or 90 seconds total:
http://www-01.ibm.com/support/knowledgecenter/SSELE6_8.0.0/com.ibm.ammob.doc_8.0/task/ConfiguringOneTimePasswordTOTP.html

@thomasliasn what you're mentioning can pretty much be achieved using a custom interval https://github.com/aerogear/aerogear-otp-java/blob/master/src/test/java/org/jboss/aerogear/security/otp/TotpTest.java#L88

@abstractj I don't think that is the right way to go about it. The library should handle the intervals correctly to handle clock skew as I have suggested, and the clock should be configurable for schemes where one wants interval lengths other than the standard 30s.

@thomasliasn I'm sorry Thomas, but I'm not following you. If the API already provides a way to configure the interval, I can't see the real issue here.
This API will cover the RFC and let people choose the acceptance interval. Clock synchronization is out of the scope for this project.
If you tell me that there's no way for people achieve what you're mentioning, just configuring a custom interval, I will be more than happy to understand this specific scenario. Otherwise, I don't see how we could go further with this pull-request.

I'll expand on my last comment, hopefully that will help clear up the confusion.
The clock interval length in this library is per default 30 seconds. The clients OTP app and the server must use the same interval length, otherwise codes generated by the client app will not match the one generated by the server.
Say that I set the interval to e.g. 90 seconds. Still I would have the problem that if the users clock has positive skew, the server would reject the code as invalid. It would however improve the issue slightly as the problematic time as the interval changes from one to the next would occur less often.
But, most standard client apps will not let you configure the interval to something other than 30s, e.g. Google Authenticator! So even if changing the interval length would help a bit, it is not be a viable option as it would greatly increase the effort of explaining and guiding the users to make this extra configuration on non-standard apps, and would reduce the adoption rate of two-factor authentication.
What does fix the described skew issue is to check the interval following the current one as I have implemented, and as is the industry standard as shown in my earlier comment.

@thomasliasn I'm very sorry, but this to me is pretty much what https://github.com/aerogear/aerogear-otp-java/blob/master/src/main/java/org/jboss/aerogear/security/otp/Totp.java#L102 already does. If you consider this a bug, please, introduce new test case scenarios to reproduce the bug. But please don't change the whole test suite, unless the whole codebase is completely wrong.
Unless you provide the failing test case scenarios which this API can't cover.  I don't see how to move further.

Hi @abstractj, we encountered an issue similar to the one mentioned by @thomasliasn, if the code change is not possible, would it be possible to make the Totp.generate() method as protected instead of private. So that we could override the verify() method with an additional parameter for DELAY_WINDOW, which would help us in resolve the issue.

@abstractj Recently ran into the issue fixed by this PR. Although it is possible for a custom interval to be used to avoid the problem, that solution becomes very repetitive (say we want to allow an interval larger than +/- 30s) and isn't as intuitive to someone using the API as a setSkewInterval method would be.
Thanks.

Hi. I want to use your library at a server back-end. I used your code in two separated function:
1st I generate the code by calling this function:
public String sendVerificationCode(int uid) {
        String encoded = Base32.encode(Integer.toString(uid).getBytes());
        System.out.println("encoded:" + encoded);
        Totp totp = new Totp(encoded, new Clock(keySurvivalTime * 60 * 1000));
        String key = totp.now();
        return key;
    }

2nd I call this function to validate the key:
public boolean verifyKey(String key, int uid) {
        String encoded = Base32.encode(Integer.toString(uid).getBytes());
        System.out.println("encoded:" + encoded);
        Totp totp = new Totp(encoded, new Clock(keySurvivalTime * 60 * 1000));
        return totp.verify(key);
    }

Even after keySurvivalTime I get true, I think that's because the clock really counts (mili)seconds in it.
Can you describe my misuse of the code?

This project is not maintained for a long time and going to be archived.


sol2 and Qt

I tried sol2 with Qt, it compiles but Lua functions don't work. You execute them and nothing happens. Without Qt, they run normally.
Does Qt 'break' the Lua wrapper?
Interestingly, there's a Lua wrapper for Qt called QtLua (not maintained), so my uneducated guess is that other public wrappers don't work with Qt out of the box.
I tried sol2 both with the Qt add-in for Visual Studio and the Qt Creator.
Are sol2 and Qt compatible out of the box, or, if not, is there a simple solution?

I have no idea, I've never used the 2 together yet.
sol2 only requires Lua, and I have no idea why Qt would interfere with Lua functions. It sounds like something else might be going wrong, honestly...!

I can't do it right now, but if you were to paste a simple example I could maybe take a look? I have Qt installed over here and have some basic familiarity.

There's no secret in reproducing this error. A newly created project is enough to verify it.
Qt Creator > New Project > Application > Qt Widget Applications.
Add the static Lua library, lua.hpp and sol.hpp to a single folder inside the project folder. You do this by editing the .pro file of your project in Qt Creator, e.g.:
LIBS += "full path to the .lib file"
INCLUDEPATH += "path to the folder where your lua lib, sol.hpp and lua.hpp are located"
Now, add the code below to main.cpp, while keeping the Qt-specific code which loads the UI and Qt libraries:
[code]#include <sol.hpp> // or #include "sol.hpp", whichever suits your needs
int main (int argc, char* argv[]) {
    sol::state lua;
    lua.open_libraries( sol::lib::base );

    lua.script( "print('bark bark bark!')" );

    return 0;

}[/code]
Because you need the Qt libraries, I usually just copy the compiled file to the Qt installation folder where all the dependencies are. Try running it from the command prompt, it will open the UI normally, but won't print "bark bark bark", or for that matter execute any other Lua function. Try executing a lua function to create an empty text file, for example. Doesn't work.

Does Qt hijack your Main function...?

It apparently does not. Well, I guess I'll have to try loading up a Qt project and seeing what's going on.

Please!
This is what the default  (Qt Creator > New Project > Application > Qt Widget Applications) main.cpp looks like:
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

Include sol.hpp and try adding this to main:
sol::state lua;
lua.open_libraries( sol::lib::base );
lua.script("print('bark bark bark!')");

Or replace print() with io.open() to create a file if it doesn't exist. Both failed. My feeling is that either I'm missing something small, or the problem can be easily fixed. Qt is monumental, who knows what it's doing to sol.

This works fine, I wonder if you have inserted your sol/Lua test code after the return in your main() function...?
int main(int argc, char *argv[]) {     sol::state lua;     lua.open_libraries();     lua.script(R"(                print("bark bark")                )");     QApplication a(argc, argv);     MainWindow w;     w.show();     return a.exec(); }

Sorry, no repro. Please post exactly the code you are using.

I'll check it and edit this reply later, and no, I didn't insert it after the return.

Now I'm confused. It prints "bark bark" when I run in the Qt Creator IDE (you can see it in the "Application Output" at the bottom), but not after compiled and executed from cmd.exe, which without Qt shows the "bark bark" output normally in the cmd console itself.

Hi, not sure if it helps but I started an editor app in qt that was going to use Lua via sol2:
https://github.com/RussellHaley/WinLua-Editor
I just tried what I have locally and it compiled and ran. I also have a qt qml project that was going to be a wrapper around luarocks here:
https://github.com/WinLua/BrokenGlass-PM
Again, what I have locally compiles and runs.

My sorry.
I could be wrong, but if you compile the sol2 example in pure C++ without Qt (i.e. formless) and run the executable from cmd.exe, it will print "bark bark" to the console. That's what caused the confusion.
Lua and Qt are great together, and sol2 is working fine. I'm calling C++ functions from Lua already, very simple. I was worried I wouldn't get sol2 to work, forcing me to rely on QJSEngine.
So happy, thank you all, and ThePhD, you're doing a fantastic job!


[RemoteInspection] Allow enums to be trivial even with a formal payload

A "trivial" enum is one that carries no information. The previous logic asserted that a trivial enum had only one case and that case had no payload.
But Format below is also a trivial enum:
// Trivial, so zero-sized
enum MyFormatVersion {
  case v4
}
// Also trivial, since the payload carries no information
enum Format {
  case MyFormat(MyFormatVersion)
}

This commit adds a test case similar to the above
and corrects the assertions for trivial enums to
assert that there is either no payload, or that the payload is zero-sized.
Resolves rdar://116406504

@swift-ci Please test


combine data scripts into one command

Right now, I have the subcommands generate, clean, join, enhance and split that all deal with the data before sampling. It would make sense to group them under one intermediate command data.

This was fixed by 2f9e0bb2b8ff3458e4fa9b09a350b295f8edd231


vJunos-switch unable to connect to QEMU monitor

Under debian bookworm, I built a vJunos-switch image from vJunos-switch-23.2R1.14.qcow2 with hellt/vrnetlab v0.16.0 and got the following when I tried to boot into containerlab...
Running docker logs -f <containerid_hash>...
2024-06-07 11:40:49,142: vrnetlab   INFO     Unable to connect to qemu monitor (port 4000), retrying in a second (attem)
2024-06-07 11:40:50,143: vrnetlab   INFO     Unable to connect to qemu monitor (port 4000), retrying in a second (attem)
Traceback (most recent call last):
  File "/launch.py", line 185, in <module>
    vr.start()
  File "/vrnetlab.py", line 762, in start
    vm.work()
  File "/vrnetlab.py", line 680, in work
    self.check_qemu()
  File "/vrnetlab.py", line 694, in check_qemu
    self.start()
  File "/vrnetlab.py", line 216, in start
    raise QemuBroken(
vrnetlab.QemuBroken: Unable to connect to qemu monitor on port 4000

My containerlab is:
$ sudo containerlab version
  ____ ___  _   _ _____  _    ___ _   _ _____ ____  _       _
 / ___/ _ \| \ | |_   _|/ \  |_ _| \ | | ____|  _ \| | __ _| |__
| |  | | | |  \| | | | / _ \  | ||  \| |  _| | |_) | |/ _` | '_ \
| |__| |_| | |\  | | |/ ___ \ | || |\  | |___|  _ <| | (_| | |_) |
 \____\___/|_| \_| |_/_/   \_\___|_| \_|_____|_| \_\_|\__,_|_.__/

    version: 0.54.2
     commit: 9ecdf0e2
       date: 2024-04-11T12:01:05Z
     source: https://github.com/srl-labs/containerlab
 rel. notes: https://containerlab.dev/rn/0.54/#0542

How do I fix this?

How do I fix this?

@hellt I managed to boot a couple of vJunos-switch images on a Digital Ocean droplet with 16GB of RAM... I will close this out since I think my original problem was due to insufficient RAM to boot the Junos docker image.

Great @mpenning ! Thanks for circling back on this


fix links to 'Scenario 1' and '2'

@yoichinak : Thanks for your contribution! The author, @georgewallace, has been notified to review your proposed change.

@yoichinak thanks for catching the broken links. #sign-off


Restart by OServer

Edit the RC_FILE to use WRITE_RESTART_BY_OSERVER: YES

Note that I usually only turn this on for Open MPI with the AGCM. I've never seen a need for it with Intel MPI or MPT. The bug/slowdown only seems to be when using Open MPI.
That said, I'm not sure it hurts with Intel?

With this change test gnuglobal assim part fails for all landpert_restart comparisons.

Status update:  This still needs more work by @weiyuan-jiang .   Changed to "draft" PR by adding "contingent" label for now.

Attempt that didn't work. Closing this PR. Another PR will be created once we are ready.


Update emscripten to latest version, update wasm postprocessing

This emscripten update does not pursue the upgrade to use pthreads, rather preserves the current state of the library. Upgrade to use pthreads was explored in separate research which yields a requirement to rework the MoneroWebWorker.ts and in turn the entire library, which is an issue for itself. This PR also retouches the wasm compression postprocessing to be compatible with latest emscripten output.

This was the emscripten's minor breaking change going from 3.1.26 to 3.1.27, without this effective undo we get the memory access out of bounds errors in wasm


[BUG] Seedfarmer apply fails when using --project name different than addf during bootstrapping

Describe the bug
After running seedfarmer bootstrapping with a specific --project, the appropriate CF and Role for the tooling account get's created. However, when running seedfarmer apply, the command attempts to assume a role with addf in it's name instead of the expected project name.
To Reproduce
Steps to reproduce the behavior:

Clone project
Run bootstrapping

seedfarmer bootstrap toolchain --project foo --as-target --trusted-principal arn:aws:iam::XXX:role/Admin

Wait for bootstrapping to complete successfully
Check IAM for the created role arn:aws:iam::XXX:role/seedfarmer-foo-toolchain-role
Deploy a manifest

seedfarmer apply manifests/shared-infra/deployment.yaml

Deployment fails with error

  File "session_manager.py", line 142, in _check_for_toolchain
    session, role = self._get_toolchain()
  File "session_manager.py", line 154, in _get_toolchain
    toolchain_role = user_client.assume_role(
  File "/botocore/client.py", line 508, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/botocore/client.py", line 915, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:sts::XXX:assumed-role/MyRole/user-1 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::XXX:role/seedfarmer-addf-toolchain-role

The apply command attempts to use arn:aws:iam::XXX:role/seedfarmer-addf-toolchain-role when the correct role is arn:aws:iam::XXX:role/seedfarmer-foo-toolchain-role
Expected behavior
Use the toolchain role created during bootstrapping arn:aws:iam::XXX:role/seedfarmer-foo-toolchain-role

This is not a bug.  The project name for all addf modules is addf.  All the modules for addf can only run in a project named addf.  You can change the deployment name to have unique environments. but the project for these modules must be addf.
Please contact me regarding what you are trying to do and I can elaborate.


adding ci:run_full label

Adds trigger for ci:run_full. This trigger will run both tests_entry.yml and tests_post.yml to allow full test suites by users after a tests_post failure.
As usual, there was no way to fully test this in a fork, but the only change is the addition of the label logic which is fairly straight-forward and well tested in the rest of our scripts.
This PR requires no changes to the branch protections, but does need the addition of  a ci:run_full label to the repo.
BUG=https://issuetracker.google.com/issues/276617153

@mergifyio refresh


Added missing options

The stdin_open and tty options are supported by fig but were missing from the documentation.

LGTM

LGTM


Adding ability to discard logs on fatal instead of killing the agent.

Adding a config value to the toml agent config file to let the user enable the discarding of logs when a fatal error occurs during the forwarding.
For example, when logs.timber.io is unresponsive or down and discard_logs_on_fatal is true, logs will be discarded instead of the agent exiting.
Possible solution to #154

@jralph Thanks for this!
I was taking a stab at a few different ideas today but consensus on the team is this will work in the short term, with long term plans for a more robust solution.

Great, thanks! Any ETA on this being released and the agent/docker image being updated?
Perhaps a solution that monitors the endpoint and pauses all collection of logs on any downtime and waits until healthy to continue?

@jralph yep, we'll get a release out this week. https://github.com/timberio/agent/pull/156 should do exactly what you described. If it does not, please feel free to comment there.


Update EnergyFieldColorationShader to Foundry VTT 0.7.9

Which class should be updated?
EnergyFieldColorationShader
For which version should the class be updated?
Foundry VTT 0.7.9

taking this

Fixed by #276


Create worldobject pointing_ode property and set default

worldobject.pointing_ode should point to a function describing the evolution of the attitude. Set default as basic kinematic angular rate / quaternion model.

Changed to pointing_fcn to be more general.


[WFLY-8776] Include wildfly-ejb-client-legacy-bom and jboss-ejb-client-legacy in maven repo

issue: https://issues.jboss.org/browse/WFLY-8776

@kabir @n1hility @ctomc can you please review excluded dependencies (that part I'm not sure with, just copied from ejb-client). Tested in product with server build and maven repo


The project does not open in UE 5.0.2

If I try to open a project in UE 5.0.2, it will stop at 75% Initializing.
When I checked the log, I checked that there was no response after opening the ump_shared.dll file for the last time, but I'm not sure if this dll is really the problem.
How can I fix this?
Thank you for reading it.

that's a bug in UE5 that Epic don't want to fix..
see https://github.com/wongfei/ue4-mediapipe-plugin/commit/c502349e4c0c8960cebbbd294397a157c38e00a1

Thank you for your quick reply.
I read the issue c502349.
	const char* Variants[] = { 		// 5.0.0 		"48 89 5C 24 08 55 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 D9 48 81 EC B0 00 00 00 48 8B 05 B5 C6 B5 00", // dev editor (unrealeditor-core.dll) 		"48 89 5C 24 08 55 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 D9 48 81 EC B0 00 00 00 48 8B 05 CC CC CC CC 48 33 C4 48 89 45 17 4D 63 68 3C 33 C0", // dev game 	};
I understood that the problem will be solved if I modify the byte code of the parts annotated with "dev editor (unrealeditor-core.dll) and "dev game" in the above code according to the changed "FModuleTrace::OnDllLoaded". Am I right to understand?

Just to be sure for 100% it's the same bug, launch the editor and when it stuck check the log file, it should end with:
"GetDllHandle: ump_shared.dll"
If that so, have to recompile the engine or byte patch two versions of FModuleTrace::OnDllLoaded: one for development editor build, another for development game build, shipping should work without any patches because no tracing there. Maybe there are other/easier solutions but who knows..

Can you please make a short tutorial on how to get the byte sig of FModuleTrace::OnDllLoaded ?

Can you please make a short tutorial on how to get the byte sig

sorry but that topic is far away from short tutorial

大佬，请问什么时候有5.0.2版本的 字节码补丁？

Anyplan to add support for UE5?

in case somebody interested in fix, upvote: https://forums.unrealengine.com/t/fplatformprocess-getdllhandle-causes-deadlock-when-loading-opencv-world/571735

hi,is it possible to add hand landmark to the avator?


Prototype an example plugin for enhancing productivity

See https://github.com/tleyden/screentap/blob/main/screentap-app/plugins/focusguard/README.md


Toast: VR implementation

Summary
What changed?
Implemented VR changes to Toast
VR Off:

VR On:

Why?
To enable Web Visual Refresh.
Links

Jira
Figma

I'd be great to add mobile example so we can check any changes in mobile....

Added!


[PoC] Remove init from e2e test cases

testing if we really need to init the tests before each test
removing them can potentially solve the problem of making too many
calls to chromatic

closing because this didn't solve the concurrent access problem in Chromatic in the right way.


Can`t reproduce the performance on Flickr30k

I use your training and testing script on Flickr30k, the model is CMPM_CMPC, but the testing performance is very strange, Evaluating with Cosine Distance...
Text-to-Image Evaluation...
Recall@1   3.86%
Recall@5  12.02%
Recall@10  18.36%
MAP        3.86%
Image-to-Text Evaluation...
Recall@1   3.80%
Recall@5  12.90%
Recall@10  19.50%
MAP        2.62%
That is very strange?

I repeat the codes as well, the results I get is below:
Evaluating with Cosine Distance...
Text-to-Image Evaluation...
Recall@1 0.14%
Recall@5 0.64%
Recall@10 1.34%
MAP 0.14%
Image-to-Text Evaluation...
Recall@1 0.10%
Recall@5 1.00%
Recall@10 1.80%
The training and test dataset is Flickr30k.
Do you have some ideas now?

It is the problem about pretrained model, check if you have right restore the pretrained resnet-152 model.


测试备份恢复及同步功能时无法正常出块

Issue Template
节点备份恢复后进行同步，无法正常出块
[Description of the issue]
Steps to Reproduce

设置四个节点并启动运行链；
在高度不超过100时对节点0使用snapshot_tool进行备份；
停止1，2，3三个节点的运行并清空数据；
在节点0恢复备份数据，停止该节点运行；
重新启动节点0，1，2，3（其中节点3在节点1，2同步完成后再启动）；

Expected behavior: 所有节点正常出块
Actual behavior: 所有节点同步到相同高度后不继续出块
Reproduce how often: 几乎每次
Versions
[The versions of the CITA, operating systems or VM software you use]
CITA: v0.21pre
systems: Ubuntu18.04
Additional Information
若不执行第4步的恢复操作，大部分时候可以正常运行，偶尔也会出现无法继续出块的情况

Thanks for your issue! We will reproduce this problem as soon as possible to determine if there is a bug in the snapshot module. Please continue to pay attention.

Check if it's a bug @ouwenkg

ok

Have been reproduced via script below, which is modified tests/integrate_test/cita_snapshot_test.sh: https://gist.github.com/keroro520/aeda08ee0b14b9e18087c51026ae1dc2
I try to explain the reason why this occurs:

All nodes' data/wal losing will cause stopping growing up:

cita-bft would dump its current ballot state into data/wal.
Every time node starts, cita-bft, as consensus component, loads data/wal and treats it as the current ballot state.
If cita-bft cannot find its data/wal, it will wait other proposer's vote and use that as it's current ballot state.
Bad thing is that, when all nodes lost their data/wal and restart, all nodes wait others' votes. Dead lock happened. All nodes stop growing up.

Restoring snapshot will remove data/wal

cita-bft removes data/wal during restoring snapshot: https://github.com/cryptape/cita-bft/blob/develop/src/core/cita_bft.rs#L1746-L1758

So, node-0's data/wal has been removed during restoring snapshot, node-{1,2,3}'s data/wal by cleanup manually. Restarting nodes cannot grow up anymore.

Have been reproduced via script below, which is modified tests/integrate_test/cita_snapshot_test.sh: https://gist.github.com/keroro520/aeda08ee0b14b9e18087c51026ae1dc2
I try to explain the reason why this occurs:

All nodes' data/wal losing will cause stopping growing up:

cita-bft would dump its current ballot state into data/wal.
Every time node starts, cita-bft, as consensus component, loads data/wal and treats it as the current ballot state.
If cita-bft cannot find its data/wal, it will wait other proposer's vote and use that as it's current ballot state.
Bad thing is that, when all nodes lost their data/wal and restart, all nodes wait others' votes. Dead lock happened. All nodes stop growing up.

Restoring snapshot will remove data/wal

cita-bft removes data/wal during restoring snapshot: https://github.com/cryptape/cita-bft/blob/develop/src/core/cita_bft.rs#L1746-L1758

So, node-0's data/wal has been removed during restoring snapshot, node-{1,2,3}'s data/wal by cleanup manually. Restarting nodes cannot grow up anymore.

Cool. Do you have some suggestions to deal with this situation?

@luqz @kaikai1024 I have no any solution.
cita-bft strongly rely on data/wal, maybe we should find a better way to this (reload current ballot state). cc @jerry-yu

The point is step 4. In my opinion,there are bugs at snapshot recovering

Maybe we can add some attention docs first。

done


Refactor altlabel

Converted FST_TAG_LABELS to a Relabelling class. I changed the API, so instead of doing this:
FST_TAG_LABELS.get(LabelFriendliness.ENGLISH, {}).get(tag, None)

You can do this instead:
FST_TAG_LABELS.english[tag]

or
FST_TAG_LABELS.english.get(tag, None)

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@01caf80). Click here to learn what that means.
The diff coverage is 94.73%.

@@            Coverage Diff            @@
##             master     #449   +/-   ##
=========================================
  Coverage          ?   85.99%
=========================================
  Files             ?       71
  Lines             ?     2620
  Branches          ?        0
=========================================
  Hits              ?     2253
  Misses            ?      367
  Partials          ?        0

Impacted Files
Coverage Δ

CreeDictionary/utils/fst_analysis_parser.py
90.35% <94.11%> (ø)

CreeDictionary/API/models.py
88.50% <100.00%> (ø)

CreeDictionary/API/schema.py
100.00% <0.00%> (ø)

...tabaseManager_tests/xml_entry_lemma_finder_test.py
100.00% <0.00%> (ø)

CreeDictionary/CreeDictionary/utils.py
100.00% <0.00%> (ø)

CreeDictionary/utils/vars.py
100.00% <0.00%> (ø)

CreeDictionary/DatabaseManager/__init__.py
100.00% <0.00%> (ø)

CreeDictionary/utils/types.py
100.00% <0.00%> (ø)

CreeDictionary/tests/utils_tests/test_general.py
100.00% <0.00%> (ø)

... and 63 more

Continue to review full report at Codecov.

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


Broken model path

Hi,
thank you for your great work on all modules for the deployment of Jupyterhub using YARN on HADOOP. I found a minor issue at the method to_api_path in utils.py generates bad path, that is subsequently used to compose item's URL in the Jupyter Notebook tree. In my scenario, the fs path URI starts with the protocol name hdfs:// followed by node address. Due to this input format the URL is then generated like: http://<ip>:<port>/user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/mynotebook.ipynb although the proper should be http://<ip>:<port>/user/xxx/notebooks/mynotebook.ipynb.
I made a short one-liner workaround by adding the following line at line 30 in utils.py:
fs_path = fs_path[7+fs_path[7:].find('/'):] if fs_path.startswith('hdfs://') else fs_path
If you find it useful please add it to the code.

Thanks for filing an issue. Can you provide a bit more information about where this occurs? The protocol and address from the files shouldn't be present in that call. I suspect that you've set root_dir or root_dir_template with hdfs://<node-address>/user/xxx/ instead of using just /user/xxx/. I could add a check for this in the configuration to provide a better error, but you shouldn't have the protocol or address in these configuration fields - the hdfs_address and hdfs_port fields are there for this purpose.

I made no changes to root_dir nor root_dir_template, leaving them in their default state. I am simply passing this config to the YARN container c.YarnSpawner.args = ['--NotebookApp.contents_manager_class="hdfscm.HDFSContentsManager"']
I run Cloudera cluster and I am using default config to access the HDFS generated by the Cloudera. I don't believe there is some unusual notation in the config itself as everything else in hdfscm module works smoothly.

Hmmm, ok. Can you describe what operation you're doing fails? What triggers the failure? Can you post a traceback as well?

What operation fails?
As a user of Jupyter notebook, I am not able to open neither notebook nor directory from the tree on Files panel since the generated link contains full hdfs path including protocol, e.g. http://<ip>:<port>/user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/mynotebook.ipynb. Due to the broken link, the user lands on page saying: 404 : Not Found, You are requesting a page that does not exist! After changing the link to the proper one (http://<ip>:<port>/user/xxx/notebooks/mynotebook.ipynb) there is no problem with opening the notebook or showing content of directory in the tree of files.
What triggers the failure?
User's click on any file or directory link in the Files panel of Jupyter notebook.
Traceback
hdfsExists: invokeMethod((Lorg/apache/hadoop/fs/Path;)Z) error:
IllegalArgumentException: Pathname /user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/notebook.ipynb from /user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/notebook.ipynb is not a valid DFS filename.java.lang.IllegalArgumentException: Pathname /user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/notebook.ipynb from /user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/notebook.ipynb is not a valid DFS filename.
	at org.apache.hadoop.hdfs.DistributedFileSystem.getPathName(DistributedFileSystem.java:233)
	at org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1495)
	at org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1492)
	at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
	at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1507)
	at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1668)
[W 2019-04-10 11:08:09.571 YarnSingleUserNotebookApp web:1782] 404 GET /user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/notebook.ipynb (::ffff:ip): No such file or directory: hdfs:/nameservice1/user/xxx/notebooks/notebook.ipynb
[W 2019-04-10 11:08:09.572 YarnSingleUserNotebookApp log:158] 404 GET /user/xxx/notebooks/hdfs:/nameservice1/user/xxx/notebooks/notebook.ipynb (xxx@::ip) 26.51ms

Versions

Cloudera 6.1.0 cluster
notebook==5.7.8
jupyterhub==0.9.6
jupyterhub-yarnspawner==0.2.0
pyarrow==0.13.0
skein==0.6.1
jupyter-hdfscm==0.1.1

Workaround
Adding the following line at line 30 in utils.py:
fs_path = fs_path[7+fs_path[7:].find('/'):] if fs_path.startswith('hdfs://') else fs_path

Odd, I am unable to reproduce the issue with the same versions. I suspect this has nothing to do with the python libraries, and something to do with your version of libhdfs (which arrow wraps). Can you run the following and report back? What version of hadoop are you using? I suspect that the hdfs:// prefix is returned somewhere on your version where it isn't on the one we test with (2.6).
from pyarrow import hdfs

fs = hdfs.connect()

# Some path to a directory containing some files
DIR_TO_CHECK = ...

print("Getting records from ls")
print("Everything below should report `False`")
for record in fs.ls(DIR_TO_CHECK, True):
    print(record['name'].startswith('hdfs'))

print("Getting records from info")
print("Everything below here should report `True`")
for path in fs.ls(DIR_TO_CHECK):
    record = fs.info(path)
    print(record['path'].startswith('hdfs'))

@b4dboi any updates here? I now have tested on a CDH 6.2 cluster (as well as a CDH 5.14 cluster) and things work fine on both. I'm not sure why you're experiencing issues while I'm not.
If we can't find a reproducible way to hit this bug, then I'm happy to add a fix around it. The location of your proposed fix isn't where we should handle this, rather things should be normalized sooner in hdfscm.HDFSContentsManager._model_from_info. I suspect (but can't be sure) that the traceback you posted above is part of a larger Python traceback - having the full traceback would better help diagnose this issue.

Sorry, I am on vacation for a few weeks and cannot access my testbed remotely. I will report on that when I get back to the office. Thank you for your patience.

Unfortunately, my testbed was deleted during my vacation and I have only limited access to production cluster. However, I ran the piece of the pyarrow code you posted above and I received True/False reports as expected (no hdfs included in record['name'], and hdfs included in record['path']). The Hadoop version is Hadoop 3.0.0-cdh6.1.0.
I'm not able to dig deeper into the plugin right now, as I have no access to cluster running Jupyter Hub for now (it works well in isolated environment with the proposed workaround, though it is not optimal). My options to reproduce this potential bug are very limited. If you consider this issue irelevant anymore feel free to close it.

Hi @jcrist, I found the same bug as mentioned in this thread. The problem arises from the fact that both ls and info include hdfs://nameservice1. Look at this python code:
from pyarrow import hdfs
fs = hdfs.connect()
print(fs.ls("/user/gpachitariu/wf_launchJupyterNotebook", False)[0])
print(fs.ls("/user/gpachitariu/wf_launchJupyterNotebook", True)[0])
print(fs.info("/user/gpachitariu/wf_launchJupyterNotebook"))

The output is:
hdfs://nameservice1/user/gpachitariu/wf_launchJupyterNotebook/activate_env.sh
{'kind': 'file', 'name': 'hdfs://nameservice1/user/gpachitariu/wf_launchJupyterNotebook/activate_env.sh', 'owner': 'gpachitariu', 'group': 'gpachitariu', 'last_modified_time':<PHONE_NUMBER>, 'last_access_time':<PHONE_NUMBER>, 'size': 1086, 'replication': 3, 'block_size': 134217728, 'permissions': 420}
{'path': 'hdfs://nameservice1/user/gpachitariu/wf_launchJupyterNotebook', 'owner': 'gpachitariu', 'group': 'gpachitariu', 'size': 0, 'block_size': 0, 'last_modified':<PHONE_NUMBER>, 'last_accessed': 0, 'replication': 0, 'permissions': 493, 'kind': 'directory'}

Please look at the attached file where I fix it. I tested that the change, adding urlsplit, works both when hdfs://nameservice1 exists and when it does not.
0001-Fixed-path-patch.txt
My setup: Cloudera 5.14.4 and libhdfs is from here:
http://archive.cloudera.com/cdh5/debian/jessie/amd64/cdh/pool/contrib/h/hadoop/libhdfs0_2.6.0+cdh5.14.4+2785-1.cdh5.14.4.p0.4~jessie-cdh5.14.4_amd64.deb

Hmmm, interesting. It's not clear to me why some environments have the hdfs:// prefix for ls and others don't. The patch looks fine either way, would you be able to submit a PR?

It's not clear no me either. I tried to push my branch to your repo, but I get:

Yes, you need to fork the repo, push to your fork, then make a pull request. If you need more information, here's a walkthrough of how this works: https://www.asmeurer.com/git-workflow/

Fixed by #3.

Version 0.2.0 has been released to PyPI with this fix, and should be on conda-forge shortly.


chain-method-continution should take priority over argument-list-wrapping

chain-method-continution should take priority over argument-list-wrapping.
// Assume that the last
// allowed character is
// at the X character
// on the right             X
val foo = Bar.builder().baz(1).build()

Expected Rule behavior
val foo = Bar.builder()
    .baz(1)
    .build()

Current Behavior
val foo = Bar
    .builder()
    .baz(
        1,
    ).build()

Additional information

Current version of ktlint: 1.1.0

I am not sure what the best order of those 2 rules is. Given code below:
                val foo1 = requireNotNull(bar.filter { it == "bar" }) { "some message" }
                val foo2 = requireNotNull(bar?.filter { it == "bar" }) { "some message" }

the expected outcome is:
                val foo1 = requireNotNull(
                    bar.filter { it == "bar" }
                ) { "some message" }
                val foo2 = requireNotNull(
                    bar?.filter { it == "bar" }
                ) { "some message" }

We need some smarter algorith do decide which rule takes precedence. But most like it will be hard to implement that without having breaking changes in the KtlintRuleEngine.

Best way would probably to check whether the chained call is within an argument or not.
Otherwise I agree, this could get very complex.
Would it be possible for an initial precedence to check if the parent of the chain is an assignment or a block.
Yes -> precedence
Not -> argument comes first

Would it be possible for an initial precedence to check if the parent of the chain is an assignment or a block.
Yes -> precedence
Not -> argument comes first

The order of the rules is defined before scanning starts. When you run ktlint CLI with --log-level=debug the order of the rules is printed.
Another complication is that a rule is not aware whether other rules are loaded or not (except when a rule has a declared dependency on another rule). If this information was available, the argument-list-wrapping rule could check if chain-method-continuation is enabled and take that into account when deciding to wrap the arguments in a method chain. This however is a breaking API change, and has to wait until Ktlint 2.0 is released (which might take a long time).


add the update changes to file

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[x ] None of my changes are plagiarized from another source without proper attribution.
[ x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[ x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

Hi @Ravitejavelamuri
I am marking the pr as invalid, we find this violating our CoC and hence we will be blocking you from the organisation.
Thanks.


Feature request: Make namespace in ts file optional

Hi Spatie! Thanks for amazing package.
I have some issue with generated ts file - our fe guys wants all entities be w\o namespaces.
Something like:
typescript-transformer.php

...
   'preserve_namespaces' => true/false,
.....

Please add this feature

resolved


brain to json\sql

Is it possible to convert the brain into a file to get the original data?
I need to transfer all the data from the brain to the database. The order of the data is absolutely not important.

Unfortunately not–by the time it hits the brain file, each input has been chopped up into trigrams and any additional context has been lost. It would be possible to write a tool to extract the trigrams themselves, but I'm not sure they would be useful on their own.
My recommendation is to retain a log (text file; one input per line) of everything that has been trained, but obviously that doesn't work in hindsight.
The approach I've taken in fate, cobe's successor, is to store no database at all: it trains from scratch on start and keeps everything in memory. That text file becomes the database, in effect. Partly that decision was driven by how inflexible the sqlite-based cobe ended up being.


[folding] Allow to specify if decorator should hide in collapsed region

When you define decorators for an editor (activeEditor.setDecorations), you must define a Range, which can be a specific line where you want to add that decorator (an image with gutterIconPath for instance).
But if you Fold the lines where this decorator is defined, the icon is not hidden with the lines, but instead, it is shown in the line where the folding starts.
I didn't find anything in line or decorators that could be used to detect if the line is folded, so I think that the folding engine should be taking care of that, right?
Thanks in advance

What you see is what's expected. The currently implemented folding strategy is based purely on the indentation of lines. A folding region starts when a line has a smaller indent than one or more following lines, and ends when there is a line with the same or smaller indent.
To be more smart and to, for example, understand fucntions and their decorations, we will have to go one step further and introduce language agnostic folding regions. We have issue #3422 for this.

@alefragnani If you could add also a code snippet that would be great. That way I can use this as test once we add language agnostic folding.
Thanks a lot!

Hi @Tyriar , I will post a code snippet latter, when I go back to my home :smile: , but in the meantime you could see the same behavior using breakpoints.
If you set a breakpoint inside a function and fold the entire function, the breakpoint is presented in the folding line.
If that is the expected behavior, than it's ok... I just thought it should suppress the icon.
Thanks

Hi @aeschli ,
The code is fairly simple. I just create a TextEditorDecorationType and assign it to the vscode.window.activeTextEditor with an array of Range, which each element defines a line in the text.

Creating the decoration

    var bookmarkDecorationType = vscode.window.createTextEditorDecorationType({
        gutterIconPath: pathIcon,
        overviewRulerLane: vscode.OverviewRulerLane.Full,
        overviewRulerColor: 'rgba(21, 126, 251, 0.7)'
    });

Defining the lines that will show the decoration. Each activeBookmark.bookmarks element is a number that represents a line number in the text

        var books: vscode.Range[] = [];
        for (var index = 0; index < activeBookmark.bookmarks.length; index++) {
            var element = activeBookmark.bookmarks[index];
            var decoration = new vscode.Range(element, 0, element, 0);
            books.push(decoration);
        }

Adds the set of decorations to the activeTextEditor

    vscode.window.activeTextEditor.setDecorations(bookmarkDecorationType, books);

As you can see, the decoration is defined to individual lines, to display the icon in the Gutter (like breakpoints). But then, when the code is folded, the icon is shown in the folding line. Take a look at the GIF below.

Thanks for your help

@alefragnani Ah, now I understand. Ignore my first comment (I removed it).
There's no API for you to find out if a line is visible or not. We actually try to avoid that.
Would it make sense that you could specify if your annotation should hide for a folded region?
@alexandrudima Alex, FYI.

@aeschli No problem. In fact it was my fault, because I should have added this GIF right in the first post :smile:
About your suggestion, I totally agree :+1: .
Thanks again

For the May release I added a new setting so that the fold controls stay always visible:
"editor.showFoldingControls": "always"

Hi @aeschli , fold controls avaiable on version 1.12.1 ??
"editor.showFoldingControls": "always"

It will be in 1.13

Sorry, I closed the wrong issue.

"editor.showFoldingControls": "always"
stopped working in 1.17

Thanks @martin77s, I created #35885

Since 1.18, decorations inside folded regions are hidden for performance reasons. They are no longer shown in the gutter.
There are no plans to make this configurable.


Run at Wake/Login

Looking for a little tweak to the LaunchDaemon to make this run everytime I log back after closing my MacBook. I'm no coder, I have a very basic understanding of bash and therefore can't figure it out myself. not sure if it would be a simple change to the RunAtLoad or if it would need completely changing to something like .bash_profile. again I'm no coder lol.
Any help would be amazing
Many thanks

I'm not sure which one you're referring to but if it's the spoof.sh one, then having it in  .bashrc (or .zshrc if you're running Catalina or later) should do it
# add this to the end
/usr/local/sbin/spoof

⚠ If it is the spoofing one you're talking about here, then setting it in the shell might have some negative effect on your network connectivity.

@Orkotch Interesting recommendation.
Unfortunately, implementing it isn't easy (there is not easy way to run a script on wake).
Closing the issue, but keeping recommendation in mind if ever I stumble upon a way to implement it.


What`s the difference between *_crp.npy and *_crp_v2.npy ?

There is no code for generating *_crp_v2.npy. I would not like to directly use files downloaded from google drive.

preprocess_crop.ipynb is the script to crop the head and neck area from the download CT images.

In preprocess_crop.ipynb, the images after being processed are saved by the following script "np.save(path+fnm+'/img_crp.npy', nparr)".
While in AnatomyNet.py image data are loaded by the code "data.append(os.path.join(pth, 'img_crp_v2.npy'))"
Do you mean *_crp.npy and *_crp_v2.npy are the same thing?

I think so.


Perf: Test impact of facets on properties not reflected in query parameters that interact with those properties

Query is now integrated in type mapping such that the default type mappings for the CLR properties of types are used. So for example, we create a datetime2 parameter on SQL Server where needed and avoid the overflow issues with datetime parameters. In all the testing I have done it appears that everything is functional. However, there may be other reasons (such as perf) for taking facets of properties and applying them to parameters. For example, if a string property is mapped to an ANSI column, should a parameter comparing against that column be created differently? This issue is to investigate this and, if necessary, implement any changes.

We can just be reactive if issue arise


[py2py3] Migration at level scr/python/A/B/C - slice 8

Fixes #10132
Status
In development
Related PRs

Previous migration PR: #10284  (slice7, issue #10131 )
Next migration PR: #10290  (slice9, issue #10133 )

Description
Run futurize and some manual changes on the first batch of src/python/A/B/C.
Strings:

src/python/WMCore/Services/DBS/DBS3Reader.py: required some re-organization of the strings. This should be tested thoroughly!

tracking in #10293

Is it backward compatible (if not, which system it affects?)
It should be. (Any possible cause for errors will we reported here)
External dependencies / deployment changes
Requires python-future in both py2 and py3 environments.

Test this please

In any case, I am super-worried of how DBS3Reader manages strings, this is why I created #10293. This will need follow-up, especially when we will switch to py3


Commands flags with quoted parameters lose flags.

When you define a command task with a flag parameter with an equals sign and a quoted operand, the flag is omitted from the command execution.
For  example, the task:
foo = "ls --color='always'"

Will output:
% poetry run poe foo
Poe => ls always
ls: always: No such file or directory

While one would expect:
% poetry run poe foo
Poe => ls --color=always
README.md      pyproject.toml

This problem began with v0.23.0. It seems likely that the issue is that the resolve_command_tokens function is losing data in token_parts variable when it is re-initialized within this loop.

Hi @joshriverscambia2019
Thanks for the feedback :) yep that's a bug in the new cmd parsing logic! I'll get a fix for that out soon :)

Thanks again for reporting this bug. It's now fixed with v0.24.2 🚀


Renames charm to namecheap-acme-operator

Description
Please include a summary of the change. Please also include relevant motivation and context. List any dependencies that are required for this change.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] I have added tests that validate the behaviour of the software
[x] I validated that new and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[ ] I have bumped the version of the library

Why has the publish charm run here? It should only run on PR merge


Using renderItem cannot autocomplete strings

When not using renderItem, It can autocomplete text strings. But on using renderItem, component cannot autocomplete strings.
In example RemoteDataExample (not using renderItem)

In example RemoteDataExample3 (using renderItem), you can see the difference between dropbox.

Very nice autocomplete-dropdown library! please fix this issue....

I am also facing same issue,
anyone has workaround for this ?

I'm also facing this issue and this limits me to using custom styles for render List Items. I want to use a custom font.

I can confirm this issue. simply adding the following lines breaks the autocomplete functionality:
  renderItem={(item, text) => (
    <Text style={{ color: colors.text, padding: 15 }}>{item.title}</Text>
  )}

Hi guys!
I fix the issue and now renderItem will be filtered before the render by title.
But you also can filter it yourself by comparing item.title and text and return null if it shouldn't be rendered

Can confirm it now works for me. Thanks!


Compare runtime assembly names without GC allocation

Small optimization to do a case-insensitive check directly instead of causing GC allocations via ToLowerInvariant on each iteration through where.
Yeah, I know, it's a small optimization in the grand scheme of things, but hey, I saw it in passing & the fix was quick. Took less than a minute anyway (less than it's taking me to write this comment 😏). And I hear, no PR is too small. :wink:

thanks!

Nicely done. 😉

@adamralph Yeah, I am getting good at that. 😛

first public PR into Swift :1st_place_medal:

Wait, do I steal the medal :1st_place_medal: for possibly the shortest PR? Enter pee-pee contest. 😆


License?

What's the license for this project?

I'm sorry I haven't posted one yet. I'll try to do so when I have a few free moments at work.


Add IsRunning and Stop methods to Node interface

Closes: #705

Codecov Report
Base: 54.59% // Head: 54.75% // Increases project coverage by +0.15% :tada:

Coverage data is based on head (4ab7658) compared to base (018e42a).
Patch coverage: 53.52% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #714      +/-   ##
==========================================
+ Coverage   54.59%   54.75%   +0.15%
==========================================
  Files          52       52
  Lines       10372    10363       -9
==========================================
+ Hits         5663     5674      +11
+ Misses       3840     3824      -16
+ Partials      869      865       -4

Impacted Files
Coverage Δ

config/config.go
88.88% <ø> (ø)

conv/addr.go
100.00% <ø> (ø)

conv/config.go
47.05% <ø> (ø)

da/celestia/celestia.go
50.00% <ø> (ø)

da/celestia/mock/server.go
49.68% <ø> (ø)

da/grpc/grpc.go
73.13% <ø> (ø)

da/mock/mock.go
73.75% <ø> (ø)

da/registry/registry.go
100.00% <ø> (ø)

mempool/v1/mempool.go
86.09% <ø> (ø)

node/full.go
60.43% <0.00%> (ø)

... and 27 more

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

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


Add a SurfaceWorkErrors() opt to the retrier

If the retrier encounters a context-related error, such as context.DeadlineExceeded while attempting retries of work(), the context error is returned. This means the actual error from work() never bubbles up. Because the context is often used to enforce a timeout, many callers are likely more interested in the last non-nil error returned by the work() function.
We introduce a WithSurfaceWorkErrors() option to the retrier.Retrier that when used, means the last non-nil work error will be returned even if context-related errors are encountered.

@eapache Thank you for your review! I believe I addressed all your comments.

Thanks! Released in package version 1.7.0.


Fabric: Autocompletion no longer working

Describe the bug
Looks like recent changes to Fabric have broken autocompletion.
When pressing TAB to complete a line it gives an error from awk that return is not in a function.
To Reproduce
Type fab  followed by the prefix of any fab command and press TAB
Expected behavior
The command is successfully autocompleted, e.g. in the example below the command should complete to fab helpers.check_warnings
Screenshots or recordings
(ukf) ➜  deploy hg:(default) ✗ fab helpers.chawk: return not in function at source line 2
 context is
	    if (NF == 0 || NR == 1) >>>  return <<<
awk: syntax error at source line 3
awk: illegal statement at source line 3
awk: return not in function at source line 2
 context is
	    if (NF == 0 || NR == 1) >>>  return <<<
awk: syntax error at source line 3
awk: illegal statement at source line 3
awk: return not in function at source line 2
 context is
	    if (NF == 0 || NR == 1) >>>  return <<<
awk: syntax error at source line 3
awk: illegal statement at source line 3

System:

OS: macOS 10.14.6
Zsh version: 5.7.1
Terminal emulator: Terminal
Fabric: 1.14

Additional context
Worked fine prior to recent oh-my-zsh update

That's my fault, it should be an exit instead of a return. It worked in GNU's version of awk.
Can you go to the file $ZSH/plugins/fabric/_fab and change the return in line 9 for an exit? Then, to test it, run unfunction _fab; autoload -Uz _fab and try again to complete fab.

Scratch that, the keyword I was looking for is next. Try this command in a directory with a fabfile.py:
fab -l 2>/dev/null | awk '{
    if (NF == 0 || NR == 1) next
    if (NF < 2) print $1
    else {
        docstring=substr($0, index($0,$2))
        gsub(":", "\\:", docstring)
        print $1":"docstring
    }
}'


Configure Microsoft Defender on Containers (Portal & Terraform)

Microsoft Defender for Containers
https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-containers-introduction

@jeremy-page This is mainly for Kubernetes, but since it can scan container images too, I guess we can keep this ticket.


How to extract cell info with attached comment on sheet_to_json function

Hello.
I need to extract google spreadsheet and some of cells has comments on it, and i need them in output object. I use sheet_to_json function. For example I have such small table with 2 cells (header and value):
{
    A1: { t: "s", v: "Name", r: "<t>Name</t>", h: "Name", w: "Name"},
    A2: {
        t: 's',
        v: 'Rudolf',
        r: '<t>Rudolf</t>',
        h: 'Rudolf',
        w: 'Rudolf',
        c: [{
            a: 'sheetjsghost', t: 'comment\n', r: '<t xml:space="preserve">commeent\n</t>', h: 'commeent<br/>'
        }]
    }
}

And I want to have the comment attached to the value. I don't know in what format it can be... May be some sort this:
{
    Name: { value: 'Rudolf', comment: 'comment'}
}

I haven't found any info about how it can be implemented. May be there is some another function to deal with this? Or the only way is to write own parse function?
Thank you!

It's pretty straightforward to make your own function.  The sheet_to_json function is implemented in https://github.com/SheetJS/js-xlsx/blob/master/bits/90_utils.js#L7-L88
Assuming you copied the functions elsewhere, the line https://github.com/SheetJS/js-xlsx/blob/master/bits/90_utils.js#L23 would be changed to var v = { value: val.v, comment: (val.c||[]).map(cmnt => cmnt.t).join("") };

How do the extracted comments be written into the sheet? How do I need to modify json_to_sheet?

@SheetJSDev maybe it would be good to add an Option flag, like { richValue : true }  and default false which return plain value ?


set resources from values for all multitenantproxy containers

Towards https://github.com/giantswarm/loki-app/issues/207
Fix multi-tenant-proxy HPA by setting resources settings in all of the 3 mtproxy containers.

Before the patch:
$ k -n=loki get hpa loki-multi-tenant-proxy
NAME                      REFERENCE                            TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
loki-multi-tenant-proxy   Deployment/loki-multi-tenant-proxy   <unknown>/60%   2         4         2          33d

After the patch:
$ k -n=loki get hpa loki-multi-tenant-proxy
NAME                      REFERENCE                            TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
loki-multi-tenant-proxy   Deployment/loki-multi-tenant-proxy   1%/60%    2         4         2          33d

No new failures since new version has been deployed:
Events:
  Type     Reason                   Age                From                       Message
  ----     ------                   ----               ----                       -------
  Warning  FailedGetResourceMetric  55m (x2 over 75m)  horizontal-pod-autoscaler  failed to get cpu utilization: did not receive metrics for any ready pods


fix:  redirectUri being added a port on windows platform

Hi, I'm not sure if this is a issue, or if I'm missing a config, but whenever I try to use this on windows, the Uri gets changed, and in Chrome as web works fine.
final manager = OidcUserManager.lazy(
store: OidcMemoryStore(),
settings: OidcUserManagerSettings(redirectUri: Uri.parse("com.okta.dev-41706738:/callback")),
clientCredentials:const OidcClientAuthentication.clientSecretBasic(clientId: "0oahre9v3cQmMQ3BR5d7",
clientSecret: "cT4PozCQcBYtE1MG_36qjDQGYjdLQeu5tohr0aStjuZo2J96bymtxYJ-kaI8Ce0w",),
discoveryDocumentUri: OidcUtils.getOpenIdConfigWellKnownUri(Uri.parse("https://dev-41706738-admin.okta.com"),),);
Chrome: redirect_uri=com.okta.dev-41706738%3A%2Fcallback (Good one)
Windows: redirect_uri=com.okta.dev-41706738%3A%2F%2F%3A53856%2Fcallback (Changed one)
I'm using the example Git repo, didn't really changed any setting, and I'm using the same example that comes with the package.
Thanks a lot!

We are using https://datatracker.ietf.org/doc/html/rfc8252 to handle desktop auth
and there are 3 ways to receive the auth response
The redirect url you used suggests you are using the first method "Private-Use URI Scheme Redirection", which is actually less secure.
This is why we only support the third method (Loopback Interface Redirection) as it does not require any custom configuration regarding DNS or messing with domain claims.
our example app contains a sample code on how to configure a cross-platform redirect uri:
https://github.com/Bdaya-Dev/oidc/blob/5a5b31dc0661c28710b19c8070c544d95a7c8a5c/packages/oidc/example/lib/app_state.dart#L45-L71

After doing some research around okta provider, it seems that it's a limitation with okta: https://devforum.okta.com/t/loopback-interface-redirection-ephemeral-ports-wildcard-ports-in-localhost-redirect-uri/22197/2


Selecting files with Glob pattern / regexp when registering a table

Note sure if it could be interesting  but:
When registering a table:
addr: <IP_ADDRESS>:8084
tables:
  - name: "example"
    uri: "/data/"
    option:
      format: "parquet"
      use_memory_table: false

add in options:
glob

pattern: "file_typev1*.parquet"

or regexp

pattern: "\wfile_type\wv1\w*.parquet"

It would allow selecting in uri's with different extension / schema version

I suspect the reason multiple files per table aren't support is because that support is yet to arrive in datafusion https://github.com/apache/arrow-datafusion/issues/133

https://github.com/apache/datafusion/pull/1010 is merged!


needs to be converted to latest Swift

It won't build with Xcode.

True for Xcode 7, it should compile on Xcode 6. Didn't try with converter...


Consider providing spaces to be queried via policies

We should add the space that is aligned with a request so that it is able to be queried by rego.
Just to be open that one space is allowed to store stuff while others are not.
Like default no but a and b yes.
@micbar @fschade @butonic

dont close


fix:Simplify error handling in build-dashboard.js(#3305)

This PR improves the error handling in the build-dashboard.js script by directly throwing errors instead of using Promise.reject(e). This makes the asynchronous functions more idiomatic and easier to maintain.
Key changes:
Replaced instances of Promise.reject(e) with throw e to ensure consistent error handling.
Cleaned up the error logging to provide clearer and more actionable error messages.
These changes improve the readability and robustness of the code, especially in cases where asynchronous functions need better error propagation.
Feel free to provide feedback or suggest any additional improvements!

Summary by CodeRabbit

Bug Fixes

Improved error handling in the dashboard build process with clearer and more descriptive error messages.

Chores

Updated the configuration for edit page links to point to the correct path.
Enhanced code clarity and readability in the dashboard script.

Documentation

Added context to error messages to assist with troubleshooting during parsing and fetching operations.

Will fix these issues and raise the final PR soon on this issue ..


UI Footer version messages might be misleading

Is your feature request related to a problem? Please describe.
The UI footer shows "Up to date", even though there is a newer glasskube version available. The meaning of "Up to date" is that the CLI and cluster version is equal. If they are not equal, the message "New version available" is shown – additionally there is the big update banner at the top of the page.
Describe the solution you'd like
I suggest to remove the extra text like "Up to date" and "New version available" completely, because "Up to date" might be wrong/misleading (it does not mean the user has the latest glasskube version installed right now), and "New version available" is redundant (but more inexact) than the update banner that is on the top of the page anyway.
We could additionally show a line with "Latest version available: ..." with a link to the release page, and a yellow warning sign that a new version is available (but that shouldn't be too pushy, we already show this when starting the server and in all cli commands too).
Open for discussion.
Describe alternatives you've considered
Additional context
CLI == cluster:

CLI > cluster:

@christophenne Hello can I take this?

It's still open for discussion what we should do here. What's your take?

We decided that the label should simply be removed in the footer.

@christophenne Hey really sorry for not replying I was busy learing react 😕 . If the label in the footer needs to be removed can I try that?

We decided that the label should simply be removed in the footer.


Log time since in seconds

src/github.com/omniscale/imposm3/update/run.go:110: time.Since(seqTime).Truncate undefined (type time.Duration has no field or method Truncate)
Duration in seconds could be gotten by using
time.Since(seqTime).Seconds()

Please upgrade to Go 1.9 or higher.


Option to not clear selection on copy

Description of the new feature/enhancement
Currently when you copy text it clears your selection. While this is current behavior for some terminals, this is different than standard Windows behavior. Most Windows programs simply leave the text selected and require some other action to deselect the text. This is particularly bad if you have remapped Copy to Ctrl-C, then accidentally hitting it twice can result in killing your running process accidentally. Additionally, I frequently will copy text, then need to come back to it later to recopy, but due to this issue I have to re-select the text frequently.
I just want copy/paste to work the same here that it does in every other program.

This is particularly bad if you have remapped Copy to Ctrl-C,

Incidentally, the collision between copy and cancel (one of which is handled by the terminal emulator, and the other of which is handled by the remote application) is why we haven't bound Ctrl+C by default.
There's a lot of different feature requests around copying, and people have a lot of different requirements here. We should converge them, if possible.

Just thinking out loud. Here's a few thoughts:

what kinds of setting should this be? Keybinding arg? Global? Profile?

Like copyOnSelect, I feel that this should be a global setting

type should definitely be bool
we should keep ESC as a way to clear the selection
passing key events to the Terminal should also clear the selection as they do now
what's a nice name for this?

persistSelectionOnCopy (default is false)

Originally thought of naming it clearSelectionOnCopy (default is true), but I've been told before that we should try and make the default false. So any thoughts as to what this setting could be called is much appreciated :) (for now I'm just going with the plan above).

Here's a question:
if persistSelection is enabled, and a selection is active, what should we expect right-click to do?

copy the selected text?
paste what is on the clipboard?
copy the selected text and paste what is on the clipboard? --> copyOnSelect

This makes me wonder if maybe a global setting isn't the right approach, and instead there should be a keybinding arg on 'copy'. Then, this could work more like a text editor, where...

you make a selection
you copy with your keybinding (selection persists)
you paste (selection gets cleared because text got sent to the terminal)

The only thing I dislike is that a user would have to add this keybinding arg to all of their copy keybindings. But, I think that's a small case with a minor annoyance.

I feel like #9787 is related

From #13438

Should be fairly trivial to add a dismissSelection property to the copy action, defaults to true, and does what you'd expect. ~We should then change the enter keybinding to~
        { "command": { "action": "copy", "singleLine": false, "dismissSelection": false }, "keys": "enter" },

er... maybe we don't change the defaults. Those would be the opposite of ConEmu


macOS build error

I am try to build macOS but I got error,i don't know why,i am sure has add EdDSA key in Info.plist and add flutter_distributor library
this is my error:
Unhandled exception:
ProcessException: No such file or directory
Command: 7z a dist/1.0.0+1/annual_party_guest_draw-1.0.0+1-macos.zip ./build/macos/Build/Products/Release/*.app
#0      _ProcessImpl._runAndWait (dart:io-patch/process_patch.dart:487:7)
#1      _runNonInteractiveProcessSync (dart:io-patch/process_patch.dart:632:18)
#2      Process.runSync (dart:io-patch/process_patch.dart:68:12)
#3      AppPackageMakerZip.make (package:app_package_maker_zip/src/app_package_maker_zip.dart:36:15)

I already check in ./build/macos/Build/Products/Release has built out app file, so I don't know why error

Make sure 7zip is installed
https://distributor.leanflutter.org/configuration/makers/zip


Newest version does not work in unity 2018.1.0f2

Describe the bug
Won't build until I delete the UMA folder
Environment:

OS: Windows 7 Professional SP1 64 bit
Unity Version: 2018.1.0f2
UMA Version: 2.12
Rendering Pipeline: DX 11 on Nvidia NVS 3100M
Platform Build (if not editor): Windows x86_64

To Reproduce
Steps to reproduce the behavior:

Download UMA212.unitypackage from releases
Install Unity 2018.1.0f2 (only install the editor, documentation, android support, iOS support and Linux support)
Open unity 2018.1.0f2
Create a new project
Rename the scene to Character_creator
Use the import button and import the UMA212.unitypackage file
Create a Plane
Try to build for windows in a folder called "Win 64" inside the project folder
Build will fail
Delete the UMA folder
Try to build again
it will work and the built exe runs

Screenshots

No longer supported, closing.


Allow for default value to be set for new cells

Change to allow for the default value of new cells to be set when adding a new row. The default value can be set in the column settings with the new property 'defaultValue'.
This PR solves issue #310.

@Ezeon thanks for your PR 👍

@Ezeon
I changed your PR a bit to add support for default value of boolean false, previously because false did not answer the if condition, it wouldn't have set as default.
PR #427


Flutter module and problem with persistence of changes to native files in .ios, .android folders

Sometimes we need to apply changes to native files, e.g.

adding Firebase requires GoogleServices-Info.plist
disabling SkParagraph, separate issue
there are many other reasons

With Flutter module, the folders .ios, ..android folders are hidden, git-ignored and autogenerated. Developer can modify the files within, but after cloning the repository, flutter clean or doing other tasks that regenerate those files, these changes need to be re-applied. Flutter module will eventually end up being hosted by the native iOS and Android applications, but during development, most of us benefit from simply opening the module's project in IDE and pressing the run button. But without these changes the module will not run at all, crash or not run properly.
What is the best way to overcome this problem? I've researched this problem and found the 3 ideas:
Idea 1
Remove the .ios and .android entries from /.gitignore. Also add to /.gitignore some bits fromios/.gitignore and android/.gitignore from generated Flutter app. With this approach, the important changes are persisted, a developer can clone the repo, press run and everything works as expected.
There are minor problems:

flutter clean will delete these folders, so we need to revert deletion (easy with source control app)
some changes, such as modifying pubspec.yml and runing app on iOS causes re-generation of iOS (not a big issue - most files are the same, perhaps updated Podfile, Podfile.lock, PluginRegistrant etc, but it also deletes Android (again, revert deletion needed). I assume Android does vice versa. It's not a big problem, the changes are neccessary, deleted (other platform) can be reverted, and it only happens once (hope so).

Idea 2
I call it "patching". Keep the modified files somewhere safe and run a custom ./build.sh:
flutter build ios --simulator
cp patches/ios/Info.plist .ios/Runner/Info.plist
# cp other files if needed, similar steps on Android

It works, but engineers needs to develop a habit - to run this script when cloning the repository, or as a part of troubleshooting - perhaps the project was re-generated... Also, it needs to be applied on CI - before running unit/snapshot/integration tests.
Idea 3
Have both Flutter app and Flutter module. Flutter app has only one dependency - a module, and the app's run function, calls the module's run function. This solution is "cleanest", without any tricks, but increases the complexity:

how to run module tests, especially integration - tests in the module, but the target is an app?
repo structure, a) root level - flutter app, module in folder, b) app and module folders in root
configuring what does run/debug button do - so it executes the app, not the module
duplicated files like main.dart, pubspec.yml - adds confusion/boilerplate when searching for files

----/end of ideas---
As you see each idea has pros and cons. I wonder what does Flutter team thinks of this problem? Ideally, we need a solution to configure the generated app. For example in module's pubspec.yml we have:
  module:
    androidX: true
    androidPackage: com.example.app
    iosBundleIdentifier: com.example.app

This file configures package identifiers and AndroidX. Maybe we could have here additional commands to configure the most typical changes, settings, or run the scripts provided by package maintainers?
Currently, I'm using Idea 2, and I'm considering changing to Idea 1, despite its drawbacks. I think I like the Idea 1 the most - new developers joining the project have an easy life. They hit the run button and the module works as expected without any additional instructions needed. When they gain experience and start modifying pubspec.yml they need to be aware of re-generation which causes deletion, which needs to be reverted (hope it's the only case that I found so far).

Hi @chris-rutkowski, I believe this is a duplicate of the discussion in https://github.com/flutter/flutter/issues/98077.
Feel free to share your thoughts/ideas in the linked issue.
Closing from here as duplicate.
Thank you


ie10下运行报错

调试窗口报错
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");  //此处跑出错误
}
}
控制台报错
Warning: The  component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change DynamicComponent to extend React.Component instead.
SCRIPT5022: 引发了异常但未捕获

暂时没测试过ie10，是否是babel-polyfill的问题


Getting pose metadata

Hi @jaybdub!
Simply awesome the way we can detect poses and plot it on vídeo!! Great job!!
I just couldn't find out how to get pose's features metadata programatically in python (eg.: left_eye, left_elbow, right_ankle, etc.)
Could you please clarify it?
Thanks!

Hello @rshigemura this blog is going to help you:
https://spyjetson.blogspot.com/2019/12/jetsonnano-human-pose-estimation-using.html

Hello @ishangupta3 !!
Thanks, it was exactly what I was looking for!

Hi @ishangupta3 @rshigemura
I am trying to run the model on Nvidia GPU 1650, so while running notebook and cell-5, the code below
import torch2trt
model_trt = torch2trt.torch2trt(model, [data], fp16_mode=False, max_workspace_size=1<<25)
I am getting run time error like below: How i can get rid of this
RuntimeError Traceback (most recent call last)
in
1 import torch2trt
2
----> 3 model_trt = torch2trt.torch2trt(model, [data], fp16_mode=False, max_workspace_size=1<<25)
~/tlt-experiments/skeleton-env/lib/python3.6/site-packages/torch2trt-0.1.0-py3.6-linux-x86_64.egg/torch2trt/torch2trt.py in torch2trt(module, inputs, input_names, output_names, log_level, max_batch_size, fp16_mode, max_workspace_size, strict_type_constraints, keep_network, int8_mode, int8_calib_dataset, int8_calib_algorithm, int8_calib_batch_size, use_onnx)
553 )
554
--> 555 engine = builder.build_cuda_engine(network)
556
557 module_trt = TRTModule(engine, input_names, output_names)
RuntimeError: NVRTC error:


Add transaction related changes and api docs

Purpose
Add transaction support for sql connectors and added api docs for sql, mysql and jdbc modules.
Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[X] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[X] Added necessary tests

[X] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

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

@@           Coverage Diff           @@
##           master   #24037   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  Partials       16       16

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 a4da000...8d83edd. Read the comment docs.


Add issue triage document

Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

I like it!

So if this is for internal consumption, stop reading and ignore. If this is for external readers --- which I assume it is -- I'd make some structural changes that would make it easier to use.
For example, the first sentence seemed to make this appear as if this were a document about "choosing something to work on" but that isn't the case. This is a document about evaluating and ordering issues before someone chooses one.  At least that is what my further reading led me to believe.
I would define triage for the reader.  You'd be surprised at the words very educated people don't know.  Or have heard of but don't understand.
Who participates in triage? Can anyone triage? Does a maintainer check a triage if this is an "any contributor task."
When you get to the classification, use a table. PIA I know but people parse them better and -- surprisingly readers associate them with "reference" material which this is and so it will help these classifications stand out.

Thanks for all the recommendations.  I updated the document based on your feedback.

Big improvement...the tables help.  And I like your lead.  The tone is great.  Love the use of the words kind and kindly --- I think examples of messages to authors would help. Also, I think you can tighten some of your structure.
It might be easier for someone to parse if you formulate it as "triage steps" --- most triage is a series of steps at least according to my sister the ER nurse.  And um, I would use some bold in the template because that will help people pick things out of an issue.
Finally, if you expect DOC bugs, it really helps to have the page URL as well as the version.
Thank you for the chance to comment.

Triaging of issue
Triage provides an important way to contribute to an open source project.  Triage helps ensure issues resolve quickly by:

Describing the issue's intent and purpose is conveyed precisely. This is necessary because it can be difficult for an issue to explain how an end user experiences an problem and what actions they took.

Giving a contributor the information they need before they commit to resolving an issue.

Lowering the issue count by preventing duplicate issues.

Streamling the development process by preventing duplicate discussions.

If you don't have time to code, consider helping with triage. The community will thank you for saving them time by spending some of yours.
Step 1: Ensure the issue contains basic information
Before triaging an issue very far, make sure that the issue's author provided the standard issue information. This will help you make an educated recommendation on how this to categorize the issue. Standard information that must be included in most issues are things such as:

the output of docker version
the output of docker info
the output of uname -a
a reproducible case if this is a bug, Dockerfiles FTW
host distribution and version ( ubuntu 14.04, RHEL, fedora 21 )
page URL if this is a docs issue

Depending on the issue, you might not feel all this information is needed. Use your best judgement.  If you cannot triage an issue using what its author provided, explain kindly to the author that they must provide the above information to clarify the problem.
If the author provides the standard information but you are still unable to triage the issue, request additional information. Do this kindly and politely because you are asking for more of the author's time.
If the author does not respond requested information within the timespan of a week, close the issue with a kind note such as the following:
INCLUDE EXAMPLE NOTE HERE
It is important to include that we will reopen the issue if they provide the missing information in the future.
Step 2: Apply the template
When triaging, use the standard template below. You should cut and place the template in the issue's description. The template helps other reviewers find key information in an issue. For example, using a template saves a potential contributor from wading though 100s of comments to find a proposed solution at the very end.
Here is a sample summary for a pr.
**Summary**: docker rm can return a non-zero exit code if the container does not
exist and it is not easy to parse the error message.

**Classification**: improvement **Time estimate**: quick-fix

**Proposed solution**:

docker rm should have consistent exit codes for different types of errors so
that the user can easily script and know the reason why the command failed.

Step 3: Classify the Issue
Classifications help both to inform readers about an issue's priority and how to resolve it.
Types of classification:

Type
Description

improvement
improvements are not bugs or new features but can drastically improve usability.

regression
regressions are usually easy fixes as hopefully the action worked previously and git history can be used to propose a solution.

bug
bugs are bugs. The cause may or may not be known at triage time so debugging should be taken account into the time estimate.

feature
features are new and shinny. They are things that the project does not currently support.

Step 4: Estimate the Time to Complete
Everyone who has ever written software knows how time estimates work. Every project manager (PM) has their own special formula for when a developer gives them an estimate the multiply it by a factor of 10 or something like that. Every developer thinks that you cannot rush greatness.
So, why should an open source project place time estimates on issues? The estimate doesn't require the contributor to solve the issue in the specified amount of time. Rather, it is a way for the contributor to understand the time commitment required to work on an issue.
Good estimates ensure happy contributors. Maybe someone feels like hacking on Docker over the weekend and are looking for a weekend task. Maybe someone has a couple hours at night as they wind down and wants to help improve documentation or fix a few bugs.  If the estimate is accurate we ensure happy contributors because their work fits into their schedule. Consistently accurate time estimates help grow the trust between Docker and its contributors.
Types of estimates:

Type
Description

quick-fix
30 minutes to a couple hours

weekend-hack
depending on your knowledge of the code base this could take a few hours to create a successful pull request with tests included

sprint
you have some time to hack on a feature a few hours each day

marathon
this may take awhile as it could touch many aspects of the code and it maybe an issue where you need to discuss and plan on how it will be developed with others.

And that's it. That should be all the information required for a new or existing contributor to come in an resolve an issue.

I'm still -1 on time estimates, but other than that it's all good :+1:

@crosbymichael I think the proposal lacks an important point: do maintainers agree with the author?
Example: I want feature X. Well it does make sense to classify the issue as being a feature request, but it doesn't make sense to give a time estimate if we don't want it. A label "design-approved" could help, and we could even automate it so that if a PR says "Fixes #123" where 123 is an issue whose design was approved, then the bot could skip the triage label and go directly to code review for that PR.
I do like that we rewrite the description to make it easier to understand, however I think your PR should emphasize on keeping that description up-to-date: when clarifications are added in the thread, or if decisions have been made. Should there be a Decisions section only for proposals (feature or improvement) ?

Updated again.
@tiborvass about the maintainer agreeing with the issue or feature, I think that is a given.

LGTM

I believe that fro Docker Birthday, there was a goal of classifying issues in terms of "experience required" in order to identify those issues that would be suitable for people just getting started with Docker. For example, classifying issues as "entry". "intermediate", "advanced", etc.. A "quick-fix" might not be "entry" level.

LGTM

@icecrime I updated this to use your suggestion.  Lets get this merged and any edits can come after.

LGTM