Deprecated components and "Lean Core" migration story

How do we plan to handle deprecated components and the moving of components to community repos? (See "Lean Core", https://facebook.github.io/react-native/blog/2019/03/12/releasing-react-native-059#lean-core-is-underway and https://github.com/facebook/react-native/issues/23313.)

Should we move deprecated components to a ReactNative.Deprecated namespace?
How/where shall we provide bindings for the new components that were moved out of core?

in separate packages like reason-react-native-webview etc.?
within the reason-react-native package? If so, under what namespace?

What is the migration story when a component is moved out from core? How do we avoid breaking people's code in that case?

@MoOx @sgny

Here is how I see things
Part 1: use [@deprecated] on react component (let make) so people natively get a warning from reason/ocaml (and don't change anything beside this). The deprecation message will tell people to use a new package (see part 2)
Part 2: move deprecated compo as a reason-react-native-* package (we are in a monorepo, easy to handle technically speaking - we could imagine doing a packages folder at the root) and adjust (eg: webview as changed a little if I am correct)
Part 3: when things are totally removed from RN core, wait a few versions/months if that's not a big deal for us & then remove those from ReactNative namespace completely. People will have time to use new packages/bindings as they will have see annoying deprecation warnings for a while...

For part 2: we can start this way, and also accept various "well know" packages (eg: react-navigation bindings?) or we could make several repo. I would go monorepo but on the long run this might become  not that easy to maintain. We can start monorepo & see how things goes... (If we hit the "too many packages/bindings, I will see that's as a very good sign :) )

Sounds great! 👍 I am all for monorepo, too! :-)
And what about module names?
As we have reason-react-native -> ReactNative, we would also have
reason-react-native-webview -> ReactNativeWebView?
So the user would do
open ReactNativeWebView;

<EMAIL_ADDRESS>let make = () => <WebView ... />;

?

Yeah I guess so. Easy to understand: reason-react-whatever => namespace is ReactWhatever.
Would avoid confusion for lots of people as soon as it's documented

I like your transition strategy and it would be great to have a single source for bindings.
Perhaps we can make use of conditional compilation to return deprecated messages based on RN version (to be set by the user). Unfortunately that requires OCaml syntax at the moment and no timeframe for Reason syntax support as far as I know. For bindings we don't actually need JSX, so it should be relatively painless to use OCaml syntax.

There's also a conditional compilation ppx that should work with Reason.
https://github.com/janestreet/ppx_optcomp

There's also a conditional compilation ppx that should work with Reason.
https://github.com/janestreet/ppx_optcomp

Thanks! Since so many features/props are added/replaced/taken out over RN versions, IMO, it would be nice to have some guidance from the compiler on what is available for some given RN version.
@MoOx @cknitt What do you think?

As said in another thread, somewhere, I don't really want to got this way. My first fear is that as soon as you do that, you aren't able to reuse the same JS for multiple platform. This will be especially annoying during development if you use the RN js server while developing on both on iOS device & and Android one.
On top of that this will require from users to have things to configure to say "I am compilation to be for platform X"...
So, the way I see things would be more like:

as soon as something is deprecated in RN, we add a [@deprecated] with a message about the version. Btw, if you are using RN X that's doesn't have feature A deprecated doesn't mean you aren't interested about the deprecation coming in version Y. On the contrary, I found this pretty nice to be able to get deprecation notice before they actually become annoying YELLOW WARNINGS.
we will have to decide how we are going to follow RN version & our version anyway, even with conditional compilation. I found that's version grid are not optimal (eg as this is totally not intuitive. I was thinking about following RN version limited to X.Y omiting the Z, reserved to patch that can be from our side (eg: incorrect binding that needs a patch).
For example, this could mean reason-react-native 0.59.* would mean that it's fully compatible with RN 0.59.* (as said, bindings bug aside).

Regarding props/feature change:

if a feature is added in RN, we can add it here asap. As soon as we document feature/props correctly (eg: on the website for each props: "available since vX.Y") it shouldn't be a problem. People cannot expect a feature "binded" to just work. We have to communicate on the fact that this project is just a safe binding, nothing more
if a feature is removed, we can start with a deprecating notice a decide a strategy here. Whether we find something smart (eg: see above - not saying this idea is smart, but that's an idea), or we can just say "as soon as something is remove, you will have it in next minor version of the binding, but not in the one after". So if RN 0.60 remove something & our binding is at version 0.1.0, we can keep it for 0.2 & remove it in v0.3. Another way would be to keep deprecation notice for major: eg: RN 0.60 remove something, we are at 1.0.0, we keep it until 2.0.0 is out.

Btw, we should think about if we go to 0.x.0 (sorry if I am repeating myself) or if we want to go with x.0.0 (I have to say that I don't find useful the fact that lot's of project are using 0.x as soon as they are used widely... eg: RN, reason-react etc)...
Sorry for this huge response that is asking more questions than provide answers 🙃

I like your suggestion about following RN version limited to X.Y omitting the Z.
But how could we have x.0.0 then? Do you mean you would like to have 59.x.y for RN 0.59.x?

But how could we have x.0.0 then? Do you mean you would like to have 59.x.y for RN 0.59.x?

We wouldn't haha. I guess if we choose to follow RN versions, we should stick to 0.X.*, * being our patches following X (same for RN, 0.X.Y, Y are RN patches, so bindings should still be valid) right?

As said in another thread, somewhere, I don't really want to got this way. My first fear is that as soon as you do that, you aren't able to reuse the same JS for multiple platform. This will be especially annoying during development if you use the RN js server while developing on both on iOS device & and Android one.

My preference would indeed be to enforce iOS, Android and Web only options, but we could always allow users to disable conditional compilation via a designated parameter value. Then, debug builds could be platform independent. Since that's not the popular option, here I was simply suggesting that the deprecation message depend on RN version. I wouldn't want to sort through warnings which I do not have to address until I migrate. For example, I was going to propose we deprecate old accessibility API props in the -next bindings, but according to RN documentation

accessibilityTraits will soon be deprecated. When possible, use accessibilityRole and accessibilityStates instead of accessibilityTraits and accessibilityComponentType

which suggests me that there is less than perfect feature parity with the new API, i.e. when it is not possible. I'm not exactly sure if that is indeed the case, but should users really get warnings because they chose to stick with an old version of RN for whatever reason? We could, also, have a parameter which could be set on or off to get such warnings about things to come. Switch them on, find out what part of your codebase may need to be refactored, turn it off and go back to things as usual.

On top of that this will require from users to have things to configure to say "I am compilation to be for platform X"...
So, the way I see things would be more like:

as soon as something is deprecated in RN, we add a [@deprecated] with a message about the version. Btw, if you are using RN X that's doesn't have feature A deprecated doesn't mean you aren't interested about the deprecation coming in version Y. On the contrary, I found this pretty nice to be able to get deprecation notice before they actually become annoying YELLOW WARNINGS.
we will have to decide how we are going to follow RN version & our version anyway, even with conditional compilation. I found that's version grid are not optimal (eg as this is totally not intuitive. I was thinking about following RN version limited to X.Y omiting the Z, reserved to patch that can be from our side (eg: incorrect binding that needs a patch).
For example, this could mean reason-react-native 0.59.* would mean that it's fully compatible with RN 0.59.* (as said, bindings bug aside).

Regarding props/feature change:

if a feature is added in RN, we can add it here asap. As soon as we document feature/props correctly (eg: on the website for each props: "available since vX.Y") it shouldn't be a problem. People cannot expect a feature "binded" to just work. We have to communicate on the fact that this project is just a safe binding, nothing more
if a feature is removed, we can start with a deprecating notice a decide a strategy here. Whether we find something smart (eg: see above - not saying this idea is smart, but that's an idea), or we can just say "as soon as something is remove, you will have it in next minor version of the binding, but not in the one after". So if RN 0.60 remove something & our binding is at version 0.1.0, we can keep it for 0.2 & remove it in v0.3. Another way would be to keep deprecation notice for major: eg: RN 0.60 remove something, we are at 1.0.0, we keep it until 2.0.0 is out.

Btw, we should think about if we go to 0.x.0 (sorry if I am repeating myself) or if we want to go with x.0.0 (I have to say that I don't find useful the fact that lot's of project are using 0.x as soon as they are used widely... eg: RN, reason-react etc)...
Sorry for this huge response that is asking more questions than provide answers 🙃

My concern is then we only support bug fixes in the latest version or have multiple branches to support. RN 0.60 discussion thread suggests major changes, it may be a while before some packages get updated to be compatible, etc. so we'd need to decide when we move over to 0.60. Perhaps this would be less of an issue, especially when we have almost perfect coverage of RN components and API. There's a few stuff I'm working on and will create PRs for but I notice very little missing and my concern may well be unfounded.

I'm able to help @MoOx

@wellmonge  what do you have in mind?

We could, also, have a parameter which could be set on or off to get such warnings about things to come. Switch them on, find out what part of your codebase may need to be refactored, turn it off and go back to things as usual.

@sgny what can we do that easily? Is this possible currently without too much hassle?

My concern is then we only support bug fixes in the latest version or have multiple branches to support.

I clearly don't want to support multiple branch/version. I guess nobody does.

I wouldn't want to sort through warnings which I do not have to address until I migrate

Why not? It's a warning, not an error.
Is there a way to "hide" warnings in reason? Can we provide a number or something so people can turn off some deprecated notice?
To make things simple I think we should try @deprecate as soon as something is deprecated in a stable version of RN.
Beside the warning thing (we could decide to not warn at all & just remove stuff when they are removed with a breaking change release), how do you think we should go for the version number?
Follow RN or not at all (at maybe maintain a grid somewhere...?)
Go for reason-react-native 0.1.0? Or 0.59.0?

We could, also, have a parameter which could be set on or off to get such warnings about things to come. Switch them on, find out what part of your codebase may need to be refactored, turn it off and go back to things as usual.

@sgny what can we do that easily? Is this possible currently without too much hassle?

I haven't actually tried it yet, but I will see how much hassle that creates and report back.

My concern is then we only support bug fixes in the latest version or have multiple branches to support.

I clearly don't want to support multiple branch/version. I guess nobody does.

I wouldn't want to sort through warnings which I do not have to address until I migrate

Why not? It's a warning, not an error.
Is there a way to "hide" warnings in reason? Can we provide a number or something so people can turn off some deprecated notice?

bsb can be configured in bsconfig.json to ignore warnings with a given number. I don't know if @deprecated can throw such a numbered warning.

To make things simple I think we should try @deprecate as soon as something is deprecated in a stable version of RN.
Beside the warning thing (we could decide to not warn at all & just remove stuff when they are removed with a breaking change release), how do you think we should go for the version number?
Follow RN or not at all (at maybe maintain a grid somewhere...?)
Go for reason-react-native 0.1.0? Or 0.59.0?

I'll have to think about this, but whatever versioning we choose, we could always have a grid stating which version of RN the bindings support.

So should we got with 0.58, 0.59, 0.60 for incoming release? Or we could be lazy & start with 0.1.0 & revisit this problematic later. reason-react doesn't bother keeping in sync with react.

Ooops :)

I think following the RN version will be easiest for our users and help to minimize support efforts, as it makes it clear what the matching version is without having to read any documentation.

For naming new packages, we could do
react-native-something => @reason-react-native/something
Exception made for react-navigation since this package doesn't follow the implicit react-native- namespace, so for this one we could do reason-react-react-navigation?
I have got the namespace @reason-react-native on npm :)

I am working on netinfo bindings, will make a good example package in the repo :)

@MoOx I have already published bindings for react-native-netinfo as reason-react-native-netinfo. Are you working on those?

Not working on those. That said right now I just made an empty skeleton for @reason-react-native/* packages so no big deal. I was thinking we could have in this repo at least the one under react-native-community org. Would you be ok with that (if so, we can get your work in here?)
About the bs namespace, I was thinking about ReactNativeNetinfo or RNNetinfo (because I think we should at least prefix each package with RN or something that indicate that's not for everything (even if package name is explicit).

@sgny Would you be ok if I try to integrate your work in here as @reason-react-native/netinfo? Or would you prefer to keep them out of this repo?

@MoOx Sorry I couldn't reply earlier I was traveling and then had to catch up on my return.
I can contribute them here, should they go in a directory in the root of the project? Such as reason-react-native-netinfo?

Np. No rush.
Can you put them in a folder named @reason-react-native/netinfo (so they match the package name, easier to discover)?

Sure, I may need a few days to check up on changes to react-native-netinfo and make sure all is fine.

Seems up to date. We can still improve them later. I contributed to flow interface recently<EMAIL_ADDRESS>if that can help

I looked quickly through the recent commits and I think there are no API changes.
I will release version 3.2.1 as the latest that does not require jetifier but following releases will require versions 4.x. Do you have any ideas on that?

Doc should be enough about that don't you think?

The docs are quite clear, but I will simply make versions 4 the main release and not beta any longer.

@MoOx I think I have a reasonable solution; @reason-react-native/netinfo will depend on version 4. reason-react-native-netinfo will depend on version 3 but I will add a deprecation message pointing toward the new package.

That's perfect!

Next step is https://github.com/reasonml-community/reason-react-native/issues/594 !

FYI, reason-react-native repo is now reason-react-native/react-native & will be published as @reason-react-native/react-native on npm.
We discussed about this with @cknitt, ideas was to have all package under @reason-react-native namespace on npm & have similar repo name. reason-react-navigation will become @reason-react-native/navigation

I commented on this on a WebView issue but should we move any bindings for components removed from the core into *-legacy repos? So we'd have webview and webview-legacy and those still using RN 0.59 and below could keep using the RN bindings, but add whichever legacy bindings they require. This way, we could use WebView or NetInfo etc as the module names without conflicts.
Or perhaps just one additional legacy bindings repo where all such bindings go, since maintaining multiple EOL bindings would be an unnecessary burden.

I wouldn't bother maintaining 2 bindings especially if removed from the core. Imo we should delete deprecated bindings in "major" (0.6x.y) releases.
As soon as we have things a bit more stable (repo/packages wise), I plan to work on 0.61 & delete unnecessary bindings. People will need to upgrade anyway...
We could still keep some 0.59(etc)-stable branches & push fixes if we feel the need (but I don't).
In short

Or perhaps just one additional legacy bindings repo where all such bindings go, since maintaining multiple EOL bindings would be an unnecessary burden.

💯

@cknitt @sgny I am having second thoughts on what I did for core & navigation package.
I think for making this easy we should have this packages:

reason-react-native (core bindings), not as @reason-react-native/reason-react-native or @reason-react-native/react-native to make this longer that it should,
reason-react-navigation, not @reason-react-native/navigation to avoid confusion with react-native-navigation, nor @reason-react-native/react-navigation because it's a bit long & react is redundant...
have all others (community) packages like it's setup, as @reason-react-native/something for react-native-something.

You ok with this? I plan to cut a release for reason-react-navigation as 0.60.1 with all recent patches so we can move forward with 0.61

Package names are so inconsistent that we will have to compromise anyway. As in react-native-webview and @react-native-community/checkbox, located at react-native-community/react-native-webview and react-native-community/react-native-checkbox.
I think having everything under @reason-react-native has some benefits as one can clearly see which are the BS bindings. Accordingly, @reason-react-native/react-native is fine IMO. reason-react-native is also fine, TBH, but one would lose some of the organisational simplicity.
On the other hand, while @reason-react-native/react-navigation seems to have a somewhat redundant react in it, that can be considered a necessary evil to improve clarity. Still, that is clearly documented as bindings for react-navigation so I don't see a huge problem with the way it is now either.
Community packages are fine as they are now.

Should we move bindings for all removed components/APIs to a something-legacy repo?
I think naming modules as WebView instead of ReactNativeWebview to more closely mirror the JS side would be a win.


Implementing Custom model?

HI - I've been trying to work on implementing a custom model using  this plugin - but having some issues and maybe you could assist?
Using this-
https://developers.google.com/ml-kit/vision/image-labeling/custom-models/ios
I created a custom model with https://www.tensorflow.org/lite/tutorials/model_maker_image_classification
I trying parsing together the implementation with the custom models/ios - but having issues.
Appreciate the plugin and would love some insight into adding the custom models!

Hey!
This plugin is really just 30 lines of code at max, one for iOS and one for Android. I think to use custom models it'd be better to create those FP Plugins in your app instead directly.

OK thanks! Will do that

Actually had an easy time adding a few lines of code to this plugin to implement the custom model.
By following this model tutorial-https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/lite/g3doc/tutorials/model_maker_image_classification.ipynb
and utilizing my own data for the model.
Then I just input the name of the tflite file in the pathforresource and its ready to go!
Thank you for your plugin - it was a great working example that allowed me to add the custom components!

#import <VisionCamera/FrameProcessorPlugin.h>
#import <VisionCamera/Frame.h>
#import <MLKit.h>

// Example for an Objective-C Frame Processor plugin

@interface ImageLabelerPlugin : NSObject

+ (MLKImageLabeler*) labeler;

@end

@implementation ImageLabelerPlugin

+ (MLKImageLabeler*) labeler {
  static MLKImageLabeler* labeler = nil;

  if (labeler == nil) {
  NSString *path = [[NSBundle mainBundle] pathForResource:@"model" ofType:@"tflite"];
    NSLog(@"PATH:", path);
    MLKLocalModel *localModel =
      [[MLKLocalModel alloc] initWithPath:path];

  MLKCustomImageLabelerOptions *options =
      [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];
   NSLog(@"OPTIONS", options);
  options.confidenceThreshold = @(0.0);
  labeler =
      [MLKImageLabeler imageLabelerWithOptions:options];

    labeler = [MLKImageLabeler imageLabelerWithOptions:options];

  }
  return labeler;
}

static inline id labelImage(Frame* frame, NSArray* arguments) {

  MLKVisionImage *image = [[MLKVisionImage alloc] initWithBuffer:frame.buffer];
  NSLog(@"VISION CAMERA IMAGE LABELER: Testing this out:, %@", image);
  image.orientation = frame.orientation; // <-- TODO: is mirrored?

  NSError* error = nil;
 NSArray<MLKImageLabel*>* labels = [[ImageLabelerPlugin labeler] resultsInImage:image error:&error];

  if(error){
    NSLog(@"Error finding Labels: %@", error);
  } else {
    NSLog(@"No Error: %@", error);
  }

  NSMutableArray* results = [NSMutableArray arrayWithCapacity:labels.count];
  for (MLKImageLabel* label in labels) {
    [results addObject:@{
      @"label": label.text,
      @"confidence": [NSNumber numberWithFloat:label.confidence]
    }];
  }

  return results;
}

VISION_EXPORT_FRAME_PROCESSOR(labelImage)

@end

Awesome, glad you're appreciating my projects :)


Typing in-browser also types in the terminal

Description
Any keystrokes or typing during a browsing session will also be input into the virtual terminal. This is mostly harmless as bash does not understand the commands, but can be dangerous if it does. For example, when Chromium is launched from the virtual terminal, pressing Ctrl+C to copy something in-browser will also cause the virtual terminal to send SIGINT to Chromium.
More information

Attribute
Value

Version
86.0.4184.0 (32-bit)

Build
Debug/release

Platform
Ozone-GBM

Target
chrome

Device
Raspberry Pi 4B (4GB), Raspberry Pi 3B+

OS
Raspbian 10 "buster"

Steps to reproduce
Run Ozone-GBM on a Raspberry Pi. Type something in-browser.
GN arguments
(Ignoring any additional debug/release/codec args.)
use_ozone = true
ozone_platform_gbm = true
use_vc4_minigbm = true

ffmpeg_branding = "Chrome"
proprietary_codecs = true

target_os = "chromeos"
target_cpu = "arm"
use_sysroot = true
target_sysroot = "//build/linux/debian_sid_arm-sysroot"

enable_nacl = false
blink_symbol_level = 0

Command
EGL_PLATFORM=surfaceless ./chrome --ozone-platform=gbm --force-system-compositor-mode

Created https://crbug.com/1206632

After resolving #27, Chromium can be run without a logged-in VT. This means the terminal can be disabled, so Chromium will be the only program receiving input events.
See "Disabling VT": https://confluence.dev.bbc.co.uk/display/PLATFORMEX/Disabling+input+events+to+console


chore(deps): update module github.com/google/go-github/v60 to v62

This PR contains the following updates:

Package
Type
Update
Change

github.com/google/go-github/v60
require
major
v60.0.0 -> v62.0.0

Release Notes

google/go-github (github.com/google/go-github/v60)
v62.0.0
Compare Source
This release contains the following breaking API changes:

feat!: Add ListRunnersOptions to support all query parameters (#3094)
BREAKING-CHANGE: This changes ListOptions to  ListRunnersOptions in ListRunners and ListOrganizationRunners.

...and the following additional changes:

Bump codecov/codecov-action from 4.1.0 to 4.1.1 (#3120)
Bump go-github from v60 to v61 in /scrape (#3119)
Print the unrecognized repository rule type (#3113)
feat: Add missing github enterprise importer and domains meta fields (#3121)
Bump github.com/getkin/kin-openapi from 0.123.0 to 0.124.0 in /tools (#3122)
Bump golang.org/x/sync from 0.6.0 to 0.7.0 in /tools (#3123)
Bump codecov/codecov-action from 4.1.1 to 4.2.0 (#3124)
Bump golang.org/x/net from 0.22.0 to 0.24.0 in /scrape (#3125)
Bump codecov/codecov-action from 4.2.0 to 4.3.0 (#3128)
Add support for merge queue ruleset JSON unmarshaling (#3131)
Bump golang.org/x/net from 0.17.0 to 0.23.0 in /example (#3134)
Add Missing Changes Field to Member Event Type. (#3153)
Allow an empty array of repo ids as a request parameter (#3155)
Fix application of pagination options on ListCopilotSeats endpoint (#3090)
Hotfix: Fix broken unit test in copilot_test.go (#3156)
feat: Allow blocking until primary rate limit is reset (#3117)
Remove extra backtick from README.md (#3158)
Add support for check private vulnerability reporting endpoint (#3157)
Add support for Dependency Graph Snapshots endpoint (#2856)
Bump codecov/codecov-action from 4.3.0 to 4.3.1 (#3162)
Bump golang.org/x/net from 0.24.0 to 0.25.0 in /scrape (#3161)
Bump github.com/PuerkitoBio/goquery from 1.9.1 to 1.9.2 in /scrape (#3160)
Add Action to DeploymentStatusEvent (#3163)
Query identities associated with organization roles (#3130)
Bump version of go-github to v62.0.0 (#3165)

v61.0.0
Compare Source
This release contains the following breaking API changes:

feat!: Update deprecated endpoints in github/action_variables.go (#3104)

...and the following additional changes:

Bump go-github from v59 to v60 in /scrape (#3087)
Allow querying rule set information by ID with information returned from GetRulesFromBranch (#3089)
Bump codecov/codecov-action from 4.0.2 to 4.1.0 (#3091)
Bump github.com/PuerkitoBio/goquery from 1.9.0 to 1.9.1 in /scrape (#3092)
Add Protection to Branch struct (#3095)
Bump github.com/alecthomas/kong from 0.8.1 to 0.9.0 in /tools (#3097)
Bump golang.org/x/net from 0.21.0 to 0.22.0 in /scrape (#3096)
Bump google.golang.org/protobuf from 1.28.0 to 1.33.0 in /example (#3099)
Add audit log rate limit category and make rate limit category getter public (#3088)
Update README.md (#3110)
Allow Installation of Custom Properties Permissions (#3108)
Add NotificationSetting to NewTeam (#3111)
Fix pagination for ListCopilotSeats (#3112)
Add .*.local to .gitignore (#3115)
Add CreateOrUpdateRepoCustomPropertyValues (#3109)
Bump version of go-github to v61.0.0 (#3118)

Configuration
:date: Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
:warning: Warning: custom changes will be lost.

renovate cannot manage the imports in the scripts. that's why packages that are versioned within its url are a bit of a pain right now.


Roll Plugins from 1d2cc3aa286c to bd8138874fcf (2 revisions)

https://github.com/flutter/plugins/compare/1d2cc3aa286c...bd8138874fcf
2022-07-14<EMAIL_ADDRESS>[webview_flutter_wkwebvew] Fix UIScrollView regression for inset behavior (flutter/plugins#6104)
2022-07-14<EMAIL_ADDRESS>Roll Flutter from 803ef6a456c3 to 5a5d021e51ca (22 revisions) (flutter/plugins#6103)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Can't find the camera in HomeKit after reinstalling the HKCam-Image.

Hi,
I installed the HKCam-Image (0.0.9) to my RPI Zero and it worked. But after removing the camera from Homekit and changing the SD-Card in the RPI (with the same image burnt on) HomeKit won't find the camera anymore.
Does anybody have any suggestions what I can do?
Unfortunately I have no programming experiences at all, so I can't find the problem by myself.
Thank for your help in advance!

Remove all persistent data related to hkcam.
rm -rf /var/lib/hkcam/data

Then restart the RPi Zero.


Error: System.Runtime.InteropServices.SEHException: "External component has thrown an exception." - using PaddleDevice.Gpu()

Description
Today i've download your magnificent project. And I wrote sample from https://github.com/sdcb/PaddleSharp/blob/master/docs/ocr.md . It was worked perfectly, but very CPU demanding.
And I'm trying to start program using GPU but I have error here -> _paddleOcrAll.Run(src).Text;
System.Runtime.InteropServices.SEHException: "External component has thrown an exception."
в Sdcb.PaddleInference.Native.PaddleNative.PD_TensorCopyFromCpuFloat(IntPtr pd_tensor, IntPtr data)
   в Sdcb.PaddleInference.PaddleTensor.SetData(Single[] data)
   в Sdcb.PaddleOCR.PaddleOcrDetector.RunRaw(Mat src, Size& resizedSize)
   в Sdcb.PaddleOCR.PaddleOcrDetector.Run(Mat src)
   в Sdcb.PaddleOCR.PaddleOcrAll.Run(Mat src, Int32 recognizeBatchSize)
   в ScreTran.ExecutionService.PaddleOCRRecognize(Byte[] sampleImageData) в C:\Users\bbben\source\repos\ScreTran\Services\ExecutionService.cs:строка 131
   в ScreTran.ExecutionService.RecognizeTextAndTranslate() в C:\Users\bbben\source\repos\ScreTran\Services\ExecutionService.cs:строка 141
   в System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)

BTW: I have Nvidia 4060 GPU. Maybe I need something else install except nuget packages?
Steps to reproduce the bug
Install latest nuget packages:
Sdcb.PaddleInference
Sdcb.PaddleInference.runtime.win64.cu120-sm86-89
Sdcb.PaddleOCR
Sdcb.PaddleOCR.Models.Local
OpenCvSharp4.runtime.win
Minimal program:
byte[] myPng = File.ReadAllBytes("..filename.png");

using var _paddleOcrAll = new PaddleOcrAll(LocalFullModels.EnglishV4, PaddleDevice.Gpu())
{
    AllowRotateDetection = false,
    Enable180Classification = false,
};

using var src = Cv2.ImDecode(myPng , ImreadModes.Color);
var resultText = _paddleOcrAll.Run(src).Text;

IDE
Visual Studio 2022
OS version
Windows 11

I've installed CUDA and cuDNN. And how I understand I need to install TensorRT, but this page https://www.pythonf.cn/read/64495 unavailable.

@sdcb do the end user need to install CUDA and cuDNN? I've compiled sample project and send to my friend and program doesn't work. Friend doesn't install CUDA and cuDNN

do the end user need to install CUDA and cuDNN?

Yes.

Yes.

That's very sad. I thought it compiles with all needed libs. I can't force end user download CUDA and cuDNN. Then only thing left is stay on CPU recognition :C


[Feature]: Extend websocket endpoint for process detail pages (task and workflows)

What should we build?
This ticket builds upon the ticket https://github.com/workfloworchestrator/orchestrator-core/issues/502.
Tasks

[ ] Implement functionality to send { "invalidateCache": "processdetail:" } to trigger processdetail page invalidation for a specific process (workflow/task).
[ ] Implement functionality to send { "invalidateCache": "subscriptions" } to trigger subscriptions page invalidation.

see https://git.ia.surfsara.nl/netdev/automation/projects/orchestrator/-/issues/1963


HTTP 404: Not Found /code-scanning/codeql/variant-analyses

Hello
a error occurred when gh mrva submit, and my gh cli has logined in.
2023/10/13 17:24:07 HTTP 404: Not Found (https://api.github.com/repos/{owner}/controller/code-scanning/codeql/variant-analyses)

i have enable repo codeql scan. but when i visit the url,  it return 404. how can i enable repo codeql/variant-analyses, i not found any document in github doc. plz help me.  thanks.
PS D:\codeql\lgtm\gh-mrva> gh mrva submit -s scale-mrva  -l go -i go-command-repo -x D:\codeql\codeql-repo\go\ql\src\codeql-suites\go-security-experimental.qls
Resolving go-command-repo repositories from D:\codeql\databases.json
Submitting 46 queries for 814 repositories
Generating query pack for D:\codeql\codeql-repo\go\ql\src\Security\CWE-020\IncompleteHostnameRegexp.ql
QLPack exists, stripping all other queries from D:\codeql\codeql-repo\go\ql\src
Preparing stripped QLPack in C:\Users\xxx\AppData\Local\Temp\query-pack-763121129
Fixing QLPack in C:\Users\xxx\AppData\Local\Temp\query-pack-763121129
Installing QLPack dependencies
Compiling and bundling the QLPack (This may take a while)
Generated encoded bundle for D:\codeql\codeql-repo\go\ql\src\Security\CWE-020\IncompleteHostnameRegexp.ql
2023/10/13 17:24:07 HTTP 404: Not Found (https://api.github.com/repos/{owner}/controller/code-scanning/codeql/variant-analyses)

@lihimly Sorry for missing this issue, do you still have this problem?


Connect a printer through domain name

Hi !
First, thanks a lot for your app ! So useful for us on iOS !
Usually, i access my printer through its domain name (ex: printer.domain.com).
In the app, I can only put IP address.
Do you think you can add the possibility of using the domain name of the printer ?

Hello and thank you!
So the main reason the printer location is limited to IP address is because it makes it easy to tell if the location is a local device. This is relevant because one of the questions asked for the App Store review is "Does your app contain unrestricted web access, such as with an embedded browser?" Because its limited to only local, the answer to that is no.
This question has to do with the age rating the app gets. I'm not sure what would happen if I changed it to yes, but since I genuinely had no intention of giving people a web browser to use as a general web browser, it seemed appropriate to limit its use. Also, I have a MK4, and Prusa only seems to intend for people to connect to that (and the MINI and XL for that matter) with an IP Address, at least for now anyway. I wasn't really thinking about the Raspberry Pi PrusaLink users.
So thats just to give you an idea of why it is the way it is. But let me ask you, is the printer that you are trying to connect to on your local network? And is it running PrusaLink through a RaspberryPi?

Ok I understand.
I have a Prusa Mini on the last beta firmware. No rpi.
I mainly use domain name because when accessing PrusaLink through a VPN when I'm outside it's easier for me to use domain name (I had to set a 1:1 NAT so the IP address of the Prusa is not the same locally than through the VPN).
But in your last update you add the possibility to save multiple printers. I just set a "second" printer with my printer's VPN address and that's ok for me.
My case is quite an edge case.

@Benigans Okay, good to hear you can make your setup work with the update.


Correct grammar, avoid over-statement.

antecedent is "other advantages:".  It's not the repo.  Avoid generalization about open-source, sticking to the intention for Microsoft Docs.

I overlooked that there is a pull request that completely changes what is on the Contribute/content/index.md page.  I am leaving this here because I can't do anything about a conflicting pull request until something is done with it.

@orcmid - Thanks for these changes. Yes, I'm working on redoing some of the content, but I think these are good changes to include and merge now.


Add method SelectStandupByChannelID

and create test #59

Implemented in https://github.com/maddevsio/comedian/blob/master/storage/mysql.go
Test implemented in https://github.com/maddevsio/comedian/blob/master/storage/mysql_test.go


LNURLw Callback fails silently for a minute on an error then returns an error code

Steps to produce;

connect bolt card to wallet
delete the wallet
try tap with the card on breez or homebrew PoS
no error JSON response
After 1 minute the request has timed out and the error JSON is present

{"card_payment_id":102,"level":"debug","msg":"checking payment rules","time":"2023-03-20T22:59:13Z"}
{"card_payment_id":102,"level":"info","msg":"initiating lndhub payment","time":"2023-03-20T22:59:13Z"}
{"level":"info","msg":"{\"login\":\"b47b158ca83346b01f2e\",\"password\":\"0d4ad89086fb15d6333c\"}","time":"2023-03-20T22:59:13Z"}
{"level":"info","msg":"{\"invoice\":\"lnbc100n1pjp3eftpp5j7xt56w3gq2nprnd5vt5d7nvnpv0zsl872nm6042wkeun5vuxdvqdq8w3jhxaqcqzpgxqyz5vqsp55rguqhpc2aumsxmr93ludmwxfn3tp6rhy8djlkzx0cg28htjd3ns9qyyssqgkm8v5n8392qer8kz3davj9lj6lw9eszr2kjdt9fdr8acu782ypnp2ht36rycc2ae6rj5cw5se28yd3f9v2czvv0y4qj59mcs6v07vsq497w3x\",\"freeamount\":\"10\",\"loginid\":\"b47b158ca83346b01f2e\"}","time":"2023-03-20T22:59:13Z"}
{"level":"info","msg":"{\"error\":true,\"code\":6,\"message\":\"Something went wrong. Please try again later\"}","time":"2023-03-20T22:59:14Z"}
{"level":"debug","msg":"cb request","time":"2023-03-20T23:00:45Z","url":"/cb?k1=7b8b9c600bd47ee3d7d33881f7d4311e&pr=lnbc100n1pjp3eftpp5j7xt56w3gq2nprnd5vt5d7nvnpv0zsl872nm6042wkeun5vuxdvqdq8w3jhxaqcqzpgxqyz5vqsp55rguqhpc2aumsxmr93ludmwxfn3tp6rhy8djlkzx0cg28htjd3ns9qyyssqgkm8v5n8392qer8kz3davj9lj6lw9eszr2kjdt9fdr8acu782ypnp2ht36rycc2ae6rj5cw5se28yd3f9v2czvv0y4qj59mcs6v07vsq497w3x"}
{"card_payment_id":102,"level":"info","msg":"lnurlw request has timed out","time":"2023-03-20T23:00:45Z"}

I tried to reproduce the issue on my system (up to date).

connect bolt card to wallet
delete the wallet
try tap with the card on PoS

The card worked on SimplePos, Breez & BtcPayServer.
It seems that deleting the wallet from my app did not deactivate the card account on the Bolt Card service or LndHub systems.


[IMPROVEMENT] Enable spdk_tgt debug log for helping debug

Is your improvement request related to a feature? Please describe (👍 if you like this request)
Enable spdk_tgt debug log for helping debug.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

Hi @derekbit
In a fresh install master head cluser, log Failed to sync log settings appeared in longhorn-manager pod after a block disk added, which looks not like the behavior mentioned here, could you help comfirm this? thank  you.
time="2024-05-21T08:05:51Z" level=warning msg="Failed to sync log settings to instance manager pod instance-manager-e62ac5a56996572a8a0e9815fb2eff07" func="controller.(*InstanceManagerController).handlePod" file="instance_manager_controller.go:511" controller=longhorn-instance-manager error="failed to create instance manager client for instance-manager-e62ac5a56996572a8a0e9815fb2eff07: failed to check Instance Manager Process Manager Service Client connection for instance-manager-e62ac5a56996572a8a0e9815fb2eff07 IP <IP_ADDRESS>: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing: dial tcp <IP_ADDRESS>:8500: connect: connection refused\"" instanceManager=instance-manager-e62ac5a56996572a8a0e9815fb2eff07 node=ip-172-31-41-151 nodeID=ip-172-31-41-151

Hi @derekbit ,
I performed step 1 ~ 4 in the test steps, then changed the v2DataEngineLogLevel valueto any legal value. then the log appeared in longhorn-manager pod
time="2024-06-25T10:11:03Z" level=warning msg="Failed to sync log settings to instance manager pod instance-manager-3b83960f17808bc3c7a74a5058c77121" func="controller.(*InstanceManagerController).handlePod" file="instance_manager_controller.go:511" controller=longhorn-instance-manager error="failed to set log level for v2-data-engine-log-level: rpc error: code = Internal desc = failed to set log level: rpc error: code = Unknown desc = error sending message, id 10882, method log_set_level, params {Warn}: {\"code\": -32602,\"message\": \"invalid log level\"}" instanceManager=instance-manager-3b83960f17808bc3c7a74a5058c77121 node=ip-172-31-34-31 nodeID=ip-172-31-34-31
>
> date
Tue Jun 25 10:11:12 UTC 2024
>
> kl get pods | grep instance-manager
instance-manager-84c61632f666e0ad9766636fbd6f5d1a   1/1     Running   0             74m
instance-manager-a30cc440471a5b0ca5f510829c9ca439   1/1     Running   0             74m
instance-manager-cc630927b470dabfb4ac4b26bf842f9e   1/1     Running   0             74m
instance-manager-beae34f1a32004fcf17ed4cf2d2c193c   1/1     Running   0             25m
instance-manager-3b83960f17808bc3c7a74a5058c77121   1/1     Running   0             25m
instance-manager-f382c1022d65c1e43951f5c6c5814a28   1/1     Running   0             25m

supportbundle_be5f346a-23ef-42dd-91dd-868deac32094_2024-06-25T10-11-51Z.zip

cc @chriscchien

Verified pass on longhorn master(longhorn-manager 4647dc) with test steps


Use compiler attribute to warning wrong NULL parameter

Add a new macro that uses gcc nonnull attribute to generate warnings when a NULL parameter is given to a function that declares that that parameter should not be NULL.
This macro is set to all include/kernel.h functions. One caveat on using this macro is that was needed to turn off the flag "Wnonnull-compare" otherwise the compiler will warn when finds a comparison with NULL for a parameter set with that macro. That's is a small convenience that in the worst case just ignore a useless check but the benefit is that if someone wrongly pass a explicit NULL pointer a warn will be raised and we avoid further problems.
For example, k_pipe_get(struct k_pipe *pipe, void *data, size_t min_xref, s32_t timeout) crashes if pipe or data are NULL. With this patch, a warning will be generate in compile time with k_pipe_get(NULL, &data, min_xref, timeout).
Note that this does not change anything in runtime and if the warning is ignored it will crash as well.

just removed the patch applying it to whole kernel. There are cases where the compiler do optimizations considering that a parameter won't be NULL. So, it is important to apply it carefully only in parameters that we will not do checks.


Getting a console error when opening TidyNPC sheets

This module is great. It really cuts down on the "accidental changes" my players make.
But as the title says. I am getting a console error each and every time I open an NPC character sheets with TidyNPC sheets enabled as the default sheet for the NPC's.
Here is the message it keeps spamming in the console. I am uncertain if this effects anything in the game itself.
TypeError: Cannot read property 'classList' of null
at addRemoveClass (lockableSheet.js:419)
at lockableSheet.js:452
at Array.forEach ()
at lockUnlock (lockableSheet.js:451)
at LockableTidy5eNPC.makeLocked (lockableSheet.js:172)
at LockableTidy5eNPC.makeLocked (lockableNPCSheet.js:12)
at LockableTidy5eNPC.onRender (lockableSheet.js:95)
at LockableSheet.onRenderHook (lockableSheet.js:84)
at Function._call (eval at  (listeners.js:56), :4:14)
at Function.call (foundry.js:179)

This issue seems to have been fixed in the update. But unfortunately has produced another bug.
Screenshots below:
https://gyazo.com/e6e72caf36a74b41530df5bb00367ce7
https://gyazo.com/11ad0d8abea6603822f4696fbe75580a


Macro to call others macro with button on userform (solidworks)

Hello
Having several macros, I would like to make a clean layout in order to choose the appropriate macros. So I created a macro that opens a userform containing different buttons. I would like to open my different macros via these buttons. The problem is that I have no idea how to use them.
I tried that :
Private Sub CommandButton2_Click()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks

RunMacro "\\***-srv-fic-01.******.local\OneDrive$\_Solidworks ressources\Modèles ******\Macro.swp", "Macro", "main"

Sub RunMacro(path As String, moduleName As String, procName As String)
swApp.RunMacro2 path, moduleName, procName, swRunMacroOption_e.swRunMacroUnloadAfterRun, 0
End Sub
End Sub
Sadly isn't work. Anyone have an idea ?
Thanks

already do that but doesn't work, sorry
Thanks


Clarify handling of use_trampoline in sdk-common structs

There is one struct in particular that uses this behind a feature flag:
https://github.com/breez/breez-sdk-greenlight/blob/12980553a1ca1f6cd4d73e1128cb468276c578b6/libs/sdk-common/src/lnurl/specs/pay.rs#L128-L147
Question:

Should sdk-common remove the liquid feature flag and instead only contain truly common structs and code?

If so, should there be a separate LnUrlPayRequestWithTranpoline (or similar) in the GL SDK repo?

Alternatively, is the current approach ok and we should keep it?

Let's discuss below.

Is it possible to have LnUrlPayRequest in sdk greenlight and LnUrlPayRequest in sdk liquid, but they're different structs? That would be my preferred option.

IMO the feature flag in sdk-common is overkill. We should instead place only common code in sdk-common. What's implementation-specific should live in the implementation-specific repo (for example a new struct with use_trampoline in the GL SDK repo).

Is it possible to have LnUrlPayRequest in sdk greenlight and LnUrlPayRequest in sdk liquid, but they're different structs? That would be my preferred option.

I don't think so, as lnurl_pay lives in sdk-common and it has to know which request struct to reference.

I don't think so, as lnurl_pay lives in sdk-common and it has to know which request struct to reference.

Is it? I can't find it.

There might be another option here too.
use_trampoline could be a configuration-time setting instead. That would mean it applies to all payments. Then this problem would no longer exist, because the field would not be necessary on a specific payment. What do you think @roeierez?

You're right, lnurl_pay is not in sdk-common but instead implemented (slightly differently) in Liquid and GL SDK repos.
Then your idea could well work. The GL SDK repo lnurl_pay could reference its own request struct with use_trampoline, the Liquid one could reference the sdk-common request struct without use_trampoline.

I think the whole problem is that the udl interface has leaked into the sdk-common. We should leave there only "business-logic" or business models.
So I don't see any issue in creating two different structures and two different udl definitions.

I think the whole problem is that the udl interface has leaked into the sdk-common.

With udl definitions you mean the rust structs that are also defined in the udl? (asking because the udl file is still in sdk-bindings)

Despite being more error-prone than your suggestions, the current approach of using feature flags—#[cfg(feature = "liquid")] and #[cfg(not(feature = "liquid"))]—to include or exclude fields from shared structs is imo adequate.
I am not sure if this is worth doubling the work over, we can add validation tests for sdk-common w/ & w/o liquid feature on the CI to catch any issues.
I'm open to any solutions that does not double the work managing these structs.

I think the whole problem is that the udl interface has leaked into the sdk-common.

With udl definitions you mean the rust structs that are also defined in the udl? (asking because the udl file is still in sdk-bindings)

I am referring to the fact that the LnUrlPayRequest is defined in sdk common but is not used there anywhere, it is only used in sdk-core and liquid project. So in fact we can create for both of these referring projects their own LnUrlPayRequest. Not only that the LnUrlPayRequest is the interface implementation (udl file) so no reason both will share the same interface (or at least no reason to require that). Both interfaces have different motivation to change (different implementations).


Fix broken links to poster projects

Thank you!

@andrew wanna fix them at https://github.com/ipfs/camp as well? (Should just be a c&p)

@daviddias they work on ipfs/camp because they are relative links, no need for a fix there


Config files: apiKeyHash cleanup.

To have a possibility to disable authorization for the users by miss of apiKeyHash definition at all.
Later on Scorex we will recognize empty string as a "disabled" auth.

Substituted by PR https://github.com/HorizenOfficial/Sidechains-SDK/pull/507


Update Erlang / Elixir in Dev Env / CI

Pull Request Test Coverage Report for Build 231
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.904%

Totals

Change from base Build 212:
0.0%

Covered Lines:
1067

Relevant Lines:
1161

💛  - Coveralls


[DOC] Add some hints to enable gitea on selinux/Ubuntu/Fedora

Users that attempt to install Gitea from binary on Fedora/Ubuntu/etc. may encounter several problems due to selinux. I'm not an expert on that, but I think we should add a couple of hints to the docs around this scenario.
Notes that might be useful:

setcap cap_net_bind_service=+ep /path/to/binary/gitea will allow the exact version of gitea's executable to bind to privileged ports; this permits Gitea to bind directly to 443 without running as root. Upgrading Gitea (i.e. replacing the executable) will remove this capability and force the admin to run the command again.

There's a number of considerations for running the service from systemd if selinux is active; if we can't provide a full recipe for enabling Gitea, we may leave some pointers about these limitations.

(I might do this myself if I ever get time to investigate this setup).

Disabling selinux for now?

I've having no issues running Gitea under its own user account on a host with selinux set to enforcing. To bind to ports 80 and 443 set CapabilityBoundingSet=CAP_NET_BIND_SERVICE and AmbientCapabilities=CAP_NET_BIND_SERVICE in the systemd unit file, they are commented out in the example unit file.
Other than that I'm running from a directory in /opt and haven't even looked at the selinux security contexts on the files in that directory.

I would really appreciate this.

The problem is someone needs to play that game of whackamole and write the documentation for us...
So if you have just done this - please consider documenting what you needed to do.

I would if setroubleshoot gave meaningful things and not touch /.autorelabel and ausearch -c 'gitea' --raw | audit2allow -M my-gitea && semodule -X 300 -i my-gitea.pp
I simply don't have the time to sort through all of that, sadly, especially if it's complicated enough that setroubleshoot isn't going to even give more meaningful hints.

@vwbusguy can you perhaps elaborate a little more on what parts of Gitea are not working for you due to selinux? As I've stated before in this issue, I'm running Gitea on a RHEL7 host with selinux set to enforcing and have not run into any issues.
I have an Ansible role that I use for the installation and configuration of Gitea but it's also based around RHEL7 so I'm not sure if that would be of any help to you.

It seems the biggest issue is proper labelling for the data directory/binary for file system writes.

I think I've figured out an SELinux policy that works, though it could be more granular.  I suspect much of my problem may have been that I'm running the data directory in an alternative path where others are likely using /var/lib, etc.
But these two things fixed most (maybe all?) of the issues for me:

The executable binary should be labeled as "default_t" (A simple restorecon should fix it)
The gitea data location should be labelled var_lib_t (In my case: chcon -Rv -t var_lib_t /local/gitea/)


License

Hello, my employer would like to use your code as a part of our penetration tests. Not to distribute, but use. Could you add an appropriate license to allow this OR at least provide a license to clarify your software usage? Thanks!

Hey, I'll add one, thanks for the heads up that it was missing. The code in this repository is MIT licensed so you can use it without issue.


RSpec/Rails/InferredSpecType doesn't check to see if you're actually using Rails

We're working on a Sinatra app.
When we have RSpec/Rails/InferredSpecType enabled (by default) and we run auto correct, it removes all the type: :whatever_type params from specs.  But because we're not in Rails, those inferred types don't actually apply.
If I try adding
describe MyDomain::App, type: :feature do
  ... tests here
end

Autocorrect makes it
describe MyDomain::App do
  ... tests here
end

And if I try adding  infer_spec_type_from_file_location! which works on a Rails app,  I get
An error occurred while loading ./spec/whatever_spec.rb.
Failure/Error: config.infer_spec_type_from_file_location!

NoMethodError:
  undefined method `infer_spec_type_from_file_location!'

Feels like rubocop-rspec should check to see if Rails is involved before enforcing and auto correcting that rule.
We can disable the rule for now but it feels like a workaround.
 It won’t be included by default with rubocop-rspec.
I suggest you to configure your project to only run relevant cops. And you can skip whole departments:
RSpec/Rails:
  Enable: false

Thanks for the tip.  Didn't realize you can skip a bucket like that.


Close button to exit user settings does notalways navigate back to the home page automatically

Describe the bug
When close button is clicked on settings, it navigates to the previous page. For example if my previous page was example.com, and I just type to my browser https://live.rbg.tum.de/settings, and then click the close button, I return to example.com, not https://live.rbg.tum.de.
To Reproduce
Steps to reproduce the behavior:

Go to any website except https://live.rbg.tum.de
Go to https://live.rbg.tum.de/settings directly.
Click the esc button.

Expected behavior
What I expect is that close button should return to the https://live.rbg.tum.de automatically, probably nobody will ever visit the settings page directly, but still it can probably fixed with a one liner.
Additional context
If I remember correctly, the esc button navigates directly to the previous page, just changing that to the https://live.rbg.tum.de should be enough.

changing @click="history.back() to onclick="window.location.href='https://live.rbg.tum.de/' at close-btn.gohtml fixes this problem if this issue wanted to be fixed or it can stay as it is because probably nobody will ever enter the settings directly.

But this would remove the functionality, that users can go back to their lecture, if they entered the settings from a lecture page. Shouldn't we keep that functionality?

I did not consider this case while writing this issue, but you are right. Like I said I think it is a very low possibility that a user encounters this problem because even I have to copy the settings link, navigate to a whole different web page etc. to create this problem. That's why I am not sure this needs a fix or not. Maybe before navigating to history.back, we can check the previous url, if it has live.rbg.tum in it, then we can navigate back, else just navigate to the home page, but if you find this unnecessary, we can leave it as it is.

Most browsers prevent us from getting the previous URL as this could be a security violation

... it can stay as it is because probably nobody will ever enter the settings directly.
I'd say just keep it as it is. And if one ever wants to visit TUM-Live from the setting page directly, they can still get to the home page by clicking the logo in the upper-left corner :-D

Ok then I'll close this issue :)


Do not print help when no tty is detected.

On https://github.com/rackerlabs/kthresher/pull/57#issuecomment-427698307 it was found that kthresher will trigger a non-zero exit code when no action is performed. This is troublesome for timers in systemd, this commit detects if the execution of no actions is triggered without a tty and exits with 0 avoiding the non-zero exit code and printing the help.
--
Closes #48

Merging now in development


1.1 migration

Coverage decreased (-2.4%) to 82.28% when pulling 3f5feaa0969495f627e0e9d63bbcd77f2af44eee on 1.1-migration into a6213fe8cbfb5aaba2d35c3f8a81d1dfbf6aeb55 on 1.1.


Implement resolve-transformations.js as gulp-plugin

This has the advantage that you can now pipe the *.cson-files containing the sign-sources like this:
gulp.src('dev/*.cson') // read the source-files
    .pipe(cson()) // convert to json
    .pipe(resolveTransformations()) // replace all the transformation-shortcuts by the expanded values
    .pipe(gulp.dest('build/signs')) // write the resulting *.json files to build/signs/

So there is no longer the need of generating build/signs/ and build/signs-simple/, but build/signs/ simply contains the *.json-files for all the signs without transformation-shortcuts like {center2tri}.
This will also remove all outdated assets from the release-repository, so that the release-repo contains exactly, what the GitHub releases in this repository contain.
Examples for that are: global-patched.json, fonts/traffico_eed14dae42715ba7853555547f3ce49d.ttf and the signs-simple/-directory.
And this removes the outdated task patch-names as discussed in https://github.com/mapillary/traffico/commit/8e54d03a7b5b8030858ba150e2eef3a84c694fa0

Thanks a lot @floscher! This is awesome :sparkles:.


The proper fix would be to control these with
https://wayland.app/protocols/wlr-output-management-unstable-v1
and decide where to put it.

commit cfabf76584e9468251535319ba393f70b5b7889e
Author: Florian Klink<EMAIL_ADDRESS>Date:   Wed Jul 17 12:33:13 2024 +0200
nix: bump nixpkgs, fix wlr-randr cross

Contains https://github.com/NixOS/nixpkgs/pull/327863

Hardcoding seems fine. I'd like to pin against the upstream again after NixOS/nixpkgs#327863 is merged

Yes ofc


implement zk SwapClaimProof

This is a placeholder ticket for implementing a zk SwapClaimProof.
Currently we do not have a transparent proof for swap claims, so part of this work is writing down what the integrity checks should be.

This is depending on #2151 and changing the BatchSwapOutputData #2183


Issu about  "from libpydart import GraspAnalyser" in dart/src/dart.py

I have already performed the 'cmake'  step, but when I run dart.py, it report the error: "ModuleNotFoundError: No module named 'libpydart", I wonder why.
thank you very much ^-^

Hi @lihaoming45 can you please confirm if libpydart.so exists? If it does, add the path to its directory in the sys.path.append() statement in Line 2 of dart.py.

sorry ,libpart.py is not exists. I check the "CMakeLists.txt"file, I found that you delete the pydart code:
is that the reason cause the problem?
| |
lihao.ming
|
|
@.***
|
---- Replied Message ----
| From | Samarth @.> |
| Date | 2/22/2023 08:21 |
| To | @.> |
| Cc | @.> ,
@.> |
| Subject | Re: [contactgrasp/dart] Issu about "from libpydart import GraspAnalyser" in dart/src/dart.py (Issue #3) |
Hi @lihaoming45 can you please confirm if libpydart.so exists? If it does, add the path to its directory in the sys.path.append() statement in Line 2 of dart.py.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Sorry for bothering you again. I try to run the following code in   CMakeLists.txt( to generate the libpydart.so):
The "cmake .." process is good， but when i execute "make" order. it report an error like this:
I still can't figure out what's the problem is. Sincerely hope for your help.
Thank you
| |
lihao.ming
|
|
@.***
|
---- Replied Message ----
| From | @.> |
| Date | 2/22/2023 16:24 |
| To |<EMAIL_ADDRESS>|
| Subject | Re: [contactgrasp/dart] Issu about "from libpydart import GraspAnalyser" in dart/src/dart.py (Issue #3) |
sorry ,libpart.py is not exists. I check the "CMakeLists.txt"file, I found that you delete the pydart code:
is that the reason cause the problem?
| |
lihao.ming
|
|
@.***
|
---- Replied Message ----
| From | Samarth @.> |
| Date | 2/22/2023 08:21 |
| To | @.> |
| Cc | @.> ,
@.> |
| Subject | Re: [contactgrasp/dart] Issu about "from libpydart import GraspAnalyser" in dart/src/dart.py (Issue #3) |
Hi @lihaoming45 can you please confirm if libpydart.so exists? If it does, add the path to its directory in the sys.path.append() statement in Line 2 of dart.py.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

sorry ,libpart.py is not exists. I check the "CMakeLists.txt"file, I found that you delete the pydart code:

python interface
find_package(Boost REQUIRED)
IF(Boost_FOUND)
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost COMPONENTS python)
add_library(pydart SHARED src/pydart.cpp)
target_link_libraries(pydart ${Boost_LIBRARIES} graspanalyzer)
target_include_directories(pydart PRIVATE ${Boost_INCLUDE_DIRS} "/usr/include/python2.7/")
ELSEIF(NOT Boost_Found)
message(FATAL_ERROR "Cannot find Boost python")
endif()

is that the reason cause the problem?

Sorry for bothering you again. I try to run the  following code in  CMakeLists.txt( to generate the libpydart.so):
python interface
#find_package(Boost REQUIRED)
IF(Boost_FOUND)
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost COMPONENTS python)
add_library(pydart SHARED src/pydart.cpp)
target_link_libraries(pydart ${Boost_LIBRARIES} graspanalyzer)
target_include_directories(pydart PRIVATE ${Boost_INCLUDE_DIRS} "/usr/include/python2.7/")
message(STATUS "Build the Pydart")
ELSEIF(NOT Boost_Found)
message(FATAL_ERROR "Cannot find Boost python")
endif()
The "cmake .." process is good， but when i execute "make" order. it report an error like this:
/remote-home/lihaoming/haoming/contactgrasp/dart/src/pydart.cpp:27:72:   required from here
/usr/local/include/boost/python/object/value_holder.hpp:133:13: error: no matching function for call to 'GraspAnalyser::GraspAnalyser(const std::__cxx11::basic_string&, const std::__cxx11::basic_string&, const std::__cxx11::basic_string&, const boost::python::optional&, const boost::python::optional&, const std::__cxx11::basic_string&)'
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
I still can't figure out what the problem is. Sincerely hope for your help.
Thank you

Thank for the response, I have already  make the program successfully. There is no need to add the 7th float argument, just default it as float scale=1.426976f"),.
but I when I try to run create_tracker();, the console report that:"Framebuffer with requested attributes not available. Using available framebuffer. You may see visual artifacts". I check with google, it seems that i use the wrong version of pangolin. can you tell me which version you use?
| |
lihao.ming
|
|
@.***
|
---- Replied Message ----
| From | Samarth @.> |
| Date | 2/27/2023 09:14 |
| To | @.> |
| Cc | @.> ,
@.> |
| Subject | Re: [contactgrasp/dart] Issu about "from libpydart import GraspAnalyser" in dart/src/dart.py (Issue #3) |
Hey @lihaoming45 it seems I forgot the update the Python binding code when I updated the GraspAnalyzer C++ class constructor. I do not have the code set up on my computer right now, so I cannot push a commit fixing this. But I can point you towards the solution. Can you please implement it and make a PR?
The problem is that the GraspAnalyzer constructor has 7 arguments (string, string, string, bool, bool, bool, float). But the Python binding has only 6 arguments - the 7th float argument is missing. Please add this 7th argument and let me know if it solves the problem.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Sorry to bother you again, can you tell me which version of cuda you use?
I use the cuda-11.4, it might  cause the problem "Segmentation fault (core dumped)".
The error occurs at optimizer.cpp, "cudaMalloc(&_dDebugIntersectionError,_maxIntersectionSites*sizeof(float));"
| |
lihao.ming
|
|
@.***
|
---- Replied Message ----
| From | @.> |
| Date | 2/28/2023 16:52 |
| To |<EMAIL_ADDRESS>|
| Cc |<EMAIL_ADDRESS>,
<EMAIL_ADDRESS>|
| Subject | Re: [contactgrasp/dart] Issu about "from libpydart import GraspAnalyser" in dart/src/dart.py (Issue #3) |
Thank for the response, I have already  make the program successfully. There is no need to add the 7th float argument, just default it as float scale=1.426976f"),.
but I when I try to run create_tracker();, the console report that:"Framebuffer with requested attributes not available. Using available framebuffer. You may see visual artifacts". I check with google, it seems that i use the wrong version of pangolin. can you tell me which version you use?
| |
lihao.ming
|
|
@.***
|
---- Replied Message ----
| From | Samarth @.> |
| Date | 2/27/2023 09:14 |
| To | @.> |
| Cc | @.> ,
@.> |
| Subject | Re: [contactgrasp/dart] Issu about "from libpydart import GraspAnalyser" in dart/src/dart.py (Issue #3) |
Hey @lihaoming45 it seems I forgot the update the Python binding code when I updated the GraspAnalyzer C++ class constructor. I do not have the code set up on my computer right now, so I cannot push a commit fixing this. But I can point you towards the solution. Can you please implement it and make a PR?
The problem is that the GraspAnalyzer constructor has 7 arguments (string, string, string, bool, bool, bool, float). But the Python binding has only 6 arguments - the 7th float argument is missing. Please add this 7th argument and let me know if it solves the problem.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


🚀 [Feature] Deactivated user in Authentik must be hidden in Dreammall

🚀 Feature

Deactivated user in Authentik must be hidden in Dreammall
We decided that we use Authentik as administrative interface. Hence we need to reflect decisions made in authentik in our application.
Who: Admin
What: Bans User, User Data must become invisible for everyone (except in authentik)
Why: The Admin might decide to ban unsers because the produce malicious content - hence we ban the user and want to hide all contents of his.
The same applies in the reverse - once a user is unbanned we want to see all his content again.

I would like to change the requirements here.
This is what Authentik webhooks send after deactivating a user:
{
  "body": "model_updated: {'model': {'pk': 5, 'app': 'authentik_core', 'name': 'What Ever', 'model_name': 'user'}, 'http_request': {'args': {}, 'path': '/api/v3/core/users/5/', 'method': 'PATCH', 'request_id': 'c27363165d4d4dd39fe9b234dc1a7c74', 'user_agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:130.0) Gecko/20100101 Firefox/130.0'}}",
  "severity": "notice",
  "user_email"<EMAIL_ADDRESS>  "user_username": "akadmin",
  "event_user_email"<EMAIL_ADDRESS>  "event_user_username": "akadmin"
}

This is what Authentik webhooks send when you delete a user:
{
  "body": "model_deleted: {'model': {'pk': 5, 'app': 'authentik_core', 'name': 'What Ever', 'model_name': 'user'}, 'http_request': {'args': {}, 'path': '/api/v3/core/users/5/', 'method': 'DELETE', 'request_id': '9bd0288e2fd14681b2cfd0a0a79ae4da', 'user_agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:130.0) Gecko/20100101 Firefox/130.0'}}",
  "severity": "notice",
  "user_email"<EMAIL_ADDRESS>  "user_username": "akadmin",
  "event_user_email"<EMAIL_ADDRESS>  "event_user_username": "akadmin"
}

I don't know why the payload does not contain what has changed for model_updated. Was the user deactivated? Or did he just update his name? Probably, we can get this through another API request.
But this makes me reconsider the feature itself. A soft-delete is actually separate feature, isn't it? We haven't implemented hard-delete, yet. Here's my suggestion:
Implement hard-delete first. Implement soft-delete when we actually need it.
The important requirement is: "Make the user content go away." This is covered if we implement a hard-delete. Implementing soft-delete brings in a lot of complexity, because every resolver in our backend would need to filter for disabled: true. This adds potential for bugs.
There is also another reason to go for hard-delete first: GDPR. It requires us to delete user data on request. A soft-delete is not enough and if we change this requirement, we would check this box, too.

done via #2258


Admin/User Toggle

admin/user mode Toggle for Admins/Mods
to avoid unintended changes to the defaults and such while they are playing.  So we can avoid accidental changes to things while they themselves are actually playing the game and not performing duties. A way to kind of separate them from accidentally making large changes and having to pay extra close attention to what they are changing and rather be able to just change their own options like a normal user would.  As most of my staff are actual players and just help out with staff duties.

This was resolved in GD 1.4.0+ with ADMIN tab only applying to claim you are in. Defaults are now only controlled via config.


Investigate claim about the performance benefits of string.Format

Koans/AboutStrings.cs:231 currently claims that string.Format is more performant than string concatenation. Investigate this claim and consider changing the wording.
If string.Format is slower, move the related Koans below the StringBuilder Koan.

String concatenation is indeed faster. See this comment on Stack Overflow as well as my own benchmarks.


[WIP]: do not merge, just check No tests in travis Ci

ignore it.

Hi @houshengbo. You can setup Travis CI to your fork of openwhisk as well to be able to test experiments like these without cluttering our Pull Requests page too much. Feel free to reach out to me if you need any guidance on how to do that.


Fix for #274

https://github.com/zestframework/Zest_Framework/issues/274

@peter279k  I do not know why test failing.

The Travis CI build is failed because the assertions are failed.
It seems that the regular expression patterns are not correct. And it should be checked.
The failed assertion messages are as follows:
1) Framework\Tests\StrTest::testHasLowerCase
Failed asserting that false is true.
/home/travis/build/zestframework/Zest_Framework/Tests/Data/StrTest.php:39

The Travis CI build is failed because the assertions are failed.
It seems that the regular expression patterns are not correct. And it should be checked.
The failed assertion messages are as follows:
1) Framework\Tests\StrTest::testHasLowerCase
Failed asserting that false is true.
/home/travis/build/zestframework/Zest_Framework/Tests/Data/StrTest.php:39

Am sure "Regx" is correct, you may try to use online regx editor and manually check that in your Home.php" file it produce right result
i do not know what the hack problem with UnitTest

This PR is now closed due to better one #280


Upgrade Docker in main from 20.10.24 to 24.0.1

Subject says it all.

We first need to update Docker 23, before trying out 24.
Disabled the Docker workflow temporarily.


Update auth for OpenShift

Description
This PR includes the following proposed change(s):

added option for pulling env when running in openshift

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Tested locally
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] New and existing unit tests pass locally with my changes

Love it.


Doesn’t give option for Desktop icon

After installing on steam deck, I see where others get an option to have desktop icon. However my install did not give me that option and I’m unable to use it. The 1st steam deck worked fine. But the 2nd steam deck will not give the option for an icon. Granted the 1st steam deck had it installed a month ago. The second one that isn’t working is current 11/15/23. I’ve uninstalled and reinstalled. No icon option is given.

I believe the icon and shortcut should still be there. Can you please open Dolphin file explorer and navigate to /home/deck/Desktop and see if it's there in Dolphin? I think this might be an artifact of the updated curl install method and I need to debug why this is happening. For now, just please manually copy it to your desktop from that folder (if it's there).

I updated the script with a minor change. I thin


QuickSwap: error when choose Arbitrum

Screenshot or description

Steps to reproduce

go to quickswap page
choose arbitrum as "You Send"
or connect wallet with arbitrum network

Environment

Domain: pull request build
Mainnet or Testnet:  mainnet
Browser: chrome
OS: MacOS

Your version

[x] latest
[ ] not latest (please try to upgrade first)
[ ] not sure

Does this affect atomic swap flow?

[ ] yes
[x] no

Are real funds at risk?

[ ] yes
[x] no

похожая проблема при выборе trx на wallet.wpmix.net https://screenshots.wpmix.net/MessageCenterUI_pZzLuTZzYHfxrgjJOghgQrXLcViw1o6t.png


telemetry support

Any plans on that? Curious why Registry approach was chosen over telemetry for events logging. Also as far as i can tell it's not possible right now to use things like opentelemetry for nested spans (e.g.: for query tracing)

I'm sorry, currently I have no plans to use open telemetry. But maybe in the future, I would add telemetry support. The Registry approach is currently used for ExUnits tests, so I can trace some events in case of retry-reads and retry-writes workflows.

I added support for telemetry and logging. Feel free to check the master branch.


Update quicksilver.rb

Thank you for the contribution. It was merged directly as 569cf7a0f0df2db012464832ac0045be48e71ae0 to keep commit history cleaner. Your contribution is still credited to you.


Can't Export Localizations because of this framework

It fails with the following error:
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_OIDAuthState", referenced from:
      objc-class-ref in GoogleSignIn.o
  "_OBJC_CLASS_$_OIDAuthorizationRequest", referenced from:
      objc-class-ref in GoogleSignIn.o
  "_OBJC_CLASS_$_OIDAuthorizationService", referenced from:
      objc-class-ref in GoogleSignIn.o
  "_OBJC_CLASS_$_OIDIDToken", referenced from:
      objc-class-ref in GoogleSignIn.o
  "_OBJC_CLASS_$_OIDServiceConfiguration", referenced from:
      objc-class-ref in GoogleSignIn.o
  "_OBJC_CLASS_$_OIDURLQueryComponent", referenced from:
      objc-class-ref in GoogleSignIn.o
  "_OIDOAuthErrorResponseErrorKey", referenced from:
      +[GIDEMMSupport handleTokenFetchEMMError:completion:] in GoogleSignIn.o
  "_OIDOAuthTokenErrorDomain", referenced from:
      ___53-[GIDGoogleUser refreshTokensIfNeededWithCompletion:]_block_invoke.20 in GoogleSignIn.o
  "_OIDResponseTypeCode", referenced from:
      -[GIDSignIn authenticateInteractivelyWithOptions:] in GoogleSignIn.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It works when making a regular or release build, but fails when using Product → Export Localizations…
Environment

Xcode v14.3
GoogleSignIn-iOS v7.0.0 added with SPM

Is there a workaround to make it work?

Sorry you're having trouble. I just created a simple project that pulls in GoogleSignIn-iOS via SPM and wasn't able to reproduce this issue with Xcode 14.3. I also tested in our ObjC and Swift sample apps and didn't see the problem there either.
Can you add more about how things are set up in your project?

I'm adding GoogleSignIn-iOS to the project's framework target that is used by multiple app targets of the same project.
I've tried to reproduce the structure I have in a new test project and everything works well in it 🤦🏻♂
So there's something wrong with my project configuration I have to find and fix.
Sorry for wasting your time.

I'm having these same issues but I'm just trying to build normally. Did you ever figure out what your issue was?
My app is also broken up into a few frameworks, and it's kinda set up like this:
.
└── AppTarget
    ├── OnboardingFramework
    │   └── GoogleSignIn
    └── LoginFramework
        └── GoogleSignIn

@cjwirth, I've resolved my issue, but I don't recall how I did it.
I guess updating to the latest version of Xcode resolved the localization export issues.
Though my frameworks setup was different than yours. I have additional shared framework which contains the GoogleSignIn and few other dependencies I need in most of my other frameworks. Then this shared framework was added to each other frameworks like yours OnboardingFramework and LoginFramework.
But I don't remember exactly, this is just what came up to my mind right now.

Cool, no worries, this thread is from over a year ago. It was pretty much the only thing that came up in a search, though. Thanks!


Can I add specific event to pdf?

Attach (recommended) or Link to PDF file here:
Configuration:

Web browser and its version:
Operating system and its version:
PDF.js version:
Is a browser extension:

Steps to reproduce the problem:

After converting pdf to html format, I want to generate javascript-type event in the generated  tag. Is there a way?
The pdf is composed of ifream, and the tag is not accessible.

What is the expected behavior? (add screenshot)
What went wrong? (add screenshot)
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Closing since not all required information is provided. It's also not at all clear what this means: all PDF.js does is render the PDF to a canvas and overlay layers for text/annotations, and those are simple DOM elements that you can attach events to like all other DOM elements.

Closing since not all required information is provided. It's also not at all clear what this means: all PDF.js does is render the PDF to a canvas and overlay layers for text/annotations, and those are simple DOM elements that you can attach events to like all other DOM elements.

Briefly, I would like to know the order of execution of eventbus.
I want all pdfs to fire a custom event after loading.
In document.addEventListener

document.addEventListener('localized', function(e) {
console.log('localized');
//PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
}, true);

  document.addEventListener('DOMContentLoaded', function(e) {
    console.log('DOMContentLoaded');
    //PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
  }, true);

document.addEventListener('webviewerloaded', function(e) {
console.log('webviewerloaded');
//PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
}, true);

document.addEventListener('pagesloaded', function(e){
console.log('pagesloaded');
//PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
}, true);

I experimented, and I thought it was the order of 3->2-> 1 or 4.
However, I found a problem where events other than 3 and 2 do not occur.
Also, PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true); The code is not working properly. what's the reason?
The version of pdf.js is the latest version listed on the page.

Briefly, I would like to know the order of execution of eventbus.
I want all pdfs to fire a custom event after loading.
In document.addEventListener

document.addEventListener('localized', function(e) {
console.log('localized');
//PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
}, true);

  document.addEventListener('DOMContentLoaded', function(e) {
    console.log('DOMContentLoaded');
    //PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
  }, true);

document.addEventListener('webviewerloaded', function(e) {
console.log('webviewerloaded');
//PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
}, true);

document.addEventListener('pagesloaded', function(e){
console.log('pagesloaded');
//PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true);
}, true);

I experimented, and I thought it was the order of 3->2-> 1 or 4.
However, I found a problem where events other than 3 and 2 do not occur.
Also, PDFViewerApplicationOptions.set('eventBusDispatchToDOM', true); The code is not working properly. what's the reason?
The version of pdf.js is the latest version listed on the page.

@timvandermeij
I got it wrong.
The events (1,4) I added didn't exist.
I just want to fire a custom event after all pdf has been created.

@timvandermeij
I got it wrong.
The events (1,4) I added didn't exist.
I just want to fire a custom event after all pdf has been created.

I solved the problem!
I utilized createEvent / addEventListener.
However, I have one question.
For example,
test
I want to delete the text object in this part.
I tried deleting with js, but there is a problem that text is not deleted in pdf.
Is pdf.js secure?
Or is it my problem?

I solved the problem!
I utilized createEvent / addEventListener.
However, I have one question.
For example,
test
I want to delete the text object in this part.
I tried deleting with js, but there is a problem that text is not deleted in pdf.
Is pdf.js secure?
Or is it my problem?


update lua scripts

Please add a PR description. I guess you here just want to update the newest sysbench?

yes, I just want to update the newest lua scripts. The newest lua scripts use  prepared statement. prepared statement   is good for tidb.

LGTM

LGTM


Issue with diagnostic.lua:747

Looks like while setting the diagnostics to neovim

should be related to #152. But this is for prettierd, I think, let me try debug what linter is giving the errors

It was codespell that was giving errors for some reason. And this was bugging. Removed and working now.

Should be fixed in latest commit.


[branch-3.0] optimize TOPN desc

this PR is only for test. thanks

[BE Incremental Coverage Report]
:disappointed: fail : 3 / 9 (33.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/scan_node.h
0
1
00.00%
[121]

:large_blue_circle:
src/exec/olap_scan_node.cpp
0
4
00.00%
[386, 390, 391, 392]

:large_blue_circle:
src/exec/olap_scan_node.h
0
1
00.00%
[98]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/morsel.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.cpp
1
1
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 7 / 39 (17.95%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/scan_node.h
0
1
00.00%
[121]

:large_blue_circle:
src/exec/olap_scan_node.cpp
0
8
00.00%
[66, 67, 68, 69, 390, 391, 392, 396]

:large_blue_circle:
src/exec/olap_scan_node.h
0
1
00.00%
[98]

:large_blue_circle:
src/storage/tablet_reader.cpp
0
1
00.00%
[271]

:large_blue_circle:
src/storage/rowset/rowset.cpp
0
1
00.00%
[402]

:large_blue_circle:
src/storage/range.h
0
19
00.00%
[296, 297, 298, 299, 301, 302, 306, 307, 308, 309, 310, 311, 315, 319, 320, 321, 383, 384, 385]

:large_blue_circle:
src/storage/rowset/segment_iterator.cpp
4
5
80.00%
[377]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/morsel.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.cpp
1
1
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 14 / 14 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/planner/OlapScanNode.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/planner/SortNode.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/planner/RuntimeFilterDescription.java
5
5
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 7 / 39 (17.95%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/scan_node.h
0
1
00.00%
[121]

:large_blue_circle:
src/exec/olap_scan_node.cpp
0
8
00.00%
[66, 67, 68, 69, 390, 391, 392, 396]

:large_blue_circle:
src/exec/olap_scan_node.h
0
1
00.00%
[98]

:large_blue_circle:
src/storage/tablet_reader.cpp
0
1
00.00%
[271]

:large_blue_circle:
src/storage/rowset/rowset.cpp
0
1
00.00%
[402]

:large_blue_circle:
src/storage/range.h
0
19
00.00%
[296, 297, 298, 299, 301, 302, 306, 307, 308, 309, 310, 311, 315, 319, 320, 321, 383, 384, 385]

:large_blue_circle:
src/storage/rowset/segment_iterator.cpp
4
5
80.00%
[377]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/morsel.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.cpp
1
1
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 14 / 14 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/planner/OlapScanNode.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/planner/SortNode.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/planner/RuntimeFilterDescription.java
5
5
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 7 / 42 (16.67%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/scan_node.h
0
1
00.00%
[121]

:large_blue_circle:
src/exec/olap_scan_node.cpp
0
8
00.00%
[66, 67, 68, 69, 390, 391, 392, 396]

:large_blue_circle:
src/exec/olap_scan_node.h
0
1
00.00%
[98]

:large_blue_circle:
src/storage/tablet_reader.cpp
0
1
00.00%
[271]

:large_blue_circle:
src/storage/rowset/rowset.cpp
0
1
00.00%
[402]

:large_blue_circle:
src/storage/range.h
0
19
00.00%
[296, 297, 298, 299, 301, 302, 306, 307, 308, 309, 310, 311, 315, 319, 320, 321, 383, 384, 385]

:large_blue_circle:
src/storage/rowset/segment_iterator.cpp
4
8
50.00%
[377, 874, 875, 876]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/morsel.h
1
1
100.00%
[]

:large_blue_circle:
src/exec/pipeline/scan/scan_operator.cpp
1
1
100.00%
[]


Add command to trim streams

any way to provide a test for this command?

@alexander-schranz we would have to create a functional testcase - is there already a setup for this?


Return ReverseProxyConventionBuilder in MapReverseProxy

Fixes https://github.com/microsoft/reverse-proxy/issues/860

Thanks


Fix hyphens incorrectly replaced by dashes

Updated Edit-OfficeConfigurationFile.ps1 to fix 20 instances of invalid dash characters
This "$Result = New-Object –TypeName PSObject"
Should be "$Result = New-Object -TypeName PSObject"

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

closing due to inactivity for > 2 years.


Assign ip addr to boot.pyrsia.link

GCP VM instance (central node) has static ip of <IP_ADDRESS> that needs to be assigned to boot.pyrsia.link

Oh I put bootstrap I did not know it changed

@prince-chrismc here is the link to the decision for boot.pyrsia.link

The conversation in that meeting was confusing. It should be correct now.


AttributeError: 'Response' object has no attribute '_status_code'

I'm getting some errors in Flask/Werkzeug that I've never seen before.  Haven't found anything similar googling around, so I thought I'd post here.
No traceback found from anywhere in my application code.
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251] mod_wsgi (pid=25900): Exception occurred processing WSGI script '/local/my_app/application.wsgi'.
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251] Traceback (most recent call last):
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]   File "/usr/local/lib/python2.7/dist-packages/Flask-0.7.2-py2.7.egg/flask/app.py", line 1306, in __call__
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]     return self.wsgi_app(environ, start_response)
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]   File "/usr/local/lib/python2.7/dist-packages/Flask-0.7.2-py2.7.egg/flask/app.py", line 1295, in wsgi_app
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]     return response(environ, start_response)
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]   File "/usr/local/lib/python2.7/dist-packages/Werkzeug-0.8.2-py2.7.egg/werkzeug/wrappers.py", line 1082, in __call__
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]     app_iter, status, headers = self.get_wsgi_response(environ)
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]   File "/usr/local/lib/python2.7/dist-packages/Werkzeug-0.8.2-py2.7.egg/werkzeug/wrappers.py", line 1070, in get_wsgi_response
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]     headers = self.get_wsgi_headers(environ)
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]   File "/usr/local/lib/python2.7/dist-packages/Werkzeug-0.8.2-py2.7.egg/werkzeug/wrappers.py", line 961, in get_wsgi_headers
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]     status = self.status_code
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]   File "/usr/local/lib/python2.7/dist-packages/Werkzeug-0.8.2-py2.7.egg/werkzeug/wrappers.py", line 732, in _get_status_code
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251]     return self._status_code
[Tue Jan 17 08:08:10 2012] [error] [client xx.xxx.123.251] AttributeError: 'Response' object has no attribute '_status_code'

I can't really recommend memcaching whole response objects. Pickle is not something I recommend in general.


Wemo Insight Switch current power is not refresh frequently

Feature requests should go in the forum: https://community.home-assistant.io/c/feature-requests
Home Assistant release (hass --version):
0.17.3
Python release (python3 --version):
Python 3.4.2
Component/platform:
Wemo switch (Insight)
Description of problem:
I created a template sensor that follow the current power user by one of my Wemo Insight Switch, in order to be used as a trigger for some of my automation.
 - platform: template
    sensors:
       power:
            unit_of_measurement: 'W.h'
            value_template: >-
                {%- if is_state('switch.tv_hifi', 'on') %}
                    {%- if states('switch.tv_hifi.attributes.current_power_mwh') %}
                        {{ states.switch.tv_hifi.attributes.current_power_mwh | multiply(0.001) }}
                    {% else %}
                            {{ states.sensor.power }}
                    {%- endif %}
                {% else %}
                    {{ 0 }}
                {%- endif %}

It works fine when the switch change of state (from off to idle, from idle to on, from on to idle...) but the thing is that the current power value is not refresh often enough, so I miss some data and I can't have more precise trigger if needed (ie: power is between x and y) and I try with scan_interval parameter but it seems to block Wemo component
Expected:
An optional parameter could allow to poll the Wemo Insight every seconds to update the data

I believe wemo switches are supposed to push state changes, so changing poll frequency will not do anything. I have an insight switch myself and connected it to a hotpot that keeps water at temperature and every time it switches on from standby or turns off (to standby) it updates the current_power_mwh value but I don't think I see updates while it remains in its on/off/standby state.

@jabesq As @jaharkes  says the Wemo switches push their state changes and so we don't poll. I haven't been able to work out what exactly causes the Wemo to send an update based on power useage - but crossing the standby/on threshold does seem to cause an update withing a few seconds (I think). You can set the threshold in the wemo app. I have a few devices using threshold power changes and they seem push state OK.


Enhance openstack init documentation

Link bosh variables with

terraform outputs
Openstack RC files / variables

Add other minor hints and tips

CLA signed and sent via email.

CLA has been accepted and filed, everything should now be set up to allow my contributions.
Let me know if there is anything else I need to do.

@cppforlife does that look ok to you?

@hoegaarden just built https://github.com/cppforlife/js-annotate to make explanations a bit more easier to read. will try to use it for this page.


IGAPP-175: Add missing attributes to database connector

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

WebApp tests and flow errors will be fixed in #93 .

Actually testing this (best upgrading a previous installation) would probably be good :)

Also, some native tests in the DataConnector are failing locally for me because of moment. Can you reproduce this? In the CI the tests all pass.

What are there so many changes related to linting in this PR?


ANS summary slide

Please add a slide describing :

the current predicting the past work you're working on
how's it going to work
when will it be ready
what kinds of questions will it answer
where is the repo

@katyhuff should i create a section in the presentation tex file for predicting the past, or should this be included in transition scenarios?

Please put it in transition scenarios.

closed with #7


feat: add i18n to vaadin-message-input

resolves #33

I was thinking about using a multi-property observer like i18n.* but we probably don't need it.

Yeah, I noticed that other components with i18n have it, but I was thinking that it's still better to avoid adding Polymer-specific functionality at this point.


Modified AppNet Example to use Alamofire

Modified Appnet example to use alamofire. added alamofire to podfile.

Hi @henryhardy,
Thanks for this PR! I added a few comments. I hope it's ok for you.
:sparkles: :heart: :sparkles:

Thanks man. Will sort out and update =]

I'm going to clean up this myself :)

Done https://github.com/hyperoslo/Sync/commit/c454f91a2376d941a09ecc2e355adb8c741ad90d!


remove warm cache workaround

https://github.com/twosigma/beaker-notebook/pull/4522
this is a workaround for the slow file dialog startup with many large directories.
should deliver the subdir info async, after initially returning current directory only.
could even return updated data 3 times:

initially and fastest, just the names and folder/mime type of the cwd.
then stat each file in that dir, so the size and date columns fill in.
finally the subdir flag of each of the dirs.

for a quick fix, please do as you suggested and assume child folders is always true.
that will suffice to give us time to explore better fixes such as davide's idea of using
find . -type d -maxdepth 2 instead of java code, for some reason that seems to be much faster.


Order by random

Is there a way to get a random record or order randomly with Ormar ORM?
I couldn't find anything about that in the documentation, so I tried SQLalchemy's .order_by(func.rand()) and .order_by(func.random()). I also tried the Django ORM's way .order_by('?') in case, with no success.
So, for example the following raises an error:
from sqlalchemy.sql.expression import func

random_user = await Users.objects.order_by(func.rand()).limit(1).all()

Database is MySQL 8 - but question applies also for PostgreSQL 14
Python version is 3.9
Ormar version is 0.10.25
FastAPI version is 0.74.1
Pydantic version is 1.9.0
(Sorry I'm not sure if this is a documentation issue, a tech issue, a question, or a potential enhancement. Don't hesitate to change the label if needed.)

so, is it possible to get N random rows with ormar in query?
(without getting all records  and selecting N random from them)?

Still need it


Add Tag to docker_container docs

Add 'tag' to the docker_container reference docs. It defaults to 'latest'

Thanks for the PR.
This should be fixed up in master.


Statistics are not saved

Hi,
Running amule on docker container on a raspberry 4.
Statistics are not saved, it means that transferred bytes, requests and accepted requests are lost every time the container is restarted.

There are session stats (they are lost after the restart) and global stats (they are saved). We can't change that, I just releasing aMule packaged in a Docker container. That king of changes must be done in the aMule project.

Sorry if I didn't explain properly, these statistics works the way they intended to work but on the "shared files" tab the total stats from every file is reset every time the container is restarted.

Those stats are saved. I can see them in the Web UI at least.
Anyway, if you want to report this issue you should do it in the official project => https://github.com/amule-project/amule


[Fix] Add meta charset utf8 to default html

I had an issue with displaying nordic special characters on my alembic
site. Turns out some browsers don't default to utf8. utf8 seems like a
sane default to me, so I decided to add it and everything works great.
Fixes: #151

Let me know if you want me to publish with/without the fix on S3 as a form of reproduction 🙂

With <meta charset="utf-8">: http://lund.apologia.se.s3-website-eu-west-1.amazonaws.com/
Without <meta charset="utf-8">: http://test.lund.apologia.se.s3-website.eu-north-1.amazonaws.com/
(It's the last element in the <head> tag, possible to inspect)

@johannes-jansson Not to be pedantic, but the meta charset declaration should be the first meta tag in the head (as it is in your PR), since it's render-blocking. In order to adequately test your helpfully-added AWS pages (in Internet Explorer, non-Chromium Edge, etc.) it may only be a true facsimile of the PR if the charset is the first in the head rather than last.

@johannes-jansson thanks for adding this, gonna merge it as it's clearly needed as part of the core theme functionality 👍
@ao5357 I see where you're coming from, but I'm more concerned with the need of it rather than exact usage 😊

Thanks @ao5357 , that does make sense 👌


Localization issues

Reported by @Hadalonut over discord.

I am running foundry 0.6.6, dnd5e 0.96.
Also the hit/dc on weapons i dont think should be NaN

Turns out DND5E.ProficiencyBonus and DND5E.Actions are from BetterNPCSheet5e. Changing what we use to be 5e core strings and opened issue.