[go_router] context.Push forgets parameters of parent route

copied from https://github.com/csells/go_router/issues/351
Scenario:
We have two nested routes (families + persons) and a third, separate route (home).
When I am on home and then use context.go to reach a specific person, it works.
But when I use context.push with the same argument, it does not work because the first parameter (family id) is not available.
A workaround is to push the families screen first and the persons-screen afterwards.
To provide a reproducible sample, I copied the "GoRouter Example: Nested Navigation" and modified it accordingly.
When you run the code below, you find three buttons to demonstrate the issue.
If I can assist with any further information, do not hesitate to ask.
Thanks!
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

import 'shared/data.dart';

void main() => runApp(App());

class App extends StatelessWidget {
  App({Key? key}) : super(key: key);

  static const title = 'GoRouter Example: Nested Navigation';

  @override
  Widget build(BuildContext context) => MaterialApp.router(
        routeInformationParser: _router.routeInformationParser,
        routerDelegate: _router.routerDelegate,
        title: title,
      );

  late final _router = GoRouter(
    routes: [
      GoRoute(
        path: '/',
        builder: (context, state) => const HomeScreen(),
      ),
      GoRoute(
        path: '/family/:fid',
        builder: (context, state) => FamilyTabsScreen(
          key: state.pageKey,
          selectedFamily: Families.family(state.params['fid']!),
        ),
        routes: [
          GoRoute(
            path: 'person/:pid',
            builder: (context, state) {
              final family = Families.family(state.params['fid']!);
              final person = family.person(state.params['pid']!);

              return PersonScreen(family: family, person: person);
            },
          ),
        ],
      ),
    ],

    // show the current router location as the user navigates page to page; note
    // that this is not required for nested navigation but it is useful to show
    // the location as it changes
    navigatorBuilder: (context, state, child) => Material(
      child: Column(
        children: [
          Expanded(child: child),
          Padding(
            padding: const EdgeInsets.all(8),
            child: Text(state.location),
          ),
        ],
      ),
    ),
  );
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceAround,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                context.go('/family/f2/person/p1');
              },
              child: const Text("Go (works)"),
            ),
            ElevatedButton(
              onPressed: () {
                context.push('/family/f2');
                context.push('/family/f2/person/p1');
              },
              child: const Text("Push seperately (works)"),
            ),
            ElevatedButton(
              onPressed: () {
                context.push('/family/f2/person/p1');
              },
              child: const Text("Push (does not work)"),
            ),
          ],
        ),
      ),
    );
  }
}

class FamilyTabsScreen extends StatefulWidget {
  FamilyTabsScreen({required Family selectedFamily, Key? key})
      : index = Families.data.indexWhere((f) => f.id == selectedFamily.id),
        super(key: key) {
    assert(index != -1);
  }

  final int index;

  @override
  _FamilyTabsScreenState createState() => _FamilyTabsScreenState();
}

class _FamilyTabsScreenState extends State<FamilyTabsScreen>
    with TickerProviderStateMixin {
  late final TabController _controller;

  @override
  void initState() {
    super.initState();
    _controller = TabController(
      length: Families.data.length,
      vsync: this,
      initialIndex: widget.index,
    );
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  void didUpdateWidget(FamilyTabsScreen oldWidget) {
    super.didUpdateWidget(oldWidget);
    _controller.index = widget.index;
  }

  @override
  Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(
          title: const Text(App.title),
          bottom: TabBar(
            controller: _controller,
            tabs: [for (final f in Families.data) Tab(text: f.name)],
            onTap: (index) => _tap(context, index),
          ),
        ),
        body: TabBarView(
          controller: _controller,
          children: [for (final f in Families.data) FamilyView(family: f)],
        ),
      );

  void _tap(BuildContext context, int index) =>
      context.go('/family/${Families.data[index].id}');
}

class FamilyView extends StatefulWidget {
  const FamilyView({required this.family, Key? key}) : super(key: key);
  final Family family;

  @override
  State<FamilyView> createState() => _FamilyViewState();
}

class _FamilyViewState extends State<FamilyView>
    with AutomaticKeepAliveClientMixin {
  // Override `wantKeepAlive` when using `AutomaticKeepAliveClientMixin`.
  @override
  bool get wantKeepAlive => true;

  @override
  Widget build(BuildContext context) {
    // Call `super.build` when using `AutomaticKeepAliveClientMixin`.
    super.build(context);
    return Column(
      children: [
        Expanded(
          child: ListView(
            children: [
              for (final p in widget.family.people)
                ListTile(
                  title: Text(p.name),
                  onTap: () =>
                      context.go('/family/${widget.family.id}/person/${p.id}'),
                ),
            ],
          ),
        ),
      ],
    );
  }
}

class PersonScreen extends StatelessWidget {
  const PersonScreen({required this.family, required this.person, Key? key})
      : super(key: key);

  final Family family;
  final Person person;

  @override
  Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(title: Text(person.name)),
        body: Text('${person.name} ${family.name} is ${person.age} years old'),
      );
}

fixed via https://github.com/flutter/packages/pull/975


[FLINK-5340] Document job uptime/downtime/restartTime/fullRestarts me…

"The time that the job has not been running in a failing/recovering situation." is confusing. How about this:
The time the job has spent in a failing/recovering situation.

@alpinegizmo That's better, but still a bit unambiguous. The downtime only measures since the last time the job went into a non-running state, whereas the description could mean "Total job downtime since job submission." :/

@zentol Ok, that's an important distinction, but now I see another ambiguity. Does one of these work?
For jobs currently in a failing/recovering situation, the time elapsed during this outage.
The time elapsed during the job's most recent failure.
If my job fails and isn't running for 5 minutes and then recovers, after recovery what does downtime report? 0, or 5 minutes?

After recovery it will report 0. So For jobs currently in a failing/recovering situation, the time elapsed during this outage. would be accurate.

@alpinegizmo I've updated the wording.

Looks good to me.

merging.


Separate check logic from client logic

What does this PR do?

This PR removes references of self.check from the kafka_python_client.py code to separate concerns between check and client.
A few changes:

Creation of new KafkaConfig object to store config options rather than directly reading instance and init_config
Move reporting of metrics to KafkaCheck rather than KafkaPythonClient
Return highwater and consumer offsets from KafkaPythonClient rather than modifying in place.

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

To make this PR smaller, I will break down this PR into multiple PRs.

To split:

New PR just for adding in KafkaConfig class - do together
Separate out the config options
Move metric submission back to the check code
Move tls_context generation to check code
Remove self.check from client init


need ingress that works for GKE

Steps to reproduce:

git clone https://github.com/microservices-demo/microservices-demo.git
cd microservices-demo/deploy/kubernetes/
kubectl create namespace sock-shop
kubectl apply -f complete-demo.yaml
kubectl get pods -n sock-shop
kubectl get service/front-end -n sock-shop
kubectl get ingresses -n sock-shop

oops no ingress!
using a simple one below works --- the one in the chart templates folder does not. (get 404s on css/ and js/ requests so the page doesn't load properly)
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: socks-ingress
spec:
backend:
serviceName: front-end
servicePort: 80
it would be great to add this (or something better) to the complete-demo.yaml but the above works on GKE.

I noticed this same issue on GKE but resolved it by just changing the nodePort in the front-end-svc.yaml within the manifests directory to something besides 30001. There was some conflict and that was not allowing K8 to apply an external IP to the front-end service.

also, I would suggest to not use the complete-demo.yaml and use the manifests instead, I just redeployed using the manifest on GKE and it all worked fine.


[fix] No information modal for google drive

Purpose
Updates the data.tsv file with Google Drive addon information so the modal will display correctly
Changes
Updated the data.tsv file
Side Effects
None
Closes-issue: https://trello.com/c/8Ia4Pgl2/70-no-information-modal-for-google-drive

Wrong branch.


Depreciation of inplayservice endpoint

Any objections?
Its a pain to use compared to the scores endpoint because its used for the website, whereas scores just requires appKey to be authorised.

It seems as though the scores API is limited to just tennis at the moment so inplayservice will be staying.


Encoding UTF-16LE not recognized

I am triying to write a file with UTF-16LE encoding.
Here is my code :
private CsvPreference csvPreference;
....
String charsetValue = "UTF-16LE";
ICsvListWriter listWriter = new CsvListWriter(new OutputStreamWriter(new FileOutputStream(new File(path)), Charset.forName(charsetValue)), csvPreference);
When I open the output file with Notepad ++, the encoding is not detected as UTF-16LE.
When I modify the charsetValue to "UTF-16", the encoding of output file is UTF-16BE
Can you help me ?

Hi @arnaud-web, do you still have a problem with encoding? I am not sure what documentation for your version of Notepad++ says but maybe this is just how it works? Have you tried read written data and check whether everything is OK? Please, let me know what is the status of this problem.

@arnaud-web  Im not sure we try to do clever stuff with the encodings. what happens if you save a simple textfile using
String charsetValue = "UTF-16LE";
w = new OutputStreamWriter(new FileOutputStream(new File(path)), Charset.forName(charsetValue))
...

and opening the file in notepad++ ?

Hi,
Thanks for your responses.
Actually, I found a solution :
`Writer writer = new OutputStreamWriter(new FileOutputStream(new File(path)), charset);
if (StandardCharsets.UTF_16LE.name().equals(this.preferences.getEncoding())) {
writer.write("\uFEFF");
}`
Not elegant but it works.
I close the topic.


[Run] Needed quicker response for Alt + Space

📝 There is a huge response delay after pressing "Alt + Space bar" for a quick search.

Expecting a faster response.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

@snehitvaddi
what version  of PowerToys are you running?

@snehitvaddi
what version  of PowerToys are you running?

Version: v0.29.3

Version: v0.29.3

@snehitvaddi
how long does PT Run take to show up?
What CPU do you have?
SSD or hard disk?

@snehitvaddi
how long does PT Run take to show up?
What CPU do you have?
SSD or hard disk?

It is taking at least 3-4 seconds. Numerically it may sound like very less time, but looking at other applications this feels very unresponsive.
OS: MS Windows 10 Home
System Type: x64-based PC
Model: Surface Laptop 2
Processor: Intel Core i5-8250U @ 1.60GHZ
RAM: 8GB
Rom: 256GB SSD

It is taking at least 3-4 seconds. Numerically it may sound like very less time, but looking at other applications this feels very unresponsive.
OS: MS Windows 10 Home
System Type: x64-based PC
Model: Surface Laptop 2
Processor: Intel Core i5-8250U @ 1.60GHZ
RAM: 8GB
Rom: 256GB SSD

@snehitvaddi

It is taking at least 3-4 seconds

That is very slow, anything about 0.5 seconds is kind of unacceptable.
We will add more debug logging to help diagnosis this problem.

@snehitvaddi

It is taking at least 3-4 seconds

That is very slow, anything about 0.5 seconds is kind of unacceptable.
We will add more debug logging to help diagnosis this problem.

@enricogior, that is basically my work laptop.  i have an i7 / 16 gig of ram but

@enricogior, that is basically my work laptop.  i have an i7 / 16 gig of ram but

I have the same issue, it's sometimes slow to pop up, even on my 64gb 3900x system with NVME M.2 drives. Typing is also much too slow. It appears that the list of matches is updated as I type, synchronously, and new keystrokes aren't accepted until the list is populated. It would be a better experience if the list was updated asynchronously.

I have the same issue, it's sometimes slow to pop up, even on my 64gb 3900x system with NVME M.2 drives. Typing is also much too slow. It appears that the list of matches is updated as I type, synchronously, and new keystrokes aren't accepted until the list is populated. It would be a better experience if the list was updated asynchronously.

Having the same issue. (Very) Slow to appear with Alt + Space and often takes delayed input. (HDD, 8GB RAM, i5-5200U 2.20 GHz)

Same issue here on a AMD Ryzen 5 3400G, 16GB, SSD

Still an issue here on v0.35.0, SSD, Macbook Pro 16GB RAM. Wox does not have this issue..

Updating the list asynchronously is a very basic requirement for a launcher. When I start writing "Android Studio", there's a noticeable lag between pressing 'nd' and 'nd' showing up on the launcher. Sometimes it's slow enough that I think I may have mistyped and press backspace only to realize that it was a lag. Pls update the list asynchronously - it'll be a big UX improvement.
I have a Thinkpad Yoga with Intel i7-8665U CPU and 16GB RAM, 500GB SSD.

@snehitvaddi
Can you update to the latest version(0.37.2) and check if it still happens. If it still happens
Right-click on the PowerToys icon in the tray menu and select Report Bug

Drag and drop report into a GitHub comment.

@SageEx
Please, leave your comment here. Along with a bug report.

PowerToysReport_2021-06-07-20-31-13.zip
Still happening, there's two delays one is the first time you open the search bar, the other is anytime you are typing sometimes you can't type anymore until i guess there are results or something like that so it feels laggy

[2021-06-07 20:17:58.6056] [INFO] [S:\src\modules\launcher\Wox.Infrastructure\Stopwatch.cs::50]
Microsoft.Plugin.Program.Main - Package index cost <7686ms>

[2021-06-07 20:18:06.4744] [INFO] [S:\src\modules\launcher\Wox.Infrastructure\Stopwatch.cs::50]
Microsoft.Plugin.Program.Main - Win32Program index cost <15555ms>

Is part of https://github.com/microsoft/PowerToys/issues/7208

@snehitvaddi
Can you update to 0.41.4 and verify if it is acceptable now?

@mykhailopylyp
The issue persists but slight improvement than earlier rollouts.
In the past, it used to take 4 seconds. Now it is taking around 3-4 seconds, but as I said before, it lags only during the first instances after every restart. Then after it works absolutely fine.

@mykhailopylyp since during startup the visibility of the MainViewModel is set to Visibility.Collapsed the OnLoaded for the MainWindow is called only when the PT Run shortcut is pressed for the first time.

@davidegiacometti

since during startup the visibility of the MainViewModel is set to Visibility.Collapsed the OnLoaded for the MainWindow is called only when the PT Run shortcut is pressed for the first time.

What do you want to say by it?

We should make Program indexing asynchronous so it doesn't block startup

@davidegiacometti

since during startup the visibility of the MainViewModel is set to Visibility.Collapsed the OnLoaded for the MainWindow is called only when the PT Run shortcut is pressed for the first time.

What do you want to say by it?

Users are experiencing delay the first time they press the shortcut after PT startup. Maybe the delay is caused by the MainWindow Loading that usually should be executed on application startup.

@davidegiacometti
Good catch! We should measure MainWindow's loading/rendering time.

@mykhailopylyp It should be possible to set the Visibility Collapsed after the loading. During the loading the window shouldn't be visible.
I can test and made a PR but let me know if you want to measure the loading time before change this.

We should test if the above PR resolved the problem in the next release.

@snehitvaddi @alejandrotrevi can you please update to version 0.43 and check if you are still experiencing lag the first time PT Run is opened?
Thanks

Just tested on a desktop pc with a regular ssd and a laptop with an nvme ssd:
Boot time on both is pretty good, instant basically, even on first boot.
Searching is really fast.
No issues atm.
However there's a little bit of delay on both when im deleting my current search, example:

Search for Chrome
Backspace until there's nothing

That could be me tho i need someone else to confirm.

Closing it as @alejandrotrevi confirmed the first-time delay was fixed.
@davidegiacometti, great job!

This shouldn't be closed.  Uninstalling because of it. Keypirrhna is way better.

I am extremely annoyed by this issue... the ONLY APP that I want out of the whole PowerToys suite is PowerToys Run, and it takes 16 seconds for it to launch after I press the hotkey.
In the logs, I keep getting a "App.OnStartup - Startup cost <16923ms>" from WOX.
I have turned Windows search off, turned it back on, ran the Windows Search troubleshooter, I have changed the Windows Search mode to Classic, I have changed it to Enhanced mode, I have reindexed all of my files.
I am literally running out of options. PowerToys Run is the ONLY app that I want and it's the ONLY one that is not working.
And to make it even worse, every single open issue that I follow that's similar to this issue ends in, "oh, this is a duplicate. I'm closing this ticket" or "oh, go to this thread instead to follow it" then you go to the thread and someone from Microsoft is like, "oh, this is aduplicate. Please go here to follow the new related thread." And none of the threads lead anywhere!

@hkpD if you're looking for something like Run that actually works, pops up instantly, and has a ton more features, I suggest looking at Fluent Search. I switched to it over a year ago after getting tired of waiting for Run to be fixed (sounds like it still isn't), and it is better in every way.

@sid-6581 Thank you very much for the suggestion, sir. I have been using Flow Launcher for the longest time but now I am going to try out Fluent Search too to see how I like it.
I guess I just have the hope that one day Microsoft will fix this. I keep coming back to this issue every couple months or so and it's just upsetting that it has not been fixed yet.

https://keypirinha.com/ is faster and better than fluent search by a mile. Only uses 26mb ram and is instant. Plus plugins.

https://keypirinha.com/ is faster and better than fluent search by a mile. Only uses 26 MB RAM and is instant. Plus plugins. No, I don't work for them, it's what I've been using for 8 or so years. I looked at Powertoys run but 500 MB RAM is too much for a launcher I'm sorry.

Keyprinha hasn't been updated since 2020 and embeds python for plugins? That doesn't sound fantastic.

The results speak for themselves. When software is complete, it should'nt have to be updated again. Look at the top 5 rust crates, non have been updated for 5 years or more. They are done. You don't need to the plugins, there is also a plugin manager I didn't have to futs with any python anything it just works.


Swing to Javafx InterpolatingLookupPaintScaleSetupDialog

Great! Now the code looks pretty good. What remains is to fix some issues with the functionality:

The window should have minimum width and height set.
The buttons should be placed in a ButtonBar at the bottom of the window, similarly to other dialogs in MZmine.
Clicking the Add/Modify button without setting the Value throws an exception.
Clicking on a value in the table should automatically update the Value textbox and the Color. Alternatively, you could make the Color field in the table editable using a ColorTableCell (https://github.com/mzmine/mzmine3/blob/master/src/main/java/io/github/mzmine/util/components/ColorTableCell.java)
The table currently shows up with a horizontal scroll bar, which is not needed.

Good, now the functionality is close to the original Swing version. It still has some bugs - when I click Add/Modify to add a new value, it is not always added with the selected color in Select Color, but sometimes it is added with the last color that was clicked on in the table.
In any case, it is better to move the color picker into the table, like I wrote above.
Please try changing the color column in the table to ColorTableCell as shown here:
https://github.com/mzmine/mzmine3/blob/master/src/main/java/io/github/mzmine/modules/visualization/fx3d/Fx3DStageController.java#L184
ColorTableCell:
https://github.com/mzmine/mzmine3/blob/master/src/main/java/io/github/mzmine/util/components/ColorTableCell.java

Great! Now why not make the Value column user-editable too, and then we don't need the Modify function at all and instead we just keep the Add function.
You can use this approach to make the Value editable:
https://github.com/mzmine/mzmine3/blob/master/src/main/java/io/github/mzmine/modules/io/sqlexport/SQLColumnSettingsComponent.java#L86
Also, it is better to constrain the table columns to always fit the whole table, using this setting:
https://github.com/mzmine/mzmine3/blob/master/src/main/java/io/github/mzmine/gui/mainwindow/MainWindow.fxml#L121

Awesome, thanks!


No input field for Message in Notification (v1.6.2)

Checklist

[X] I checked for similar existing issues (both open and closed) before posting.
[X] I am running the latest version. (v1.6.2)

Expected behavior
Possibility to enter Message text during creating/changing Notification.
Actual behavior
No input field for Message in Notification.

Steps to Reproduce
[Explain how to see the behaviour]

This seems to be related to HA caching and lazy-loading.
It might be resolved by refreshing the page, or going into another page in HA (which has a text field).


Added WeChat link

Added WeChat link in the text for better usability

Seems there's already a QR code. Maybe we can add href on the QR code image?

@liuzhe-lz That seemed like a better idea I have edited the code to do the same. You are requested to review this.

Added WeChat link in the text for better usability

Sorry but after some testing we find hyperlink does not work.
WeChat only accepts QR code. Accessing the URL directly will lead to a redirect.


Added link to download OPML of all RSS feeds.

I have no idea if this interests you or not, but I made a link to download an OPML file of all of the RSS feeds in the webring. If you don't want to use it, you won't hurt my feelings. :)

THIS IS BRILLIANT


[SUPPORT] Hudi should rollback commit when metasync fails

hudi 0.15.0
AFAIK currently when metasync (hive/glue...) fails, hudi commits the data:

hudi commit
metasync action
return failure status
eg of insert into cmd

So right now the user is aware there is a failure. However the hudi table is commited.
proposal
I propose just after a metasync failure, a rollback operation on the current instant is done.
Scenario
Let's say we promoted a type (int -> string). However athena does not support it. The glue metasync should raise an error.

If the commit is rollback, then the metastore can stay in a corrupted state (table partially updated) in worst case. => The table can still be read from athena
However if it is not rollback, both metastore and hudi table will be in corrupted state: hudi will be promoted as string, but metastore is not able to support it. Then user has to rollback manually. -> the table cannot be read anymore from athena

I propose just after a metasync failure, a rollback operation on the current instant is done.

Hudi is designed in a way that transaction and meta sync are decoupled. User can read a table through the base path with or without meta / catalog sync.

Let's say we promoted a type (int -> string). However athena does not support it. The glue metasync should raise an error.

Hudi Glue sync supports recreating the table in the catalog in case the schema change is not allowed in the existing table metadata in the catalog.  Will that solve your problem?

See #11451.

Recreating the glue metadata won't solve the issue. Athena will fail to merge parquet schemas since it just does not support such promotion. If we rollback the glue schema only then Athena will try to read string as int.

Recreating the glue metadata won't solve the issue. Athena will fail to merge parquet schemas since it just does not support such promotion. If we rollback the glue schema only then Athena will try to read string as int.

Got it.  Spark reader works in the case of type promotion.  Is this specific to Athena's support on type promotion in Hudi?  It would be good to raise a ticket to Athena. cc @CTTY

Yes, I think this can be fixed in two ways:
[1] Like mentioned in this thread, we add auto rollback when metasync fails in Hudi
[2] Raise a ticket to Athena and have Athena support such type promotion (Please reach out to your AWS support contact for this)
These 2 solutions won't block each other and we can do both. [1] would be better if we hide the auto rollback feature behind a Hudi config

I did request for feature to both Athena and redshift spectrum few weeks ago.
BTW I will make the feature configurable as suggested.


Not all request objects will have the query_params attribute

In my case just when running unit tests the request object does not have the query_params defined.  Otherwise when running the app it works fine.
AttributeError: 'WSGIRequest' object has no attribute 'query_params'

See suggested fix in #3

Fixed in #3.


Completion List does not appear after first identifier is typed in string interpolation

Repro steps:

Start with the following code in a C# project (ensure OmniSharp successfully loads).

class C
{
    void M(int x)
    {
        var s = $"{}";
    }
}

Type 'x' inside the '{}'

Expected result: completion list appears
Actual result: it doesn't

Note: This will probably be fixed by fully using Roslyn's Completion API in omnisharp-roslyn.

Press the key board shortcut for "toggleSugguestionDetails" after typing some character make the completion list appears, but typing itself not work.

@DustinCampbell @Fubuchi Apparently VS Code has its own logic to determine whether intellisense is available inside strings. You can enable trigger on typing by setting the "editor.quicksuggestions" option to show intellisense inside strings:
    "editor.quickSuggestions": {
        "other": true,
        "comments": false,
        "strings": true
    }

(See https://github.com/microsoft/vscode/issues/23962#issuecomment-292079416 for details)


Linking issue attempting to make all

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The symbols missing are:
"rsimpl::uvc::get_control(rsimpl::uvc::device const&, int, unsigned char, void*, int)", referenced from:       rsimpl::f200::xu_read(rsimpl::uvc::device const&, unsigned char, void*, unsigned int) in f200-private.o       rsimpl::r200::xu_read(rsimpl::uvc::device const&, rsimpl::r200::control, void*, unsigned int) in r200-private.o       rsimpl::r200::send_command_and_receive_response(rsimpl::uvc::device&, rsimpl::r200::CommandResponsePacket const&) in r200-private.o       rsimpl::r200::read_device_pages(rsimpl::uvc::device&, unsigned int, unsigned char*, unsigned int) in r200-private.o       rsimpl::r200::read_arbitrary_chunk(rsimpl::uvc::device&, unsigned int, void*, int) in r200-private.o       rsimpl::r200::read_admin_sector(rsimpl::uvc::device&, unsigned char*, int) in r200-private.o       rsimpl::r200::read_firmware_version(rsimpl::uvc::device&) in r200-private.o       ...   "rsimpl::uvc::set_control(rsimpl::uvc::device&, int, unsigned char, void*, int)", referenced from:       rsimpl::f200::xu_write(rsimpl::uvc::device&, unsigned char, void*, unsigned int) in f200-private.o       rsimpl::r200::xu_write(rsimpl::uvc::device&, rsimpl::r200::control, void*, unsigned int) in r200-private.o       rsimpl::r200::send_command_and_receive_response(rsimpl::uvc::device&, rsimpl::r200::CommandResponsePacket const&) in r200-private.o       rsimpl::r200::read_device_pages(rsimpl::uvc::device&, unsigned int, unsigned char*, unsigned int) in r200-private.o       rsimpl::r200::read_arbitrary_chunk(rsimpl::uvc::device&, unsigned int, void*, int) in r200-private.o       rsimpl::r200::read_admin_sector(rsimpl::uvc::device&, unsigned char*, int) in r200-private.o       rsimpl::r200::read_firmware_version(rsimpl::uvc::device&) in r200-private.o       ...   "rsimpl::uvc::bulk_transfer(rsimpl::uvc::device&, unsigned char, void*, int, int*, unsigned int)", referenced from:       rsimpl::f200::execute_usb_command(rsimpl::uvc::device&, std::__1::timed_mutex&, unsigned char*, unsigned long, unsigned int&, unsigned char*, unsigned long&) in f200-private.o   "rsimpl::uvc::get_vendor_id(rsimpl::uvc::device const&)", referenced from:       rs_context::rs_context() in context.o       rs_context::rs_context() in context.o   "rsimpl::uvc::init_controls(rsimpl::uvc::device&, int, rsimpl::uvc::guid const&)", referenced from:       rsimpl::make_f200_device(std::__1::shared_ptr<rsimpl::uvc::device>) in f200.o       rsimpl::make_sr300_device(std::__1::shared_ptr<rsimpl::uvc::device>) in f200.o       rsimpl::make_r200_device(std::__1::shared_ptr<rsimpl::uvc::device>) in r200.o   "rsimpl::uvc::query_devices(std::__1::shared_ptr<rsimpl::uvc::context>)", referenced from:       rs_context::rs_context() in context.o       rs_context::rs_context() in context.o   "rsimpl::uvc::create_context()", referenced from:       rs_context::rs_context() in context.o       rs_context::rs_context() in context.o   "rsimpl::uvc::get_product_id(rsimpl::uvc::device const&)", referenced from:       rs_context::rs_context() in context.o       rs_context::rs_context() in context.o   "rsimpl::uvc::get_pu_control(rsimpl::uvc::device const&, int, rs_option)", referenced from:       rsimpl::f200_camera::get_options(rs_option const*, int, double*) in f200.o       rsimpl::r200_camera::get_options(rs_option const*, int, double*) in r200.o   "rsimpl::uvc::set_pu_control(rsimpl::uvc::device&, int, rs_option, int)", referenced from:       rsimpl::make_sr300_device(std::__1::shared_ptr<rsimpl::uvc::device>) in f200.o       rsimpl::f200_camera::set_options(rs_option const*, int, double const*) in f200.o       rsimpl::r200_camera::set_options(rs_option const*, int, double const*) in r200.o   "rsimpl::uvc::stop_streaming(rsimpl::uvc::device&)", referenced from:       rs_device::stop() in device.o   "rsimpl::uvc::claim_interface(rsimpl::uvc::device&, rsimpl::uvc::guid const&, int)", referenced from:       rsimpl::f200::claim_ivcam_interface(rsimpl::uvc::device&) in f200-private.o   "rsimpl::uvc::start_streaming(rsimpl::uvc::device&, int)", referenced from:       rs_device::start() in device.o   "rsimpl::uvc::set_subdevice_mode(rsimpl::uvc::device&, int, int, int, unsigned int, int, std::__1::function<void (void const*)>)", referenced from:       rs_device::start() in device.o   "rsimpl::uvc::get_pu_control_range(rsimpl::uvc::device const&, int, rs_option, int*, int*)", referenced from:       rs_device::get_option_range(rs_option, double&, double&, double&) in device.o

This is not necessarily a librealsense issue -- but rather an issue with your system configuration. For some reason you are missing the V4L/uvcvideo headers on your system. What distribution are you using, and what kernel version? Have you successfully patched the uvcvideo.ko driver?

Distribution:
Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64
Where is the patch for the uvcvideo.ko driver?

Ok, so you're actually on OSX! According to our CI build, the XCode project should be building A-OK. If you do want to use the makefile (which it appears you are attempting to use) check out this pull request: https://github.com/IntelRealSense/librealsense/pull/17 The makefile was originally only for Linux systems but #17 might fix your issue

I'm using Xcode and opening librealsense.xcworkspace. All the example compiled and running fine. Maybe you use the standard Makefile just like in linux. It didn't work in osx. Use the provide Xcode project to compile it.
I make the cmake in my fork, if you prefer using cmake.
Xcode 7.2 elCapitan

Thanks for the advice! I got it working in Xcode by using the librealsense.xcworkspace!


fix: remove default scope from registrationOptions

Motivation
Recently we have supported registration options and its default value is set to { scope: '/' }, but there is a potential problem, if an user didn't pass in registrationOptions, at the same time he/she deployed his/her site at a sub directory, e.g. vuejs.org/sub/. he will meet a error of service worker:

The path of the provided scope ('/') is not under the max scope allowed ('/sub/'). Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope.

This is due to the service-worker.js is under vuejs.org/sub/ but the default scope we set is equivalent to vuejs.org/ which causes the leading out of scope. so in that case user'll need to override registrationOptions.
Actually, following the mozilla:

By default, the scope value for a service worker registration is set to the directory where the service worker script is located.

So we needn't to set the default value since the native register API will help us to do it.

BTW, actually I guess it should typo of the previous PR, the default value should be ./ instead of /. but the better is to remove it directly.

@ulivz I've added to as a collaborator to this repo. You also now have publishing rights on npm.

also /cc @sodatea for PRs that introduce substantial changes you can request reviews from each other to make sure.


Bug 61078 - Percentile calculation error

https://bz.apache.org/bugzilla/show_bug.cgi?id=61078

Thanks for your patch.
This test fails for me:
    @Test     public void testPercentagePointBug() throws Exception {         long values[] = new long[] {             10L,9L,5L,6L,1L,3L,8L,2L,7L,4L         };         DescriptiveStatistics statistics = new DescriptiveStatistics();         for (long l : values) {             calc.addValue(l);             statistics.addValue(l);         }         assertEquals(statistics.getPercentile(90),                  calc.getPercentPoint(0.9), 0.5);     }
with:
java.lang.AssertionError: expected:<9.9> but was:<9.0>
Does it sounds ok for you ?

@FSchumacher thank you for the remark, it is fixed now
@pmouawad DescriptiveStatistics uses legacy percentile calculation method by default, which is Linear Interpolation Third Variant C=0
To fix the test please add these lines after the loop
statistics.setPercentileImpl((new Percentile()).withEstimationType(Percentile.EstimationType.R_1));
for (int i=1; i<=100; i++) assertEquals(statistics.getPercentile(i), calc.getPercentPoint(i / 100D), 0.001);

I wonder why do we still use org.apache.jorphan having such a powerful math library as Apache Commons Math.

Hello @abalanonline ,
Thanks for your replies and explanations !
I am not a math expert as you seem to be, so I have few questions you may be able to help on:

Thanks to your comment, I see default method is LEGACY, and the one you have created is R_1. Do you have some insights on the different method and their limits / use cases ?

Why does the "bug" you report affect all libraries I checked (HdrHistogram, https://github.com/tdunning/t-digest/ and JOrphan ) ? Can't it be due to a different method estimation algorithm ?

Note I share your thoughts on using a dedicated library but commons-math may be overkill in terms of performance compared to HdrHistogram or t-digest.
Thanks

Hello @pmouawad ,
Different estimation types used by Apache Math explained here.
The use case for nearest rank method is simple. If the 90% percentile is 1200 ms than that means that 90% of tests take no more than 1200 ms. Same for 95% and 99%. Very informative value for JMeter. It is implemented in R_1 and R_2.
The purpose of interpolated method is to eliminate the discontinuity and to get data useful for calculation in different linear functions. Difference is in the min and max values. If we treat them only as starting and ending points in the diagram then C=1 variant (R_7) is used. Otherwise if the min and max are the full value experiment results and deserve their own space on a diagram then C=0 variant (LEGACY, R_6) is considered.
Intermediate variant C=1/2 (R_5, R_8, R_9) is fine too because it is balanced and does not distort the "angle" of a diagram.
The bug affects most of the libraries because of a cognitive inertia of developers. The ceiling function is very rarely used and it is psychologically easier to use round instead. Also round function give correct median for odd number of experiments. Seeing that they calm down and believe that everything is calculating correctly.

FWIW, this article has two citations in favour of defaulting to what Wikipedia calls R-8 (though it notes R defaults to R-7 for compatibility with S).  That's a decent argument for either of them, IMO.

@Wyatts Thank you.
R-8 is good if the interpolated approach is required. But for JMeter the R-1 is preferable because data calculated that way have a concrete understandable meaning.

Hi Team,
What shall we do ?
As per Felix note on dev mailing list, it is more an algorithm variation than a bug.

Note: this PR was automatically closed when JMeter development moved from SVN to Git (main branch was renamed from trunk to master, thus GitHub closed the PR).
If you want to revive the PR, please update your fork as per https://github.com/vlsi/jmeter-git-cleanup/tree/v2.2.0/clean_fork , reopen the PR (unfortunately, it has to be a new PR).
If you have questions, please feel free to ask on JMeter dev list.
Sorry for the inconvenience


New PHub destroys download_urls?

Hi its me again, needing your download_urls method 😃.
This time i have a problem with video format, its not a bug or anything.
Before im pretty sure you recieved a .mp4 file when downloading urls but now you get this weird .m3u8 file. I've read about it and its like a playlist file, but i cant convert it to mp4 or similar.
The url it self has a .mp4 file, if you cut all the other options like the .m3u8, depending on the video you get different errors but all of them involve permission (Having to register) which sucks.
EDIT: Also, sometimes i get 403 errors :(
My point, is there a way around it?
Thank you, xXMrrpgXx

Hello xXMrrpgXx,
Thank you for your feedback !
The way my download works is as follow :

I get all the part of the download URL from the javascript
I build back the different download URL I manage to get
I check if the URL is valid

The problem is it seems at first view that PH create fake link inside for avoiding this kind of downloader.
I need to search a bit more.
Can you give me an URL where you get that error ?
It does not happen everywhere, so it's hard to debug.
Thank you !

Hello xXMrrpgXx,
Thank you for your feedback !
The way my download works is as follow :

I get all the part of the download URL from the javascript
I build back the different download URL I manage to get
I check if the URL is valid

The problem is it seems at first view that PH create fake link inside for avoiding this kind of downloader.
I need to search a bit more.
Can you give me an URL where you get that error ?
It does not happen everywhere, so it's hard to debug.
Thank you !

Thanks for your answer!
Im really sorry for the late response.
Here are some examples:
URL: http://pornhub.com/view_video.php?viewkey=ph5eef378b83388
1080p download link (they're all the same type): https://ev-h.phncdn.com/hls/videos/202006/21/325678372/201218_1706_1080P_8000K_325678372.mp4/master.m3u8?validfrom=1611072724&validto=1611079924&hdl=-1&hash=%2BvzOghjkqd2DKvOz3NvJjAmR90Y%3D

Another one:
URL (With spain subdomain): https://es.pornhub.com/view_video.php?viewkey=1767297513
720p download link: https://ev-h.phncdn.com/hls/videos/201504/15/47620541/,191218_0700_720P_4000K,191218_0700_480P_2000K,191218_0700_240P_400K,_47620541.mp4.urlset/master.m3u8?validfrom=1611073018&validto=1611080218&hdl=-1&hash=Y5UsXSfoqBBKVwUQVlmyHMLcavo=

Thanks for your answer!
Im really sorry for the late response.
Here are some examples:
URL: http://pornhub.com/view_video.php?viewkey=ph5eef378b83388
1080p download link (they're all the same type): https://ev-h.phncdn.com/hls/videos/202006/21/325678372/201218_1706_1080P_8000K_325678372.mp4/master.m3u8?validfrom=1611072724&validto=1611079924&hdl=-1&hash=%2BvzOghjkqd2DKvOz3NvJjAmR90Y%3D

Another one:
URL (With spain subdomain): https://es.pornhub.com/view_video.php?viewkey=1767297513
720p download link: https://ev-h.phncdn.com/hls/videos/201504/15/47620541/,191218_0700_720P_4000K,191218_0700_480P_2000K,191218_0700_240P_400K,_47620541.mp4.urlset/master.m3u8?validfrom=1611073018&validto=1611080218&hdl=-1&hash=Y5UsXSfoqBBKVwUQVlmyHMLcavo=


Handle an API where the address is a self-signed certificate

#82 This should be solved, but no testing available.


Object reference not set to an instance of an object.

Receiving the error " Object reference not set to an instance of an object." when the trainer encounters a Pokemon. is effecting 100% of all my scripts that involve attacking that previously worked.
Scripts that catch pokemon and run away from the rest are uneffected.

To get help with scripting, post on the help section of the forum.
The tickets are strictly use to report bugs that come from the bot and can be explicitly reproduced.

Have tryed editing scripts multiple times, using scripts other people say work, etc.
Tryed reinstalling proshine/netframework/rebooting pc
Tryed using a outdated version of PROshine
nothing is fixing it

This is not due to scripting.

Unless you know exactly what function of the API is returning a nil reference when it should not, this does not concern the bot.

The thing is it's almost impossible for anyone to recreate other then me and the other users who suffer from this bug, as scripts that work PERFECTLY for everyone else, do not work for us.
E.g
name = "Mt Silver 1F"
author = "X0r9"
description = "Train and farm money at Mt Silver 1F"
function onPathAction()
if isPokemonUsable(1) then
if getMapName() == "Mt. Silver Pokecenter" then
moveToMap("Mt. Silver Exterior")
elseif getMapName() == "Mt. Silver Exterior" then
moveToMap("Mt. Silver 1F")
elseif getMapName() == "Mt. Silver 1F" then
moveToRectangle(46, 55, 53, 55)
end
else
if getMapName() == "Mt. Silver 1F" then
moveToMap("Mt. Silver Exterior")
elseif getMapName() == "Mt. Silver Exterior" then
moveToMap("Mt. Silver Pokecenter")
elseif getMapName() == "Mt. Silver Pokecenter" then
usePokecenter()
end
end
end
function onBattleAction()
if isWildBattle() and isOpponentShiny() then
if useItem("Ultra Ball") or useItem("Great Ball") or useItem("Pokeball") then
return
end
end
if getActivePokemonNumber() == 1 then
return attack() or sendUsablePokemon() or run()
else
return run() or attack() or sendUsablePokemon()
end
end
This script was working fine for me 3 days ago, and now i cannot run it.

Reading the [url=https://proshine-bot.ml/viewtopic.php?id=905]related post of the forum[/url]. This would be a bug with isOpponentEffortValue().
I need to know what pokemon you were fighting when it happened and where it happened.

I was in azaleia forest and it happend on 100% of pokemon.
Also, It is not the ev that does it.
The script i posted above does not request evs, it is a simple leveling script and when i run it i get this.
http://i.imgur.com/TghfYtD.png
It walks fine to the location, the second it is in battle same error.
Any script that i have that involves attack()

or sendUsablePokemon() will not work.

There is no bug from the API that cannot be reproduce. If something works for everyone but you, that means you did something different. Maybe your team is different, maybe something else, that's what we should determine.
Unless you used a different version of the bot 3 days ago, the bug already was there when you used the script before, maybe something was different with your character then, something that is related to this bug, once again, that's what I need to know to fix the bug, if there is one.

What version of PROShine are you using?

i am using <IP_ADDRESS>, i have tryed redownloading older versions and they are not working either. After testing it seems to be only the attack() function that is causing this, as i just deleted that from the code and it ran away from pokes fine http://i.imgur.com/3wE2b3b.png
The pokemon up front is a pokemon i have used to farm gold countless time, it is a machamp with only attacking moves.

I believe i have worked out what is causing this, allow me two minutes for further testing.

I have worked out the issue, earlier i said machamp i meant slowbro, the slowbro i recently taught scald. When a pokemon has scald it will give this error.

After removing scald from slowbro it now runs smoothly. thanks for your time!

There is a misunderstanding there. When opening an issue you engage yourself in the resolution of a software bug.
If the bug is still there it needs to be identified and fix.
You may have find a workaround but the bug still exists and I have no idea why scald could create this kind of bug.

Your error is:

Object reference not set to an instance of an object.

Right?
Replace the onBattleAction by this and paste me the 20 last lines before it returns the previous message:
https://gist.github.com/g0ldPRO/09180f03701211ea9a7a35bf96e2df50

Alright, should i get scald tm and teach slowbro it again before doing this?

If it's necessary to reproduce the bug, then yes.

Okay one moment mate.

Now does not even leave the poke center.
[1:13:49 a.m.] Connecting to the server...
[1:13:50 a.m.] Connected, authenticating...
[1:13:53 a.m.] Authenticated successfully!
[1:13:53 a.m.] System: Welcome to Pokemon Revolution Online. (Blue Server)
[1:14:00 a.m.] Script "Mt Silver 1F" by "X0r9" successfully loaded
[1:14:00 a.m.] Train and farm money at Mt Silver 1F
[1:14:02 a.m.] Bot started
[1:14:02 a.m.] Error during the script execution: Object reference not set to an instance of an object.
[1:14:02 a.m.] Bot stopped

That cannot be related to the late change, since the onBattleAction() has not been executed.
Can you past me the entire script you ran? (preferably using https://git.github.com )

https://gist.github.com/423956/fe39fdfa83ccb26793747a9c78eb630b

What about the output of this one?
https://gist.github.com/g0ldPRO/2a133ecb904affaf2557046f1439fb44

That returns the following;
1:23:43 a.m.] Connecting to the server...
[1:23:44 a.m.] Connected, authenticating...
[1:23:45 a.m.] Authenticated successfully!
[1:23:45 a.m.] System: Welcome to Pokemon Revolution Online. (Blue Server)
[1:23:49 a.m.] Script "Mt Silver 1F" by "X0r9" successfully loaded
[1:23:49 a.m.] Train and farm money at Mt Silver 1F
[1:23:50 a.m.] Bot started
[1:23:50 a.m.] isPokemonUsable(1)
[1:23:50 a.m.] Error during the script execution: Object reference not set to an instance of an object.
[1:23:50 a.m.] Bot stopped

Can you try learning another attack instead of scald?
Alternatively, of if it does not work can you paste all the attacks of the first pokemon? Slowbro right?

I won't be there for one hour of so, I'll have a look at that issue later in the day.

I changed the pokemon to a mew to test if it was just slowbro for testing purposes. Same error when using scald.
It's moveset is Nasty Plot, Scald, Thunderwave, Softboiled.

Yeah i'll be on for 5 or 6 more hours or so. I'm happy to help in anyway i can, just let me know if you need me. Let me change scald and show you logs.

[1:29:38 a.m.] Bot started
[1:29:38 a.m.] isPokemonUsable(1)
[1:29:38 a.m.] true
[1:29:45 a.m.] isPokemonUsable(1)
[1:29:45 a.m.] true
[1:29:55 a.m.] isPokemonUsable(1)
[1:29:55 a.m.] true
[1:29:59 a.m.] isPokemonUsable(1)
[1:29:59 a.m.] true
[1:30:01 a.m.] isPokemonUsable(1)
[1:30:01 a.m.] true
[1:30:01 a.m.] A Wild Quagsire Attacks!
[1:30:07 a.m.] onBattleAction()
[1:30:07 a.m.] isWildBattle()
[1:30:07 a.m.] true
[1:30:07 a.m.] isOpponentShiny()
[1:30:07 a.m.] getActivePokemonNumber()
[1:30:07 a.m.] 1
[1:30:07 a.m.] attack()
[1:30:07 a.m.] true
[1:30:07 a.m.] Slowbro Attacks Quagsire with Surf.
[1:30:07 a.m.] Quagsire Attacks Slowbro with Earthquake.
[1:30:07 a.m.] Slowbro restored HP using Leftovers!
[1:30:11 a.m.] onBattleAction()
[1:30:11 a.m.] isWildBattle()
[1:30:11 a.m.] true
[1:30:11 a.m.] isOpponentShiny()
[1:30:11 a.m.] getActivePokemonNumber()
[1:30:11 a.m.] 1
[1:30:11 a.m.] attack()
[1:30:11 a.m.] true
[1:30:13 a.m.] Slowbro Attacks Quagsire with Surf.
[1:30:13 a.m.] Slowbro restored HP using Leftovers!
[1:30:13 a.m.] Quagsire has fainted!
[1:30:13 a.m.] Slowbro gained 39636 Exp.
[1:30:13 a.m.] You found 418 Pokedollar(s).
[1:30:13 a.m.] You have won the battle.
[1:30:14 a.m.] isPokemonUsable(1)
[1:30:14 a.m.] true
[1:30:15 a.m.] isPokemonUsable(1)
[1:30:15 a.m.] true
[1:30:16 a.m.] isPokemonUsable(1)
[1:30:16 a.m.] true
[1:30:17 a.m.] isPokemonUsable(1)
[1:30:17 a.m.] true
[1:30:17 a.m.] isPokemonUsable(1)
[1:30:17 a.m.] true
[1:30:19 a.m.] isPokemonUsable(1)
[1:30:19 a.m.] true
[1:30:20 a.m.] isPokemonUsable(1)
[1:30:20 a.m.] true
[1:30:21 a.m.] A Wild Golbat Attacks!
[1:30:27 a.m.] onBattleAction()
[1:30:27 a.m.] isWildBattle()
[1:30:27 a.m.] true
[1:30:27 a.m.] isOpponentShiny()
[1:30:27 a.m.] getActivePokemonNumber()
[1:30:27 a.m.] 1
[1:30:27 a.m.] attack()
[1:30:27 a.m.] true
[1:30:28 a.m.] Golbat Attacks Slowbro with Venoshock.
[1:30:28 a.m.] Slowbro Attacks Golbat with Psychic.
[1:30:28 a.m.] It's Super Effective!
[1:30:28 a.m.] Slowbro restored HP using Leftovers!
[1:30:28 a.m.] Golbat has fainted!
[1:30:28 a.m.] Slowbro gained 43194 Exp.
[1:30:28 a.m.] Slowbro has grown to level 59.
[1:30:28 a.m.] You found 252 Pokedollar(s).

That is the same slowbro that was causing errors earlier, after replacing scald with waterfall.

scald move is missing from PROProtocol/moveManager.cs.
I guess it was added more recently and the array was not updated then.

Oh cool well i'm just happy it's all worked out. Thank you very much for your time!

@g0ldPRO Yes, yo are right, I have added the move in #19 in order to prevent this issue to repeat again. I haven't tested it yet.
@423956 Let me know if it works.

Yes it is working fine now! Thanks guys

Seems to be fixed by #19, thanks!


Cherrypick Windows DLL warning changes and related notes

This PR pulls in a documentation / helper change that raises a warning
if necessary DLLs could not be found on the Windows system. See the messages
from the included commits for more details.

Added @goldiegadde and @martinwicke for release notes review.


CC Release Notes December (fix)

Added note that Serverless clusters are still running on v21.2.0-beta.4, not on the same version as Dedicated clusters.

This change is


Create secret with every parameter in parameter store under a certain prefix

Does it make sense to add a feature to support importing all parameters under a certain prefix in param store / secrets manager?
This is kind of an enhancement to dataFrom feature.
What I would like to be able to achieve is the following:
Parameter Store

Parameter /application/specific/prefix/a with value a
Parameter /application/specific/prefix/b with value b

... think 100 parameters
ExternalSecret
apiVersion: 'kubernetes-client.io/v1'
kind: ExternalSecret
...
spec:
  backendType: systemManager
  dataFromPrefix:
    - /application/specific/prefix/

(This in functionality should be equal to:)
apiVersion: kubernetes-client.io/v1
kind: ExternalSecret
...
spec:
  data:
    - key: /application/specific/prefix/a
      name: a
    - key: /application/specific/prefix/b
      name: b
... 100 more

Resulting Secret
apiVersion: v1
kind: Secret
type: Opaque
data:
  a: YQ== # a
  b: Yg== # b

What do you think?

This would be excellent! It looks like there is related work in progress #238

For reference the feature was merged and was refactored in #603  :)

As mentioned above this will be available in next release!


[BUG] 'No content found' page shows up when loading Youtube videos

Please see the screenshot below, for some reason the 'no content found' warning shows up next to the video, which is slightly annoying since it takes up space. Thank you for the awesome plugin :-)

If you are running into this issue then check the URL of the youtube video, if it is in this format then it should work fine:
https://www.youtube.com/watch?v=mvmuCPvRoWQ
If it is in a different format then the above screen with no content found message will show up.

I also suggest adding an option to not automatically load youtube videos next to the rem, I find having the video in another window next to Remnote to be better.


refactor spinal to camel case function

Hmm I'm not sure about this.  Maybe we like long lines of code? Naaaaaaaaaah.  Thanks dude <3


Add information about created/updated/deleted annotations in webhook body

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
I have set up a job:update webhook to pull annotations, when annotations are created/updated/deleted. Currently, the request body contains which job was updated and the old "updated_date", but not which annotations were changed.
Describe the solution you'd like
It would be very helpful, if the body could contain information about which annotations were created/updated/deleted, so that I don't have to compare all annotations against our external database, every time the "save"-button is pressed to find out which annotations to export.
Describe alternatives you've considered
No response
Additional context
No response

Can you show the excat code where it was, i am little bit in confuse.


Fix current exploit used to crash players, particle spamming.

Is your feature request related to a problem? Please describe.
People can crash the game of players by spamming particles.
Describe the solution you'd like
If there is above 100 particles on screen then stop new ones from appearing or do something to prevent it
Describe alternatives you've considered
I've tried minimal particles and it will still crash your game
Additional context
N/A

#2


Add email validation back to signin

David raised an issue in #5745 that signin is no longer validating that email addresses are correctly formatted. This is a separate issue & higher priority than #5745 so I've added the fix separately
refs #5745

signin form was not checking email address was valid

:+1:

Should this be highlighting the invalid e-mail rather than missing data? (filled in invalid email and a password then pressed submit)

I couldn't think of a decent way to differentiate - so figured we'd look at this more closely later? Unless anyone has any bright ideas?


[LW-9592] Include legal docs

Description

Updated terms and conditions and privacy policy.
Added "terms and policy update" prompt to be displayed for existing installations.

Testing

If installing nami for the first time, the new terms and policy is displayed as usual in the create/import modal, analytics consent and about screen.
If wallet is already created, the update modal should be displayed with acceptance prompt
To retest after accepting, call chrome.storage.local.remove('acceptedLegalDocsVersion')

Screenshot

@DominikGuzei @VanessaPC PR updated with added scope. See https://github.com/input-output-hk/nami/pull/911/commits/1c6a1b5d8314abca5dd5131b722029e337ac77e9.

I left a couple of cleanup comments, but aside than that great work @lucas-barros!


Error page should show a login notice

Describe the feature you'd like
Currently, if a user is not logged in and visits a non public page a generic "Page not found" error is shown. Inexperienced users might not realize, that the page might be available to them if they would log in.

I suggest to amend this page with something like this:

Page not found or not logged in
Sorry, The page you were looking for could not be found or is only available after login.

Describe the benefits this feature would bring to BookStack users
Reduce confusion for new users when clicking on links from outside the bookstack environment (e.g. from Slack).
Additional context
A possible mockup for this:

Thanks for your request @miterion.
As part of release v0.28.3, The wording on the 404 page was updated to indicate permissions may be hiding the content, And a login button was added to that section as a suggestion that the user may need to login. The changes can be seen in my comment here: https://github.com/BookStackApp/BookStack/issues/1706#issuecomment-599118692
Hopefully that covers this. If not, feel free to raise any concerns on a new issue, referencing this one.

That's a great solution, thank you very much :)


fix(id/animeindo): Fix http 404 error again

Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[x] Added the containsNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[x] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio

In your future contributions, please create a separate branch instead of adding commits directly to master (See CONTRIBUTING.md#submitting-the-changes).


metadata files

Hi, Can you please how can we convert federationmetadata.xml file to *.md file format. In my application they are not using any xml file but we have only *.md file, now its time to update that file as providers signatures changed I have update metadata info on my code, this is not an issue but I am not getting help any where, by looking into my code closing previously just copy pasted ur samlclient.java code but they used *.md file for metadata it is not there in your code and no guidelines how to create it also.
Please help me on this. Thanks

Sorry, I have no idea what that "md" format is... I've only ever seen the xml one.

Can you let me know How to create reader metadata from xml, as we are passing that as an argument to frommeta method


Add onBatchStarted callback to "BatchCompleteListener".

This change adds a way for native modules to receive "batchStarted" event (I've actually renamed OnBatchCompleteListener to JSBatchListener so that the name does no longer suggest it can be used only for getting "batchComplete" events).
I think this callback will be important for implementing features that may want to interact with native modules from inside of the native code and will allow to isolate modifications of UI that are done by JS from the ones that can be driven by purely native code. A good example would be driving animations from native code. In that case we'd like for the animation code to be able to update view properties (such as transforms) but also props that affect shadow view hierarchy (layout-related props). Since changes made to layout props have to go though the regular prop update pipeline (update shadow view -> calculate layout on batch complete -> update values in UI thread) the best way IMO is to "trigger" onBatchComplete when animation frame is requested and let UIManager start all the view updating logic. The issue is with other updates that might be coming from JS at the same time. SO the solution is to detect if JS is in a process of sending native commands and wait until the process is finished - that's where this new callback I'm adding will help a lot.
Test plan:
Add boolean "batchState" variable in UImanagerModule. Update it to tru in #onBatchStarted and to false in #onBatchComplete. Add asserts in #onBatchComplete for "batchState" to be true when entering the method -> play with some apps, test reload, asserts should always be passing

@kmagiera FYI build has failed https://circleci.com/gh/facebook/react-native/1866

@bestander - seems like build is failing on other PRs too

@brentvatne yeah, thanks.
There was an accident break today but it got fixed just 15 minutes ago.

@bestander I've updated my PR yesterday with an import statement that has been removed after I rebased but still getting failures on circleCI. Can you please check if those are related to my commit as while running them locally all unit test pass for me and "connectedAndroidTest" fail with and without my change on HorizontalScrollViewTest (which is sth different that what circleCI reports).

Thanks, @kmagiera.
Sometimes the test runner can be a bit flaky on a CI VM, I'll have a look if that is the case.

Yeah, looks like a random issue, thanks for keeping an eye on it.
I'll add a limit to memory and number of threads for buck

noooooobee
We're trying to get rid of the concept of onBatchComplete as well in favor of an explicit UIManager#flush() operation. Can we have native animations integrate more tightly with the UIManager module instead of extending this implicit bridge contract?

@astreet Sure, this just seemed to be the most elegant solution. As I described in the comment when I schedule updates from native animated "thread" I also need to "flush" the batch. So what is required from native animated perspective is the knowledge of UI manager transaction boundaries. If as a part of migrating towards "UIManager#flush()" we can also add "UIManager#startUITransaction" that would be perfect for me. Otherwise the alternative is to add a piece of code in every single UIManager method that enqueues ui operations

First, I want to point out an issue with off-JS thread animations that go through the shadow hierarchy: if we want to use the same mechanism to enable off-JS thread gestures, we can't easily go through the shadow hierarchy for some things, the main one being gestures tied to scroll position, e.g. sticky headers. This is because the scroll position would always be a frame ahead of the actual sticky header position because shadow thread updates that are posted on frame N have layout calculated and are then posted to the main thread for display on frame N+1. For other things, maybe this won't be noticeable. However, I'm concerned about supporting both the set of attributes that can be applies on frame N (translate/scale/rotation) and those that can be applied on frame N+1 (CSS layout updates). Generally, it's expensive to recalculate layout on every frame of an animation anyway. To make sure, do you have cases where you need these 'frame N+1' animations?
As far as implementing this with flush, an explicit batch-start call from JS could work, though I'm not sure all UIManager calls go through the same path in JS. What are your thoughts on just determining this in the native module itself (e.g. having createView etc set a flag that is cleared on flush)?

@astreet I built my prototype with NavigationRFC implementation in mind, which was using css-layout props to animate the views back then (not sure what the current status is, as there was a fix for changing this to translate animation but I think it got reverted).
I agree that when only non-css props are being updated as a part of animation we shouldn't go through the "native thread". And I think the first version I'll send out will only support that type of animations, so I'm not going to urge on this PR. I also proposed "adding a flag" to each UIManager method in my previous comment but IMO it would be a very error-prone approach and I'd prefer an explicit call in order to start UI transaction.

Ok, I'm fine with an explicit 'batch start' command.

Closing this for now. I decided to go with an approach that doesn't allow for the layout properties to be animated in native as a first iteration. This is no longer necessary and, perhaps, this change is already outdated


Add support IPM installs and dockerfile

Thanks for this work Sergey!

IPM fails  Upper/Lower case issue ?


Add keyvault secrets provider to AKS

This PR will allow to use Azure Key Vault Provider for Secrets Store CSI Driver in an AKS cluster

thanks for your PR @wasfree - will integrate after provider update to azurerm 2.93.1 coming in another PR.


Fix Jinja template problem with secrets in Github actions

Fix Jinja template problem with secrets in Github actions
Problem
When running cookiecutter for this repo the following error is produced:
Unable to create file '.github/workflows/contributors.yml' Error message: 'secrets' is undefined
Solution
Similar to #99.
Result
When this patch was applied I was successfully able to use cookiecutter.
Test Plan
Tested on a repo I was creating.

Tagging @natalialuzuriaga for review. Thanks!


Fix bootstrapping issues with awkname, toascii, and notangle

Cherry-picked from #10.
Installation instructions say to first run awkname gawk if necessary.  This fails, lib/toascii doesn't exist yet:
$ ./awkname gawk
./awkname: line 17: lib/toascii: No such file or directory
awkname: failed to change lib/toascii

Try running make to generate it:
make[1]: Entering directory '/tmp/noweb/src/lib'
notangle -Rtoascii toascii.nw > toascii
/bin/sh: notangle: command not found
Makefile:34: recipe for target 'toascii' failed
make[1]: *** [toascii] Error 127

Of course, notangle isn't installed yet, and our goal is to install it.  There is a copy in src/shell, but it needs substitutions for things like |LIBDIR| which happens at installation time, and we also need awkname to modify several of these src/shell scripts before installing/running them.
There may be some hack that lets us execute notangle before everything is installed, but the simplest workaround is to keep a generated copy of toascii in the repo.
If we followed the instructions and ran make boot before make, it would touch toascii and we would likely install it as an empty file.

I don't know why github keeps putting merge commits into the history.  In order to get rid of them, I had to force-push.  Sorry about that.

OK, I've found and changed the github settings.  No more merge commits!  That should do it.


"Repository not found" with --fail-on-error not exiting with non-zero code

I'm setting up codecovcli for the first time in AppVeyor. It appears that --fail-on-error is not being respected when the upload fails with "Repository not found".
I'm running this Powershell script in AppVeyor:
.venv/bin/codecovcli do-upload -t $($CODECOV_TOKEN) --fail-on-error --plugin noop --dir coverage.codecov/ --name "AppVeyor $($env:APPVEYOR_BUILD_VERSION)" --flag munit_test
if (! $?) { throw "codecovcli returned an error" }
.venv/bin/codecovcli not-a-real-command
if (! $?) { throw "codecovcli not-a-real-command returned an error" }

And getting the following output:
info - 2024-10-12 17:25:54,757 -- ci service found: appveyor
info - 2024-10-12 17:25:54,822 -- Found 1 coverage files to report
info - 2024-10-12 17:25:54,823 -- > coverage.codecov/munit_test.lcov
info - 2024-10-12 17:25:55,650 -- Process Upload complete
error - 2024-10-12 17:25:55,651 -- Upload failed: {"message":"Repository not found"}
Usage: codecovcli [OPTIONS] COMMAND [ARGS]...
Try 'codecovcli --help' for help.
Error: No such command 'not-a-real-command'.
Exception:
Line |
  12 |  if (! $?) { throw "codecovcli not-a-real-command returned an error" }
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | codecovcli not-a-real-command returned an error
Build exited with code 1

As you can see, if (! $?) is being triggered for .venv/bin/codecovcli not-a-real-command, so I know that the way I am calling codecovcli and the way I am checking for errors is correct in this environment.
Other details:

codecovcli 0.7.6
Ubuntu 22.04
Python 3.12
Full build output

Hi I think the issue here is that the use of $($CODECOV_TOKEN) resolved to an empty string so the --fail-on-error was parsed as the value of the -t option, so fail-on-error wasn't actually set during that invocation of the CLI.

Hi I think the issue here is that the use of $($CODECOV_TOKEN) resolved to an empty string so the --fail-on-error was parsed as the value of the -t option, so fail-on-error wasn't actually set during that invocation of the CLI.

Yes, that was the issue. My apologies for filing this as an issue.


Removal of PlatformAbstractions package

Fixes #18438.
Preview link.

@eerhardt A couple items of note: I could not find the Environment.OSVersion.Version property that was mentioned in #18438. Instead, I referenced System.Environment.OSVersion. Is that correct? Also, most of the PlatformAbstractions APIs I found on the .NET API browser seem to be in a different namespace (Microsoft.Extensions.PlatformAbstractions). Is that the same thing?


chore: improve tab press event performance

This PR resolves []
Description
In this PR, I am improving the performance of the tab event.
While working on dev, I started investigating why is the transition between tabs slow. We are no longer using the old infra so it should be that bad. This led me to notice that the tabPress event function was being computed everytime and it affected the performance.
Note: on prod, the performance is fine. It's only on dev that we notice this.
https://github.com/user-attachments/assets/f5bde761-f18b-406c-8884-5f2ae7820d02

PR Checklist

[x] I have tested my changes on iOS and Android.
[X] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

improve tab press event performance - mounir

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (improve tab press event performance - mounir - MounirDhahri)

  Generated by :no_entry_sign: dangerJS against 8c02b0c8cc27ec6802923ebb4d09480d2a88d5b4


FEAT-#6484: HDK: Add support for nlargest/nsmallest groupby aggregation

What do these changes do?

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.


Lib failed to parse 64 bits unsigned sessionID in "o="

The parser always return 0 as sessionID (and sessionVersion) in the origin object if something greater than a 32 bits integer is used.
For example, this origin will fail:
-<PHONE_NUMBER>2577731597<PHONE_NUMBER>2577731597 IN IP4 MyHostName

As specified in the SDP RFC:
<sess-id> is a numeric string such that the tuple of <username>, <sess-id>, <nettype>, <addrtype>, and <unicast-address> forms a globally unique identifier for the session. The method of <sess-id> allocation is up to the creating tool, but a timestamp, in seconds since January 1, 1900 UTC, is recommended to ensure uniqueness.

Edit:
Well, looks like this is actually an unsigned 64 bits value. Not sure why it's that big but my VLC is generating such big numbers which fails to be parsed by the lib.
Maybe have an option to keep the value as a string if parsing unsigned is not possible?

Created a PR fixing this: https://github.com/ibc/libsdptransform/pull/17


PnP Web Parts all display the same error

Category

[ ] Question
[x] Bug
[ ] Enhancement

Expected or Desired Behavior
Tiles, Personal and other PnP should display information and render properly
Observed Behavior
All custom web parts display a variation of the same error message (I've hidden my domain name). The message below is from the pnpTiles web part:
[SPLoaderError.loadComponentError]:
***Failed to load component "26cb4af3-7f48-4737-b82a-4e24167c2d07" (pnpTiles).
Original error: ***Failed to load URL 'https://publiccdn.sharepointonline.com/#######.sharepoint.com/sites/AppCatalog/ClientSideAssets/3624777a-337d-4b34-8384-5ab774c069aa/solution-controlstrings_en-us_9fdf3a263d9b4c41bea5ddcb4928cf9d.js' for resource 'ControlStrings' in component '26cb4af3-7f48-4737-b82a-4e24167c2d07' (pnpTiles). There was a problem in the server.
I also notice that I can't Approve any of the APIs in the SharePoint Admin Center. I receive the [HTTP]400 error and the message "A service principal with the name xxxxxx could not be found"
Steps to Reproduce
I followed the steps from the front page of the sp-starter-kit GitHub Page.
I have also

Ensured the account I am using is a Global Admin
It is a Term Store Administrator
I have tried uploading the solution from the package directory. I also tried rebuilding the solution and uploading the new package into the App Catalog

@thisidiotsays I'm seeing the same message all over my sites so I think there might be an issue with the CDN.

@andreasblueher thanks for the update. I will keep an eye on it and see if it resolves itself later.

This is generic CDN issue. If you disable Office 365 CDN from your tenant, that will solve it for now. We are working on fixing the actual root issue. Closing this one as this issue is nothing on the Starter Kit. You can follow up on the CDN issue resolution from the following item at sp-dev-docs issue list - https://github.com/SharePoint/sp-dev-docs/issues/1731

@VesaJuvonen Thanks. I'll check out that link

To disable your Office 365 CDN from your tenant you need to run the following command:
Set-SPOTenantCdnEnabled -CdnType Private -Enable $false
More information can be found here

Actually, this should be as following as we are talking about Public CDN, not Private CDN.
Set-SPOTenantCdnEnabled -CdnType Public -Enable $false


score threshold-bot defense mitigation anomalies

UI validation for the range of score threshold:

integer- 1 to 150
string- "default"

Unable to set score threshold as 'default' through UI

Found only two valid anomaly names in ref. doc(Suspicious HTTP Headers, Invalid HTTP Headers), if more are available can be provided as default values

Able to set value as default in UI


Scroll bars show up on modal & sidebar

Firefox v62.0.3
Shows a blank scrollbar even if nothing is scroll able on Modal and the sidebar. Sidebar could be on purpose but Modal should not.

Hmm, I wasn’t able to reproduce this on a Mac and Ubuntu, both Chrome and Firefox, and don’t have a Windows machine with me right now...let me try this weekend.


Add viewBox to the SVG code

Browsers rely on the viewBox attribute to be able to scale SVGs
automagically. I deduct the generated svg code is intended to be kept
to a minimum but having this attribute can ease the rendering of SVGs
on webviews and browsers.

Thanks for your PR!


Upgrade basic hessian version to v4.0.51.

There are lots of guys using hessian 4.x in their project, and they want to use it in sofa-rpc, and it will incompatible with sofa-hessian (base on hessian v3.1.3, and support generic invoke and security enhancement).
I will start v4.0.0 milestone, and make the sofa-hessian based on lasted stable version  hessian-4.0.51, and also support generic invoke and security enhancement.

release 一个正式版?

hessian will be available only in jdk8?


Update dependencies and readme docs

Updated dependencies and readme content to prepare for the next release.

@yevdyko remember to test the example in the docs on against the code in the branch, the NPM scripts, etc please 🙏

I tested the following things:

NPM scripts work as expected, but the build script contains 3 warnings:

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
  main.02992163650589778895.js (964 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  main (964 KiB)
      main.02992163650589778895.js

WARNING in webpack performance recommendations:
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

ReactP5Wrapper component integrated in the React app. ✅
Sketches in the demo work as expected. ✅
Examples in the README can be improved by using more realistic sketches. See the comments.

In regards to the warnings, those are only for the demo and are due to webpack installing it's runtime into the output script. The production / release build uses rollup and doesn't have that issue and no warnings are thrown. Eventually it would be good to move the demo stuff over to rollup also to resolve that there too, WDYT? would you be interested in working on that as a followup for example? It would tidy the codebase a little further and would make for more performant demo builds and runtimes if we could get that working.

@yevdyko updated the docs and code, please check the wording and retest when you can 👍🏻

I tested the following things:

NPM scripts work as expected, but the build script contains 3 warnings:

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
  main.02992163650589778895.js (964 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  main (964 KiB)
      main.02992163650589778895.js

WARNING in webpack performance recommendations:
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

ReactP5Wrapper component integrated in the React app. ✅
Sketches in the demo work as expected. ✅
Examples in the README can be improved by using more realistic sketches. See the comments.

In regards to the warnings, those are only for the demo and are due to webpack installing it's runtime into the output script. The production / release build uses rollup and doesn't have that issue and no warnings are thrown. Eventually it would be good to move the demo stuff over to rollup also to resolve that there too, WDYT? would you be interested in working on that as a followup for example? It would tidy the codebase a little further and would make for more performant demo builds and runtimes if we could get that working.

Perhaps, I can improve this during the current month. Let's create an issue for that.


DEVOPS-11444: As a DevOps, I want to rename jungwinter to winterjung

Description
Rename all jungwinter to winterjung in all usage in open-turo
Fixes #DEVOPS-11444
Changes

fix(dependency): rename jungwinter to winterjung

🚀 PR created with fotingo

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
49

Relevant Lines:
52

💛  - Coveralls


Custom action component does not get bundled

Describe the bug
I am trying to implement a custom edit action with a custom component according to the documentation. I have implemented the handler, added the action to the resource and implemented the component. When executing the action, I receive the following error: You have to implement action component for your Action, although I have implemented it and bundled it with AdminJs
Installed libraries and their versions

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
To Reproduce
Steps to reproduce the behavior, giving a minimal example that reproduces the bug without adding the actual logic

Add custom action to adminjs:

const admin = new AdminJS({
resource: sequelize_st.models.movieRegion,
      options:{
          actions:{
            match: {
                  actionType: 'record',
                  icon: 'Compare',
                  isVisible: true,
                  handler: matchMovies,
                  component: AdminJS.bundle('./customisation/components/match-movies'),
                }
            }
        }

Custom component ./customisation/components/match-movies.jsx:

import React from 'react';
import { NoticeBox } from "adminjs";

/**
 * @name MatchMovies
 * @category Actions
 * @description Shows a given record.
 * @component
 */
const MatchMovies = (props) => {
    const { resource, record, action } = props;
    action.name = 'match'
    const properties = resource.showProperties;
    return (<NoticeBox>Testing custom component</NoticeBox>);
};
export default  MatchMovies;`

Custom handler:

const matchMovies: ActionHandler<RecordActionResponse>  = async (
    request,
    response,
    context
    ) => {
        // Logic to retrieve record
        return {record: record}

Expected behavior
Custom component is rendered.
Screenshots

      options:{
          match: {
                actionType: 'record',
                icon: 'Compare',
                isVisible: true,
                handler: matchMovies,
                component: AdminJS.bundle('./customisation/components/match-movies'),
              }
        }

This doesn't look like a correct configuration, actions should be defined under options -> actions, not directly under options.

Thank you for your quick response. I had this configured correctly in my example, this mistake got introduced when I copied the code snippet to report the issue, apologies for that. This is the code I use and still face the issue, I will update the original post as well.
const admin = new AdminJS({
resource: sequelize_st.models.movieRegion,
      options:{
          actions:{
            match: {
                  actionType: 'record',
                  icon: 'Compare',
                  isVisible: true,
                  handler: matchMovies,
                  component: AdminJS.bundle('./customisation/components/match-movies'),
                }
            }
        }

What's your operating system (the system where you're running AdminJS)?
Do you use Typescript? I see that you have types in your handler but your component is jsx. Are you sure the component is copied into dist?
Have you tried with minimal component, e. g. a component returning
something
?

I am on macOS Monterey v 12.4
I am using typescript. Here is the minimal component:
./customisation/components/match-movies.tsx
import React from 'react';
import { ActionProps, } from "adminjs";

/**
 * @name MatchMovies
 * @category Actions
 * @description Shows a given record.
 * @component
 */
const MatchMovies: React.FC<ActionProps> = (props) => {
    return (
Some Action Content
);
};
export default  MatchMovies;

This is the resulting .jsx file, which is generated into the same folder ./customisation/components/match-movies.jsx:
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
/**
 * @name MatchMovies
 * @category Actions
 * @description Shows a given record.
 * @component
 */
const MatchMovies = (props) => {
    return (
Some Action Content
);
};
export default MatchMovies;

I have noticed that on starting adminjs I get the following warning, I am including it in case they are relevant:
The 'this' keyword is equivalent to 'undefined' at the top level of an ES module, and has been rewritten

That warning shouldn't matter. Is the action definition file in the same folder as the original one or is it moved to build, dist, lib etc?

The handler function is defined in ./customisation/ActionHandlers.ts. tsc compiles the .js file into the same folder:
./customisation/ActionHandlers.js.

For more context, AdminJS doesn't rely on Typescript to build React files, instead it uses rollup to do this. That's why when you put a relative path in AdminJS.bundle it has to be relative to the file in Typescript's output directory.

So I should not use tsc to compile the .tsx file to .jsx? I tried re-running after removing the .jsx file but I am still getting the same result. The relative path to both files is/was the same
Really appreciate your help in figuring this out

The files can be compiled to jsx, what matters is that the file should preserve ES Module syntax (jsx: "react" in tsconfig). You can also consider specifying an absolute path to the file or a path from the root directory like:
AdminJS.bundle(path,join(process.cwd(), 'dist/customisation/components/match-movies'))

Can you try to change contents of your component to?
import React from 'react';
import { ActionProps } from "adminjs";

const MatchMovies: React.FC<ActionProps> = (props) => {
    return (
Some Action Content
);
};
export default  MatchMovies;

Also, can you check if .adminjs folder is created when you start the server?
Another reason why this happens could be something wrong inside of your component. I haven't used jsdoc in custom components personally so there might be some kind of parsing problem?

I have tried with updating my component to your example. I can confirm that the .adminjs folder is created when I start the server, it is created in the root directory, not in dist. I have also tried copying this folder to dist to see if that makes a difference, but still same result


Cannot use Blazored ILocalStorageService inside ViewModel

Bug description
When injecting an instance of Blazored ILocalStorageService into a ViewModel and inheriting from MvvmComponentBase<>, trying to access a value through the local store will throw the following exception:
- JavaScript interop calls cannot be issued at this time. This is because the component is being statically rendered. When prerendering is enabled, JavaScript interop calls can only be performed during the OnAfterRenderAsync lifecycle method.

This is normally happening when the page is prerendered, however this exception is still being thrown when called inside OnAfterRenderedAsync() and also when prerendering is enabled.
I tried the same approach but injected the ViewModel directly into the component and it was working fine.
Expectation
There should be no Exception when the page is not being rendered or when localStorage is accessed after OnAfterRendered()
Code sample
public class MyViewModel : ViewModelBase
    {
        private readonly ILocalStorageService localStorage;

        public MyViewModel(ILocalStorageService localStorage)
        {
            this.localStorage = localStorage;
        }

        public override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (firstRender)
                await localStorage.GetItemAsStringAsync("test");
        }
    }

Version
6.0.3
Are you using Blazor WASM or Blazor Server?
Blazor Server
What operation system are you working with?
Windows

Please have a look at this comment which explains the issue and how to avoid it.
Duplicate of #98

Thx. So i ended up injecting the viewmodel directly - as in your example on the main page - and it works like a charm.
Awesome!


⚠ Fortnite has degraded performance

In 8c2a7d8, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1553 ms

Resolved: Fortnite performance has improved in c0e6411.


Could not load 'markdown.styles': *.css

VSCode Version:Code 1.33.0 (0dd516d, 2019-04-04T15:11:32.076Z)
OS Version:Windows 10 1809 x64

settings.json is as follows
{
    "workbench.colorTheme": "Markdown Editor Yellow",
    "editor.fontFamily": " PingFang SC, ‘Hiragino Sans GB’, Helvetica ",
    "editor.fontSize": 16,
    "markdown.styles": [
        "md.css"
    ],
}

Steps to Reproduce:
1.Open a markdown file, and click open Preview to the Side
2.visual studio code NOTIFICATIONS show the warning: Could not load 'markdown.styles': md.css
In the previous version, it works properly.

.

Duplicate of #71802

Duplicate of #71802


Guest Experience

Please add information about the Guest Experience with SharePoint Online and Teams.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 60fd4eb7-6f1a-2dfa-27db-01c3a0d00f30
Version Independent ID: c1688075-18bf-534d-f402-ee062840d83f
Content: How SharePoint Online and OneDrive for Business interact with Microsoft Teams
Content Source: Teams/SharePoint-OneDrive-interact.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

Hi @DeanGross how are you?
Are this articles answering  your question?
https://docs.microsoft.com/en-us/microsoftteams/guest-experience
https://support.office.com/en-us/article/guest-capabilities-in-teams-d03fdf5b-1a6e-48e4-8e07-b13e1350ec7b?ui=en-US&rs=en-US&ad=US
Thank you

Thanks, those pages have good information. I was thinking that it would be good to add some of that information or links to those pages to this specific page to help readers understand how the experience changes for different types of users.

Thank you @DeanGross I'll create a new version of the article adding a link to guest experience information.

@officedocsbot close


End connection

Don't we need to call endConnection on Billing Client to release
billing service?
https://developer.android.com/reference/com/android/billingclient/api/BillingClient.html#endConnection()

I've added this in @dima-ostapovets , thanks for pointing it out !


Previous track not working

Hitting (Alt + Ctrl + J) doesn't work for me in going to the previous. All other Keybindings appear to work fine.

@tylerzika thanks for bringing this up - this is probably due to a keybinding conflict with another Atom package.

@tylerzika is this is a keybinding conflict? If so, I'm not sure this is an issue with the Atomify package...


TextYankPost is called after Visual-mode exit

Steps to reproduce

vim -Nu NONE
:au TextYankPost * echom "TextYankPost"
v<ESC>
:mess

Expected behaviour
There should not be TextYankPost message
Version of Vim
9.0.30
Environment
OS: Fedora 36
Terminal: Gnome Terminal
$TERM: xterm-256color
Logs and stack traces
No response

The v:event in this case is:
{'regcontents': [''], 'visual': true, 'inclusive': false, 'regname': '*', 'regtype': 'v', 'operator': 'y'}

Checked source code and it looks like intended behavior for when clipboard has autoselect, which is default in linux.

it was a knew incompatible and regression case happened at before, after that, had to remove to 'autoselect' by user for consistent.


Broken Links on Testnet Page

On the Stacks 2.0 Testnet page there are a two broken links.
Try Mining

current link: https://docs.blockstack.org/mining
should be: https://docs.blockstack.org/start-mining

Try Stacking

current link: https://docs.blockstack.org/stacks-blockchain/integrate-stacking
should be: https://docs.blockstack.org/understand-stacks/integrate-stacking

Also, I noticed some of the links don't open in a new window/tab, probably because they are on the same domain? Should they for consistency?

Try the Stacks Wallet
Earn bug bounties
Build tools

Missing redirects from the last PR changing up the folder structure

cc @CharlieC3

@agraebe Not sure I have the access to fix this, since this page is managed in webflow. I think @markmhx may be needed here, correct me if I'm wrong.

@CharlieC3 generally when any route is changed in the doc, we need to add / update here https://github.com/blockstack/docs/blob/master/next.config.js#L9


Use testdata for fixtures in place of test/fixtures

In golang, the idiomatic way to do test fixtures is to have a directory with your tests called testdata versus the node.js way I parroted of having a test/fixtures directory.  This cleanup item tracks migrating to this idiomatic method to make it easier for golang developers to contribute to the project.
See https://dave.cheney.net/2016/05/10/test-fixtures-in-go for details.

I'll take it