SharedStateServer doesn't send update to client after refresh

I have a simple app with a few buttons. When the user clicks on a button, the text next to the button toggles between "asserted=False" and "asserted=True".

The first time a user brings up the app everything works as expected. The network tab looks like this.

After a refresh the app keeps sending events but stops receiving them.

This behavior is consistent across any components that depend on state. Notably, the user is unable to change the value of inputs.
Server code:
def start_app(dispatch):
    from idom.server.sanic import SharedClientStateServer

    # we use a redux-like dispatch structure to send events to outside the idom event, then update state
    # with a callback stored outside the app.
    # I've tried removing this particular piece of functionality and the problem persists.
    root = lambda: Panel(dispatch)
    app = SharedClientStateServer(root)
    return app.daemon("<IP_ADDRESS>", 3040)

Any ideas on the root cause or a way to mitigate? The PerClientStateServer throws a CannotAccessError due to our rapid state updates, logging (f"Did not update {component} - resources of {self} are closed") so it's a no-go (sorry, I've been waiting to file an issue on that one!)
Thanks!

Did this issue arise after the latest update?

@rmorshea I've had this issue since 0.22 and haven't tested before that.
You got it, the CannotAccessError (really, just the log message but that's triggered by a CannotAccessError) happens after refresh.

Ok, it looks like I'm able to reproduce, so I'll look into that.
With that said, ignoring the logged CannotAccessError, does PerClientStateServer work for your purposes? Perhaps you could leverage a use_effect hook to avoid attempting to update the layout after it's been closed due to a refresh? It might be similar to this example except instead of a connection, you'd be opening and closing your async thread of execution. For example:
@idom.component
def SyncStateComponent():
    state, set_state = idom.hooks.use_state(None)

    @idom.hooks.use_effect
    def sync_state():
        stop_updating = start_updating(set_state)
        return stop_updating

    return ...

def start_updating(set_state):
    """Start async thread of execution to frequently set state and return callback to stop"""
    ...
    return callback_to_stop_setting_state

The SharedClientStateServer is designed to give all clients the same synchronized view.

The main purpose of the SharedClientStateServer is that it allows all clients to share one synchronized view. For example, a caused or seen by one client will seen by all other clients too. Is that what you're trying to do?
Unfortunately that information isn't really documented yet.

I think I found the problem. I think it's related to this issue: https://github.com/idom-team/idom/issues/298

Ok, got the PR with the fix passing. Will try and release some time this week.


Portainer never starts when using NFS backed volume for data

Bug description
It seems that Portainer is blocking on a read or write to its underlying data volume "/data", when it is backed by an NFS share (or something remote).  When this is the case, the portainer binary blocks waiting indefinitely and never becomes responsive.
Expected behavior
If I specify that the Portainer "/data" directory has an NFS share mapped onto it, it should work.
  After a two minutes, you'll start to see these messages in dmesg:

INFO: task portainer:4254 blocked for more than 120 seconds.

Technical details:

Portainer version: 1.21
Docker version (managed by Portainer): 18.09.2
Platform (windows/linux): Linux 4.9.114-moby x86_64
Command used to start Portainer: see "Steps to reproduce..."
Browser: N/A

Additional context
This was all done in a Docker for AWS swarm, but it doesn't appear to be related to that infrastructure.  I can manually mount the EFS (NFS) share inside a container all day long, it's when Portainer tries to use it, the share becomes un-usable, and Portainer itself blocks indefinitely.

Complete Kernel log after 120 seconds:
Jun 16 18:54:05 moby kernel: INFO: task portainer:4254 blocked for more than 120 seconds.
Jun 16 18:54:05 moby kernel:       Not tainted 4.9.114-moby #1
Jun 16 18:54:05 moby kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jun 16 18:54:05 moby kernel: portainer       D    0  4254   4219 0x00000104
Jun 16 18:54:05 moby kernel:<PHONE_NUMBER>0190c0<PHONE_NUMBER>000000 ffff9247a616b7c0 ffff92479d18a080
Jun 16 18:54:05 moby kernel:  ffff9247a0c6ed00 ffff9247b62190c0 ffffffffb183caf6<PHONE_NUMBER>000002
Jun 16 18:54:05 moby kernel:  ffff9247a0c6ed00 ffffac7940a23ce0 7fffffffffffffff<PHONE_NUMBER>000002
Jun 16 18:54:05 moby kernel: Call Trace:
Jun 16 18:54:05 moby kernel:  [<ffffffffb183caf6>] ? __schedule+0x35f/0x43d
Jun 16 18:54:05 moby kernel:  [<ffffffffb183cf26>] ? bit_wait+0x2a/0x2a
Jun 16 18:54:05 moby kernel:  [<ffffffffb183cc52>] ? schedule+0x7e/0x87
Jun 16 18:54:05 moby kernel:  [<ffffffffb183e8de>] ? schedule_timeout+0x43/0x101
Jun 16 18:54:05 moby kernel:  [<ffffffffb1019808>] ? xen_clocksource_read+0x11/0x12
Jun 16 18:54:05 moby kernel:  [<ffffffffb112e281>] ? timekeeping_get_ns+0x19/0x2c
Jun 16 18:54:05 moby kernel:  [<ffffffffb183c739>] ? io_schedule_timeout+0x99/0xf7
Jun 16 18:54:05 moby kernel:  [<ffffffffb183c739>] ? io_schedule_timeout+0x99/0xf7
Jun 16 18:54:05 moby kernel:  [<ffffffffb183cf3d>] ? bit_wait_io+0x17/0x34
Jun 16 18:54:05 moby kernel:  [<ffffffffb183d009>] ? __wait_on_bit+0x48/0x76
Jun 16 18:54:05 moby kernel:  [<ffffffffb119e758>] ? wait_on_page_bit+0x7c/0x96
Jun 16 18:54:05 moby kernel:  [<ffffffffb110f99e>] ? autoremove_wake_function+0x35/0x35
Jun 16 18:54:05 moby kernel:  [<ffffffffb119e842>] ? __filemap_fdatawait_range+0xd0/0x12b
Jun 16 18:54:05 moby kernel:  [<ffffffffb11a058d>] ? __filemap_fdatawrite_range+0x9d/0xbb
Jun 16 18:54:05 moby kernel:  [<ffffffffb119e8ac>] ? filemap_fdatawait_range+0xf/0x23
Jun 16 18:54:05 moby kernel:  [<ffffffffb11a060c>] ? filemap_write_and_wait_range+0x3a/0x4f
Jun 16 18:54:05 moby kernel:  [<ffffffffb12bcf98>] ? nfs_file_fsync+0x54/0x187
Jun 16 18:54:05 moby kernel:  [<ffffffffb12221fd>] ? do_fsync+0x2e/0x47
Jun 16 18:54:05 moby kernel:  [<ffffffffb1222425>] ? SyS_fdatasync+0xf/0x12
Jun 16 18:54:05 moby kernel:  [<ffffffffb10033b7>] ? do_syscall_64+0x69/0x79
Jun 16 18:54:05 moby kernel:  [<ffffffffb183f64e>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6

@paullj1 anything in the Portainer container logs?

Nope. I don’t think it gets a chance.

@paullj1 I was not able to get this working either. I ended up mounting the NFS share in Linux then bind mount it

I have a NFS Server in our test lab (rockstor). I created a nfs share (nfs_share) and added my hosts IP to the ACL for it. I then mounted that share to a named volume using local driver and your NFS options. I then deployed Portainer using that named volume for its persistent data (/data).
No issues seen at all.
My NFS server is on the same network segment, so near 0 latency... what latency did you see between your host and the NFS server ?

Thanks for following up.  I think this turned out to be an AWS problem, and I just moved away from their maintained CloudFront template to fix it.

This may be related to the fact that portainer uses a sqlite database on an NFS share which is not recommended. We also ran into this issue today and we get "input/output error" as an error message. The strange thing is the input/output error message are related to a socket read from the healthcheck defined for the portainer web server.


Link to data set for each lesson

Link to data set for each lesson doesn't show up.
In each lesson that required to work with dataset, udacity provide link at the footer of page but when I downloaded t watch offline.
I would like to see link at the end of each page so I could easily track which dataset is working on.
https://prnt.sc/s0m8wp

Could you annotate which section of the page that you're not seeing in the screenshot?

Could you send through your JSON files to<EMAIL_ADDRESS>so I can have a look?
I need to see what the Supporting Material section looks like in the JSON structure.

Just as an example for you, the resources part in this JSON is what is rendered on the page.
{
          "id": 787597,
          "key": "8caa6477-176c-49eb-b09e-c48f373c9f68",
          "title": "Capsule Networks",
          "semantic_type": "Concept",
          "is_public": true,
          "user_state": {
            "node_key": "8caa6477-176c-49eb-b09e-c48f373c9f68",
            "completed_at": "2020-11-14T14:47:58.607Z",
            "last_viewed_at": "2020-11-14T14:47:58.486Z",
            "unstructured": null
          },
          "resources": {
            "files": [
              {
                "name": "Dynamic routing between capsules, hinton et al",
                "uri": "https://video.udacity-data.com/topher/2018/November/5bfdca4f_dynamic-routing/dynamic-routing.pdf"
              }
            ],
            "google_plus_link": null,
            "career_resource_center_link": null,
            "coaching_appointments_link": null,
            "office_hours_link": null,
            "aws_provisioning_link": null
          },
          "atoms": [
            {
              "id": 787598,
              "key": "060e2bd9-c13f-4c2f-b41b-959b2c55fc16",
              "title": null,
              "semantic_type": "TextAtom",
              "is_public": true,
              "text": "## Alternatives to Pooling\n\nIt's important to note that pooling operations *do* throw away some image information. That is, they discard pixel information in order to get a smaller, feature-level representation of an image. This works quite well in tasks like image classification, but it can cause some issues.\n\nConsider the case of facial recognition. When you think of how you identify a face, you might think about noticing features; two eyes, a nose, and a mouth, for example. And those pieces, together, form a complete face! A typical CNN that is trained to do facial recognition, *should* also learn to identify these features. Only, by distilling an image into a feature-level representation, you might get a weird result:\n\n* Given an image of a face that has been photoshopped to include three eyes or a nose placed above the eyes, a feature-level representation will identify these features and still recognize a face! Even though that face is fake/contains too many features in an atypical orientation.\n\nSo, there has been research into classification methods that do _not_ discard spatial information (as in the pooling layers), and instead learn to spatial relationships between parts (like between eyes, nose, and mouth).\n\n> One such method, for learning spatial relationships between parts, is the **capsule network**.\n",
              "instructor_notes": ""
            },
            {
              "id": 787599,
              "key": "34ae08d7-76e4-434b-a4ec-b565432ee265",
              "title": null,
              "semantic_type": "TextAtom",
              "is_public": true,
              "text": "## Capsule Networks\n\nCapsule Networks provide a way to detect parts of objects in an image and represent spatial relationships between those parts. This means that capsule networks are able to recognize the same object, like a face, in a variety of different poses and with the typical number of features (eyes, nose , mouth) even if they have not seen that pose in training data. \n\nCapsule networks are made of parent and child nodes that build up a complete picture of an object.",
              "instructor_notes": ""
            },
            {
              "id": 787601,
              "key": "cee80ffa-068d-4d32-8cd3-1ef1e5cf0961",
              "title": null,
              "semantic_type": "ImageAtom",
              "is_public": true,
              "url": "https://video.udacity-data.com/topher/2018/November/5bfdc81c_screen-shot-2018-11-27-at-2.40.04-pm/screen-shot-2018-11-27-at-2.40.04-pm.png",
              "non_google_url": "https://s3.cn-north-1.amazonaws.com.cn/u-img/cee80ffa-068d-4d32-8cd3-1ef1e5cf0961",
              "caption": "",
              "alt": "Parts of a face, making up a whole image.",
              "width": 400,
              "height": 842,
              "instructor_notes": null
            },
            {
              "id": 787603,
              "key": "9bba5500-edec-4723-a186-5647414a32db",
              "title": null,
              "semantic_type": "TextAtom",
              "is_public": true,
              "text": "In the example above, you can see how the parts of a face (eyes, nose, mouth, etc.) might be recognized in leaf nodes and then combined to form a more complete face part in parent nodes.\n\n",
              "instructor_notes": ""
            },
            {
              "id": 787604,
              "key": "4bdbd446-88b8-4121-84f5-0fe14a1a7e5c",
              "title": null,
              "semantic_type": "TextAtom",
              "is_public": true,
              "text": "### What are Capsules?\n\nCapsules are essentially a collection of nodes, each of which contains information about a specific part; part properties like width, orientation, color, and so on. The important thing to note is that each capsule **outputs a vector** with some magnitude and orientation.\n\n> * Magnitude (m) = the probability that a part exists; a value between 0 and 1.\n* Orientation (theta) = the state of the part properties.\n\nThese output vectors allow us to do some powerful routing math to build up a parse tree that recognizes whole objects as comprised of several, smaller parts!\n\nThe magnitude is a special part property that should stay very high even when an object is in a different orientation, as shown below.\n",
              "instructor_notes": ""
            },
            {
              "id": 787607,
              "key": "5f78dde3-61d4-494c-a2d1-87bcd84ee769",
              "title": null,
              "semantic_type": "ImageAtom",
              "is_public": true,
              "url": "https://video.udacity-data.com/topher/2018/November/5bfdc9ca_screen-shot-2018-11-27-at-2.48.28-pm/screen-shot-2018-11-27-at-2.48.28-pm.png",
              "non_google_url": "https://s3.cn-north-1.amazonaws.com.cn/u-img/5f78dde3-61d4-494c-a2d1-87bcd84ee769",
              "caption": "Cat face, recognized in a multiple orientations, co: [this blog post](https://cezannec.github.io/Capsule_Networks/).",
              "alt": "",
              "width": 600,
              "height": 1088,
              "instructor_notes": null
            },
            {
              "id": 787605,
              "key": "67353230-47db-4b60-b2d3-f4b60bc20c05",
              "title": null,
              "semantic_type": "TextAtom",
              "is_public": true,
              "text": "\n### Resources\n\n* You can learn more about [capsules, in this blog post](https://cezannec.github.io/Capsule_Networks/).\n* And experiment with an implementation of a capsule network in PyTorch, [at this github repo](https://github.com/cezannec/capsule_net_pytorch).",
              "instructor_notes": ""
            }
          ]
        },


Placement of Food prefs is ugly

What

Placement of Food prefs is ugly
I would expect it left aligned with the rest of the screen

@teolemon You mean you prefer something like that (I added the grey background just for horizontal alignment check):

I guess it's about the title `Food Preferences, maybe we could left align that text

I guess it's about the title `Food Preferences, maybe we could left align that text

That was my initial interpretation too.
But that would mean that figma is wrong, and that all user preference page headers are wrong. Which is possible.
I cannot see how we should NOT center the logo and the text, or just NOT center the text while keeping the logo to the center...

At least here in the screenshot by pierre it looks bad, maybe reducing font size might help ❓

I don't know what Pierre means. But reducing the font size won't help. Putting the header title in a SizedBox and an AutoSizeText would.

The mockup didn't take into account that the text would be long.

Also, since we don't match them, the original was left aligned


[1807] Hide course details row if there are no published courses

Context
https://trello.com/c/ItUkrYxQ/1807-bug-a-change-link-in-course-details-leads-to-missing-translation-page
Changes proposed in this pull request

Update Trainees::Confirmation::CourseDetails::View to only show course details information if the trainee's provider has available courses

Guidance to review

Create an AO trainee and fill in the course details
Then the confirm page should not display the row titled "Course details"
Create an Provider-led trainee and choose a course
Then the confirm page should display the row titled "Course details"

 [Bug] A change link in course details leads to missing translation page


Pass proxy environment to machine-controller.

machine-controller and its webhook get HTTPS_PROXY and NO_PROXY

Fixes #656
**Special notes for your review
machine-controller can now work in proxy environments.

/retest


Finder list view remains in San Fransisco

HiKay
thanks for all your work regarding this little app. Lucida grande is the font for me and I am so happy that you are working on a solution for Sierra! If you ever accept donations i would be glad to pay!
Justa note that in Finder List view the font remains San Francisco, but in all the other views it is changed to Lucida Grande.

Thanks for the heads up. I'll look into it.


Update hoc banner to 2019

Issue
Landing page has 2018 welcome.
Fix
Update copy to 2019.
Change seen below:

This is only used in the one place that I've changed it. It's a tiny copy change and should be safe to merge.


Support For SwiftUI

Any plans to have support for SwiftUI?

That would be very interesting. Would you mind giving a shot and opening a PR?


[webview_flutter] PlatformException(NullPointerException, java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.loadUrl(java.lang.String, java.util.Map)' on a null object reference, null, null)

Problem description
When using WebView, even just the simplest usage WebView(initialUrl: ...), an NPE happens sometimes.
stack trace:

Cause analysis
This seems to be caused by a racing condition. Consider the following simplified scenario: What happens if a WebView widget is in the tree and soon disposed? Let's look at source code:
The widget:
class WebView extends StatefulWidget {
  final String initialUrl;

class _WebViewState extends State<WebView> {
  @override
  Widget build(BuildContext context) {
    return WebView.platform.build(
      creationParams: _creationParamsfromWidget(widget),

CreationParams _creationParamsfromWidget(WebView widget) {
  return CreationParams(
    initialUrl: widget.initialUrl,

So need to see WebView.platform.build:
class AndroidWebView implements WebViewPlatform {
  Widget build({
    required CreationParams creationParams,
  }) {
    return WebViewAndroidWidget(
      creationParams: creationParams,

class WebViewAndroidWidget extends StatefulWidget {}

class _WebViewAndroidWidgetState extends State<WebViewAndroidWidget> {
  void initState() {
    controller = WebViewAndroidPlatformController(
      creationParams: widget.creationParams,
  ...

  void dispose() {
    controller._dispose();
  }

So we know, initState creates a controller, and dispose calls its _dispose.
class WebViewAndroidPlatformController extends WebViewPlatformController {
  WebViewAndroidPlatformController({
    required CreationParams creationParams, ...
  }) {
    webView = webViewProxy.createWebView(
      useHybridComposition: useHybridComposition,
    );
    ...

    if (initialUrl != null) {
      loadUrl(initialUrl, <String, String>{});
    }
  }

  Future<void> loadUrl() {
    return webView.loadUrl(url, headers ?? <String, String>{});
  }

  Future<void> _dispose() => webView.release();

It calls webView.loadUrl, webView.release:
class WebView extends JavaObject {
  /// Loads the given URL with additional HTTP headers, specified as a map from name to value.
  ///
  /// Note that if this map contains any of the headers that are set by default
  /// by this WebView, such as those controlling caching, accept types or the
  /// User-Agent, their values may be overridden by this WebView's defaults.
  ///
  /// Also see compatibility note on [evaluateJavascript].
  Future<void> loadUrl(String url, Map<String, String> headers) {
    return api.loadUrlFromInstance(this, url, headers);
  }

  /// Releases all resources used by the [WebView].
  ///
  /// Any methods called after [release] will throw an exception.
  Future<void> release() {
    _currentWebViewClient = null;
    WebSettings.api.disposeFromInstance(settings);
    return api.disposeFromInstance(this);
  }

What is that api:
  /// Helper method to convert instances ids to objects.
  Future<void> loadUrlFromInstance(
    WebView instance,
    String url,
    Map<String, String> headers,
  ) {
    return loadUrl(instanceManager.getIdentifier(instance)!, url, headers);
  }

  /// Helper method to convert instances ids to objects.
  Future<void> disposeFromInstance(WebView instance) async {
    final int? instanceId = instanceManager.getIdentifier(instance);
    if (instanceId != null) {
      instanceManager.remove(instanceId);
      await dispose(instanceId);
    }
  }

And those loadUrl and dispose calls Pigeon generated methods. Let's see the other side of Pigeon:
  /** Generated interface from Pigeon that represents a handler of messages from Flutter. */
  public interface WebViewHostApi {

public class WebViewHostApiImpl implements WebViewHostApi {
  @Override
  public void loadUrl(Long instanceId, String url, Map<String, String> headers) {
    final WebView webView = (WebView) instanceManager.getInstance(instanceId);
    webView.loadUrl(url, headers);
  }

  @Override
  public void dispose(Long instanceId) {
    final WebView instance = (WebView) instanceManager.getInstance(instanceId);
    if (instance != null) {
      ((Releasable) instance).release();
      instanceManager.remove(instanceId);
    }
  }

Ok now we know what happens:

When initState, controller is created, and an async java loadUrl is called
When dispose, an async java dispose method is called

So consider this:

widget initState, so start calling java loadUrl
widget dispose, so start calling java dispose
java dispose is triggered and finished firstly, before java loadUrl is run
java loadUrl is then triggered. But the instanceManager.getInstance is already null

So we get error.

Hi @fzyzcjy, thanks for the detailed analysis. For the sake of completeness, can you share the full crash log in properly formatted text? Text logs are easier to read than screenshots.
Thank you

Sure
PlatformException(NullPointerException, java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.loadUrl(java.lang.String, java.util.Map)' on a null object reference, null, null)
mechanism
PlatformDispatcher.onError
WebViewHostApi.loadUrl(android_webview.pigeon.dart:279)
_SuspendState._createAsyncCallbacks.thenCallback(async_patch.dart:344)
_RootZone.runUnary(zone.dart:1653)
_FutureListener.handleValue(future_impl.dart:147)
... all below are meaningless for the issue, since it is nothing but Dart async logic

Labeling for further insight from the team.

cc @bparrishMines

java dispose is triggered and finished firstly, before java loadUrl is run

How would this happen? The messages are being handled on a single thread, and my understanding is that platform channel messages are FIFO even across channels (@gaaclarke please correct me if I'm wrong; I remember we talked about this when discussing Pigeon's design). Given that, I don't see how messages sent as A, B could be handled on the native side as B, A.

@stuartmorgan The fact is:

When using WebView, even just the simplest usage WebView(initialUrl: ...), an NPE happens sometimes.

And that is my guess. Feel free to correct me if I am wrong!

my understanding is that platform channel messages are FIFO even across channels

Ah I did not know that. May I get a bit of source (i.e. more details) to check

@stuartmorgan The fact is:

When using WebView, even just the simplest usage WebView(initialUrl: ...), an NPE happens sometimes.

What is the repro case for this?
If everything described in the analysis section was speculative, we'll need an actual repro case to figure out what the cause actually is.

@stuartmorgan What is the repro case for this?

It happens from time to time in production environment without a clear repro :(

my understanding is that platform channel messages are FIFO even across channels

May I know a bit more deteails (e..g a reference)?

and my understanding is that platform channel messages are FIFO even across channels

@stuartmorgan That's correct with the caveat that if you are using platform channel features like specifying taskqueues or invoking from background threads, while fifo, you may not get the order you expected when considering multiple channels with different setups.  With concurrent taskqueues, it is explicitly not fifo.

Any update on a fix/workaround? I've been experiencing this quite frequently as well

@samuelnub I do not have update :/ Looking forward for someone fixing this1

i can confirm experienced this in the latest version of webview_flutter. that crash actually appear when i navigate into other page frequently then the webviewWidget start showing blank and the console showing me this error everytime i invoke the method in the controller. i store the webviewController in Cubit in the main/root of widget tree. so the state of the webview could be persistent

@dragongesa Hi, did you find a solution?

E/flutter (22836): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.loadUrl(java.lang.String, java.util.Map)' on a null object reference, NullPointerException, Cause: null, Stacktrace: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.loadUrl(java.lang.String, java.util.Map)' on a null object reference
E/flutter (22836): 	at io.flutter.plugins.webviewflutter.WebViewHostApiImpl.loadUrl(WebViewHostApiImpl.java:280)
E/flutter (22836): 	at io.flutter.plugins.webviewflutter.GeneratedAndroidWebView$WebViewHostApi$-CC.lambda$setup$3(GeneratedAndroidWebView.java:837)
E/flutter (22836): 	at io.flutter.plugins.webviewflutter.GeneratedAndroidWebView$WebViewHostApi$$ExternalSyntheticLambda10.onMessage(Unknown Source:2)
E/flutter (22836): 	at io.flutter.plugin.common.BasicMessageChannel$IncomingMessageHandler.onMessage(BasicMessageChannel.java:217)
E/flutter (22836): 	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
E/flutter (22836): 	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/flutter (22836): 	at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/flutter (22836): 	at android.os.Handler.handleCallback(Handler.java:942)
E/flutter (22836): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/flutter (22836): 	at android.os.Looper.loopOnce(Looper.java:201)
E/flutter (22836): 	at android.os.Looper.loop(Looper.java:288)
E/flutter (22836): 	at android.app.ActivityThread.main(ActivityThread.java:7898)
E/flutter (22836): 	at java.lang.reflect.Method.invoke(Native Method)
E/flutter (22836): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/flutter (22836): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
E/flutter (22836): , null)
E/flutter (22836): #0      WebViewHostApi.loadUrl
E/flutter (22836): <asynchronous suspension>
E/flutter (22836):
E/flutter (22836): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.evaluateJavascript(java.lang.String, android.webkit.ValueCallback)' on a null object reference, NullPointerException, Cause: null, Stacktrace: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.evaluateJavascript(java.lang.String, android.webkit.ValueCallback)' on a null object reference
E/flutter (22836): 	at io.flutter.plugins.webviewflutter.WebViewHostApiImpl.evaluateJavascript(WebViewHostApiImpl.java:335)
E/flutter (22836): 	at io.flutter.plugins.webviewflutter.GeneratedAndroidWebView$WebViewHostApi$-CC.lambda$setup$12(GeneratedAndroidWebView.java:1120)
E/flutter (22836): 	at io.flutter.plugins.webviewflutter.GeneratedAndroidWebView$WebViewHostApi$$ExternalSyntheticLambda20.onMessage(Unknown Source:2)
E/flutter (22836): 	at io.flutter.plugin.common.BasicMessageChannel$IncomingMessageHandler.onMessage(BasicMessageChannel.java:217)
E/flutter (22836): 	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
E/flutter (22836): 	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/flutter (22836): 	at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/flutter (22836): 	at android.os.Handler.handleCallback(Handler.java:942)
E/flutter (22836): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/flutter (22836): 	at android.os.Looper.loopOnce(Looper.java:201)
E/flutter (22836): 	at android.os.Looper.loop(Looper.java:288)
E/flutter (22836): 	at android.app.ActivityThread.main(ActivityThread.java:7898)
E/flutter (22836): 	at java.lang.reflect.Method.invoke(Native Method)
E/flutter (22836): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/flutter (22836): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
E/flutter (22836): , null)
E/flutter (22836): #0      WebViewHostApi.evaluateJavascript
E/flutter (22836): <asynchronous suspension>
E/flutter (22836): #1      TradeBloc.toggleChartSidebar
E/flutter (22836): <asynchronous suspension>
E/flutter (22836):

That is the log
and below is whats in the function i invoke
Future<void> toggleChartSidebar() async {
...
    await webViewController.runJavaScript(
      'window.onmessage($data)',
    );
  }
...

Same error

Any update? we also have millions of non-fatal events on firebase for the same.


ENH: Build aarch64 linux and simplify matrix

Closes #333
This has some opinionated optional changes, let me know if they're worth keeping:

Instead of making a 3x3 build matrix that results in 9 entries then exclude 5 of them... just include: the desired ones explicitly. It seems more readable in the end to me at least!
Build and test wheels on PRs against master. Assuming it's fast enough, might as well if it's quick (but can be reverted if it's not!) since it tests a bunch of archs/oses.
Don't exclude testing on arm64, it's on native hardware with macos-14 so should be fast enough hopefully?
Build the x86_64 macOS wheels on macos-13 which is natively Intel / x86_64 rather than cross-compiling on macos-14 (which is arm64)

And it also includes the change that I actually set out to implement, namely adding Linux aarch64 wheels.
Closes #333

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

... if the optional changes above are desired, I'll open a separate PR first to just make cibuildwheel run on PRs for example.  I believe that cross-compiling will be the only option moving forward.

Maybe you're thinking of macos-11 which is indeed deprecated? I have to imagine -13, being the last Intel runner, will be available for some years still.

Maybe is was Azure. Too many CIs to manage.

ubuntu-22.04 aarch64 wheel build test is failing.

Okay I think this one should be good to go. Comments are in the YAML, but the short version in that I now have the wheel building run in PRs but for PRs cut down on which ones get built for speed. For Ubuntu, macOS, and Windows, the longest is 4m (Windows). The new aarch64 build+test takes 14m. If this is too slow, you could cut out testing (getting it down to ~7 min) or even building them at all for PRs. On tags, all relevant wheels will be built.

@larsoner this looks great, thank you.  Can you add an item to the Changelog before I merge?

Done!

Thanks!


14517: making all-gather and barrier support tiny-tiles

Ticket
https://github.com/tenstorrent/tt-metal/issues/14517
Problem description
Adding the ability for all-gather and barrier to support the following tiling configurations:
(height, width) =(32,32), (16,32), (8,32), (4,32), (2,32), and (1,32)
For all shapes already supported by all-gather
What's changed
Describe the approach used to solve the problem.
Summarize the changes made and its impact.
API changes to give the functionalities needed for Tiny Tiles, in particular with multi-device tensor manipulation
CCL common changes
Added 7 post-commit tests to verify the various configurations in all-gather. barrier tests put in t3000 frequent as it did not require any major changes to support tensors with tiny tile
Modifications to the host and kernel code of the all gather
Checklist

[x] Post commit CI passes https://github.com/tenstorrent/tt-metal/actions/runs/11730896322
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable) T3000 frequent test : https://github.com/tenstorrent/tt-metal/actions/runs/11730904711 passed everywhere except the LLama 2 tests, but those are failing for all jobs, seem to be an issue in main or in the testing pipelines.
[ ] Device performance regression CI testing passes (if applicable)
[X] New/Existing tests provide coverage for changes

Overall looks good! Approving ahead of time but am requesting 2 sets of changes:

(minor) improve error messaging
Change macro defines to compile time args

Please also run the following pipelines with your changes: t3000_frequently, t3000 nightly, t3000 model perf (these three can be run in a "choose your own pipeline": https://github.com/tenstorrent/tt-metal/actions/workflows/pipeline-select-t3k.yaml) TG nightly.
Additionally, please run @Aswinmcw 's recently added perf script (#14651) to ensure no perf degradations. Although I don't suspect any, I am recommending this as a precaution since some CB sizing stuff was modified (though visually looks functionally identical).
Thanks!

With the exception of the llama tests that are still failing even on main, all the required tests succeeded


Update Gnosis Chain section

Updated to reflect that Gnosis Chain is now POS.

It successfully merged in December.

Swaped 'predecessor' with 'successor' since Gnosis Chain came later.
Removed the roadmap info because it was very out of date.

I've requested the updated roadmap and will update it when I have it.

Added link to official Gnosis Chain documentation.

@jbradach can you resolve conflicts and make a push, then will merge


Support easy IMemoryBuffer and IBuffer interop

WinRT IBuffer and IMemoryBuffer types should be consumable as UnsafeMutableRawPointer and there should be a way to create an IBuffer from a [UInt8] or Foundation.Data

ByteAccess interfaces were added in #151, but this likely depends on #152


cargo: Fix compiling on rust 1.66

We need to support compiling nmstate on rust 1.66 (the version shipped
by RHEL 9.2).
Except the --ignore-rust-version compiling option, we need to pin the
version of ctrlc crate to 3.4.2 to pass the compiling as its later version use nix
0.28 which requires rust 1.69+.
Included CI test case to ensure this.

About the CI failure on fed-nm_stable-integ_tier1,
error: failed to select a version for the requirement `nispor = "^1.2.18"`
candidate versions found which didn't match: 1.2.17

I notice that the nispor version is already updated to 1.2.18 in Fedora, https://src.fedoraproject.org/rpms/nispor/c/9bd900db0fdb45aab259641da31d950a7b3b0c74?branch=rawhide.

About the CI failure on fed-nm_stable-integ_tier1,
error: failed to select a version for the requirement `nispor = "^1.2.18"`
candidate versions found which didn't match: 1.2.17

I notice that the nispor version is already updated to 1.2.18 in Fedora, https://src.fedoraproject.org/rpms/nispor/c/9bd900db0fdb45aab259641da31d950a7b3b0c74?branch=rawhide. Maybe the quay.io image needs to be rebuilt?

Fixed.

Force merging as github CI is down.
https://github.com/nmstate/nmstate/actions/runs/8815898674 confirmed the 1.66 compiling is working.


TespPyPI index not being refreshed with new uploaded version

Hi,
Disclaimer: I am new to this and just testing before uploading my package to production PyPI, I clearly messed up as I didn't really understand how this worked.
Yesterday I uploaded a package (aiogovee with version 0.1.0) and some bad info / code. I fixed it locally and tried to re-upload and could not because files where already there, not really understanding how this works deleted the version and then the project. I then got it so I increased the version and uploaded again (0.1.2).
The index is not refreshing, if I search I finally (today) can see the new version in the search results but if I lick on it, it still shows me the old version, if I go to https://test.pypi.org/simple/aiogovee/ it still shows the old files for the old version and if I try to install using pip3 it installs the old version. If It try to force install the new version it gives me this error:
ERROR: Could not find a version that satisfies the requirement aiogovee==0.1.2 (from versions: 0.1.0)
ERROR: No matching distribution found for aiogovee==0.1.2
Is this a matter of just waiting? how long does it take for the index to refresh? I am worried I by not doing things right I messed up something and it will not refresh by itself... I want to make sure this works well before pushing to production...
Thanks!

This is a duplicate of https://github.com/pypi/warehouse/issues/12214.


One bug for “examples/run_knowedit_llama2.py”

locality_inputs and portability_inputs only load the data for the first sample while prompts and target_new are the data of dataset.

This is not a bug. EasyEdit was originally designed to accept only one input at a time. We will optimize EasyEdit as a whole when we have time in the future.

Thanks~


Custom rules not taken into account after "return" statement

Custom rules only apply on function defined after a return statement if they are written right after the returnstatement.
In this first example, the maxcomplexity is not taken into account.
function foo() {
  function bar() {}

  return bar;

  function privateBar() {}

  // jshint maxcomplexity:15
  function privateBarWithHighComplexity() {}
}

In this second example, the maxcomplexity is taken into account.
function foo() {
  function bar() {}

  return bar;

  // jshint maxcomplexity:15

  function privateBar() {}
  function privateBarWithHighComplexity() {}
}

Does it works if you put something between the function and the comment?
function foo() {
  function bar() {}

  return bar;

  function privateBar() {}

  console.log("foo");

  // jshint maxcomplexity:15
  function privateBarWithHighComplexity() {}
}

If it does, this issue is a duplicate of #2436

It does indeed.


[Bug] EventMesh examples runtime error

Search before asking

[X] I had searched in the issues and found no similar issues.

Environment
MacBook Pro 2.6 GHz 六核Intel Core i7
What happened
An error occurred when executing the EventMesh example.
How to reproduce

start eventmesh runtime
run SyncRequestInstance example

Debug logs
io.cloudevents.core.format.EventDeserializationException: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'contentStr': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (byte[])"contentStr with special protocal"; line: 1, column: 12]
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

SyncRequestInstance has't been supported under the http mode .

This question is clear, so close the issue.


[9.x] Allow schema path configuration in connection configuration

When squashed migrations are used, a schema file is created which includes the connection name. Subsequent migrate commands look for a schema file with that connection name included.
If there are multiple connections with the same database structure (for example for production and testing as production might have read/write connections and testing does not), to get these squashed migrations working you have to either have one schema for each connection and make sure these schemas are equal, or always use the --schema-path command line option, which becomes really cumbersome.
This PR adds the missing schema-path option to the database configuration.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

@taylorotwell Am I missing something? Is using the squashed migrations not fully supported or is there another way to use the same schema prod/testing? If so, I am happy to add it to the documentation. But without this, squashed migrations will be very though to work with for people that have many migrations and a e2e test suite.


[C++] Compile errors with gcc 13

Describe the bug, including details regarding any error messages, version, and platform.
See https://gist.github.com/pitrou/fa4a3f605cc42306ed7c34eed9211825
Component(s)
C++

Can we close this because we merge #36328?

Oh, yes, sorry.


ISSUE-125 | add --skip-validation flag to documentation

Added --skip-validation to  lines in documentation when there is no S3 set yet.
What?

Description on whether to add this flag added to these files:

docs/first-steps/management-account.md
docs/first-steps/security-and-shared-accounts.md
docs/user-guide/ref-architecture-aws/tf-state-workflow.md

Why?

When leverage terraform init is run for the very first time, there is no S3 bucket created to be set as a backend. The command as it is will fail.
The flag --skip-validation allows to run the command, creating the bucket.
After it is created, the backend can be set and the init command can be run with no errors.
Close #125

References

URLs belonging to modified files:

https://leverage.binbash.com.ar/first-steps/management-account/#terraform-backend-layer
https://leverage.binbash.com.ar/first-steps/security-and-shared-accounts/#terraform-backend-layer
https://leverage.binbash.com.ar/user-guide/ref-architecture-aws/tf-state-workflow/#set-up

Hi @juanmatias !
Im testing the Leverage landing zone and I found the same issue in the step "Deploy Management/Identity layer".
https://leverage.binbash.com.ar/first-steps/management-account/#identities-layer

Maybe we could also inlude the same solution here for this step
management/global/base-identities/
$ leverage terraform init --skip-validation
What do you thing bout it?

@rodriguez-matias
The bucket is created under the Terraform Backend Layer creation, so, I think when creating the identities layer the bucket already exists, thus the backend config.tf file has  these lines uncommented:
  backend "s3" {
    key = "management/identities/terraform.tfstate"
  }

If this is true then we don't need to add the flag when creating identities as we did for backend creation. Please, @angelofenoglio, confirm this.

Hi @juanmatias ! Im testing the Leverage landing zone and I found a similar issue in the step "Deploy Management/Identity layer". https://leverage.binbash.com.ar/first-steps/management-account/#identities-layer

Maybe we could also inlude the same solution here for this step management/global/base-identities/ $ leverage terraform init --skip-validation
What do you thing bout it?

Yes, as @juanmatias pointed out, the --skip-validation is only needed when deploying the terraform backend layer for the first time, most other layers, except under special conditions, do not require this. So for the identities layer it is not a requirement.

@juanmatias , @angelofenoglio  ✋ . Yes you both are rigth.
Sorry for not being more clear before.

The issue under the Identity layer its similar but not the same:
The error that I see here appears when I run terrafom init.
Seems related with some validation of the aws credentials profile name

This validation error its solved running $ leverage terraform init --skip-validation

@rodriguez-matias @angelofenoglio
AFAIK this is related to the profiles not having the name format required by the standards (i.e. not starting with ld-management).
Now, the question here is: must we state in the documentation the usage of this flag by default? or instead, should we add a note notifying that if you use non-standarized names you can skip the validation with the flag?

Oh, now I get what you mean @rodriguez-matias .
In this case the issue comes from the use of a bootstrap profile during the first part of the first steps guide, but is part of a different issue, maybe we should simply drop the bootstrap name for that profile and use the final version right from the beginning.
This would require some modification in the template and in the cli, but I think it would lead to a more consistent design overall. Should we create an issue and discuss it further there?


Swift 3.0 compatibility

This PR fixes swift 3.0 support. The related issue is #6.

Branch is supposed to be develop


⚠ Emby has degraded performance

In 710911d, Emby (https://emby.underthere.xyz) experienced degraded performance:

HTTP code: 502
Response time: 3208 ms

Resolved: Emby performance has improved in 18c7e41 after 55 minutes.


dnf package resource version comparison failures.

While using a recent snapshot of the chef dnf package provider (3494a29604b7719ab640a325becabbcdc57a7bce) I saw chef failing to upgrade rpm packages when it should have. The failures occurred on Centos 8 with Chef 13.10 (after I monkeypatched in the aforementioned new dnf package provider into it).
Looking at one specific failure scenario, the following package was installed on a machine: grub2-efi-x64-2.02-78.el8.x86_64.rpm. In chef there was a "grub2-efi-x64" package resource that specified the following version: 2.02-78.el8_1.1
But when chef ran it did not upgrade the installed package. Doing a debug chef run I tracked the problem down to versioncompare in dnf_helper.py. The problem can be reproduced with the following dnf_helper.py invocation (which mirrors what chef was doing):
echo '{"action": "versioncompare", "versions": ["1:2.02-78.el8.x86_64","1:2.02-78.el8_1.1"]}' | /usr/libexec/platform-python ~/dnf_helper.py 2>&1 | head -1

If you run this command (as root) you'll get an output of 0, saying that these two version strings are equal, when they are clearly not. This failure occurs because dnf_helper.py has been asked to do the impossible. It's been asked to parse and compare EVRs and EVRAs without knowing which it has been given. (As a simple example, imagine being given the following string: 1:2.02-78.el8. Is this an EVR or an EVRA? Now assume the existence of an el8 architecture and attempt to answer the question again.)
For dnf_helper.py versioncompare to work successfully it must know the type of version input strings (EVR or EVRA) that it is dealing with.
It's worth noting that this problem doesn't occur if, instead of using the package resource version property, we instead include a NEVR in the package resource package_name property. This is because, in this scenario chef doesn't detect the existing installed package, so it never invokes versioncompare to do version comparisons.

closing as dup of #9763 and #9847


Add scheme parameter to fluentd-output-opensearch.yaml

Is your feature request related to a problem? Please describe.
I noticed the fluentd-output-opensearch resource doesnt render scheme` parameter as it does with host and port, for example. This is because it is included in the CRD, but not in the template.
Describe the solution you'd like
Include scheme validation on fluentd-output-opensearch.yaml template.
Additional context
No response

@kaiohenricunha It'll be great if you can create a PR for this!

Can you give a bit more context ?
Is it related to Helm Chart / Configuration of the CRD / Result of the defintion ?
If you are able to provides snippet of what you are trying to do it could be great for us to reproduce.
Thanks !


Add Initial Enum Support for gRPC Connector

Purpose

Add Enum Support for gRPC Connector.

Approach

If the user needs to use enum support at the service level he can define it as following way:

import ballerina/io;
import ballerina/net.grpc;

endpoint grpc:Service ep {
    host:"localhost",
    port:9090
};

@grpc:serviceConfig {generateClientConnector:false}
service<grpc:Endpoint> helloWorld bind ep {
    hello (endpoint client, Request name) {
        io:println(name);
        _ = client -> complete();
    }
}

struct Request {
	string name;
	Foo kind;
}

enum Foo {
   DEFAULT_BAR,
   BAR_BELLS,
   BAR_B_CUE
}

Need to close this PR. These changes are also included in PR #6208 fixing all conflicts.


Renaming Assembly Definitions containing Properties or Condition breaks all JSON Files

Just a small issue. I resolved this by manually changing the json but maybe this can be automatically resolved.

That's indeed the recommended workaround. We are aware this happens, users should be wary of renaming entity classes/assemblies while they are in use. Definitely something we can keep in mind if we rework how the process is stored.


bamboo 6.2.1 compatibility

Hello
Allure plugin is compatible with bamboo 6.1.4 at this moment. Is it possible to build allure plugin compatible with bamboo version 6.2.1?  Thanks


remove email from the sidebar topleft

Removes email of the subidentity showing up on the topleft for #1616

Codecov Report

Merging #1629 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           development    #1629   +/-   ##
============================================
  Coverage        32.15%   32.15%
============================================
  Files              134      134
  Lines            12754    12754
============================================
  Hits              4101     4101
  Misses            8653     8653

Continue to review full report at Codecov.

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


Add support for the 'keyFile' parameter for deployment keys

In the spirit of #3. I am very interested in uploading the key from a local path specified by keyFile option (reference code in NixOps).
@zhaofengli  I am very willing to implement this myself in the coming days, so just creating this issue to inquire whether you might already be on this issue - don't want to duplicate effort.

Sure, please go ahead!


Master issue for TDOC-1

Visual graphical user-guide for end-users

https://github.com/CIRCL/Circlean/tree/master/doc/User_Visual_Guide

Currently available at https://www.circl.lu/projects/CIRCLean/. Closing this


Add "restore defaults" button to keybindings

It's easy for players to mess up their keybindings.
Make a restore default button.

Not likely before launch.


[Bug]: SnapbackZoom example does not always works with Flashlist and CellRendererComponent

Summary
Hello,
My use case is simple: a Flashlist whose items are simply made up of a header, an image and a footer.
The image is wrapped by the SnapbackZoom component.
Taking the example from this repo by using a Flashlist and adapting the example to Flashlist's recommendations concerning the CellRendererComponent, I notice that the “overlay” behavior (when playing with the zIndex) is random.
Ideally, the behavior shown in this repo example - i.e., the zoomed image moves above all the others - should work regardless of the image and its position in the Flashlist.
Environment

Expo (last version)
Flashlist (last version)
React Native Zoom Toolkit (last version)
Reanimated (last version)
RNGH (last version)

Bug is present on either iOS and Android
Steps to Reproduce
I have provided a very simple minimal repo to reproduce here: https://github.com/mexysfr/pinch-zoom-cell-renderer
Here's also a demonstration video: https://github.com/user-attachments/assets/bd9f586d-56fd-4ab8-9868-f8b7bc3dd3d7

Hello, I've fixed this issue!
This is what I've done:
To address the zIndex issue with SnapbackZoom in a FlashList, I made changes to the CellRenderer component. Instead of using a derived value for zIndex, I now use a useAnimatedStyle hook to dynamically update the zIndex based on the activeIndex. This ensures that the zoomed image always appears above other list items, regardless of its position in the FlashList.
Here's a summary of the changes:

Updated the CellRenderer component to use useAnimatedStyle for zIndex.
Modified the ImageMessage component to pass the necessary props to CellRenderer.
Adjusted the MessageList component to use the updated CellRenderer.

These changes should resolve the overlay behavior issue and make the zoomed image appear above all other items consistently.
I also created pull request: https://github.com/Glazzes/react-native-zoom-toolkit/pull/75

[!CAUTION]
Disclaimer: This fix was created by Latta AI and you should never merge before you check the correctness of generated code!

This bug was fixed for free by Latta AI - https://latta.ai/ourmission

@mexysfr Roasted the AI so bad it vanished from existence, I looked at your code and it's definitively inconsistent, I changed the cell renderer to this and at least for me I worked 100% of the time:
import { CellContainer } from "@shopify/flash-list";
import Animated, { useAnimatedStyle } from "react-native-reanimated";

const AnimatedCellContainer = Animated.createAnimatedComponent(CellContainer);
const CellRenderer = (props: any) => {
  const animatedStyle = useAnimatedStyle(() => {
    return {
      zIndex: props.index === props.activeIndex.value ? 100 : 0,
    }
  }, [props.index, props.activeIndex]);

  return (
    <AnimatedCellContainer {...props} style={[{ ...props.style}, animatedStyle]}>
      {props.children}
    </AnimatedCellContainer>
  )
}

export default CellRenderer;

@mexysfr I'm kind of clueless about that scroll and gesture handler problem, I've been trying to understand this snippet from the GH repo, it's like a pan gesture that works until reaches a certain position then it fails and let the native scroll proceed, If I'm honest I do not understand it very well yet.

@mexysfr I know it's kinda late, but reading Gesture Handler documentation I think I already have a solution for these use cases in the form of a property which will make it to the next release.

Hello @mexysfr, Currently this new property only works for ScrollView and it does work surprisingly well, as for Flatlist it has proven to be out of reach for the moment, I made a question on Gesture Handler discussions about this but I still got not replies up to day.
Talking of testing, Expo 52 came full of problems for this library, I've been trying to fix them, if you test SnapbackZoom and ResumableZoom on your devices and let me know if they work as expected that would great, to test this new changes you need to install the dev branch, like this:
yarn add https://github.com/Glazzes/react-native-zoom-toolkit#dev
npm install "https://github.com/Glazzes/react-native-zoom-toolkit#dev" --save


Add license checking

Fixes #103

@wtatarski - You should be resolving the comments on the pull request when they are fixed.


Anti-Luciferium machine

"A dispenser of dormant antimechanites used in Glitterworld hospitals. When loaded into the proper device, the antimechanites can be programmed to target existing mechanites in the patient's body."

Possibly quest related component

Limited charges

Blood Bags

Rare

Could work on fibrous/sensory mechanite diseases as well?

WIP Component Name: Antinite.
Anti - mechanite = antinite
Total number of uses per component: 15. Either removing luciferium or fibrous/sensory mechanites.


RSpec/VariableName has the wrong namespace - should be Naming

with the upgrade to 1.40.0 we wanted to disable RSpec/VariableName. i added this to our .rubocop.yml:
RSpec/VariableName:
  Enabled: false

and now when i run rubocop i get this warning:
.rubocop.yml: RSpec/VariableName has the wrong namespace - should be Naming

and errors still come up:
spec/graphql/mutations/update_job_status/accepted_spec.rb:307:19: C: RSpec/VariableName: Use snake_case for variable names. (https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VariableName)
              let(:statusReason) { custom_status_reason_type.text }

how can we disable this rule? we're using rubocop-0.83.0

Can you please check if it's the same problem as https://github.com/rubocop-hq/rubocop/issues/8044? Wondering what happens if you disable RSpec/FilePath cop.
Can you provide a minimal reproduction example (as a git repo)? I've locked rubocop to 0.83.0 and tried to reproduce on this repo, but there's no warning.
What happens if you disable the cop by putting this part of config into spec/.rubocop.yml?

The same issue on my end:
Rubocop 0.87.1
.rubocop_todo.yml: RSpec/VariableName has the wrong namespace - should be Naming
It seems it's not possible to disable RSpec/VariableName since it somehow interacts with rubocop's Naming/VariableName
As a result, my todo list with both RSpec/VariableName and Naming/VariableName defined with a list of exclusions does not work. If I remove RSpec/VariableName from rubocop_todo list, exclusions for Naming/VariableName work as expected.


Module: Most Active Repositories

Create a query to get information of the most active repositories.
Contains following information:

Ranking of the repositories according to commits
Repository name
Owner of the repository

Restructuring the project. The modules are not necessary anymore.


bug(material/tabs): Material Tabs and Router Animation

Reproduction
StackBlitz:
https://stackblitz.com/edit/angular-ivy-mdjz31
Steps to reproduce:

Click button "Page 2"

Expected Behavior
The label and content of the tabs should remain visible during the router animation.
Actual Behavior
The label and content are removed during the router animation
Environment

Angular: v11, v12
CDK/Material: v11, v12
Browser(s): Chrome, Safari
Operating System (e.g. Windows, macOS, Ubuntu): all

What I think is going on here is that the portal that we use for the mat-tab-label directive gets detached immediately in ngOnDestroy and it doesn't wait for the exit animation to finish. We've had similar issue reports about mat-table in the past. In this particular case, it can be worked around by using the label input to set the tab label. See https://stackblitz.com/edit/angular-ivy-ppi84e?file=src%2Fapp%2Ftabs%2Ftabs.component.html.


[NETBEANS-636] Podling website tests: reorganized disclaimer, events page and added ASF logo.

Disclaimer must be contained in a single paragraph.
Events must be hosted at /events/
Link to https://www.apache.org must contain a logo.

See https://whimsy.apache.org/pods/project/netbeans for tests.

Hi guys, will you please take a look at this? Maybe we want to solve NETBEANS-636 prior to the 9.0 RC1 release?

Thank you @vieiro ! Great work!

Added a half banner to help promote ASF's "Current Event", as per http://mail-archives.apache.org/mod_mbox/netbeans-dev/201805.mbox/<cea3e4f9-5c0c-b660-10d1-305416209ef4%40vieiro.net>

I think we're all set!

I think I'll try to recover the original events page. ASF wants a link to https://www.apache.org/events/current-event, but our site may hold any other  setup.

Hi, I've restored the original events page (just in case somebody bookmarked it), as the ASF wants a link to the ASF current-event page, and that's already fulfilled.
If nobody opposes I think we're all set: I'll merge with master within a few days.

+1
Looks good to me.

Merging!


Debugging pytest fails

Environment data
VS Code version:  1.20.1
Python Extension version:  Latest (can't even find the version number from git hub or within vscode)
Python Version:  Python 3.6.4 :: Anaconda, Inc.
OS and version:  Windows 7
Actual behavior
Cannot configure debugging for pytest. Tried different launch configuration but no success.

I tried with the default launch configuration:
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceFolder}",
"env": {},
"envFile": "${workspaceFolder}/.env",
"debugOptions": [
"RedirectOutput"
]
},

A. Pressing the "Debug test" on top of test case:
"Debug adapter process has terminated unexpectedly"
Then I will end up in a lingering debug mode that if I press the following I get the listed results

pause:
no effect

restart:
There was an error in starting the debug server. Error = {"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect","address":"<IP_ADDRESS>","port":3000}

disconnect:
No effect

selecting and starting debug configuration from the status bar (at the bottom):
Traceback (most recent call last):
File "c:\workspace\ver-virtual-vehicle\test\test_fdx_decoder.py", line 7, in
from vv.fdx import decoder
ModuleNotFoundError: No module named 'vv'
Module import errors all of a sudden!!!
my directory structure is:
(workspace repo)/
src/
test/

B. Pressing F5
Traceback (most recent call last):
File "c:\workspace\ver-virtual-vehicle\test\test_fdx_decoder.py", line 7, in
from vv.fdx import decoder
ModuleNotFoundError: No module named 'vv'
And no lingering debugger!

Using integrated terminal:

same as above!
{
"name": "Python: Terminal (integrated)",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"env": {},
"envFile": "${workspaceFolder}/.env",
"debugOptions": []
},
First it fails:
"Debug adapter process has terminated unexpectedly"
Second time when I press in the bar and select the launcher again it outputs the following in the terminal:
$ cd "C:\workspace\ver-virtual-vehicle" ; env "PYTHONIOENCODING=UTF-8" "PYTHONUNBUFFERED=1" python "C:\Users\A281180.vscode\extensions\ms-python.python-2018.1.0\pythonFiles\PythonTools\visualstudio_
py_launcher.py" "C:\workspace\ver-virtual-vehicle" 50990 34806ad9-833a-4524-8cd6-18ca4aa74f14 DUMMYVALUE "c:\workspace\ver-virtual-vehicle\test\test_fdx_decoder.py"
Traceback (most recent call last):
File "c:\workspace\ver-virtual-vehicle\test\test_fdx_decoder.py", line 7, in
from vv.fdx import decoder
ModuleNotFoundError: No module named 'vv'
Can't import modules properly.

Using a custom launcher:
{
"name": "PyTest",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
"module": "pytest",
"args": [
"-sv"
],
"program": "${file}",
"cwd": "${workspaceFolder}",
"env": {},
"envFile": "${workspaceFolder}/.env",
"debugOptions": [
"RedirectOutput"
]
},

A. Pressing the "Debug test" on top of test case:
Lingering issue for days but after selecting the debugger again it eventually run all the test cases (more explanation below)!

B. Pressing F5
This works but it will run all the tests until it reaches the test case that I have a breakpoint on!
And of course it will continue running the rest of test cases after I am finished debugging my selected test case!

Inconsistencies

I am pretty sure I tried one combination with the same launch config, that I managed to get what I want (just debug one test case!). After all, I tried so many things that I can't reproduce that behavior again.
It could be that the first time I select any launcher it works and stop of working after that!

P.s. The lack of proper documentation for debugging pytest is just wasting hours of developer times
Would you please write a step by step guide once and for all that will not lead to all these questions and github issues, this will save time for everyone (users and you guys)?
Expected  behavior
I just want to add a break point on the first entry line of one of the my test cases and just press F5 and it should automatically stop on my breakpoint without running other test cases!
I do not want to add any files to my project just to satisfy my IDE needs! This means that the following solution is not ok IMHO:
https://donjayamanne.github.io/pythonVSCodeDocs/docs/debugging_debugging-pytest/
Steps to reproduce:
Described above!
Logs
Output from Python output panel

Output from Console window (Help->Developer Tools menu)

We do have docs on debugging tests, they are just not pytest-specific as there is nothing special from the perspective of the extension between e.g. pytest and unittest. (The docs you link to are from before Microsoft took over development of the extension.)
As for the import error, that's because your code is in a src directory which isn't at the root of your workspace, so Python doesn't know about your vv package when you directly run your tests. If you add a .env file that sets PYTHONPATH then you won't get that issue, e.g.:
PYTHONPATH=src:test
# If you're on Windows, replace the `:` with `;`

I have opened #924 to track the idea of making this more obvious.
Otherwise I can't reproduce since I can run an individual test both from the code lens and command palette and have it stop on a breakpoint as expected.

Hi Brett,
I have followed the new issue that you opened and tried to clarify there, that this is not about finding the test case. But I've been asked to not post comments there.
So I will post it again here:
There is no problem with detection of the test! I can run the test by simply clicking on "Run Test" or typing "pytest" from shell and there is no need of adding any .env file.
The problem arises when you want to debug your test:

If you just use the default "Python" lanucher and press F5, suddenly it cannot import the target module.
This can be solved by the following launcher, but the problem is that it will run all the test cases that you have until it reaches the one you are trying to debug.

{
            "name": "PyTest",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "pythonPath": "${config:python.pythonPath}",
            "module": "pytest",
            "args": [
                "-sv"
            ],
            "program": "${file}",
            "cwd": "${workspaceFolder}",
            "env": {},
            "envFile": "${workspaceFolder}/.env",
            "debugOptions": [
                "RedirectOutput"
            ]
},

You can still use the "Debug test" (link/button) on top of the test case (using default python launcher) and it will end up on your break point without adding .env file. (Do you see the inconsistency? it is some how able to import the module unlike pressing F5)
But of course it still has problems (you can see it in python test log):

Exception ignored in: <async_generator object _ag at 0x04B81BF0>
Traceback (most recent call last):
  File "C:\Python36\lib\types.py", line 27, in _ag
  File "C:\Users\Amir\.vscode\extensions\ms-python.python-2018.1.0\pythonFiles\PythonTools\ptvsd\visualstudio_py_debugger.py", line 971, in trace_func
  File "C:\Users\Amir\.vscode\extensions\ms-python.python-2018.1.0\pythonFiles\PythonTools\ptvsd\visualstudio_py_debugger.py", line 1014, in handle_call
  File "C:\Users\Amir\.vscode\extensions\ms-python.python-2018.1.0\pythonFiles\PythonTools\ptvsd\visualstudio_py_debugger.py", line 576, in should_debug_code
TypeError: 'NoneType' object is not callable

If you try it several times you will end up in a dangling debugger that you cannot even proceed with debugging!

I have attached my simple try out structure along with my lanuch.json so you can reproduce this:
I am using Windows 10 and latest VScode and ms-python extension.
testing_pytest_debugger.zip

@WindsOfHades

If you just use the default "Python" lanucher and press F5, suddenly it cannot import the target module.

What do yo umean by target module
If you're referring to pytest, then the problem is you do not have pytest in the python interpreter selected in VS Code.

is that it will run all the test cases

It is upto you to configure the debugger to run a specific test file/test case. You'll need to check the documentation of pytest on how you can run a specific test file/test case.

You can still use the "Debug test" (link/button) on top of the test case (using default python launcher) and it will end up on your break point without adding .env file.  (Do you see the inconsistency?

No inconsistency here. It works perfectly fine for me, without any .env files.
Once again pressing F5 will launch the debugger. We have preconfigured debug configurations in launch.json for programs, modules, django, flask, etc. If you would like to debug something else using the F5 key, then its upto you (the user) to configure launch.json accordingly.
E.g. you have managed to get it to debug unit tests, but complain it runs all tests, in this case its upto you to configure it to run a specific test (please check pytest documentation).

If you try it several times you will end up in a dangling debugger that you cannot even proceed with debugging!

That's yet another issue, please do create a separate issue for this with instructions (along with the sample code and files such as launch.json and settings.json) to replicate this.


Getting oauth_problem=signature_invalid from Flickr when trying to upload

Hello, I'm trying to upload an image to flickr and receiving a signature_invalid error.
This code should reproduce:
def get_flickr_session():
    # returns flickr session
    flickr = OAuth1Service(
        name='flickr',
        consumer_key=FLICKR_API_KEY,
        consumer_secret=FLICKR_API_SECRET,
        request_token_url="https://www.flickr.com/services/oauth/request_token",
        access_token_url="https://www.flickr.com/services/oauth/access_token",
        authorize_url="https://www.flickr.com/services/oauth/authorize",
        base_url="https://api.flickr.com/services"
    )

    auth_params = {
        "perms": "delete"
    }

    request_token, request_token_secret = flickr.get_request_token(
                                            params={'oauth_callback': 'oob'})
    authorize_url = flickr.get_authorize_url(request_token, **auth_params)
    print 'Visit this URL in your browser: ' + authorize_url
    pin = raw_input('Enter PIN from browser: ')

    return flickr.get_auth_session(request_token,
                                   request_token_secret,
                                   method='POST',
                                   data={'oauth_verifier': pin})

def upload_to_flickr(session, url, title):
    post_url = """https://up.flickr.com/services/upload/"""

    photo_location = download_file(url)

    headers = {
        'Content-Type': 'application/xml'
    }

    data = {
        "title": title,
        "photo": open(photo_location, 'rb').read(),
        "is_public": 0
    }

    return session.post(post_url, data=data)

session = get_flickr_session()
p = upload_to_flickr(session, "http://i.imgur.com/K8v9RgV.jpg", "test photo")

The response I get is 401 and the response text says oauth_problem=signature_invalid.
I see this is related to the closed issue #109, if this should go in that closed thread I'll move it.

Thanks for reporting this, it seems like the signature is not being built up correctly. Were you able to look through #109? Did that help at all?

Getting an signature_invalid error when working with SmugMug and using a query string in the request.
Requests work well with SmugMug API (api.smugmug.com) except when a query is added.
This example works: https://api.smugmug.com/api/v2/node/GS0g9!children
This example fails: https://api.smugmug.com/api/v2/node/GS0g9!children?start=11&count=10
The string built within session is
https://api.smugmug.com/api/v2/node/GS0g9!children&count=10?oauth_consumer_key=...?oauth_nonce=...?oath_signature_method=...?oauth_timestamp=...?oauth_token=...?oauth_version=...?start=11
Note the first part of the query string "?start=11" is moved to the end of the Uri yet "&count=10" is left in place.
The failed example is created when calling session.get("https://api.smugmug.com/api/v2/node/GS0g9!children?start=11&count=10",headers={'Accept': 'application/json'})
The same call without the query string "?start=11&count=10" works.

Sounds like a bug in the query string encoding.

Switched from rauth to requests_oauthlib and works well now. No changes to query string necessary.

This is a problem when the query string is included in a GET request via the 'url' parameter, rather than added as separate 'params'.
this will work: session.request('GET', 'https://example.com', params={'key': 'value'}, header_auth=True)
this will produce an invalid signature: session.request('GET', 'https://example.com?key=value', header_auth=True)
What happens is the base string for the oauth signature strips out the query string and completely discards it. What needs to happen is for the query string to be stripped out and then included in the base string in the same way as if they were provided as a dict to 'params'. I think the way to do this is OAuth1Session.request normalises the above 2 example calls.
Reference Appendix A.5.1.  Generating Signature Base String at https://oauth.net/core/1.0a/#anchor13


Pattern: demo component

Wonil-Suh1 created the following on Apr 11:
User story
As a maker I need a way to preview a pattern, understand the grids, get specs, and grab code so that I can use it the right way.
Notes
(Modify as needed)

Anything task detail you can share?
Any resource links or documents do you have?
Any specific time period this task should be completed?
Does this task relate to any other task issues?
Does this affect anyone else?

Acceptance criteria
(Modify as needed)

[ ] Design approved
[ ] Code approved
[ ] Sprint demoed
[ ] OM accepted
[ ] Guideline published
[ ] Content published

Tasks
(Modify as needed)
For Content:

[ ] Project kick off (at least: dev, designer, and content creator)
[ ] Create content draft
[ ] Review draft with key users (get feedback)
[ ] Work on content revision
[ ] Finalize content
[ ] Have final content aproved

For Design:

[ ] Project kick off (at least: dev and designer)
[ ] Work on wireframe/Ideation
[ ] Create Initital design
[ ] Review deisng with team memebers (get feedback)
[ ] Work on design revision
[ ] Finalize design
[ ] Have final design aproved

For Code:

[ ] Project kick off (at least: dev and designer)
[ ] Write code
[ ] Review code with team memebers (get feedback)
[ ] Work on code revision
[ ] Finalize Code
[ ] Have final code review and designer QA
[ ] Set up PR request

Original issue: https://github.ibm.com/webstandards/digital-design/issues/715

not stale


Change entry_points to call latest spyder from 'spyder' cmd line

Issue Report Checklist

[X] Searched the issues page for similar reports
[X] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice

Problem Description

Calling spyder from terminal needs to be done using spyder3, not only spyder, which is sometimes anoying;
To start Spyder 4, you need to call spyder3 - may not updated yet.

What is the expected output? What do you see instead?

spyder entry point call the latest spyder available.
spyderX, where X = 2,3,4,  call specific version if available.

As we are not supposed to install more than one Spyder on the same environment, we get some cases:
Install Spyder 3;

call spyder > open Spyder 3;
call spyder3 > open Spyder 3;
call spyder4 > command not found error;

Install Spyder 4;

call spyder > open Spyder 4;
call spyder3 >  command not found error;
call spyder4 > open Spyder 4;

This can be done for v2, if needed.
I can submit a PR for this if agreed :)
    setup_args['entry_points'] = {
        'gui_scripts': [
            '{} = spyder.app.start:main'.format(
                'spyder3' if PY3 else 'spyder')
        ]

PS: Looking forward to the release of v4. Tks

@dpizetta, we use our own script to start Spyder from a git clone. It's called bootstrap.py and it's placed in the root of our repo.
This is mentioned in our Contributing guidelines
https://github.com/spyder-ide/spyder/blob/master/CONTRIBUTING.md#running-spyder
but you probably missed it.
So I think this change is not really necessary?

Oh, may I not expressed exactly. Yes, I can do it by hand, but I mean that when you install using pip you need to run using spyder3 instead of just spyder. The example from v4 was just another case. What do you think?

Ah, another case that I have experienced is that users/developers that use cmd line to do things, when they would like to call spyder, they use 'spyder' as the first trial. And it is a kind surprising when they receive that there is no command 'spyder'. So, they need to check or see docs to call the right name.
In my optinion, this is as annoying as when using Qt.py (not qtpy) that it is called Qt.Py, install with qt.py and imported as Qt. It is hard to find.

The 3 in spyder3 refers to the Python version, not the Spyder version.

The 3 in spyder3 refers to the Python version, not the Spyder version.

Yeah, we did that to conform with Linux distros: spyder3 for Python 3 and spyder for Python 2.

Ah, another case that I have experienced is that users/developers that use cmd line to do things, when they would like to call spyder, they use 'spyder' as the first trial. And it is a kind surprising when they receive that there is no command 'spyder'.

Since pip doesn't run any Python code at installation, our only choice to avoid this would be to create wheels per each operating system (i.e. to maintain the difference between spyder3/spyder on Linux and use only spyder on the others). But that seems too much effort for so little gain, specially given that the vast majority of our users install Spyder through Anaconda (which doesn't have this issue).
So I'm sorry for pip users, but this is another reason why we always recommend Anaconda over pip.

@dpizetta, I don't know if there's something else you want to discuss about this.

I understand. TKs @ccordoba12. Closing this so.


Incorrect query when using P.Within()

When querying using the method P.Within() there never seem to yield any results. When inspecting the produced query I noticed it has some additional quotes around the array. When removing these quotes I get the expected behavior which are the requested vertexes.
Example code:
var idArray = new int[] {5, 13, 27};
var query = g.V<Vertex>().Has(p => p.IdProperty, P.Within(idArray));

var queryWithTooManyQuotes = query.ToGremlinQuery();
// -> "g.V().hasLabel(\"label"\).has(\"IdProperty\",within(\"[5,13,27]\"))"

var fixedQuery = query
      .ToGremlinQuery()
      .Replace("\"[", "[", StringComparison.InvariantCulture)
      .Replace("]\"", "]", StringComparison.InvariantCulture);
// -> "g.V().hasLabel(\"label"\).has(\"IdProperty\",within([5,13,27]))"

var incorrectlyEmptyResult = await gremlinClient.QueryAsync<Vertex>(queryWithTooManyQuotes);
var correctResult = await gremlinClient.QueryAsync<Vertex>(fixedQuery);

Might be here:
https://github.com/evo-terren/Gremlin.Net.CosmosDb/blob/master/src/Gremlin.Net.CosmosDb/Serialization/GremlinQuerySerializer.cs#L184-L202

Yep. That's definitely a bug in the serialization logic. I'm guessing it's being treated as an object and is therefore getting the quotes. The code linked by @BenjaBobs would be a good place to start on a fix. I won't be able to get to this any time soon due to the season, unfortunately, but would be happy to look at any pull requests you may have for a fix. Otherwise, I will address this when I can. Thank you for your patience.

I investigated a bit, and this turned out to be more complex than I initially thought.
P.Within(params object[]) behaves in the following way:
[Fact]
public void Within_serializes_properly()
{
    var g = new GraphTraversalSource();

    var priceObjectArray = new object[] { 5, 13, 27 };
    var priceIntArray = new int[] { 5, 13, 27 };

    var queryObject = g.V<Product>().Has(p => p.Price, P.Within(priceObjectArray));
    var queryInt = g.V<Product>().Has(p => p.Price, P.Within(priceObjectArray));

    var queryObjectString = queryObject.ToGremlinQuery();
    var queryIntString = queryInt.ToGremlinQuery();

    queryObjectString.Should().Be("g.V().hasLabel(\"product\").has(\"Price\",within(5, 13, 27))");
    queryObjectString.Should().Be("g.V().hasLabel(\"product\").has(\"Price\",within(\"[5, 13, 27]\"))");
}

Because of the way the type is inferred and the way params object[] works I'm not exactly sure how to fix this and maintain a nice syntax.

Might be here:
https://github.com/evo-terren/Gremlin.Net.CosmosDb/blob/master/src/Gremlin.Net.CosmosDb/Serialization/GremlinQuerySerializer.cs#L184-L202

When I add an additional overload to the class GremlinQuerySerializer you mentioned the query is parsed correctly.
private void Serialize(IEnumerable<int> array)
{
    var serializedObj = JsonConvert.SerializeObject(array, Formatting.None, _serializerSettings);
    _writer.Write(serializedObj);
}

The replace functionality in private void Serialize(object obj)  seem to be not needed for a simple IEnumerable<int>, so this just might work.

I'm still not sure this is the best method of solving this, as the underlying data is still formatted wrong and might lead to errors in the future.
The problem is that P.Within(priceObjectArray) produces this data structure:
[
	5,
	13,
	27
]

While P.Within(priceIntArray) produces
[
	[
		5,
		13,
		27
	]
]

Due to the signature of P.Within(params object[]), the int array is interpreted as a single object instead of an array of objects. I worry this might lead to unexpected behavior.

I believe this issue was previously documented as this issue:
https://github.com/evo-terren/Gremlin.Net.CosmosDb/issues/32
Soon after, it was addressed by this commit:
https://github.com/evo-terren/Gremlin.Net.CosmosDb/commit/ae3b63fa435c87a9b4c21a387b17396840de467a
This test scenario is passing, and it seems to be almost the same as the one from the original post.
https://github.com/evo-terren/Gremlin.Net.CosmosDb/blob/94e1fe861aa9d0429b937d41a4a4e0a287d30730/test/Gremlin.Net.CosmosDb.Tests/TraversalSerialization/QuerySerializerTests.cs#L225


Missing useful error messages in Swagger UI

When sending a request message and the connection is refused then the error message in the Swagger UI is "Message handling or processing failed."
The useful error message "Message handling or processing failed. [exception=(Failed to connect to localhost/<IP_ADDRESS>:80)]
java.net.ConnectException: Failed to connect to localhost/<IP_ADDRESS>:80" can only be found in the logs.
It would be nice to have this message in the Swagger UI.
Especially if a user has no access to the logs.

Relates to #689 and #573


How do I run it

I found your work on PaperWithCode and it was outstanding!
As a novice I want to learn your work, but I can't run it, is this project complete?

Hi! https://github.com/bionicvisionlab/2021-HBA-U-Net/blob/master/HBA_U_Net.py provides the code to create HBA-U-Net with Keras, but you will have to separately acquire the dataset and run model.compile() and model.fit() yourself

I understand. Thank you for your reply！


Llama7B repo empty currently

The LLama 7B repo is currently empty, I can't find the conversion scripts or find converted .so files on the hugging face page. Is there an ETA for those to be uploaded?
https://github.com/quic/ai-hub-models/tree/main/qai_hub_models/models/llama_v2_7b_chat_quantized

We cannot distribute the 4-bit quantized model so we are working on making it such that you can create this yourself. Stay tuned!

We cannot distribute the 4-bit quantized model so we are working on making it such that you can create this yourself. Stay tuned!

Is there any update?

can you please update the way how to convert to qnn model from llama 7B ?

Hi All, we are happy to see all the interest around Llama 7B. We are actively working on this and will share an update via Qualcomm AI Hub Community Slack when it is ready, we're working to get this out as soon as possible!

Hi @grundman @r-wheeler @YixinSong-e  @Junhyuk
Llama2 export scripts are out now https://github.com/quic/ai-hub-models/tree/main/qai_hub_models/models/llama_v2_7b_chat_quantized
Please give it a try and let us know how it goes

@bhushan23
Will the .so or .bin files be uploaded on the hugging face page ? Since I do not have a device with 40+ GB RAM to meet the demand of export script.

We do emit instructions to increase swap space to help you export these models if memory is low.
We cannot share exported models as we cannot distribute weights. But, our goal is to make it easy for users to be able to export this.


Various complements breakes Templater "syntax dialog"

Hi,
I discovered that enabling both "Various complements" and "Templater" simultaneously causes the information box, which appears when using Templater syntax, to stop working. Please refer to the attached image for clarification (I'm not sure what these boxes are officially called).
I encountered an issue where the information box wasn't appearing, but as soon as I disabled the "Various complements" plugin, it began to function properly.

@Acuena85
Please see https://github.com/tadashi-aikawa/obsidian-various-complements-plugin/issues/111#issuecomment-1088157244.

Adding "<%.*" to "Patterns to suppress trigger" seems to make it work.


⚠ Bofrost.de has degraded performance

In 44eeb47, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 893 ms

Resolved: Bofrost.de performance has improved in ef67ac0 after 6 minutes.


FR: Support Weekly Notes?

Feel free to close this if it's out of scope, but it would be great if Weekly notes could be supported as well!
My weekly notes look like this
[...]
---

## Summaries

### Monday (04/01)

-

^2024-04-01-journal-link

### Tuesday (04/02)

-

^2024-04-02-journal-link

### Wednesday (04/03)

-

^2024-04-03-journal-link

### Thursday (04/04)

-

^2024-04-04-journal-link

[etc]

[...]

Thank you for using the plugin! Regarding your feature request, could you please provide a more detailed explanation?
DNO already supports weekly notes created by using Periodic Notes plugin.
Are you suggesting displaying the outline of embedded notes as part of the outline for the weekly note?
I'm actually not sure what functionality the bare `^` syntax stands for.


make reflection calls compatible with 0.9.11

The changes in https://github.com/apache/pinot/pull/12885 creates compatibility issue for our internal builds when older versions of guava is pull in from internal libraries. We are seeing:
java.lang.NoSuchMethodError: 'java.util.Set org.reflections.Reflections.getResources(com.google.common.base.Predicate)'

As 0.10.2 has a lot of backward incompat interface changes, it might cause conflict with other libraries as well. Can we use 0.9.11 for now if there's no other concerns?

Codecov Report
Attention: Patch coverage is 0% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 0.00%. Comparing base (59551e4) to head (d54b742).
Report is 319 commits behind head on master.

Files
Patch %
Lines

...g/apache/pinot/spi/utils/PinotReflectionUtils.java
0.00%
3 Missing :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #12958       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436     2427        -9
  Lines        133233   132824      -409
  Branches      20636    20570       -66
=============================================
- Hits          82274        0    -82274
- Misses        44911   132824    +87913
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <0.00%> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <0.00%> (ø)

java-11
0.00% <0.00%> (-61.71%)
:arrow_down:

java-21
0.00% <0.00%> (-61.63%)
:arrow_down:

skip-bytebuffers-false
0.00% <0.00%> (-61.75%)
:arrow_down:

skip-bytebuffers-true
?

temurin
0.00% <0.00%> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I think we can add some comment describing why we use the deprecated method (maybe also suppress the warning). This way at least people won't accidentally changes it to the replaced method


so many

Coverage remained the same at 82.325% when pulling d3bec07beaa1aeae999df401bdb439e397e3e383 on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.

Coverage remained the same at 82.325% when pulling d3bec07beaa1aeae999df401bdb439e397e3e383 on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.

Coverage decreased (-0.2%) to 82.078% when pulling 8ad29caf53870cf6dc06985e604a5475ce0e27af on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.

Coverage decreased (-0.2%) to 82.078% when pulling 8ad29caf53870cf6dc06985e604a5475ce0e27af on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.

Coverage decreased (-0.2%) to 82.095% when pulling bc74256bc12225a7a0f6cd7261f16ee5fc483033 on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.

Coverage decreased (-0.2%) to 82.089% when pulling a4fc03298274e07f2434b0a669e8d1d785c8cee1 on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.

Coverage decreased (-0.2%) to 82.089% when pulling 84129c83b44d5a0a3e4044f926932bed71e146e0 on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.

Coverage decreased (-0.1%) to 82.22% when pulling f19a1b0b132b2ffd700ed62c07e1e9733e6af056 on StefanBranch into 528c2acc62f46ea54056ed6e2bf01f3ef86ffd93 on master.


Un-hard-code Babble User id

Currently the id of the created Babble::User is hardcoded to -2, which is a little bit safe but not that safe. We should extract this to a hidden site setting, per the suggestion here

Anybody found an example of how to implement a hidden site setting?

Closed with #20


Cleanup Categories

Details
@mandiant/flare-vm @mandiant/commando-vm
I recently went through all of our tool packages and noticed a few changed that I think could be made.
Unnecessary or Underused Categories
Currently, of the 35 categories we have, 9 of them have no tools associated with them:

[ ] Active Directory
[ ] Cloud
[ ] Evasion
[ ] Persistence
[ ] PowerShell
[ ] Python
[ ] Text Editors
[ ] Vulnerability Analysis
[ ] Web Application

Should we remove these categories or attempt to make use of them?
For instance:

Text Editors could likely have notepad++ added to it, and possibly VSCode (not currently a package yet)
Web Application could include Burp Suite which is currently listed as a Utility (though it could also go into Networking)

New Categories to Improve Organization and Clarity
Our largest category is Utilities with a total of 38 tools. I think we could possibly introduce a couple more categories to reduce this a little bit. I propose the following new categories (open to suggestions/changes):

[x] Shellcode

blobrunner
blobrunner64
scdbg
shellcode_launcher
eventually whatever shellcode -> PE tool we decide to go with

[x] Registry

reg_export
regshot
and later, possibly: https://github.com/zodiacon/TotalRegistry

[x] File Information

die
exeinfope
exiftool
file
floss
goresym
hashmyfiles
resourcehacker

[x] Productivity Tools

7zip
cygwin
googlechrome
tor browser
visualstudio
vcbuildtools

[x] Memory

PE-Sieve
HollowsHunter
processdump

Tagging @nos3curity @geo-lit @Menn1s for commando. We refined all of the Commando categories in August last year I think this mostly aligns with what we had created

I'm surprised those 9 don't have any tools yet.. I think we will need to circle back and take a look at those and see what can be added (such as notepad++).
It may also give rise to a more fundamental issue of where we're categorizing both "phase of the attack lifecycle" and the "target environment". Seems like there will always be overlap if we do that.
As far as introducing categories to break up utilities, this seems like a great idea for clarity. Will Utilities be removed entirely? I can see Productivity Tools basically taking its place.

@nos3curity could you list all of the categories we know for sure we need for Commando? I think that would help.

I'm surprised those 9 don't have any tools yet.. I think we will need to circle back and take a look at those and see what can be added (such as notepad++). It may also give rise to a more fundamental issue of where we're categorizing both "phase of the attack lifecycle" and the "target environment". Seems like there will always be overlap if we do that.
As far as introducing categories to break up utilities, this seems like a great idea for clarity. Will Utilities be removed entirely? I can see Productivity Tools basically taking its place.

notepad++ seems to just be being installed and no shortcut is placed into any category, but I think this should be adjusted. The addition of VSCode which may be considered soon could also have this be added to Text Editors, or we could place both of them into Productivity Tools instead and simply get rid of Text Editors.
I think Utilities should stay for things related to either CommandoVM or FlareVM more directly (i.e., useful tools that directly relate to Malware Analysis or pentesting), but not abstractable to a general usability level (think, chrome or 7zip type tool).

@day1player

@nos3curity could you list all of the categories we know for sure we need for Commando? I think that would help.

@nos3curity I think you have missed this comment. Could you please provide the categories you need, so that we can remove the rest?

@Ana06 apologies, here are the categories we need for Commando, might be able to time with the other PR:

Payload Development
Reconnaissance
Exploitation
Persistence
Command & Control
Privilege Escalation
Credential Access
Lateral Movement
Utilities
Wordlists

@day1player Made that change in https://github.com/mandiant/VM-Packages/pull/903. Thank you!


[INF] Replace pytest.ini file with pyproject.toml

PR Description
As title, related to #1190
PR Checklist

Please ensure that you have done the following:

[x] PR in from a fork off your branch. Do not PR from <your_username>:dev, but rather from <your_username>:<feature-branch_name>.

[x] If you're not on the contributors list, add yourself to AUTHORS.md.

[x] Add a line to CHANGELOG.md under the latest version header (i.e. the one that is "on deck") describing the contribution.

Do use some discretion here; if there are multiple PRs that are related, keep them in a single line.

Automatic checks
There will be automatic checks run on the PR. These include:

Building a preview of the docs on Netlify
Automatically linting the code
Making sure the code is documented
Making sure that all tests are passed
Making sure that code coverage doesn't go down.

Relevant Reviewers

Please tag maintainers to review.

@ericmjl

Well, after removing addopts option from pyproject.toml, the code coverage still decreased.

Thank you, @Zeroto521! This is a great simplification on the infrastructure!