Add infinte scroll loading data

Hi renefloor,
It is the first time i want to contributate on github and i don't find how to contribute.
I tried pull-request but it redirect me to comparing code.
So i have made my change in the code and i give you here the new feature :
side_header_list_view.dart
library side_header_list_view;

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

/**
 *  SideHeaderListView for Flutter
 *
 *  Copyright (c) 2017 Rene Floor
 *
 *  Released under BSD License.
 */

typedef bool HasSameHeader(int a, int b);
typedef void LoadMore();

class SideHeaderListView extends StatefulWidget {
  final int itemCount;
  final IndexedWidgetBuilder headerBuilder;
  final IndexedWidgetBuilder itemBuilder;
  final EdgeInsets padding;
  final HasSameHeader hasSameHeader;
  final LoadMore loadMore;
  final itemExtend;

  SideHeaderListView({
    Key key,
    this.itemCount,
    @required this.itemExtend,
    @required this.headerBuilder,
    @required this.itemBuilder,
    @required this.hasSameHeader,
    this.padding,
    this.loadMore,
  })
      : super(key: key);

  @override
  _SideHeaderListViewState createState() => new _SideHeaderListViewState();
}

class _SideHeaderListViewState extends State<SideHeaderListView> {
  int currentPosition = 0;

  @override
  Widget build(BuildContext context) {
    return new Stack(
      children: <Widget>[
        new Positioned(
          child: new Opacity(
            opacity: _shouldShowHeader(currentPosition) ? 0.0 : 1.0,
            child: widget.headerBuilder(
                context, currentPosition >= 0 ? currentPosition : 0),
          ),
          top: 0.0,
          left: 0.0,
        ),
        new ListView.builder(
            padding: widget.padding,
            itemCount: widget.itemCount,
            itemExtent: widget.itemExtend,
            controller: _getScrollController(),
            itemBuilder: (BuildContext context, int index) {
              return new Row(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  new FittedBox(
                    child: new Opacity(
                      opacity: _shouldShowHeader(index) ? 1.0 : 0.0,
                      child: widget.headerBuilder(context, index),
                    ),
                  ),
                  new Expanded(child: widget.itemBuilder(context, index))
                ],
              );
            }),
      ],
    );
  }

  bool _shouldShowHeader(int position) {
    if (position < 0) {
      return true;
    }
    if (position == 0 && currentPosition < 0) {
      return true;
    }

    if (position != 0 &&
        position != currentPosition &&
        !widget.hasSameHeader(position, position - 1)) {
      return true;
    }

    if (position != widget.itemCount - 1 &&
        !widget.hasSameHeader(position, position + 1) &&
        position == currentPosition) {
      return true;
    }
    return false;
  }

  ScrollController _getScrollController() {
    var controller = new ScrollController();
    controller.addListener(() {
      var pixels = controller.offset;
      var newPosition = (pixels / widget.itemExtend).floor();

      if (newPosition != currentPosition) {
        setState(() {
          currentPosition = newPosition;
        });
      }
    });
    if (widget.loadMore != null) {
      controller.addListener(() {
        var pixels = controller.offset;
        var bottom = controller.position.maxScrollExtent;
        if (pixels == bottom) {
          widget.loadMore();
        }
      });
    }
    return controller;
  }
}

CHANGELOG.md
[0.0.3] - 2017-12-27
Add LoadMore function in order to add inifinte scroll. When user arrives at the bottom of the screen, loadmore is call.
[0.0.2] - 2017-12-27
Bug fix release with two bug fixes:

Overscroll on iOS resulted in an out of bounds exception
Last item never showed a header, although it should have.

[0.0.1] - 2017-12-09

First release of this awesome project :)

Hope you will add this feature 👍
Toregua

Hi @toregua
Thanks for the code. Can you also add some sample?
I assume you rebuild the widget (with setState) after you have loaded more items? Does the scroll position stays the same after you load? Do you have a progress indicator as last item?
I would add a check that it only calls 'LoadMore' once for a specific ScrollExtend. Otherwise it keeps calling loadMore when you scroll and I think it is better to catch that here than in 'LoadMore'.

I just had a look and it works fine in the following way:
      return new NotificationListener<UserScrollNotification>(
        onNotification: onScrollNotification,
        child: new SideHeaderListView(
          itemCount: items.length,
          itemExtend: 150.0,
          headerBuilder: (BuildContext context, int index){
            return new DayWidget(items[index].startDate);
          },
          itemBuilder: (BuildContext context, int index){
            return new BattleListItem(items[index], key, index);
          },
          hasSameHeader: (int a, int b){
            return items[a].startDate == items[b].startDate;
          },
        ),
      );

with
  onScrollNotification(UserScrollNotification notification){
    debugPrint("Scroll: ${notification.metrics.extentBefore}/${notification.metrics.maxScrollExtent}");
  }

You can see all types of scrollnotifications here: https://docs.flutter.io/flutter/widgets/ScrollNotification-class.html
So for example you have ScrollStart, ScrollUpdate and ScrollEnd.
I can also imagine that you might want to load new items when the user still has some items left to scroll so it becomes more smooth.
I might add this feature later, but I don't think so. I suggest to use the method with the notifications.
These notifications are given by everything that scrolls, so you could also make a package that handles this with any type of scrollview.

Hi renefloor, you are right your solution is widely better because it totally decoupled from the component.
I juste tried your solution and it work perfectly.
Many thanks

Good luck with your project.
I would love to see the result. Do you plan to publish something in an app store or on github?


Refactor DRman , Moving create github vcr to a helper folder

To raise a new Pull Request, the following prerequisites need to be met. Please tick before proceeding:

[ ] a conversation was held in the appropriate DRMAN Slack channel.
[ ] a Github Issue was opened for this feature / bug.
[ ] test coverage was added (Cucumber or Spock as appropriate).

This addresses Issue #XXX

@arunprakashpj  , Please do include the test cases and rename DRman script name to drman-github-vcr.sh or rename drman-gitlab-vcr  to drman-gitlabVCR.sh in the next pull request for keeping the naming consistent.


Question about compatibility with one particular app..

Hi, it's me again. I have a question about a particular video app, Showtime Anytime. It seems, from some forums I've visited, that if the UVD substrate is active, the SA app will not stream any content. This issue also arises with a couple of other streaming apps, but the simple solution with other apps is just to disable the offending app in UVD settings. For other apps, that's the fix for being able to stream. If UVD substrate is running, the SA app will load, show the UI, and allow navigation of the app just fine. But when any video is selected to stream, it gives an error message, even if the SA app is disabled in UVD settings. Videos simply won't load.
If I go use a tool like iCleaner to disable the UVD substrate from loading (or if I reboot into Safe Mode), upon respring, the SA app will play videos just fine. But, for some reason, if the UVD substrate is re-enabled, even though SA is disabled in UVD settings, no videos will stream from the app.
Is there a way to keep the code from injecting into this app? Might there be a setting or file tweak of some sort I could find in iFile and change, or Terminal command I might use?
It's certainly not a life-or-death issue. If I want to watch the SA app, I could disable the substrate and respring and watcb it. Upon conclusion, I could re-enable the substrate to watch or stream from other apps. However, it seems that others with this issue just uninstall UVD completely, and I figured since no one else had contacted the programmer, I thought it might be helpful to ask the developer first. (Note: I have no intention of uninstalling the app. If I have to deal with disabling/re-enabling the substrate, I will do that. UVD is completely awesome, no matter when the code was written :+1: ) UVD is one of only 2 substrates that I intentionally jailbreak for. Great work for your sophomore year!
Just looking to see if there's a simpler way/preference plist or terminal command to disable the code from injecting into the SA app when the substrate is enabled. Any help would be greatly appreciated. Thanks a bunch!

You would most likely have to edit the constructor function in UVD Tweak/UVDListener.xm to exclude the bundle identifier for the conflicting apps and then recompile the tweak in order to prevent Cydia Substrate from loading it. Feel free to fork the repo and submit a pull request.

On Jul 11, 2015, at 12:29 PM, bubbleflubber<EMAIL_ADDRESS>wrote:
Hi, it's me again. I have a question about a particular video app, Showtime Anytime. It seems, from some forums I've visited, that if the UVD substrate is active, the SA app will not stream any content. This issue also arises with a couple of other streaming apps, but the simple solution with other apps is just to disable the offending app in UVD settings. For other apps, that's the fix for being able to stream. If UVD substrate is running, the SA app will load, show the UI, and allow navigation of the app just fine. But when any video is selected to stream, it gives an error message, even if the SA app is disabled in UVD settings. Videos simply won't load.
If I go use a tool like iCleaner to disable the UVD substrate from loading (or if I reboot into Safe Mode), upon respring, the SA app will play videos just fine. But, for some reason, if the UVD substrate is re-enabled, even though SA is disabled in UVD settings, no videos will stream from the app.
Is there a way to keep the code from injecting into this app? Might there be a setting or file tweak of some sort I could find in iFile and change, or Terminal command I might use?
It's certainly not a life-or-death issue. If I want to watch the SA app, I could disable the substrate and respring and watcb it. Upon conclusion, I could re-enable the substrate to watch or stream from other apps. However, it seems that others with this issue just uninstall UVD completely, and I figured since no one else had contacted the programmer, I thought it might be helpful to ask the developer first. (Note: I have no intention of uninstalling the app. If I have to deal with disabling/re-enabling the substrate, I will do that. UVD is completely awesome, no matter when the code was written  ) UVD is one of only 2 substrates that intentionally jailbreak for. Great work for your sophomore year!
Just looking to see if there's a simpler way/preference plist or terminal command to disable the code from injecting into the SA app when the substrate is enabled. Any help would be greatly appreciated. Thanks a bunch!
—
Reply to this email directly or view it on GitHub.


Enable transition time for HmIP-BSL - HomematicIP Cloud

Description:

Enable transition time for HmIP-BSL - HomematicIP Cloud
Harden ACP
Fix AP device name

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Hi @MartinHjelmare, please have a look at this PR.

Hi @MartinHjelmare,
the pytest36 failed due to a non related test.
Should i rebase, or could this be merged?
BR

It's ok. We've already fixed those tests on dev branch.


[BUG] GUI interface causes GNOME to slow to a crawl in Pop_OS! 20.04

Describe the bug
After trying out the Pop_OS! 20.04 beta, the Gnome interface slowed to the point where it was completely unusable—where it would take nearly a minute to register a click—and the only thing that allowed it to work again was to shut down the GUI interface to Maestral. Running the CLI version of the application did not present this problem.
I’m not sure if this is a Qt or Gnome issue or something on Maestral’s end but it was a showstopper.
To Reproduce
Run the latest version of Pop_OS! and Gnome, load up the Maestral GUI.
Expected behaviour
Normal behavior without slowdown.
System (please complete the following information):

Maestral version: 0.64
OS: Pop_OS! 20.04 Beta
Desktop environment: Gnome 3.36 (Pop_OS! variant)
Qt version: 5.14

Additional context
Pop_OS! 20.04 should be out in the next couple of days if that matters.

I've seen the same on Ubuntu 20.04. This seems to be a general issue with the Qt system tray icon and Gnome 3.36 but I haven't identified the problem yet.

Could you try to set the environment variable QT_AUTO_SCREEN_SCALE_FACTOR=0 before launching the GUI? Does this help?

That actually did the trick, seems to be working well after a few seconds of trying. Will keep an eye on this for now.

Ok, then it is very likely an issue with high dpi support in Qt on Gnome 3.36. There hopefully is a better workaround than just disabling it. But it might not be straight forward.

It turns out that this is a really coincidental combination of a bug in Qt system tray icons when HiDPI scaling is enabled and changes made to the appindicator for Gnome 3.36. Fixing it would require fixes to either, for now I can only include a workaround which alleviates the problem.

Sounds good—obviously annoying, but glad we caught it. I’ll leave this open for now until something shifts on the workaround front or with the external bugs.

Yes, thanks for the report! I have filed issues with both Qt and the appindicator shell extension. The Qt folks have acknowledged the issue but it won't be fixed any time soon.
The next release will have workaround which both reduces the frequency of icon changes and does not install icons in the platform theme (which are converted by QSystemTrayIcon into unnecessarily large 512 x 512 pixmaps).


Debian Plugin: Differing upgrade and safe-upgrade

Improving with "safe-upgrade" for aptitude and "upgrade" for apt-get on debian plugin

LGTM.
Apart from the ag alias shadowing the ag program (but that's not added in this PR).


acceptance test?

Suggest providing some sample results so that people can test their solution against the whole corpus.

I initially did that, but then those sample results could be used as specs, so I removed them. Once you have the sample results, there is no real need to read the source code.
My (possibly misguided) idea is that reading the source code and interpreting it is the point of this exercise.


Add fumo face

i still don't understand why this is not in the app and idk what face would be better

plz add both faces i want this feature

I think, this feature is awesome. I like this feature. I hope it will solve all the problems in the app. According to my observations, the performance of the application have increased (see below).


Angular 11 moduleWithProvider type is required.

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request

Current behavior

I upgraded the version of the Angular project to 11. After the upgrade, in the modal-gallery.module-> forRoot () method, I saw that ModuleWithProviders class requested type and crashed while getting build.
Environment (the most important section to fill very carefully)

- @ks89/angular-modal-gallery version: X.X.X
- Node version: v10.13.0
- npm version: 6.4.1
- Operating System and version: Mac
- Angular version: 11.0.2
- angular-cli version (or SystemJS/Webpack): 11.0.2
- I'm using Server Side Rendering with angular-universal: NO
- I'm compiling with mode: DEBUG / PROD / PROD with AOT

Browser:
- [X] Chrome (desktop) version 86.0.4240.198 (Official Build) (x86_64)
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

Others:

Thank you for the PR #216 I'll merge it weekend.

Hi, I would be glad if you can publish to npm as soon as possible. Because now I forked the project and built it locally and I use it in my own project :)
Good work ✋

Sure, I'll publish the new release tomorrow 👍

release 7.2.7


Sequence diagrams: Download CAFF

@hbalint12
Thanks! Some notes:

.drawio file should always be downloaded, so others can edit the diagram later
Arrow pointing from the actor to the first function call -> ???
Username in function call should be replaced by something like "session" -> meaning that the auth component will check the validity of the session cookie of the user (which proves that they are logged in). This check would not work by username, it is spoofable this way, if you know the username of another user, who is currently logged in. It is easier to know someone's username, than knowing their server-generated session cookie, which gets invalidated on logout / timeout.
CAFF db is duplicated, one of them was probably intended to be the log data handler.

https://github.com/nemkrisz11/Computer-Security-Homework-2021-SHAjt/commit/ac64734281aaf724054052d8b717b6072ca7f237

The png was updated and I commited the drawio file as well.


Customer-reported issue with null safety migration tool: Couldn't apply migration

Couldn't apply migration
Error: {success: false, exception: Bad state: Cannot apply migration. Files on disk do not match the expected pre-migration state. Press the "rerun from sources" button and then try again. (Changed file path is /.../third_party/dart_src/angular/_tests/test/core/mock_like_directive_test.dart), stackTrace: #0      PreviewSite.performApply (package:nnbd_migration/src/preview/preview_site.dart:510:9)
#1      PreviewSite.handlePostRequest (package:nnbd_migration/src/preview/preview_site.dart:449:9)
<asynchronous suspension>
#2      HttpPreviewServer._handlePostRequest (package:nnbd_migration/src/preview/http_preview_server.dart:109:5)
<asynchronous suspension>
#3      HttpPreviewServer._handleServer.<anonymous closure> (package:nnbd_migration/src/preview/http_preview_server.dart:119:9)
<asynchronous suspension>
}

What I was doing when this issue occurred: I unselected this file to indicate that I did not want it migrated and made some local edits. Attempting to apply the migration to the remaining files fails because I edited this file, despite the fact I'm asking the tool not to touch it.
Is it possible to work around this issue: Yes, I can rerun the tool without this file listed as an input.
Dart SDK version: 2.19.462329229-edge+google3-v2
Stacktrace: auto populated by migration preview tool.
{success: false, exception: Bad state: Cannot apply migration. Files on disk do not match the expected pre-migration state. Press the "rerun from sources" button and then try again. (Changed file path is /.../third_party/dart_src/angular/_tests/test/core/mock_like_directive_test.dart), stackTrace: #0      PreviewSite.performApply (package:nnbd_migration/src/preview/preview_site.dart:510:9)
#1      PreviewSite.handlePostRequest (package:nnbd_migration/src/preview/preview_site.dart:449:9)
<asynchronous suspension>
#2      HttpPreviewServer._handlePostRequest (package:nnbd_migration/src/preview/http_preview_server.dart:109:5)
<asynchronous suspension>
#3      HttpPreviewServer._handleServer.<anonymous closure> (package:nnbd_migration/src/preview/http_preview_server.dart:119:9)
<asynchronous suspension>
}

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.
If you still need help, or you believe this issue has been closed in error, please feel free to reopen.


[infra] Health coverage bot not terminating (not even starting?)

On different PRs:
https://github.com/dart-lang/native/actions/runs/9700585168/job/26772335563
https://github.com/dart-lang/native/actions/runs/9696603699/job/26767515126
Run cd current_repo/
Start health check for the check coverage with
 warnOn: [license, coverage, breaking, leaking]
 failOn: [version, changelog, do-not-submit]
 coverageweb: false
 ignoredPackages: []
 ignoredForLicense: []
 ignoredForCoverage: []
 baseDirectory: Directory: '../base_repo'
 experiments: []
Checking for coverage
Found packages [package:ffi 2.1.2 (dir=/home/runner/work/native/native/current_repo/pkgs/ffi), package:ffigen 13.0.0-wip (dir=/home/runner/work/native/native/current_repo/pkgs/ffigen), package:jni 0.9.3 (dir=/home/runner/work/native/native/current_repo/pkgs/jni), package:jnigen 0.10.0-wip (dir=/home/runner/work/native/native/current_repo/pkgs/jnigen), package:native_assets_cli 0.6.1-wip (dir=/home/runner/work/native/native/current_repo/pkgs/native_assets_cli), package:objective_c 1.1.0-wip (dir=/home/runner/work/native/native/current_repo/pkgs/objective_c), package:swiftgen 0.0.1-wip (dir=/home/runner/work/native/native/current_repo/pkgs/swiftgen)] at Directory: '/home/runner/work/native/native/current_repo'
The files of interest are [pkgs/native_assets_cli/lib/src/model/native_code_asset.dart: FileStatus.modified]
Found packages [package:ffi 2.1.2 (dir=/home/runner/work/native/native/current_repo/pkgs/ffi), package:ffigen 13.0.0-wip (dir=/home/runner/work/native/native/current_repo/pkgs/ffigen), package:jni 0.9.3 (dir=/home/runner/work/native/native/current_repo/pkgs/jni), package:jnigen 0.10.0-wip (dir=/home/runner/work/native/native/current_repo/pkgs/jnigen), package:native_assets_cli 0.6.1-wip (dir=/home/runner/work/native/native/current_repo/pkgs/native_assets_cli), package:objective_c 1.1.0-wip (dir=/home/runner/work/native/native/current_repo/pkgs/objective_c), package:swiftgen 0.0.1-wip (dir=/home/runner/work/native/native/current_repo/pkgs/swiftgen)] at Directory: '/home/runner/work/native/native/current_repo'
The packages of interest are [package:native_assets_cli 0.6.1-wip (dir=/home/runner/work/native/native/current_repo/pkgs/native_assets_cli)]
Get coverage for native_assets_cli by running coverage in /home/runner/work/native/native/current_repo/pkgs/native_assets_cli
Run tests with coverage for vm
(And then no more logs)

Not super high prio, as the coverage GitHub actions are also running. But we should probably investigate.
@mosuem How do I run the health bot command locally to see if I can repro it getting stuck?

Running the full health bot locally is a bit involved, but I will check if the CI tests on the ecosystem repo can reproduce this.


Can't change font in example config

Hello ! I have still the example configuration, modified a little bit.
I have tried to change the font-1 line to set ubuntu font instead of the default font (I don't rember what is it) but it's doesn't work. When i launch polybar, the font is still the default font ...
The line is now font-1 = ubuntu:fontformat=truetype:size=8:antialias=false;0

I have quickly read this, not completely all

Yeah, it looks like it should work... did you check gucharmap for Ubuntu, and if you remove all the other font settings, what font does it use?

By default, the gucharmap uses the "Sans" font

Did you set the dropdown menu in the top left to Ubuntu?
By font settings, I mean font-N (use font-0=ubuntu... and remove font-1 and font-2)

I'm on i3

I meant the dropdown menu in gucharmap.

use font-0=ubuntu... and remove font-1 and font-2 works but I have no icons because missing sili and the bar, for example the volume bar don't work

Use siji as font-1 and keep ubuntu as font-0.

Now, I have the icons and no bars

And I set fixed as the font-2 and It's good, I have all :) with the ubuntu font

OK, great :+1: I'll close this issue now.


Experiment: pkg/runtest: reduce the parallelism of TestCover

Do targets in parallel, but per target tests sequentually.

Let's check how long it takes now. ci/build seems to take around 6 minutes on the mainline.

Okay, now it's even worse.


Rails/RedundantPresenceValidationOnBelongsTo and *_id fields in forms

Per the rubocop-rails docs:
https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsredundantpresencevalidationonbelongsto
given:
belongs_to :user
validates :user_id, presence: true

The Rails/RedundantPresenceValidationOnBelongsTo cop auto-corrects it to:
belongs_to :user

That is, the validation on user_id is removed.
At the same time, the Rails docs recommends using the :user_id field for use in forms with a select box:
https://guides.rubyonrails.org/v7.0/form_helpers.html#the-collection-select-helper
See the city_id example.
The combination of these two competing suggestions means that when the browser leaves the user_id field blank, its error will not be reported back to the user. The only validation remaining is the one on field :user which is not in the form (as :user_id is in the form).
Expected: presence validation on :user_id should remain on the model.

@pirj What do you think as the author of this cop?

This is quite interesting.
I agree that it would make sense to keep the presence validation in this specific case.
Let's think of a more complicated example, though.
A User has Articles, and there's a has_many :my_articles that are scoped for a given user.
You render a form for the user to select an article out of the list of their articles to highlight on their profile.
The user instruments the form and picks an article that doesn't belong to them by setting article_id on the form.
The presence validation might pass, but the other one, that checks if the article belongs to the user won't.
And it won't be displayed on the page correctly due to this article vs article_id difference.
This might be pretty contrived. Alternatively - the user can pick any non-archived article, and has_many isn't even involved, but it's rather some validation that checks the article status.
In their guide, Rails suggests adding errors to the e.g. customer_id key. This would play nicely with forms.
Why does belong_to adds errors to the customer key then?
What is your take on this, @jdufresne ?

In the User has_many :my_articles example, I agree that using only the presence validation would be insufficient to capture all the necessary validation rules. But if the article_id is required on the form, then I think it would still make sense to include it (along with additional validation). I'm not trying to suggest that validates_presence_of solves all of an application validation concerns completely, but it does still serve a purpose.
As for why the Rails developers added validation to the association but not the foreign key, I'm not sure. I don't see anything stated explicitly in the upstream ticket or pull request:
https://github.com/rails/rails/issues/18233
https://github.com/rails/rails/pull/18937
We could advocate for this improvement there as well. But until then, the *_id validation is not redundant.

Based on this discussion I created the following proposal in Rails: https://github.com/rails/rails/pull/46839
This upstream PR adds validation to the *_id foreign key fields as we've discussed here. If that were to be accepted, then this cop would be correct to removed the *_id validation. But until then (and on older version of Rails), the *_id validation remains useful.


Cannot extract from RTP play [maybe similar to #26657]

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.06.06
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Example URLs

Single video: https://www.rtp.pt/play/p5355/as-horas-extraordinarias
Single video: https://www.rtp.pt/play/p8291/e555562/o-ultimo-apaga-a-luz

Verbose log
C:\Program Files\youtube-dl>youtube-dl -v https://www.rtp.pt/play/p8291/e555562/o-ultimo-apaga-a-luz
[debug] System config: []
[debug] User config: ['-f', 'mp4', '-o', 'C:/Users/ricar/Videos/%(title)s.%(ext)s', '--no-mtime']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.rtp.pt/play/p8291/e555562/o-ultimo-apaga-a-luz']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: ffmpeg 2021-06-30-git-de8e6e67e7-full_build-www.gyan.dev, ffprobe 2021-06-30-git-de8e6e67e7-full_build-www.gyan.dev
[debug] Proxy map: {}
[RTP] e555562: Downloading webpage
ERROR: e555562: Failed to parse JSON  (caused by ValueError("Expecting ',' delimiter: line 2 column 36 (char 37)",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 906, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 359, in raw_decode
ValueError: Expecting ',' delimiter: line 2 column 36 (char 37)
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 906, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 359, in raw_decode
ValueError: Expecting ',' delimiter: line 2 column 36 (char 37)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\YoutubeDL.py", line 815, in wrapper
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 534, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\rtp.py", line 37, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 910, in _parse_json
youtube_dl.utils.ExtractorError: e555562: Failed to parse JSON  (caused by ValueError("Expecting ',' delimiter: line 2 column 36 (char 37)",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description
Cannot download and merge any videos from RTP play website at https://www.rtp.pt/player. RTP is the Portuguese public television broadcaster, and videos of most programmes are freely available at their website. When trying to use youtube-dl to pull any videos from this site the "failed to parse JSON" error occurs. Tried with many different freely available programmes, always the same error.
I've read previous reports concerning RTP play, including older ones apparently similar (see #24073, itself a duplicate of an even older one), but since issues continue to pop up on newer versions of yt-dl and things have definitely been changed on RTP's side since recently, i've decided to contribute the bug report to keep the heads up on the ongoing issues with the site. Seems like RTP is playing a cat-and-mouse game with yt-dl :angry:

Let's look at the first video (the second looks similar).
At l.1130ff., we see this (details depend on when the page was retrieved):
    <script>

      var x1 = decodeURIComponent(["https://cdn-ondemand.rtp.pt/nas2.share/h264/512x384/p5449/preview/p5449_1_201901231263_videoprv.mp4"].join(""));

      if ($("#player_prog").length > 0) {
      /*  var player1 = new RTPPlayer({
            file: {hls : atob( decodeURIComponent(["aHR0cHM","6Ly9zdH","JlYW1pb","mctb25k","ZW1hbmQ","ucnRwLn","B0L25hc","zIuc2hh","cmUvaDI","2NC81MT","J4Mzg0L","3AxNTI1","L3AxNTI","1XzFfMj","AyMTA0M","jA1OTk2","L21hc3R","lcnMubT","N1OA%3D","%3D"].join(""))), dash : atob( decodeURIComponent(["aHR0cHM6Ly","9zdHJlYW1p","bmctb25kZW","1hbmQucnRw","LnB0L25hcz","Iuc2hhcmUv","aDI2NC81MT","J4Mzg0L3Ax","NTI1L3AxNT","I1XzFfMjAy","MTA0MjA1OT","k2L21hc3Rl","cnMubXBk"].join(""))) },
                                      seekBarThumbnailsLoc: '//cdn-images.rtp.pt/multimedia/screenshots/p1525/preview/p1525_1_202104205996_preview.vtt',      }); */
        var f = {hls : atob( decodeURIComponent(["aHR0cH","M6Ly9z","dHJlYW","1pbmct","dm9kLn","J0cC5w","dC9kcm","0tZnBz","L25hcz","Iuc2hh","cmUvaD","I2NC81","MTJ4Mz","g0L3Ax","NTI1L3","AxNTI1","XzFfMj","AyMTA1","MTA2MT","E4Lm1w","NC9tYX","N0ZXIu","bTN1OA","%3D%3D"].join(""))), dash : atob( decodeURIComponent(["aHR0cH","M6Ly9z","dHJlYW","1pbmct","dm9kLn","J0cC5w","dC9kcm","0tZGFz","aC9uYX","MyLnNo","YXJlL2","gyNjQv","NTEyeD","M4NC9w","MTUyNS","9wMTUy","NV8xXz","IwMjEw","NTEwNj","ExOC5t","cDQvbW","FuaWZl","c3QubX","Bk"].join(""))) };

        var f = {hls : atob( decodeURIComponent(["aHR0cHM6L","y9zdHJlYW","1pbmctdm9","kLnJ0cC5w","dC9obHMvb","mFzMi5zaG","FyZS9oMjY","0LzUxMngz","ODQvcDUzN","TUvcDUzNT","VfMV8yMDE","5MTIzMTIw","MDkyNDY3N","TMubXA0L2","1hc3Rlci5","tM3U4"].join(""))), dash : atob( decodeURIComponent(["aHR0cHM6Ly","9zdHJlYW1p","bmctdm9kLn","J0cC5wdC9k","YXNoL25hcz","Iuc2hhcmUv","aDI2NC81MT","J4Mzg0L3A1","MzU1L3A1Mz","U1XzFfMjAx","OTEyMzEyMD","A5MjQ2NzUz","Lm1wNC9tYW","5pZmVzdC5t","cGQ%3D"].join(""))) };
        var player1 = new RTPPlayer({
          id: "player_prog",
          fileKey: atob( decodeURIComponent(["L25hczIuc","2hhcmUvaD","I2NC81MTJ","4Mzg0L3A1","MzU1L3A1M","zU1XzFfMj","AxOTEyMzE","yMDA5MjQ2","NzUzLm1wN","A%3D%3D"].join(""))),
          file: f,
                                  seekBarThumbnailsLoc: '//cdn-images.rtp.pt/multimedia/screenshots/p5355/preview/p5355_1_201912312009246753_preview.vtt',
                      adsType: 'dfp',
          subadUnit: 'Play',
          streamType:"ondemand",
          googleCast: true,
          drm : false,          //extraSettings: { googleCastReceiverAppId:'1A6F2224', skin:'s3',  skinAccentColor: '0073FF'},
          extraSettings: { googleCastReceiverAppId:'1A6F2224'},
          mediaType: "video",
          poster: "https://cdn-images.rtp.pt/EPG/imagens/36733_52570_94593.jpg?v=3&w=1170",
          modules: [{ name: 'RTPFavIcon', bucket: '1' }],
          metadata: {
            id: "794169"
          }
        });

var x1 is not interesting: it's a preview of other weird stuff.
The commented assignment initialises a player with:
hls: https://streaming-ondemand.rtp.pt/nas2.share/h264/512x384/p1525/p1525_1_202104205996/masters.m3u8,
dash: https://streaming-vod.rtp.pt/dash/nas2.share/h264/512x384/p5355/p5355_1_201912312009246753.mp4/manifest.mpd

The HLS URL gives error 400. The DASH URL gives:
format code  extension  resolution note
a1-x3        m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2 (48000Hz)
v1-x3        mp4        1024x576   DASH video 2056k , mp4_dash container, avc1.640029, 25fps, video only (best)

Next the first var f. This evaluates to:
hls: https://streaming-vod.rtp.pt/drm-fps/nas2.share/h264/512x384/p1525/p1525_1_202105106118.mp4/master.m3u8,
dash: https://streaming-vod.rtp.pt/drm-dash/nas2.share/h264/512x384/p1525/p1525_1_202105106118.mp4/manifest.mpd

The HLS URL gives:
format code  extension  resolution note
2047         mp4        1920x1080  2047k , avc1.640028, 25.0fps, mp4a.40.2

The DASH URL seems to have PlayReady DRM.
Next the second var f. This evaluates to
hls: https://streaming-vod.rtp.pt/hls/nas2.share/h264/512x384/p5355/p5355_1_201912312009246753.mp4/master.m3u8,
dash: https://streaming-vod.rtp.pt/dash/nas2.share/h264/512x384/p5355/p5355_1_201912312009246753.mp4/manifest.mpd

HLS
format code  extension  resolution note
2184         mp4        1024x576   2184k , avc1.640029, 25.0fps, mp4a.40.2

DASH
format code  extension  resolution note
a1-x3        m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2 (48000Hz)
v1-x3        mp4        1024x576   DASH video 2056k , mp4_dash container, avc1.640029, 25fps, video only (best)

Finally, looking at the actual player initialisation, the fileKey used to initialise the player evaluates to /nas2.share/h264/512x384/p5355/p5355_1_201912312009246753.mp4, and gives a playable video for As Horas Extraordinárias when expanded with the parameter provided:
https://cdn-ondemand.rtp.pt/nas2.share/h264/512x384/p5355/p5355_1_201912312009246753.mp4?googleCastReceiverAppId=1A6F2224
So the target should be the second var f and the filekey. A regex that targets var f = {...}; var player1 = new RTPPlayer({...}); avoids confusion from the duplicated lines and the commented assignment.
In this comment, it's also pointed out that the trailing comment //extraSettings: { googleCastReceiverAppId:'1A6F2224', skin:'s3',  skinAccentColor: '0073FF'}, breaks the js_to_json() function from utils.py. A modified version was proposed but as it and the original code both rely on more than usually obscure use of regexes its validity is difficult to verify. However it's easy enough to change a trailing r'\s//[^\n]*\n' to '\n' which solves this case.
PR #28205 might address this issue, but the modified code looks rather tightly linked to the page source. Also more test URLs are needed for the extended _VALID_URL.
Finally issue #4939 asks for playlist support. As most, if not all, programme pages have the current episode as the main media and also the entire episode list, this runs into the problem of the semantics of --no-playlist and --yes-playlist. If the extractor could download the playlist, the single download should still be the default, but --yes-playlist isn't an actual option that the extractor can check (just the absence of --no-playlist), so the extractor can't distinguish between a command that uses --yes-playlist and one with no --yes/no-playlist option. Apparently playlist processing would have to navigate to each video page in turn and run the single video extraction.


[#156101804] Implement router

What
The idea was, we would stop using the express default router due to some issues we have with it. This seemed like the perfect opportunity to use TypeScript to save us some problems with misusing the router.
New router, means we'd need to readapt the handlers we have. Whilst refactoring anyway, I thought it would not harm us to convert everything over to TypeScript. Some of the bits that were left in JS were just standing out. And in order to fully benefit from types, it was natural to convert it all.
My only regret is the:
  options: {
    transpileOnly: true
  }

in webpack config. At some point I'll be aiming to take it out. ;/
I have no regrets... I faced all the issues it had. It previously caused me delay in attempt to discover a misspelled variable in a file I have rarely opened. That's exactly the reason we introduced TypeScript in the first place, therefore it will now error at all times.
How to review

all the review
run tests (done with travis)
run application (use rafal's environment)
navigate around - see if everything is still in place
attempt to create a custom route, see how it feels
comment on everything! we need to be happy with it


plot module

Description
Changelogs

Add base module for plots
Add class BaseGraph and child class Histogram and BarGraph
Some examples of usage of the two classes

Issue(s)
Fixes #3
Definition of Done

[ ]  New code is tested with unit tests
[ ]  Documentation has been updated
[ ]  Pull Request has been revised by a maintainer of the project

Doc updated (last commit was meant to be named update doc and not update plot)


Not compatible with php 7.1.x / 7.2.x and mage 2.2.4

Hello,
We recently tried to upgrade to Magento CE 2.2.4, the latest release. The upgrade requires to have php 7.1 but instamojo/instamojo-magento-2 has max support for 7.0.0
Kindly advise.
Requirement for Magento 2.2.4:
Problem 1
- doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
- doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
- doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
- Installation request for doctrine/instantiator (locked at 1.1.0) -> satisfiable by doctrine/instantiator[1.1.0].
Requirement for instamojo:
"require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"magento/framework": ">=100.0.4 <102"
},
Kindly advise.
Best Regards,
Nir Banerjee
For Apex Division

Hello,
Having the same issue, is there any updates yet?

+1

We can skip platform requirements
composer require instamojo/instamojo-magento-2 --ignore-platform-reqs

Is it safe to ignore the dependencies using --ignore-platform-reqs ?

--ignore platform repeats the error need official team fix
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.5
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.4
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.3
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.2
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.1
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.5|remove magento/product-community-edition 2.3.2|install magento/framework 101.0.0|install colinmollenhour/php-redis-session-abstract v1.3.4
- Conclusion: remove magento/framework 102.0.2
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.5|don't install magento/product-community-edition 2.3.2|install magento/framework 101.0.0|install colinmollenhour/php-redis-session-abstract v1.3.4
- Installation request for magento/product-community-edition 2.3.2 -> satisfiable by magento/product-community-edition[2.3.2].
- Conclusion: don't install instamojo/instamojo-magento-2 1.0.5|don't install magento/product-community-edition 2.3.2|install magento/framework 101.0.0|install colinmollenhour/php-redis-session-abstract v1.3.4
- Installation request for instamojo/instamojo-magento-2 ^1.0 -> satisfiable by instamojo/instamojo-magento-2[1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5].
- Conclusion: don't install magento/framework 102.0.2
- instamojo/instamojo-magento-2 1.0.0 requires magento/framework ~100.0.4 -> satisfiable by magento/framework[100.0.4, 100.0.5, 100.0.6, 100.0.7, 100.0.8, 100.0.9, 100.0.10, 100.0.11, 100.0.12, 100.0.13, 100.0.14, 100.0.15, 100.0.16, 100.0.17, 100.0.18, 100.0.19, 100.0.20].
- Can only install one of: magento/framework[102.0.2, 100.0.4].
- Can only install one of: magento/framework[102.0.2, 100.0.5].
- Can only install one of: magento/framework[102.0.2, 100.0.6].
- Can only install one of: magento/framework[102.0.2, 100.0.7].
- Can only install one of: magento/framework[102.0.2, 100.0.8].
- Can only install one of: magento/framework[102.0.2, 100.0.9].
- Can only install one of: magento/framework[102.0.2, 100.0.10].
- Can only install one of: magento/framework[102.0.2, 100.0.11].
- Can only install one of: magento/framework[102.0.2, 100.0.12].
- Can only install one of: magento/framework[102.0.2, 100.0.13].
- Can only install one of: magento/framework[102.0.2, 100.0.14].
- Can only install one of: magento/framework[102.0.2, 100.0.15].
- Can only install one of: magento/framework[102.0.2, 100.0.16].
- Can only install one of: magento/framework[102.0.2, 100.0.17].
- Can only install one of: magento/framework[102.0.2, 100.0.18].
- Can only install one of: magento/framework[102.0.2, 100.0.19].
- Can only install one of: magento/framework[102.0.2, 100.0.20].
- Installation request for magento/framework (locked at 102.0.2) -> satisfiable by magento/framework[102.0.2].
Installation failed, reverting ./composer.json to its original content.

is it compatible with php version <IP_ADDRESS> and Magento ver. 2.3.2

is it compatible with php version <IP_ADDRESS> and Magento ver. 2.3.2

Same. Looking for an answer.

Please anyone can suggest the workround for the above

If you want to code then user instamojo API else don't use instamojo. This is alternative I figure out so far. I don't think they care about magento customer.

Can someone please help with this. Magento version what I am using is 2.3 we are launching. If you need business please help out us.
composer require instamojo/instamojo-magento-2
 [InvalidArgumentException]
Package instamojo/instamojo-magento-2 at version  has a PHP requirement incompatible wit   h your PHP version (7.2.27)

is it compatible with php version <IP_ADDRESS> and Magento ver. 2.3.2

No It could not compatible with Magento 2.3.2 and it is compatible with Magento 1.9.x and 2.0 Only


Strange code fragments

Microsoft PowerToys version
0.75.1
Installation method
GitHub
Running as admin
None
Area(s) with issue?
General
Steps to reproduce
C#
Hello! I checked Microsoft PowerToys with the PVS-Studio static analyzer. I was wondering If you could take a look at several suspicious fragments:
Issue 1
public List<Result> Query(Query query)
{
  bool isGlobalQuery = string.IsNullOrEmpty(query.ActionKeyword);
  ....

  if (query == null)
  {
    throw new ArgumentNullException(paramName: nameof(query));
  }

  // Happens if the user has only typed the action key so far
  if (string.IsNullOrEmpty(query.Search))
  {
    return new List<Result>();
  }
}

As we can see from the code snippet, the query parameter is checked against null. If query is null, ArgumentNullException is thrown. However, before this check, the developers used query when accessing the ActionKeyword property. This means that if query is null, the execution flow won't reach the check because NullReferenceException will be thrown.
Link to the method.
Issue 2
private void SuggestionsList_SelectionChanged(....)
{
  ListView listview = (ListView)sender;
  _viewModel.Results.SelectedItem = (ResultViewModel)listview.SelectedItem;
  if (e.AddedItems.Count > 0 && e.AddedItems[0] != null)
  {
    ....
  }

  if (_viewModel.Results != null &&
      !string.IsNullOrEmpty(SearchBox.QueryTextBox.Text))
  {
    ....
  }
}

Here is another late check. The _viewModel.Results property is used first, and checked for null afterward. This code may be the result of rushed refactoring.
Link to the method.
Issue 3
public LauncherViewModel(....)
{
  ....

  if (updatingSettingsConfig == null)
  {
    updatingSettingsConfig = new UpdatingSettings();
  }

  updatingSettingsConfig = UpdatingSettings.LoadSettings();

  if (updatingSettingsConfig.State == ....)
  ....
}

The code clearly shows that updateSettingsConfig is checked for null. If the variable value is null, a reference to the new object is written into it. After that, the result of the LoadSettings method is written to updatingSettingsConfig without condition.
The LoadSettings method can return null if the settings file doesn't exist, or if an exception is encountered while working with the file. If the method returns null, NullReferenceException will be thrown.
Link to the method.
Issue 4
private static int CalculateClosestSpaceIndex(List<int> spaceIndices,
                                              int firstMatchIndex)
{
  if (spaceIndices.Count == 0)
  {
    return -1;
  }
  else
  {
    int? ind = spaceIndices.OrderBy(item => (firstMatchIndex - item))
                           .Where(item => firstMatchIndex > item)
                           .FirstOrDefault();
    int closestSpaceIndex = ind ?? -1;
    return closestSpaceIndex;
  }
}

In fact, FirstOrDefault returns default(TSource) instead of null, and default(int?) is null. However, TSource turns into int here because TSource is the type of elements of the enumerated sequence. In this case, the developers apply LINQ to the spaceIndices parameter with the List<int> type. This means that default(int), i.e. 0, will be written into ind. Here comes the error in the program logic. If the search method doesn't detect the element of collection, it'll return 0 instead of the intended -1.
Link to the method.
Issue 5
public static List<PluginPair> AllPlugins
{
  get
  {
    ....
    try
    {
      // Return a comparable produce version.
      var fileVersion = FileVersionInfo.GetVersionInfo(x.ExecuteFilePath);
      return ((uint)fileVersion.ProductMajorPart << 48)
      | ((uint)fileVersion.ProductMinorPart << 32)
      | ((uint)fileVersion.ProductBuildPart << 16)
      | ((uint)fileVersion.ProductPrivatePart);
      }
    catch (System.IO.FileNotFoundException)
    {
      return 0U;
    }
    ....
  }
}

The uint type has a size of 32 bits. It turns out that the first 48-bit shift is equivalent to the 16-bit shift. The second 32-bit shift is equivalent to the 0-bit shift. It's hard to tell what the developers wanted to do here, but they might have used ulong instead of uint.
Link to the method.
Issue 6
public void Load(IMainView view)
{
  if (_batch.Files.Count == 0)
  {
    _batch.Files.AddRange(view?.OpenPictureFiles());
  }
  ....
}
public static void AddRange<T>(this ICollection<T> collection,
                               IEnumerable<T> items)
{
  foreach (var item in items)
  {
    collection.Add(item);
  }
}

The items parameter, which can be null, is used in foreach. As we remember, foreach doesn't protect us from NullReferenceException.
Link to the method.
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

@jaimecbernardo
Looks like some good quality of life improvements.

Indeed. Adding to a project


How to determine if FFMPEG::Movie.video_codec is a video or a graphic?

How to determine if FFMPEG::Movie.video_codec is a video or a graphic?
Is there a way to programatically determine if the file is a video or a graphic?

You might determine that by checking the duration of the Movie. If it's 0 it's an image file.


Warning on setup: Orchard.Media dependency

Logged during setup with the latest version:
Orchard.Environment.Extensions.ExtensionManager|WARN|No loader found for extension "Orchard.Media". This might denote a dependency is missing or the extension doesn't have an assembly.

This happens to me when I have an existing instance with media, then I switch to a branch that doesn't have media.
Or maybe the media folder is still here from a previous setup, in the /Packages folder. Clean it and it should go away.

For infos, normally you could just do a Clean or Rebuild command. This because in our msbuild script we have a custom CleanPackageAssets task which removes all /Packages files.


ClearType blurry font rendering

Does this issue occur when all extensions are disabled?: No

VS Code Version: 1.74.2(user setup)
OS Version: Windows_NT x64 10.0.19044

Steps to Reproduce:
It seems wrong when I launch, looks not clear when I using it. Im not sure why, or it depends on the Windows Clear Type settings, just like the following pictures:

plz help me!!!

Can you share your cleartype font settings ? Does the issue repro when running with --disable-gpu ?

Can you share your cleartype font settings ? Does the issue repro when running with --disable-gpu ?

Does it means to launch vscode with the opt '--disable-gpu'?
I don't know how to share my cleartype settings. Just share the choices when setting?

Can you share your cleartype font settings ? Does the issue repro when running with --disable-gpu ?

this screenshot is the view when losing focus, also happened to the areas which no longer rendering

Thanks a lot!!!
It really works well with --disable-gpu, but I wonder how it works.

This is issue with font rendering in the runtime https://bugs.chromium.org/p/chromium/issues/detail?id=534732, please continue to use the workaround https://code.visualstudio.com/updates/v1_40#_disable-gpu-acceleration


Codeunit 82 Sales-Post + Print - OnBeforeConfirmPost

Hi, would it be possible to get an event OnBeforeConfirmPost in codeunit 82, procedure ConfirmPost like this :

    [IntegrationEvent(false, false)]
    local procedure OnBeforeConfirmPost(var SalesHeader: Record "Sales Header")
    begin
    end;

?
Thanks

Please always put the full detailed signature of the requested events.
You help us implementing the requests faster when your request contains AL code copied from VSCode instead of screenshots.

updated

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Add button capture frame from video

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Already possible, via Settings > Viewer > Quick actions > 3rd page gather video actions.

wow thanks


[#2] Adds logging middleware

is that good to have for all nodejs?

It's just in the boilerplate. So the user has a way to see logs after making some requests.

thanks


Rich Snippets error  in combination with cross-selling

Description:
If a product has cross-selling activated, there is the problem that the images are forwarded twice and three times to the search engine.
Environment:
Steps to reproduce:
Create a product that has cross-selling and several images
check the rich snippets
Expected result:
each image is only transferred once
Actual result:
Images are transferred twice or three times

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-35175.
[created from NEXT-35175, comment 486522]

[public] Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know. Thank you again for your valuable feedback.
[created from NEXT-35175, comment 519440]


Fixing excel package link in the async include file

Docs Build status updates of commit 87123da:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/includes/async-reference-documentation-link.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Why the "single use" could solve MITM?

The section about MITM(Man-in-the-MiddleAttack) says that "use one-time-use (single use) tokens (which expire after the link has been clicked)" is a solution of MITM.
My question is that if the token just use once,it will cause that the user must login again after every time the request be send.On the other hand,if the server destroy the token and return the new token every time,the new token still could be intercepted by the middleman.
If I am wrong,please let me know,thanks!

@NE-SmallTown good question.
Using single-use tokens is good practice for application security.
If you want to use this pattern you can setup an onPreResponse hook that automatically updates the JWT for each response.
the question you have to answer is: how are you planning on ensuring that a token is not re-used?
you would need to store the identifier in some sort of database (we typically use redis for this in our apps) and check if the token has already been used.

@nelsonic Thanks for your reply.I am a little confused.
Here are a questions.
As you say,the process is:
user access the home page and send the token in the header(assuming they have logined)
                                                                      |
                                                                      |
                                                                      ↓

server receive the token and then get the userId by decoding the token,and then go to the database(assuming I use database rather than redis) to take the corresponding token of the userId,and then check whether they are equal by using == operator.If it is,then destroy the token and return the new token and data to the client.
There is a question,we just use == operator to check,but we know that **the token itself has the vertify mechanism,we don't use it?e.g:
JWT.require(Algorithm.RSA256((RSAKey) publicKey))
		        .withIssuer("auth")
		        .withSubject("ne-smalltown")
		        .withAudience(userId)
		        .withArrayClaim("jwt-role", userRole)
		        .build()

If I am wrong,could you tell me how and where to use the token itself vertify mechanism like avove?
IMO, the only place I can use the token itself vertify mechanism is where I get the old token's exp parameter and put it to the new token so that I can check whether the token is out of date to make user relogin.
                                                                      |
                                                                      |
                                                                      ↓

The client receive the new token and push it to the localstorage to replace the old token.And in the next request,it will use it.

@nelsonic Hello?

@NE-SmallTown my apologies for not replying immediately.
The JWT specification does not have a claim/mechanism for single-use invalidation
see: http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#RegisteredClaimName
@jbspeakr has a post on how to single-use JWTs,
see: https://www.jbspeakr.cc/howto-single-use-jwt/

@nelsonic Thanks for you share the post.
The post says:

In theory, this also works with use-cases besides password-reset tokens e.g. email activation, account confirmation

I agree that these cases suit for single-use-jwt,but my case is the jwt include the user role information and the role is constant,it doesn't like the password-reset,email activation,account confirmation,etc.
So,back to the question,in my case,now I think there is unnecessary to vertify the token,just use == operator with the database's token.


Update software stack to latest available versions

In general we want to keep the underlying software stack as recent as possible, within the limits of retaining reproducibility and not reducing performance.
There are a number of reasons to do so:

When moving to a new HPC older versions of software are not supported
Gain benefit of bug fixes and new features
Updating one component often requires updating others (see parallelio and netCDF)
Performance changes (this can go either way as we saw with parallelio 2.5.2 -> 2.5.10)
Older versions are no longer supported (e.g. Classic Intel Fortran compiler)
New hardware not supported by older tools (MPI and compilers especially)
Newer versions make it easier to port a model to other HPCs, and make comparisons with our results more meaningful. We aim to make our model usable by others to improve it and verify the results are robust
Keep all models as closely aligned as possible, so that desirable features used in one model can be utilised in another, e.g. zarr output directly from netCDF

Blocker for oneapi compiler support: https://github.com/ACCESS-NRI/spack-packages/issues/52

If ifx is a blocker for now I'd suggest we go ahead and update all the other dependencies and work on ifx support separately.

Hi @aidanheerdegen , Before publishing the spack develop instructions, we need to:

Decide on the versions of ACCESS-OM2 dependencies in the official release.
Decide whether main and the official release use the same spack.yaml. At the moment, they appear to be out-of-sync.
Decide to use main or a tag of ACCESS-OM2 in the spack develop instructions.

In my opinion, if we retract a version of a model, we we should revert main to the last released version, but keep the tag for the retracted version. This is because we keep retracted versions in our model provenance database, so we need to keep the tag. But main should point to the latest non-retracted version.

@harshula would you like me to do the reversion?

Hi @CodeGat , Yes please.

We've resolved the immediate problem by syncing the main branch to the official release. i.e We dropped the commits related to https://github.com/ACCESS-NRI/ACCESS-OM2/pull/73 .


Health and Damage Scaling Issue with EliteVariety

There isn't a github or issues page for that mod, so I'm posting it here.
The health (and possibly damage) values of Elites added by this mod seem to be the same as normal enemies. They do not get the increased health (or damage) of either normal elites, or modified values from mods such as EliteReworks.

fixed w this version


Upgrade dependencies

The primary intent is to allow support for Ruby 2.7.5 and greater (including 3.1). The only clearly incompatible code in the library is related to Psych and the method that handles that has been updated to support both legacy versions and the most recent (4.0).
The rest of the changes are primarily related to upgrading RuboCop and dealing with the fall-out from that.

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry. You can find it at ./CHANGELOG.md

  Generated by :no_entry_sign: Danger


Nav Links not working inside Apps for Office(365)

I've posted on this on Stack Overflow here --> SO
As mentioned in that post it seems that for some reason the Outlook "Framework" is surrounding a simple href=#Profile for example, with &_xdm_Info=null|null|null on the end of it and ?et=&_host_Info=Outlook|Web|16.00 in the beginning. So that the whole link appears like so
https://localhost:44303/AppRead/Home/Home.html?et=&_host_Info=Outlook|Web|16.00#Profile&_xdm_Info=null|null|null

This, of course, generates an exception in jQuery for Syntax error.

Sorry, but we can't help you with that here as it doesn't sound like a problem with Bootstrap itself.

I understand that it sounds like an issue with the Apps for Office "framework".  It just seemed unlikely that Microsoft was going to change how they do things and this does work for things like jQueryUI tabs.
Sorry for the bother, was just hoping to continue to use Bootstrap.  Thanks


Refresh Data in ng-repeat

Hi, I've been following this guide to the dot.
One of my issue I came across is refreshing/updating data in a ng-repeat on IE. All other browser refresh find when a new data set is being returned from $http factory, but just not IE. I've already added cache busting for IE, but the view (vm) does not get updated.
I've seen fixes that suggest using $scope.$apply(); but that is not possible if you are binding var vm = this;.
Is there a better solution to this or do I need to revert back to $scope just to resolve this issue?

Not exactly sure what your issue is. Maybe with a bit more info... (and maybe this is better suited for StackOverflow?)
For starters $scope.$apply() has no relation to controlerAs or vm = this. You *can* still inject $scopeand use$scope.$apply()`.
Other useful info would be perhaps a code example (a plunkr ideally) and your version of IE, etc...

I think there is another problem. If you just have bind the list to the ng-repeat, Angular should see the changes. There is no difference in browsers here. So it will be some other thing that's wrong. Post some code snippits, maybe we can see the reason?


Artifacts Documentation Suggests Unsecure Configuration of Upstreams

On the upstream sources page under the 'order your upstream sources intentionally' heading (https://docs.microsoft.com/en-us/azure/devops/artifacts/concepts/upstream-sources?view=azure-devops#order-your-upstream-sources-intentionally), "we recommend putting the public package managers first" in the case where there are mixed sources. This is contradicted by internal guidance and general security recommending that internal upstreams take precedence. Possibly this is moot with the new name-squatting protective upstream behavior.

With the introduction of the new upstream behavior, the public guidance seems good to me. The internal guidance should be updated to match.


Is there any inertia effect in the library?

When I drag line chart from left to right, the animation seems so angular, I wonder is there a inertia effect in the chart, just makes the dragging animation more smooth.
Thanks! Waiting for reply.

Now there is :-)
#3cb2bdf
#859bb14
#146bf0b

I have taken hours for finding this snippet code, thanks for saving my time!


Checkboxes to disable checklists, questionnaires and credentials

Checklists, questionnaires and credentials can be disabled with checkboxes in the System Settings. This makes the user interface less crowded, if these features are not used. Default is still enabled, so nothing changes for the users, until the settings are actively changed.
I sneaked in a change of a documentation URL for product members and product type members, to avoid a separate small PR.

All three checkboxes are named "Enable ..." now and are checked by default.

merging as is to avoid having to maintain the migration while everyone is on holiday


[CssBaseline] Change of children type to ReactNode

[x] I have followed (at least) the PR section of the contributing guide.

This PR is related fixes the bug #19767
Closes #19767

@dfernandez-asapp Great change!


Enlarge the size of the "bubble"

hello, do you know how I can enlarge the size of the "bubble" or there is the wind speed, thank you for your help

Originally posted by @Manu85340 in https://github.com/KristjanESPERANTO/MMM-OneCallWeather/issues/8#issuecomment-1917920424

@Manu85340 Please always open a new issue when you start a new topic.
You can try add something like this in your custom.css:
.weather-icon > span > img {
  height: 80px;
  padding: 0 12px;
}

.weather-icon > p {
  top: -65px !important;
  left: 2px !important;
}

sorry, I didn't think of that, thank you for your answer I will try

Thanks for your help, it works :-)

Thanks for your help, it works  :-)

Nice! Let me know if you have any more questions 🙂 Enjoy your mirror!


npm doesn't react to change of files PUG

package.json not configured on start watch-pug
When include watch-pug to
"serve": "npm-run-all --parallel localhost watch-css watch-js watch-pug",
npm writed error - Error: Cannot find module 'js-beautify'

fixed