Fix: Web - Room - Stacked avatars on sign-in banner do not match and are misaligned in public room thread

Details

https://github.com/Expensify/App/issues/27523
Fixed Issues

$ https://github.com/Expensify/App/issues/27523
PROPOSAL: https://github.com/Expensify/App/issues/27523#issuecomment-1721510722
Tests

Needs to be tested on web/mweb

Update your profile pic if it is default at the moment
Create a public room and send any message
Copy url of the public room
Reply to the sent message to create a new thread and send a message in a thread
Paste copied url of room in new tab for anonymous user
Once report loaded click on the replies of the message
Verify the alignment of icons are proper in the footer and it shows custom profile pic

[X] Verify that no errors appear in the JS console

Offline tests

Update your profile pic if it is default at the moment
Create a public room and send any message
Copy url of the public room
Reply to the sent message to create a new thread and send a message in a thread
Paste copied url of room in new tab for anonymous user
Once report loaded click on the replies of the message
Verify the alignment of icons are proper in the footer and it shows custom profile pic

QA Steps

Update your profile pic if it is default at the moment
Create a public room and send any message
Copy url of the public room
Reply to the sent message to create a new thread and send a message in a thread
Paste copied url of room in new tab for anonymous user
Once report loaded click on the replies of the message
Verify the alignment of icons are proper in the footer and it shows custom profile pic

[X] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/14358475/c2bbc74f-2c1e-4de0-bb67-58c20493f175

Mobile Web - Chrome

Mobile Web - Safari

Desktop
https://github.com/Expensify/App/assets/14358475/0a6894a6-6211-4d39-9778-f0caefa3de68

iOS

Android

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@Pujan92 I'm using npx uri-scheme open to open the public room on Android but I get an error:

The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure.

I'm guessing this is unrelated to your changes, but flagging just in case!

For some reason I can't get a public room to consistently load, most of the time it redirects me to the sign in screen. Did you experience that at all? @Pujan92

Will come back to this on Monday as I can't seem to get it working!

Hey @shawnborton, could you take a look at the profile pictures in the header and the footer. Since the image itself is larger in the footer, I thought the stacked image on top should also be larger. I just wanted to ask to check if the stacked images should be the same size as in the picture of it the one in the footer should be larger.

I think in the header, we should always be using the same size (40px).
In the footer, can you share what it looks like elsewhere, for say just a room? If we're using a bigger size elsewhere, I guess we could match it. Or we could make life easier for ourselves and only use 40px for the footer size for everything.
cc @Expensify/design for visibility on this feature too

Sorry, just want to clarify really quick because I'm not sure if I'm following. In here, I was referring to the small sub image icons on the bottom right of the main picture. Is that what you're talking about as well?

Yeah, I'm saying that whole thing (main avatar + sub user avatar) technically sits at a certain size. Most of the sizes are 40x40 throughout the product. In this case, it seems like we bumped it up to 52x52, so if we do that, we should scale everything proportionally. Otherwise we could make life easier for ourselves and not use any kind of bigger size here and just stay with the standard 40x40 we use elsewhere. So I think I lean towards the latter so we don't have another avatar size to maintain. Thoughts?

Oh cool, yeah I agree with that. In that case, @Pujan92, can you change the main avatar in the footer to be 40x40, similar to how it looks in the header?

Oh cool, yeah I agree with that. In that case, @Pujan92, can you change the main avatar in the footer to be 40x40, similar to how it looks in the header?

Ok, It looks like this.

What happened to the BG color for the box around the bottom footer part?

What happened to the BG color for the box around the bottom footer part?

About to raise the same, seems this PR updated the style that we used for the bg in the footer.
https://github.com/Expensify/App/blob/4bb1be2c1f9989a39f3f35e3d402c2a8d52086bb/src/styles/styles.js#L2267-L2276
Solution - We need to use theme.cardBG instead of theme.sidebar now.

Got it, sounds good to me!

Shall I proceed with that change here only?

What do you mean "here only"?

I mean do I need to fix the bg change in this PR only or create a separate one as it is not directly related with this issue?

Might as well fix it here, but cc @adamgrzybowski for visibility - looks like this was something our nav changes broke.

@srikarparsi This one's ready for your review!

@Pujan92 Can you merge main? It should kick the reassure tests back in gear!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

All tests passed

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


fix: fixed wrong http method when requesting certs

:tada: This PR is included in version 0.2.0-beta.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


profile page layout, css, and logo

added css, profile page layout, and logo

Good job lilly!! :) SICK LAYOUTS


Feature: Added renderTo prop instead of appendToBody

Description
This PR addresses issue #20 by removing the appendToBody prop and introducing the renderTo prop for the Modal component.
Solution

Added the renderTo prop, accepting both a string selector or an HTMLElement.
Removed the appendToBody prop.
If renderTo is a string, the modal will be appended to the element selected by document.querySelector. If it’s an HTMLElement, the modal will render in that element. If renderTo is not provided or fails, the modal defaults to document.body.

Additional Notes
This is a breaking change.
Screenshots
https://github.com/wethegit/react-modal/assets/80900245/5a692973-2e86-4c64-8ec6-346d2a537b4b

@andrewrubin I have updated based on your suggestions, let me know if this works or if anything needs to be addressed or any other suggestions.

@andrewrubin @marlonmarcello @rvno So I made few changes based on the comments above,

Removed string prop, and modal component now only accepts HTMLElement. I have also made this prop mandatory in ModalProps.
By default the modal will be rendered in place with position: fixed
Updated the documentation to reflect the new changes

@andrewrubin So I have added an example on on the main appending the modal to body and updated the text as I see fit, but let me know if that needs to be updated or the example.

Great work @pravton !

okay! Looking great @pravton
Next step here is to bump the version using the yarn changeset command, and in the questionnaire just specify that it's a major version bump. I'd also like to get a beta release going so we can test this before releasing.
It looks like the docs for that are here: https://github.com/changesets/changesets/blob/main/docs/prereleases.md, but I'm tagging @marlonmarcello to see if he has some quick tips for us on this.

Thanks for the version bump @pravton
Let's keep this open for now, we'll just need to publish a beta version before merging this, so that we can test. I think the easiest option is to do that locally. Will make a note to do this when I have a moment!


Livox FOV Issue for ScanContext : livox 的FOV小，使用SCANCONTEXT 这类全局描述子时，应该怎么处理呢？

Hi,thanks for your great work! I've got a question about whether this global description can work for livox-like lidar.As far as I concerned,scan Context describe the height information of 360. But solid lidar like livox-mid 70 has too small fov of 70,and its pattern is non-repeative .Can scanContext work to computer the similarity of two frame of livox-like lidar? Thank you sincerely!

Hi, thanks for your interest in our project!
Correct, the FoV issue did make global localization one big problem.  For normal routine, it still works most time but would fail when through the inverse routine.  The non-repetitive pattern does not affect too much in our experiment.
Bests

Thank you very much~


[devops:bot] update deps in nix/sources.json (from: rhino-core@56295d9

update nix refernces for rhino-core and|or nixpkgs to match https://github.com/rhinofi/rhino-core/blob/56295d9a4103ded8cfae1269e32f02dbd79ba5f1/nix/sources.json (branch: dev)

superseded by #153


unstable versions > 0.1.0

for versions > 0.1.0 I got an error
./node_modules/react-charts/lib/components/Brush.js
Module build failed: Error: ENOENT: no such file or directory, open '/home/tapok/WebstormProjects/sd-wan/sdwan-gui/node_modules/react-charts/lib/components/Brush.js'
for versions <= 0.1.0 I got an error
react2.default.createclass is not a function

v2-alpha is now the most stable version


upload test .txt file

Add a test file of your transcription in .txt form to the texts/ directory

I uploaded the text file.


Remove unused hal includes from bootutil

While porting MCUboot to a bare matel chip without OS (NXP LPC824) I found some unused includes.
After this pull request only four headers are required for a new target system:
"sysflash/sysfash.h"
"flash_map_backend/flash_map_backend.h"
"mcuboot_config/mcuboot_config.h"
"os/malloc.h"
The header "os/malloc.h" is only required by the split_go() function.
I my port I also removed split_go() but I’m not sure what it does so I kept it here.
Let’s see if CI passes or if I missed some details.

Looks like zephyr build is still compatible with this patch.

No issues on Mynewt as well...

I can also try to remove the now unneeded files from the zeyphyr build as further cleanup.
What’s your opinion on the removal split_go()? For me it looks like it was copied from mynewt and is not actually used. A seperate issue/pull request would be better to discuss this one though I think.

@TimoKroeger Please don't remove split_go.


Unhandled Exception: Invalid argument(s): Invalid locale "yue_Hant_HK"

Which locale is missing?
yue_Hant_HK
Which locale have you considered of using instead, but was not sufficient?
Nothing
Error appears when try calling NumberFormat.compact() in iOS 17
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Invalid argument(s): Invalid locale "yue_Hant_HK" #0      _throwLocaleError (package:intl/src/intl_helpers.dart:204:3) #1      verifiedLocale (package:intl/src/intl_helpers.dart:198:42) #2      verifiedLocale (package:intl/src/intl_helpers.dart:183:12) #3      new DateFormat (package:intl/src/intl/date_format.dart:267:27)

Same crash e.g. with "sco_AU" and "nap_IT".
Could you please provide a function like "isLocaleSupported" to avoid these unnecessary crashes. We could then fall back to some default locale on app startup if needed.
I do this on app startup currently:
    Locale locale = WidgetsBinding.instance.platformDispatcher.locale;

    Intl.systemLocale = locale.toString();
    // workaround to https://github.com/dart-lang/intl/issues/280
    Intl.defaultLocale ??= Intl.systemLocale;

And would like to change it to something like:
    Locale locale = WidgetsBinding.instance.platformDispatcher.locale;

    // Check if the locale is supported, otherwise use a fallback
    if (!Int.isLocaleSupported(locale)) {
      locale = Locale('en', ''); // Fallback locale
    }

    Intl.systemLocale = locale.toString();
    // workaround to https://github.com/dart-lang/intl/issues/280
    Intl.defaultLocale ??= Intl.systemLocale;

Additionally to missing supportedLocales, package:intl also doesn't have great fallback logic. If it's any help, both of these features are present in the experimental package:intl4x.


onClose() called twice

I'm using get: ^3.12.1 and using bindings to inject my page controller and using onClose method to dispose a video_player controller but the onClose method is called twice when the page is destroyed.
Expected behavior
I think the onClose should only be called once.
Flutter Version:
1.20.4
Getx Version:
3.12.1
Describe on which device you found the bug:
Samsung s8+ / Huawei matepad pro / iPhone X with iOS 13
Here my GetPages
class AppPages {
  static final List<GetPage> pages = [
    GetPage(
      name: AppRoutes.SPLASH,
      page: () => SplashPage(),
      binding: SplashBinding(),
    ),
    GetPage(
      name: AppRoutes.LOGIN,
      page: () => LoginPage(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: AppRoutes.HOME,
      page: () => HomePage(),
      binding: HomeBinding(),
    ),
    GetPage(
      name: AppRoutes.COURSE_DETAIL,
      page: () => CourseDetailPage(),
      binding: CourseDetailBinding(),
    ),
    GetPage(
      name: AppRoutes.MY_COURSE,
      page: () => MyCoursePage(),
      binding: MyCourseBinding(),
    ),
  ];
}

GetMaterialApp
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'MEEDU.APP',
      enableLog: true,
      debugShowCheckedModeBanner: false,
      home: SplashPage(),
      initialBinding: SplashBinding(),
      defaultTransition: Transition.rightToLeftWithFade,
      getPages: AppPages.pages,
    );
  }
}

MyCourseBinding
import 'package:app/app/modules/my_course/my_course_controller.dart';
import 'package:get/instance_manager.dart';
import 'package:get/route_manager.dart';

class MyCourseBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<MyCourseController>(
      () => MyCourseController(),
    );
  }
}

MyCoursePage
import 'package:app/app/modules/my_course/my_course_controller.dart';
import 'package:app/app/modules/my_course/widgets/my_course_sections.dart';
import 'package:app/app/modules/my_course/widgets/my_course_video.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/state_manager.dart';

class MyCoursePage extends StatelessWidget {
  const MyCoursePage({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GetBuilder<MyCourseController>(
      builder: (_) => Scaffold(
        body: _.courseData == null
            ? Center(
                child: CupertinoActivityIndicator(),
              )
            : Container(
                child: Row(
                  children: [
                    Expanded(
                      flex: 3,
                      child: Container(
                        child: Column(
                          children: [
                            MyCourseVideo(),
                          ],
                        ),
                      ),
                    ),
                    Expanded(
                      flex: 2,
                      child: MyCourseSections(),
                    )
                  ],
                ),
              ),
      ),
    );
  }
}

I'm navigating to MyCoursePage using
  Get.toNamed(AppRoutes.MY_COURSE, arguments: course.id);

MyCourseController
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:meedu_player/meedu_player.dart';
import 'package:meta/meta.dart' show required;

class MyCourseController extends GetxController {
  final _accountRepository = Get.find<AccountRepository>();
  final _videoRepository = Get.find<VideoRepository>();

  CourseData _courseData;
  CourseData get courseData => _courseData;

  int _lessonIndex = 0, _sectionIndex = 0;

  int get lessonIndex => _lessonIndex;
  int get sectionIndex => _sectionIndex;

  MeeduPlayerController _meeduPlayerController;
  MeeduPlayerController get meeduPlayerController => _meeduPlayerController;

  @override
  void onInit() {
    List<DeviceOrientation> orientations = [
      DeviceOrientation.portraitDown,
      DeviceOrientation.portraitUp,
    ];

    if (Get.context.isTablet) {
      orientations.addAll([
        DeviceOrientation.landscapeLeft,
        DeviceOrientation.landscapeRight,
      ]);
    }
    _meeduPlayerController = MeeduPlayerController(
      screenManager: ScreenManager(
        forceLandScapeInFullscreen: true,
        orientations: orientations,
      ),
      pipEnabled: true,
      showPipButton: true,
    );
  }

  @override
  void onReady() {
    _load();
  }

  Future<void> _load() async {
    final courseId = Get.arguments as String;
    final result = await _accountRepository.getCourse(courseId);
    if (result.error == null) {
      _courseData = Extras.getCourseData(
        result.data.course,
        sectionsProgress: result.data.sections,
      );
      update();
    }
  }

  @override
  onClose() {
    _dispose();
  }

  _dispose() async {
    await _meeduPlayerController?.dispose();
    _meeduPlayerController = null;
  }
}

In my MyCourseController I have a video controller that is disposed in onClose method, when I close the page onClose method is called twice
[GETX] "MyCourseController" onClose() called
[GETX] "MyCourseController" deleted from memory
[GETX] "MyCourseController" onClose() called
[GETX] "MyCourseController" deleted from memory

GetBuilder tries to delete the controller, and at the same time the route is doing so.
Em had a Queue that prevented this, but I think it was removed during the split of the package.
I will fix it today.

Thanks. great job with getx. It is an amazing framework

Fix on git version, I will update do pub.dev.
Thanks for alert this.
Your GetX video series is amazing!

Hi. Thanks your the job to maintain this project. In my Project I've been updated to get: 3.12.2 to check if the onClose method is not called twice when I use bindings to inject my GetxController. In my controller I put a print to check if the onClose method is called twice
  @override
  void onClose() {
    print("🎃");
    if (_meeduPlayerController != null) {
      _meeduPlayerController.dispose();
      _meeduPlayerController = null;
    }
  }

And in my console

Thank you for reporting this, I will correct and add a test for this to make sure it does not happen anymore.

Definitely fixed at 3.15.
Thanks for reporting this


odSurvey: Let getActivePerson return null if no person found

Instead of creating a new Person object that is in no way linked to the interview, if the active person is not defined, or if there are no persons in the household, then null is returned.

MJ seems to compile fine with this, so I guess the generator comment does not apply anymore?


[AutoPR containerservices/resource-manager] ContainerServices - OpenShift - Add new routes and update

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4597

(message created by the CI based on PR content)


fix(frontend): Remove hardcoded base url and replace with environment variable

End-user friendly description of the problem this fixes or functionality that this introduces

[ ] Include this change in the Release Notes. If checked, you must provide an end-user friendly description for your change below

Give a summary of what the PR does, explaining any non-trivial design decisions

No more hardcoded localhost:3000 for the server base url. Instead, we can set it in .env
Move OpenHands API types to open-hands.types.ts
Migrate all remaining API into OpenHands API class
Created an open-hands.utils.ts file for better handling of return types
Removed old logic in vite.config.ts relating to a proxy server

Link of any specific issues this addresses

What happens if there's no .env file containing the baseUrl? 🤔

Re: tests
"55 skipped" is that normal (with 51 run)? I guess "wip" status?
Ignorable?
https://github.com/All-Hands-AI/OpenHands/actions/runs/11232337919/job/31223725707?pr=4261#step:5:37
stderr | __tests__/services/session.test.ts > startNewSession > Should start a new session with the current settings
[MSW] Warning: intercepted a request without a matching request handler:

@tobitege Added a fallback if the env was not set. And for tests, yes, I ignored a lot of them making changes to the new UI so I'll update them later


Joe - Adding Chain claim updates

Problem solved
Adding custom chain banners , about, and CTA for

Lisk Testnet (4202)
Lisk Mainnet (1135)
Hashfire Mainnet (4227)
Laos Mainnet (6283)
Etherlink Testnet (128123)
Etherlink Mainnet (42793)

PR-Codex overview
This PR focuses on adding new assets and metadata for various blockchain projects, including Etherlink, Hashfire, LAOS, and Lisk, to enhance the dashboard's functionality and user experience.
Detailed summary

Added image imports for etherlinkBanner, etherlinkCTA, hashfireBanner, hashfireCTA, laosBanner, laosCTA, liskBanner, and liskCTA.
Introduced metadata entries for Etherlink (testnet and mainnet), Hashfire, LAOS, and Lisk (testnet and mainnet) in chainMetaRecord.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Merge activity

Nov 27, 2:52 PM EST: The merge label 'merge-queue' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.


build(deps): bump arrow-udf to use arrow 52

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
This might solve a large pain point: Whenever we modify any entry in Cargo.toml, arrow will be affected (https://github.com/rust-lang/cargo/issues/14115). Because arrow-udf doesn't use >= version any more

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#18609  👈
#18608
main

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

Join @xxchan and the rest of your teammates on  Graphite

Is this going to supersede #17544 ?


Impl SessionBuilder::jump_hosts

Resolved #84
Signed-off-by: Jiahao XU<EMAIL_ADDRESS>

This change is

Codecov Report

Merging #91 (c6ef9d2) into master (349fd37) will decrease coverage by 1.05%.
The diff coverage is 20.00%.

Impacted Files
Coverage Δ

src/builder.rs
85.08% <20.00%> (-5.71%)
:arrow_down:

Released as 0.9.6 :tada:


when i am testing this issues arieses

FileNotFoundError                         Traceback (most recent call last)
 in
4
5 for i in range(len(os.listdir(test_dir))):
----> 6   for item in os.listdir(os.path.join(test_dir,str(i))):
7     img= cv2.imread(os.path.join(test_dir,str(i),item))
8     img = cv2.resize(img,(256,256))
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'D:\ASMAT DOCUMENTS\cs619\cs619 project\aa\Test\0'

Hi @Asmat5-1 , please refer to readme file for the dataset.

Thanx a lot for valueable giudelines ...I want to attached GUI (tkinter)
for test data output results.please any idea about,how can I inter link
tkinter GUI with  complete working code(ResNet50 4u/image classification)
which is uploaded file by you?
On Fri, 23 Apr 2021, 7:44 PM Luke, @.***> wrote:

Hi @Asmat5-1 https://github.com/Asmat5-1 , please refer to readme file
for the dataset.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/luke4u/Image-Classification/issues/2#issuecomment-825707898,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASWFU2ZBZYOU3OMH4SMWQCDTKGBWFANCNFSM43OISCZQ
.

Hi @Asmat5-1 For test data, please refer to covid19_detection/Test.zip

please tell me how i save and load this codes after training..
i face problem when i load this model

Please tell me the code for load the model.please covid image
classification model after saving how can I load the model.please tell me
complete for loading model.thanks
On Mon, 26 Apr 2021, 3:28 PM Luke, @.***> wrote:

Hi @Asmat5-1 https://github.com/Asmat5-1 For test data, please refer to
covid19_detection/Test.zip
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/luke4u/Image-Classification/issues/2#issuecomment-826717580,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASWFU2YDHZMVLLVUQBAVVGDTKU53RANCNFSM43OISCZQ
.


Error when loading MecabWrapper

Hi Kensuke Mitsuzawa,
I occurred some errors when using JapaneseTokenizer. I have installed package by make command (both) make command.
Here is the error when I run code:
mecab_wrapper = JapaneseTokenizer.MecabWrapper(dictType='ipadic')

Please let me know where I was wrong. Thank you very much.

@bigredbug47 Hello. Thank you for using this package.
The package seems to say that you have not installed Mecab correctly yet.
Could you try this command in your bash(or zsh something) and tell me the result?
echo "きょうはいい天気です" | mecab

The result should be the below.
きょう	名詞,副詞可能,*,*,*,*,きょう,キョウ,キョー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
いい	形容詞,自立,*,*,形容詞・イイ,基本形,いい,イイ,イイ
天気	名詞,一般,*,*,*,*,天気,テンキ,テンキ
です	助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
EOS

If you don't get this result, you have not installed mecab yet.
There might be some bug in my Make command.
Still, you could try installing it manually.
Please see here for further information.
https://github.com/Kensuke-Mitsuzawa/JapaneseTokenizers#mecab-1

I have installed successfully, maybe some of my libraries conflict with your.
I have create a new environment and install follow your instruction, it works like a charm.
Thank you very much


Disable IP Address tracking not working

We have initialized the Amplitude Swift SDK using the tracking options, as described in the documentation, to disable some data tracking, including the user IP address.
However, even using the latest 0.4.4 SDK, the IP address is still collected and visible in the Amplitude dashboard.
Is there a way to completely and successfully disable it?

Hi @luky88, instead of creating a new workspace, you can also change both user id and device id to mimic a new user. Amplitude's backend use history IP address of users, so a new user should have no IP history.


Add test new-client/global-import-equals

Issue
Fixes https://github.com/awslabs/aws-sdk-js-codemod/issues/243
Description
What does this implement/fix? Explain your changes.
Testing
How was this change tested?
Additional context
Add any other context about the PR here.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Implementation is blocked as jscodeshift does not return values for ImportEqualsDeclaration.


Tiling Artefact (plant-seg 2.0.0a5)

Getting tiling artefact when using napari plugin of plantseg. I am using lightsheet_3D_unet_root_nuclei_ds1x model to segment my nuclei.  The tiling artefact is affecting the final segmentation.

Hey @Amerebeing thank you for reporting this issue!
I offer two things to try - either you send me this volume for me to try it; or you can try these yourself:

rescale your volume to match the voxel size of the model by "Set Voxel Size" and "Rescale Image (to model voxel size)";
increase the halo from 44 to, say, 64, in "Show advanced parameters" in "Image to Prediction", but you may need to reduce the patch shape accordingly.
just try PlantSeg_3Dnuc_Platinum

You can do these separately or together and see if the prediction is improved.

I just tried all three separately on one of my dateset, and all improved.

This may relate to:

#224

Hi,
I get also these kind of "thin" labels. I have noticed that playing a bit with the watershed and the agglomeration method, these can totally (mostly) vanish or become more abundant. If the boundary prediction is perfect though, then it looks even better. Unfortunately, in my case (roots), there is no standard set up  of the segmentation. Most of the time if it is good on one image, it will be ok on the next one too but it can  vary, even if acquisition parameters are all the same.

Did you try the PlantSeg_3Dnuc_platinum model? It gives a nuclei probability map and a nuclei boundary probability map. If you use the Remove Objects with Low Foreground Probability widget, you can remove the false positives.

I just tried to run PlantSeg_3Dnuc_platinum and default 3D watershed + GASP on your image and the result look okay:
segmentation  | raw
boundary pred | foreground pred

Hey @Amerebeing, GoNuclear repo has three models: Cellpose, PlantSeg and StarDist, where PlantSeg_3Dnuc_platinum is the PlantSeg model. Here I used GoNuclear's run-stardist for you: Side_rAP2_16LDs_SAM4_nuclei_Z0.400_X0.291_Y0.291_Sz453_Sx800_Sy800_segmentation.tif.zip. If you are interested, check how to use it here: https://github.com/kreshuklab/go-nuclear/tree/main/stardist

hey @qin-yu The Platinum model performs well on my 3D volume when I downsample it by a factor of 2. Adjusting the Watershed and GASP parameters also helps in reducing artifacts in the final segmentation. I’d like to know the original voxel size the Platinum model was trained on, as my original volume (voxel size: 0.30 × 0.17 × 0.17) produces a faded probability map without downsampling.

On downsampling i am getting better results

Hey @Amerebeing, for your convenience, here’s the voxel size:
original_voxel_size = {  # z, y, x
    1135: [0.28371836501901143, 0.12678642066720086, 0.12678642066720086],  # validation
    1136: [0.2837183895131086,  0.12756971653115998, 0.12756971653115998],  # training
    1137: [0.2837183895131086,  0.1266211463645486,  0.1266211463645486 ],  # training
    1139: [0.2799036917562724,  0.12674335484590543, 0.12674335484590543],  # training
    1170: [0.27799632231404964, 0.12698523961670266, 0.12698522349145364],  # training
}  # [0.2837, 0.1268, 0.1268] is taken as the median

original_median_extents = {  # z, y, x
    1135: [16, 32, 33],  # validation
    1136: [16, 32, 32],  # training
    1137: [16, 32, 32],  # training
    1139: [16, 32, 33],  # training
    1170: [16, 29, 30],  # training
    'average':
}  # [16, 32, 32] is taken as the median

For reference, the training data for my Platinum model is described in the GoNuclear repository: GoNuclear Training Data. You can also find detailed information in the paper: Materials and Methods.
The training data itself is available at the BioImage Archive: S-BIAD1026.

Hey @Amerebeing is the issue solved?

Hey @qin-yu, thanks for checking in! I scaled my 3D volume by a factor of 0.7, and it's working perfectly. Any scaling below 0.7 causes the nuclei to merge, but the range of 0.7 to 0.75 seems to be the sweet spot. I'm quite happy 😊 with the results!


fmt: Scanf works differently on Windows and Linux

What version of Go are you using (go version)?
go version go1.9.3 windows/amd64 and go version go1.9.3 linux/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
on Windows:
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\golang
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\ANS_AS~1\AppData\Local\Temp\go-build251374523=/tmp/go-build -gno-record-gcc-switches
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config

on Linux:
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ans_ashkan/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build871792404=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

What did you do?
package main

import "fmt"

func main() {
	var firstString string
	var secondString string

	fmt.Printf("Please enter first string:\n")
	fmt.Scanf("%s", &firstString)
	fmt.Printf("Please enter second string:\n")
	n, err := fmt.Scanf("%s", &secondString)
	fmt.Println(err)
}

What did you expect to see?
Same behavior on Windows and Linux.
Either it should capture secondString on Windows and Linux,
or reject it on both operating systems.
What did you see instead?
on Windows: unexpected newline.
on Linux: no errors.

@rsc
I want to fix this but I'm confused. take a look at this:
package main

import (
	"bytes"
	"fmt"
	"io"
)

var r io.Reader = bytes.NewReader([]byte("first\nsecond\n"))

func main() {
	var firstString string
	var secondString string

	fmt.Printf("Please enter first string:\n")
	fmt.Fscanf(r, "%s", &firstString)
	fmt.Printf("Please enter second string:\n")
	n, err := fmt.Fscanf(r, "%s", &secondString)
	fmt.Printf("firstString: %s, secondString: %s\n", firstString, secondString)
	fmt.Println("n =", n, "err =", err)
}

playground
@rsc you said that \n after \r should be eaten. but what is this behavior in above code?

fmt.Fscanf doesn't read newline so you should do:
https://play.golang.org/p/S15xHVSzUnn

@mattn , but fmt.Scanf does read new lines and the code for fmt.Scanf is:
func Scanf(format string, a ...interface{}) (n int, err error) {
	return Fscanf(os.Stdin, format, a...)
}

so fmt.Scanf calls fmt.Fscanf, but it reads newlines.

Hmm, fare enough.
diff --git a/src/fmt/scan.go b/src/fmt/scan.go
index ae79e39dee..f3f5bb49f0 100644
--- a/src/fmt/scan.go
+++ b/src/fmt/scan.go
@@ -139,7 +139,7 @@ func Fscanln(r io.Reader, a ...interface{}) (n int, err error) {
 // returns the number of items successfully parsed.
 // Newlines in the input must match newlines in the format.
 func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error) {
-	s, old := newScanState(r, false, false)
+	s, old := newScanState(r, true, false)
 	n, err = s.doScanf(format, a)
 	s.free(old)
 	return

Anyone know why this part is "true"?

Anyone know why this part is "true"?

Which branch/commit?, I don't see "true" there. this is what it looks like in my version:
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error) {
	s, old := newScanState(r, false, false)
	n, err = s.doScanf(format, a)
	s.free(old)
	return
}

Sorry, it's my typo. I want to know why this is false?

The test case used to open this issue, after CL https://golang.org/cl/110595 is applied,
i23562.go:
package main

import "fmt"

func main() {
	var firstString string
	var secondString string

	fmt.Printf("Please enter first string:\n")
	n, err := fmt.Scanf("%s", &firstString)
	fmt.Println(n, err, firstString)
	fmt.Printf("Please enter second string:\n")
	n, err = fmt.Scanf("%s", &secondString)
	fmt.Println(n, err, secondString)
}

/*

Linux:

$ go run i23562.go
Please enter first string:
first
1 <nil> first
Please enter second string:
second
1 <nil> second
$

Windows:

>go run i23562.go
Please enter first string:
first
1 <nil> first
Please enter second string:
second
1 <nil> second
>

*/

I encounters the same problem.
error-reproducible testing code: https://play.golang.org/p/s_VfYgM6ftj
The problem, I think, happens because fmt package works depending on io.Reader's underlying type.

I encounter the same problem. Programming language should support portability, and I think that fmt.Fscanf with CRLF or just LF should behave the same.
I'm using windows and vagrant and it's a pain in the ass, please fix.

This looks to becoming more of a common issue over the past few weeks, as we've seen an influx of newbies looking at Go due to quarantine. I've added a reply to the one outstanding comment on the change.
The tl;dr is while I could be visualizing the code incorrectly, I believe CL 110595 should be considered for merge. I've rebased the change on top of master locally, and can confirm I was able to build the Go toolchain and all tests passed.
@bcmills I see you were the last to make a status change on the CL. If we can resolve the comment from @griesemer, is there anything else blocking this change?
cc @rsc

Well, Hi i had a problem with scanf today
here is the code :
`package main
import (
"fmt"
)
//
func checkrow(n int, line int,column int, matrizSize int, matrix [100][100]int,r int) (int,bool){
if column!=0{
for c:=0;c<column;c++{
if n == matrix[line][c] {
return r + 1, false
}
}
}
return r,true
}
func checkcolumn(n int,line int,column int,matrix [100][100]int,c int,matrizSize int) (int,bool){
if line!=0 {
for l := 0; l <line; l++ {
if n == matrix[l][column] {
return c + 1, false
}
}
}
return c,true
}
func main() {
var matrix [100][100]int
k:=0  //tracer (sum of main diagonal numbers)
c:=0  //number of columns that have repeated numbers
r:=0  //number of rows that contain repetead numbers
T:=0  // numbers of texts
row:=true
col:=true
var matrizSize int // size of matriz
fmt.Scanf("%d ",&T)
fmt.Scanf("%d",&matrizSize)
fmt.Scanf("%d","")
for i:=0; i<T; {//test
for line := 0; line < matrizSize; line++ {//row
for column := 0; column < matrizSize; column++ {//column
fmt.Scanf("%d ", &matrix[line][column])
if column==line {
k = k + matrix[line][column]
}
if row==true {
r, row = checkrow(matrix[line][column], line,column, matrizSize, matrix,r)
}
if col==true {
c, col = checkcolumn(matrix[line][column],line, column, matrix, c, matrizSize)
}
}
col=true
row=true
}
fmt.Printf("Case n° %d: %d %d %d\n",i+1,k,r,c)
	i++
	if i<T-1 {

		fmt.Scanf("  %d", &matrizSize)
		fmt.Scanf("%d","")
	}
	k=0
	r=0
	c=0

}

}`
To resume i was getting the secound scanf, being satisfied by something, probably a "\n" from the first one, so the solution, was kinda similiar that i used with scanf on C give a space after and sometimes use a empty scanf. Is sad see that, as far i know, Go don't have a simple way, like a standard func, to clear the keyboard buffer, at least scanf should clear after receive a input, so it will make multiples scanf, run without a problem.

I encounter the same problem. My ugly workaround for windows is using "github.com/eiannone/keyboard". Hope the KeyEnter is the same on Linux.
func ScanKeyb() string {
	var input string
	for {
		char, key, err := keyboard.GetKey()
		if err != nil {
			panic(err)
		} else if key == keyboard.KeyEnter {
			fmt.Println()
			break
		}
		fmt.Printf("%c", char)
		input += fmt.Sprintf("%c", char)
	}
	return input
}

Hi , i used this to solve the problem:
fmt.Println("test1") fmt.Scanf("%s\n", &nr) fmt.Println("test2") fmt.Scanln(&n1)
the first scan i used scanf and the second i used scanln. I hope this helps

After spending some time on a possible fix, the behavior of Scanf() seems consistent.  Using the same case, adding a blank after the input gets the same error on macOS and no more on windows.
Documentation of Scanf states:

Newlines in the input must match newlines in the format

The suggested case uses format "%s" which does not end with a newline. Using "%s\n" gets the same behavior on windows and macos. When the newline is expected, any "white space" preceding the '\n', including '\r' on windows or blank space on macOS is collapsed in the newline ending the input and the format in accordance with the documentation in the code which states:
https://github.com/golang/go/blob/da7891f6f36c48f2931ed916ed305330c06f9bd7/src/fmt/scan.go#L1107
As mentioned in some comments, the input buffer is not cleared but read according to format which may exhaust before the input without contradiction.
The current behavior is necessary to read an input stream using multiple Scanf() as in the example. The error is produced because the '\n' is not consumed by the first Scanf().


I can not pods this repository

hello, when I use pods to install this repository, it give me an error with
"[!] /usr/bin/git clone https://github.com/marmelroy/Zip.git /var/folders/w1/h3bj9fxd113fl1f00qd3_wy40000gn/T/d20190214-11813-1fa7ahu --template= --single-branch --depth 1 --branch 1.1.0
Cloning into '/var/folders/w1/h3bj9fxd113fl1f00qd3_wy40000gn/T/d20190214-11813-1fa7ahu'...
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: unpack-objects failed"
my cocoapods version is 1.6.0.beta.2
Also, I can not download this repository

Hi, I'm about to release a new version today. With #251 we have migrated to new zip framework, so I hope your issue will be resolved.
Sorry for the delayed response.

4.3.0 has been released. Could you try that?

Closing as this issue may be obsolete.


refactor(CoreOperators): update type definition for operator has defa…

…ult parameter value
closes #660
Appreciate @blesh for reminding optional parameter, seems I was dizzy when creating issue does not able to think about it.

I'll check in this myself since changes are obvious and small.

Merged with 3d5d050.

:+1:


LFS-939: Add the ability to specify "compact" display for questions with predefined options - all options on one line

To test, use the questionnaire wizard to set the compact property to true for any question that has dataType : boolean or displayType: list or list+input, then create a form for that questionnaire to see how the options are displayed.

I think the spacing between "label checkbox label" is a bit too confusing. I would like to have a pretty border or shading around an option when hovering it, to make it more obvious which checkbox belongs to each label.

Spacing fixes and hover shading were going to be part of 955, but I included some of them here in commit 32f1aa6.

I think the spacing between "label checkbox label" is a bit too confusing. I would like to have a pretty border or shading around an option when hovering it, to make it more obvious which checkbox belongs to each label.

Spacing improvements and hover shading were going to be part of 955. I find the spacing pretty clear especially for the questions where it actually makes sense to use compact layout.

Only one minor thing. The free text line went a bit down in the last iteration.


extend batch_callback for options

Extends Scope::batch_callback to work with Options. Allows for reasonable way to implement callbacks that might not need to do anything.
Checklist:

[x] I have run ./ci/run_stable_checks.sh
[x] I have reviewed my own code
[ ] I have added tests - not sure of a good way to test this

Fixed the doc issues. I elaborated the callback API a bit in the docs, did I miss something obvious?

I expanded a bit more on the documentation (things like explaining send_message_batch which wasn't documented at all before).
I also added the "breaking change" label because, as you mentioned, it technically is.
Everything else looks great, thanks a lot, @JaniM!
@teymour-aldridge, care to review the updated documentation?

Also I've fixed aspell in #1528 so I guess we can merge this with the spelling errors and then after than merge #1528 (after I push the necessary fixes to that).

@teymour-aldridge great, that's what I had in mind too.


Precedence of decrement operator

The following code work fine in v8 engine but print NaN in Jurassic.Please Check.
var xd = [1];
var yd = [1];
var i = 1;
xd[--i] = xd[i] + yd[i];
console.log(xd);

same here, please fix it

I have an application that was forked 14 commits behind master and this works as expected.

Nuget lastest stable 2.2.1
In order to support xp, I have to use the 2.x version :(

That may be the issue as I just confirmed current master branch works as intended.

This bug was reported and fixed more than a year ago. See https://github.com/paulbartrum/jurassic/issues/73 for details.

I've created a v2.2.2 nuget package, just for you @hulucc :-)

thank you !!!


User authenticate feature

This implementation introduces a basic authentication system. Users will be prompted to enter their username and password. If the credentials match those stored in the users dictionary, the user will be authenticated and allowed to interact with the system. Otherwise, access will be denied.

@jaki729 I am still not quite seeing the value of the authentication. As for now I'd like for this project to remain terminal base that is ran by a user with their key so there shouldn't be a need to authenticate. If you want to fork the repository and make an authenticated app, then that could be worth considering for you!


id: sale of property error screen when answering Yes to first question

id: sale of property
When answering Yes to the first question error screen appears to be unavoidable no matter what configuration of the followup questions I answer.
Error screen always ends with Needed definition of notice_of_sale_provided. Example error screen attached.
error3.pdf

This is fixed now, notice_of_sale_provided has been replaced by notice_of_sale_provided_new_landlord throughout interview and documents.


Flake does not provide attribute 'packages.x86_64-linux.default' or 'defaultPackage.x86_64-linux'

Getting this error:
error: flake 'git+file:///home/cenk/nixos-orangepi-5x' does not provide attribute 'packages.x86_64-linux.default' or 'defaultPackage.x86_64-linux'
Any idea? sorry im very noob

This repository assumes that you are compiled natively: https://github.com/fb87/nixos-orangepi-5x/blob/v5.10.x/flake.nix#L398C7-L398C37
and cross-platform compilation needs to modify the content of flake.nix.
If you are not familiar with NixOS, I suggest you refer to this document:
Https://nixos-and-flakes.thiscute.world/development/cross-platform-compilation

Thanks very much I will try to figure this out thanks :)


Upgrade Spring Boot 3.3.5 -> 3.3.6 - autoclosed

This PR contains the following updates:

Package
Type
Update
Change

Spring Boot (source)
compile
patch
3.3.5 -> 3.3.6

Release Notes

spring-projects/spring-boot (Spring Boot)
v3.3.6
Compare Source
:warning: Noteworthy

This release upgrades to OpenTelemetry 1.38.0, see this issue comment for more details.

:lady_beetle: Bug Fixes

Spring Boot 3.3.x dependencies do not converge for Micrometer Tracing and OpenTelemetry #43200
Cannot package OCI image when 'docker.io/paketobuildpacks/new-relic' is provided as a buildpack #43170
WebServerPortFileWriter fails when using a portfile without extension #43116
SslOptions.isSpecified() only returns true if ciphers and enabled protocols are set #43083
Root cause of errors is hidden when loading images from archive  #43069
mvn spring-boot:run fails on Windows with "Could Not Find or Load Main Class" when path contains non-ASCII characters #43051
Logback logging system does not process URLs with paths not ending in .xml #42989
NPE in bootBuildImage when setting DOCKER_CONTEXT=default #42959
build-info doesn't support seconds since the epoch from project.build.outputTimestamp #42935
NPE in OnClassCondition.resolveOutcomesThreaded following thread interruption because firstHalf is null #42925
X-Registry-Auth header sent to Docker Engine API contains field "authHeader" #42914
A @SpyBean on the output of a FactoryBean is not reset #31204

:notebook_with_decorative_cover: Documentation

Documentation for 'spring.datasource.type' is misleading #43198
Update "Upgrading From" section to use "2.x" #43159
Include spring-boot-loader in API documentation #43151
Document how and where to add custom GraalVM configuration files #43073
Rework DataSource configuration examples to separate defining an additional DataSource and defining a DataSource of a different type #43058
Location of the layers schema is incorrect in the Maven Plugin's examples #43032
Link to Eclipse setup instructions #42953
Fix link to Checkpoint and Restore status page #42938
Update HttpWebServiceMessageSenderBuilder  javadoc #42893
Move default value descriptions to "description" in logging property metadata #42881

:hammer: Dependency Upgrades

Upgrade to ActiveMQ 6.1.4 #43146
Upgrade to Groovy 4.0.24 #43095
Upgrade to Infinispan 15.0.11.Final #43147
Upgrade to Jackson Bom 2.17.3 #43036
Upgrade to Jetty 12.0.15 #43093
Upgrade to jOOQ 3.19.15 #43037
Upgrade to Logback 1.5.12 #43038
Upgrade to Lombok 1.18.36 #43181
Upgrade to Micrometer 1.13.8 #43182
Upgrade to Micrometer Tracing 1.3.6 #43000
Upgrade to Netty 4.1.115.Final #43148
Upgrade to Pulsar Reactive 0.5.9 #43183
Upgrade to Reactor Bom 2023.0.12 #43002
Upgrade to Spring AMQP 3.1.8 #43004
Upgrade to Spring Data Bom 2024.0.6 #43006
Upgrade to Spring Framework 6.1.15 #43008
Upgrade to Spring Integration 6.3.6 #43010
Upgrade to Spring Kafka 3.2.5 #43011
Upgrade to Spring LDAP 3.2.8 #43184
Upgrade to Spring Pulsar 1.1.6 #43012
Upgrade to Spring RESTDocs 3.0.3 #43014
Upgrade to Spring Security 6.3.5 #43013
Upgrade to Tomcat 10.1.33 #43149

:heart: Contributors
Thank you to all the contributors who worked on this release:
@ahoehma, @izeye, @ngocnhan-tran1996, @nosan, @quaff, and @wickdynex

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

Suggested commit message:
Upgrade Spring Boot 3.3.5 -> 3.3.6

See:
- https://github.com/spring-projects/spring-boot/releases/tag/v3.3.6
- https://github.com/spring-projects/spring-boot/compare/v3.3.5...v3.3.6

We merged #1435 instead.


cpu inference colab

Hi, is cpu inference possible in colab?

Hi, may I ask if you have resolved to run the inference on cpu, or you just decided to forget about this issue?
Because I am also interested about the inference on cpu, and until now I was not able to resolve, so any help would be appreciated!
Thanks

Hi, You've closed the issue, so I've thought you figured this out :D Which notebook are you talking about?

I am asking about the image inference colab on this link:
https://colab.research.google.com/drive/1r1hhciakk5wHaUn1eJk7TP58fV9mjy_W

Just replace .cuda() with .cpu()
I guess I should add dynamic selection based on the environment.

Sure, that was the method I have tried (to replace all .cuda() with .cpu()), but it did not work, unfortunatelly.
I can't remember the error message by heart, but later I will check again and I will send some logs.

Ah, probably half precision isn't supported on CPU, so try replacing .half() with .float() as well.

I have replaced all the .cuda() with .cpu() and all the .half() with .float(), but still I get this error:
RuntimeError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx
The line, which cause this error is the following:
model = torch.jit.load(model_path).eval().cpu().float()

I think I have found some kind of a solution... (maybe not the best)

replace all the .cuda() with .cpu()
replace all the .half() with .half().float()
add map_location='cpu' parameter to the torch.jit.load
use torch=1.8.1


Implement recursive dataclass parsing

This allows fields of the dataclass to be other dataclasses.
This PR closes #15 and replaces #22

Thanks for the review!


ModuleNotFoundError: No module named 'vine.five'

Status quo
On a fresh installed debian 10 we have struggle with the current celery package celery==4.3.0
Running runserver command runs in to python-BaseException:
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/jonas/Git/MrMap/MrMap/__init__.py", line 5, in <module>
    from .celery_app import app as celery_app
  File "/home/jonas/Git/MrMap/MrMap/celery_app.py", line 12, in <module>
    from celery import Celery, task
  File "/home/jonas/Git/MrMap/venv/lib/python3.7/site-packages/celery/__init__.py", line 153, in <module>
    from . import local  # noqa
  File "/home/jonas/Git/MrMap/venv/lib/python3.7/site-packages/celery/local.py", line 17, in <module>
    from .five import PY3, bytes_if_py2, items, string, string_t
  File "/home/jonas/Git/MrMap/venv/lib/python3.7/site-packages/celery/five.py", line 7, in <module>
    import vine.five
ModuleNotFoundError: No module named 'vine.five'
python-BaseException

workaround
downgrade vine-5.0.0 to 1.3.0 solves the problem:
pip uninstall vine
pip install vine==1.3.0

@joki I think we encountered the same problem in https://git.osgeo.org/gitea/GDI-RP/MrMap/pulls/483
This could be fixed by upgrading celery to version 4.3.1. So a downgrade of vine should not be necesssary

since #64 is fixed, celery is now on version 5.0.5.
This error can't reproduced at the current master. So i think we can close this.


Fix Packet capture

use bool instead string in enable data stream in basic_api
use session get_file in download packet_capture
add dubug logging in packet capture

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/66


Cost layer start point

Reassess how to calculate cost from towns. Should this include a check in which the bounding box to nearest town? or multiple towns. Can this be run on road alone and not entire roads layers? Would be nice to check. To be determined after cost method selected

check_locations function: insufficient road layer dimensions to reach chosen nearest town. #40
Open
whmacken opened this issue 1 hour ago · 1 comment
Comments
@whmacken
Member
whmacken commented 1 hour ago
Currently the road layer is downloaded with the standard buffer dimensions applied early on in PEMprepr
It would be better to download a new road layer for the Samplr portion that uses the AOI plus the chosen towns to create a proper sized bounding box for road layer download.
Also here
@gcperk
Member
gcperk commented 51 minutes ago
Road layers are extracted at two extends. Modelling extent and expanded landscape extent. A landscape scale AOI is used on line 247 of the vignette. Does this cover this issue?


Use make targets in circleci, more complete coverage

As per #213, #217, and #222, attempting to make the CircleCI config use make targets.  To that end I factored the cover a bit so that the testing/coverage part is the same across make cover and make ci.
We were also running short tests before on CI, which doesn't hit all code paths (for instance in the client.go tests we don't test with RSA keys)
cc @mtrmac (although apologies, in #213 you suggested using godep in all targets or none - I haven't done that here since not using godep lets us test various versions for development, but not using godep seems to fail in circleci - maybe we should just do a godep restore in circleci?)
This seems to work (see https://codecov.io/github/cyli/notary?branch=codecov), but the code coverage numbers as displayed in codecov.io are different than from go tool cover --html, which I'm still trying to work out.

Thanks to @vikstrous for suggesting -coverpkg to make sure we can account for cross-package test coverage as well.


feat: Add a real icon!

Will resolve #60 although a better icon is more than welcome.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #63   +/-   ##
=======================================
  Coverage   33.68%   33.68%
=======================================
  Files          30       30
  Lines         935      935
  Branches       49       49
=======================================
  Hits          315      315
  Misses        618      618
  Partials        2        2

Continue to review full report at Codecov.

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


Code complete: unexpected colon and indent

From<EMAIL_ADDRESS>on 2012-05-20T06:10:59Z
What steps will reproduce the problem?
Editor adds unnecessary colon and indent after string which starts like reserved words, but not them.
For example:
form = ArtifactCodeForm(request.POST)
iface.show() What is the expected output? What do you see instead? What version of the product are you using? On what operating system? Spyder v2.1.7, Python 2.6.5, Qt 4.7.1, PyQt4 (API v1) 4.7.4 on Linux (Mandriva 2010.2)
Please provide any additional information below
.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1034

From pierre.raybaut on 2012-05-24T05:39:36Z
I can't reproduce this behavior.
When I'm typing "iface.show()" and pressing Enter, nothing happens, it just goes to next line, without inserting colon or indenting text.
Am I missing something in your report?

From<EMAIL_ADDRESS>on 2012-05-29T01:08:44Z
Right. But it's strange. This bug occurs as before for my system.
I'm going to install spyder (pythonxy) to another machine (Windows XP). I'll try to reproduce the behavior and report the results.

From<EMAIL_ADDRESS>on 2012-05-29T03:26:07Z
Indeed. On another system (Spyder v2.1.9, Python 2.7.2, Qt 4.7.1, PyQt4 (API v1) 4.8.6 on Windows) this behavior is not observed.
Maybe I need just update Spyder on my first system?

From ccordoba12 on 2012-06-05T15:01:32Z
Yep, the behavior you described was caused by some untested changes I did that are only present in version 2.1.7. They were removed in all subsequent versions and moved to the development branch (which is not released yet).
Status: WontFix


init container issue

I have followed : https://crowdstrike.github.io/falcon-helm/ to install here are the command I use to install :
helm repo add crowdstrike https://crowdstrike.github.io/falcon-helm
helm upgrade --install falcon-helm crowdstrike/falcon-sensor \
-n falcon-system --create-namespace \
--set falcon.cid="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
--set node.image.repository="xxxxxx/xxxxxxxxxxxxxxxxx/falcon-sensor"
I have uploaded the sensor in my container registry in GCP . the sensor downloaded is falcon-sensor-6.31.0-1409.container.x86_64.tar.bz2 ( Falcon Usermode Container Sensor", "platform": "linux", "os": "Container", "os_version")
I'm using a GKE kubernetes cluster .
Can't start the container . deamon set stops at the init container : /bin/sh not found.
(only bin/bash available on the container)
If I edit the demon set it continue to fail because touch is missing .
if I replace the command touch by $null >> in the deamon set .. I get a not authorized error
help will be appreciated

Thanks for the reply.
Since you are using the Falcon Container Sensor for deploying as a sidecar to your pods, you will want to run helm like so:
helm upgrade --install falcon-helm crowdstrike/falcon-sensor \
-n falcon-system --create-namespace \
--set falcon.cid="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
--set node.enabled=false \
--set container.enabled=true \
--set container.image.repository="xxxxxx/xxxxxxxxxxxxxxxxx/falcon-sensor"

Thanks for your comment .
I recreated my cluster to make sure that I was in the same conditions than the previous time
I Ran:
helm upgrade --install falcon-helm crowdstrike/falcon-sensor -n falcon-system --create-namespace --set falcon.cid="xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xx" --set node.enabled=false --set container.enabled=true --set container.image.repository="xxxxxx/falcon-sensor-gke"
Release "falcon-helm" does not exist. Installing it now.
NAME: falcon-helm
LAST DEPLOYED: Mon Nov  1 15:09:50 2021
NAMESPACE: falcon-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing the CrowdStrike Falcon Helm Chart!
Access to the Falcon Linux and Container Sensor downloads at https://falcon.crowdstrike.com/hosts/sensor-downloads are
required to complete the install of this Helm chart. This is provided automatically to all active CrowdStrike customers.
Additionally, a containerized sensor must be present in a container registry accessible from Kubernetes installation.
CrowdStrike Falcon sensors will deploy across all pods as sidecars in your Kubernetes cluster after
installing this Helm chart and starting a new pod deployment for all your applications.
The default image name to deploy the pod sensor is falcon-sensor.
An extremely common error on installation is accidentally forgetting to add your containerized
sensor to your local image registry prior to executing helm install.
That part done a quick check gives me :
kubectl get po -n falcon-system
NAME                                     READY   STATUS             RESTARTS   AGE
falcon-sensor-injector-f48548479-m879n   0/1     CrashLoopBackOff   6          7m8s
kubectl -n falcon-system  logs falcon-sensor-injector-f48548479-m879n --previous
time="2021-11-01T20:16:04Z" level=info msg="Starting Injector..."
time="2021-11-01T20:16:04Z" level=fatal msg="FALCON_INJECTOR_LISTEN_PORT not found"
Note :  I'm still using the falcon container : falcon-sensor-6.31.0-1409.container.x86_64.tar.bz2 , 1.20.10-gke.301, and Container-Optimized OS with Containerd (cos_containerd) for the nodes
Thanks a lot in advance for your help

Thanks for reporting back. This should be fixed in the 1.4.0 release that was released today, so running the following should pull the updated helm chart.
$ helm repo update

hello , , so I ran the following  :
helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "crowdstrike" chart repository
Update Complete. ⎈Happy Helming!⎈
then
helm upgrade --install falcon-helm crowdstrike/falcon-sensor -n falcon-system --create-namespace --set falcon.cid="xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xx" --set node.enabled=false --set container.enabled=true --set container.image.repository="xxxxxx/falcon-sensor-gke"
Checking the deployment I can see I'm running the version 1.4.0 :
kubectl get deployment falcon-sensor-injector -n falcon-system -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "2"
meta.helm.sh/release-name: falcon-helm
meta.helm.sh/release-namespace: falcon-system
creationTimestamp: "2021-11-01T20:09:55Z"
generation: 2
labels:
app: falcon-sensor-injector
app.kubernetes.io/component: container_sensor
app.kubernetes.io/instance: falcon-helm
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: falcon-sensor
crowdstrike.com/provider: crowdstrike
helm.sh/chart: falcon-sensor-1.4.0
All showing green on the google console  ( workload and services)
kubectl logs falcon-sensor-injector-9d899b64d-zfc2m -n falcon-system
time="2021-11-02T13:43:05Z" level=info msg="Starting Injector..."
time="2021-11-02T13:43:09Z" level=info msg="Starting HTTPS server" listen port=4433
Going to the next step ,  I scaled up my deployment
kubectl scale deployment proxy --replicas=3 -n squid;
deployment.apps/proxy scaled
But unfortunately I'm stuck there :
Internal error occurred: failed calling webhook "falcon-sensor-injector.falcon-system.svc": Post "https://falcon-sensor-injector.falcon-system.svc:443/mutate?timeout=30s": context deadline exceeded
I have made sure the port 443 , 4433, are exposed on my proxy pods -- just in case
Looks like the MutatingWebhookConfiguration  is setup as a service  and version is 1.4.0
kubectl get MutatingWebhookConfiguration -n falcon-system
NAME                                                 WEBHOOKS   AGE
falcon-sensor-injector                               1          18h
pod-ready.config.common-webhooks.networking.gke.io   1          18h
Name:         falcon-sensor-injector
Namespace:
Labels:       app=falcon-sensor
app.kubernetes.io/component=container_sensor
app.kubernetes.io/instance=falcon-helm
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=falcon-sensor
crowdstrike.com/provider=crowdstrike
helm.sh/chart=falcon-sensor-1.4.0
Annotations:  meta.helm.sh/release-name: falcon-helm
meta.helm.sh/release-namespace: falcon-system
Thanks again in advance for your help

I got the webhook solved by opening a FW rule on port 4433 on my controlplane !
Thanks a lot for all the help

Yeah... if you are managing ports on the control plane itself. That makes sense about the denial. Is there some sort of enhancement we should do to the helm chart to handle this?

I'm not sure , perhaps I'm in a specific spot , using shared networks from an other project to manage proxy access .... I did not tested it in a more "classic" situation .  Now , having said that , could be good to have that FW rule opened automatically...

Is the FW a kubernetes solution or is it something else?

Firewall rule  is mandatory for me because of our way to implement , so I think that should not be part of the helm side, looks like i'm the only one yet to get that issue .

Some of the other container/EKS docs have sections around common misconfiguration or deployment errors. For example the line in our README...
An extremely common error on installation is accidentally forgetting to add your containerized
sensor to your local image registry prior to executing helm install.

What if we convert that to a h2/h3 section around common deployment issues, and document this edge case there? e.g.
"Some deployments may be using using custom/external firewall services. if that's the case, ensure port XYZ is opened otherwise you may receive an error similar to foo"

I think it is a great idea  ,   and the webhook issue I got is a great sample for this kind of common deployement issue

I have followed : https://crowdstrike.github.io/falcon-helm/ to install here are the command I use to install : helm repo add crowdstrike https://crowdstrike.github.io/falcon-helm helm upgrade --install falcon-helm crowdstrike/falcon-sensor \ -n falcon-system --create-namespace \ --set falcon.cid="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ --set node.image.repository="xxxxxx/xxxxxxxxxxxxxxxxx/falcon-sensor"
I have uploaded the sensor in my container registry in GCP . the sensor downloaded is falcon-sensor-6.31.0-1409.container.x86_64.tar.bz2 ( Falcon Usermode Container Sensor", "platform": "linux", "os": "Container", "os_version") I'm using a GKE kubernetes cluster . Can't start the container . deamon set stops at the init container : /bin/sh not found. (only bin/bash available on the container) If I edit the demon set it continue to fail because touch is missing . if I replace the command touch by $null >> in the deamon set .. I get a not authorized error
help will be appreciated

Bruh, that init container don't have privileged when create that empty file filestore

@ardimaul You are trying to use the Falcon Container sensor for the Kubernetes nodes, and Falcon Container sensor was not designed for this implementation. Please see https://github.com/CrowdStrike/falcon-helm/issues/79#issuecomment-955056938


Random panics at closing file descriptors

I observe random panics when running the following code:
async fn compute_tokio_uring() {
    use tokio::task::JoinHandle;
    use tokio_uring::fs::File;

    let handles: Vec<JoinHandle<_>> = (0..1_000)
        .map(|_| {
            tokio_uring::spawn(async {
                let buffer = vec![0; 10];
                let dev_urandom = File::open("/dev/urandom").await.unwrap();
                let (res, buffer) = dev_urandom.read_at(buffer, 0).await;
                let _read_n = res.unwrap();
                let _ = dev_urandom.close().await;
                let dev_null = File::open("/dev/null").await.unwrap();
                let _ = dev_null.write_at(buffer, 0).await;
                let _ = dev_null.close().await;
            })
        })
        .collect();
    for handle in handles {
        handle.await.unwrap();
    }
}

fn main() {
    tokio_uring::start(async {
        for _ in 0..10 {
            compute_tokio_uring().await;
        }
        for _ in 0..10 {
            let before = std::time::Instant::now();
            for _ in 0..1_000 {
                compute_tokio_uring().await;
            }
            let elapsed = before.elapsed();
            println!(
                "[tokio_uring] {:?} total, {:?} avg per iteration",
                elapsed,
                elapsed / 1_000
            );
        }
    })
}

Typical output:
[tokio_uring] 3.140604502s total, 3.140604ms avg per iteration
[tokio_uring] 3.138823337s total, 3.138823ms avg per iteration
[tokio_uring] 3.182483812s total, 3.182483ms avg per iteration
thread 'main' panicked at 'already borrowed: BorrowMutError', /home/mcs/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:151:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'already borrowed: BorrowMutError', /home/mcs/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:151:37
stack backtrace:
   0:     0x560a89614b66 - std::backtrace_rs::backtrace::libunwind::trace::h0f5cd2ee8b0d7274
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x560a89614b66 - std::backtrace_rs::backtrace::trace_unsynchronized::h06905b5aeda069a1
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x560a89614b66 - std::sys_common::backtrace::_print_fmt::h4fe4c7c875072f30
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x560a89614b66 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hcc0746f004a9b7ef
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x560a895fdcec - core::fmt::write::h9a6d9c74526a6c1b
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/fmt/mod.rs:1115:17
   5:     0x560a89612972 - std::io::Write::write_fmt::h23dab4cc9ce72ee2
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/io/mod.rs:1665:15
   6:     0x560a89613b58 - std::sys_common::backtrace::_print::h173dc702502d65d2
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x560a89613b58 - std::sys_common::backtrace::print::h61bd27c4742ba817
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x560a89613b58 - std::panicking::default_hook::{{closure}}::hcaae87f0495ae613
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:208:50
   9:     0x560a89612584 - std::panicking::default_hook::h0538e728ee080db0
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:225:9
  10:     0x560a89612584 - std::panicking::rust_panic_with_hook::h3039e236b6ca482c
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:622:17
  11:     0x560a8962d7f8 - std::panicking::begin_panic_handler::{{closure}}::h884fbab544ffd91c
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:519:13
  12:     0x560a8962d76e - std::sys_common::backtrace::__rust_end_short_backtrace::hdaf2e18ba3d91210
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x560a8962d71d - rust_begin_unwind
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:515:5
  14:     0x560a895fceb0 - core::panicking::panic_fmt::hcf5f6d96e1dd7099
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/panicking.rs:92:14
  15:     0x560a895fe1e2 - core::result::unwrap_failed::he898b02f57993c42
                               at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/result.rs:1599:5
  16:     0x560a8964d1a7 - core::ptr::drop_in_place<tokio_uring::driver::op::Op<tokio_uring::driver::close::Close>>::hfcf27dfadca700b2
  17:     0x560a8964cdde - tokio_uring::driver::shared_fd::Inner::submit_close_op::h3f8bddef42430763
  18:     0x560a895ef99e - core::ptr::drop_in_place<tokio_uring::fs::file::File>::h362afd75267e2033
  19:     0x560a895f4a25 - tokio::runtime::task::raw::poll::h085f63b72b0ae836
  20:     0x560a895f8583 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h3c0c4df751b39350
  21:     0x560a895fac6a - probing::main::h251d5f151cb99f6d
  22:     0x560a895ec1b3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h7ba9bcd7fa98fc5f
  23:     0x560a895fc247 - main
  24:     0x7f946e667565 - __libc_start_main
  25:     0x560a895ec08e - _start
  26:                0x0 - <unknown>
thread panicked while panicking. aborting.

After panic while panicking such process hangs forever, even kill -9 cannot terminate it.
Sometimes the result is slightly different:
...
thread panicked while panicking. aborting.
Illegal instruction (core dumped)

Tested on the following systems:
Linux 5.11.0-25-generic #27-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
Linux 5.8.0-1038-aws #40~20.04.1-Ubuntu SMP Thu Jun 17 13:25:28 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Rust version
rustc 1.55.0-nightly (027187094 2021-07-22)

and also on the previous rust nightly (2021-07-21)

Takes really long to run, so couldn't replicate.  I used release since wanted to benchmark against vanilla tokio.
Anyway, looks like some race condition to me.

In my platform, seems the problem is from /dev/urandom. When I run the code, it sometimes paused forever without any panic. When I use a regular path, it works fine and was 2.x ms each iteration slower than yours, used the release build.
My toolchain and platform is:
nightly-x86_64-unknown-linux-gnu (default)
rustc 1.55.0-nightly (32c9b7b09 2021-07-21)

Linux 5.13.4-1-MANJARO #1 SMP PREEMPT Tue Jul 20 21:25:32 UTC 2021 x86_64 GNU/Linux

On my PC the release build reading from regular text file crashes immediately with the same error, but I was not able to reproduce the crash with the debug build though.

Thanks for the report. I will investigate.

I think I know what is happening, but I am not sure how to reproduce reliably. I pushed a possible fix to #39, could someone give it a shot? I will try to keep trying to reproduce myself.


Increase contrast for spelling errors

When using :set spell, spelling and capitalization mistakes were
nearly illegible because the text and background were both light
colors.  This commit increases the lightness of the background color
for these cases to increase contrast.
Before:

After:

Merged, thanks!


Special visit functions (e.g. mpv, eww)

Many feeds cannot be visited within elfeed.  Two of the most common examples:

video/audio feeds
trimmed feeds (those that only show the first line and force you to visit their webpage).

Possible solutions:

Play the link of the media feed with mpv (if youtube-dl is installed).
Open the link of the trimmed feed with eww and call eww-readable right after load.  In many cases this effectively loads the whole article.

Implementation suggestion:
(defun elfeed-play-with-mpv ()
  "Play entry link with mpv."
  (interactive)
  (let ((entry (if (eq major-mode 'elfeed-show-mode) elfeed-show-entry (elfeed-search-selected :single)))
        (quality-arg "")
        (quality-val (completing-read "Max height resolution (0 for unlimited): " '("0" "480" "720") nil nil)))
    (setq quality-val (string-to-number quality-val))
    (message "Opening %s with height≤%s with mpv..." (elfeed-entry-link entry) quality-val)
    (when (< 0 quality-val)
      (setq quality-arg (format "--ytdl-format=[height<=?%s]" quality-val)))
    (start-process "elfeed-mpv" nil "mpv" quality-arg (elfeed-entry-link entry))))

(defun elfeed-open-with-eww ()
  "Open in eww with `eww-readable'."
  (interactive)
  (let ((entry (if (eq major-mode 'elfeed-show-mode) elfeed-show-entry (elfeed-search-selected :single))))
    (eww  (elfeed-entry-link entry))
    (add-hook 'eww-after-render-hook 'eww-readable nil t)))

(defvar elfeed-visit-patterns
  '(("youtu\\.?be" . elfeed-play-with-mpv)
    ("phoronix" . elfeed-open-with-eww))
  "List of (regexps . function) to match against elfeed entry link to know
whether how to visit the link.")

(defun elfeed-visit-maybe-externally ()
  "Visit with external function if entry link matches `elfeed-visit-patterns',
visit otherwise."
  (interactive)
  (let ((entry (if (eq major-mode 'elfeed-show-mode) elfeed-show-entry (elfeed-search-selected :single)))
        (patterns elfeed-visit-patterns))
    (while (and patterns (not (string-match (caar patterns) (elfeed-entry-link entry))))
      (setq patterns (cdr patterns)))
    (if patterns
        (funcall (cdar patterns))
      (if (eq major-mode 'elfeed-search-mode)
          (elfeed-search-browse-url)
        (elfeed-show-visit)))))

elfeed-visit-maybe-externally can then be used in lieu of elfeed-search-show-entry.
A more streamlined way to do this would be to assign a "visit function" to each feed in elfeed-feeds.
Then elfeed could provide elfeed-play-with-mpv and elfeed-open-with-eww as example functions.
What do you think?

How I call

elfeed-play-with-mpv
on selected entry?

Thanks!

Thanks!

I like the idea of this in principle, but for truncated articles, I don't see the difference between "Visit with external function if link entry matches 'elfeed-visit-patterns'", and "visit otherwise" in your proposal. The behavior of this function either opens in eww with readability mode or opens in eww (or your browser of choice), without readability mode. Wouldn't it make more sense to open in eww with readability or to show the feed?

Yes, I think it would but it's been a long time since I wrote this quick & dirty snippet.
Let me have a second look and fix it (it was quite badly written).

Now I remember: I originally took a conservative approach and I did not
want to replace elfeed-search-show-entry (RET by default).  I
bound my proposal to S-RET in my init.el.
In the search view:

RET to show the entry. (Original elfeed behaviour.)
S-RET to open in eww readable mode if matching a pattern.
S-RET to open with browse-url if not matching a pattern.

In the show view (same thing):

S-RET to open in eww readable mode if matching a pattern.
S-RET to open with browse-url if not matching a pattern.

I don't think it's the right approach though: we should try to
minimize the effort on the user end so that they don't have to remember
whether they should press RET or S-RET.
So here is an update to my proposal, in the line of what @benjaminwd
suggested:
In the search view:

RET to open in eww readable if matching a pattern.
RET to show the entry if not matching a pattern.
S-RET to force-show the entry.  This is useful if the entry matches
a pattern but we still want to see the elfeed "show" buffer.

In the show view:

S-RET to open with browse-url.

What do you think?

Updated function:
(defun elfeed-visit-maybe-externally ()
  "Visit with external function if entry link matches `elfeed-visit-patterns',
show normally otherwise."
  (interactive)
  (let ((entry (if (eq major-mode 'elfeed-show-mode)
                   elfeed-show-entry
                 (elfeed-search-selected :single)))
        (patterns elfeed-visit-patterns))
    (while (and patterns (not (string-match (caar patterns) (elfeed-entry-link entry))))
      (setq patterns (cdr patterns)))
    (cond
     (patterns
      (funcall (cdar patterns)))
     ((eq major-mode 'elfeed-search-mode)
      (elfeed-search-show-entry))
     (t (elfeed-show-visit)))))

Note that if the above function is called from the "show" buffer, it will either use eww-readable if matching or browse-url otherwise.
Leaving S-RET to elfeed-show-visit enables us to open matched entries with browse-url.

I did try switching to elfeed-search-show-entry as you show, but that is not getting the correct arguments. I don't know elfeed well yet, so I hesitate to speculate, but I suspect elfeed-search-show-entry is looking for something other than the link url.

Sorry, elfeed-search-show-entry must be called intereactively.  Fixed code:
(defun elfeed-visit-maybe-externally ()
  "Visit with external function if entry link matches `elfeed-visit-patterns',
show normally otherwise."
  (interactive)
  (let ((entry (if (eq major-mode 'elfeed-show-mode)
                   elfeed-show-entry
                 (elfeed-search-selected :single)))
        (patterns elfeed-visit-patterns))
    (while (and patterns (not (string-match (caar patterns) (elfeed-entry-link entry))))
      (setq patterns (cdr patterns)))
    (cond
     (patterns
      (funcall (cdar patterns)))
     ((eq major-mode 'elfeed-search-mode)
      (call-interactively 'elfeed-search-show-entry))
     (t (elfeed-show-visit)))))


Fix: Expression with square not sorted correctly

Expression with square not sorted correctly because square does not get degree 2. You can see the difference before and after this PR in table below.

Expresssion
Canocical Form Before this PR
Canocical Form After this PR
Status

x^2+x^3+x
x^{3}+x+x^2
x^{3}+x^2+x
After this PR expression sorted correctly

x^2+x^3+\sin(x)
x^{3}+x^2+\sin(x)
x^{3}+x^2+\sin(x)
Sorted correctly.

\sin(x)+x^2+x^3
x^{3}+\sin(x)+x^2
x^{3}+x^2+\sin(x)
This expression's cannocial form must equal with above expression's canonical form

Some test's expected result have been changed. You can see changed test in this table.

Expresssion
Canocical Form Before this PR
Canocical Form After this PR

x^2y^3+x^3y^2+xy^4+x^4y+x^2y^2
x^{4}y+xy^{4}+x^{3}y^2+x^2y^{3}+x^2y^2
x^{4}y+x^{3}y^2+x^2y^{3}+xy^{4}+x^2y^2

(b^3b^2)+(a^3a^2)+(b^6)+(a^5b)+(a^5)
a^{5}b+b^{6}+a^{5}+a^2a^{3}+b^2b^{3}
a^{5}b+b^{6}+a^2a^{3}+a^{5}+b^2b^{3}

Why I change the test's expected result?. Canocial form of those expression are inconsistent with other expressions that does not have square. You can see this table:

Expresssion
Canocical Form Before this PR
Canocical Form After this PR
Status

x^2y^3+x^3y^2+xy^4+x^4y+x^2y^2
x^{4}y+xy^{4}+x^{3}y^2+x^2y^{3}+x^2y^2
x^{4}y+x^{3}y^2+x^2y^{3}+xy^{4}+x^2y^2
Different

(b^3b^2)+(a^3a^2)+(b^6)+(a^5b)+(a^5)
a^{5}b+b^{6}+a^{5}+a^2a^{3}+b^2b^{3}
a^{5}b+b^{6}+a^2a^{3}+a^{5}+b^2b^{3}
Different

(b^3b^3)+(a^3a^3)+(b^6)+(a^5b)+(a^5)
a^{3}a^{3}+a^{5}b+b^{3}b^{3}+b^{6}+a^{5}
a^{3}a^{3}+a^{5}b+b^{3}b^{3}+b^{6}+a^{5}`
Equal

Also, this change fix some sorting result when there are square in expression and sin function.

Thank you for investigating this issue and submitting this PR.
The Compute Engine codebase is undergoing a refactor which unfortunately makes merging this PR directly a little bit tricky. However, I will make sure to incorporate your changes and preserve their effect.
Again, thanks for your submission, it is very much appreciated.


GCP Packer build

Requirements:

set GCP_PROJECT_ID
provide an account.json with a service account that is a compute editor
your ssh_authorized_keys: added to user-data

The image name is a bit dumb because GCP does not accept spaces or dots.

Hi @bhale,
Thank you for this contribution. Can you update it to include the newly-released v0.3.0?

@dweomer Updated.


Empty pot file produced

I am using grunt-pot to help with WordPress development. However I cannot seem to get a pot file created with any content in, it always produces an empty pot file.
My grunt task looks like this:
    pot: {
        options: {
            text_domain: 'test_site',
            dest: '<%= yeoman.dev %>/languages/',
            keywords: ['__', '_e']
        },

        files:{
            src:  [ '<%= yeoman.app %>/{,*/{,*/}}*.php' ],
            expand: true
        }
    }

I know the files>src property is fine as the same one works for the watch task.
Here is an example of what I want extracting into the pot file:
<?php _e( 'That page cannot be found.', 'test_site' ); ?>

Have I got an option set wrong?
Many thanks
I'm using grunt-pot 0.1.1

It would be really nice to be able to specify the location of the xgettext command so the you don't have to have it in the path. is this possible?