how does the validation step work?

how does the validation step work? needs to be enabled someway?
i just triggered a plan, no mention of any test of validation
time="2024-04-16T12:12:39Z" level=info msg="mgob 2.0.20"
time="2024-04-16T12:12:39Z" level=info msg="starting with config: &{LogLevel:info JSONLog:false Host: Port:8090 ConfigPath:/config StoragePath:/storage TmpPath:/tmp DataPath:/data Version:2.0.20 UseAwsCli:false Has
Gpg:false}"
time="2024-04-16T12:12:39Z" level=info msg="mongodump version: 100.8.0 git version: 732ddfaa6b467ffcd5bfa69a455953320eed85f4 Go version: go1.21.1    os: linux    arch: amd64    compiler: gc "
time="2024-04-16T12:12:39Z" level=info msg="NAME:   mc version - manage bucket versioning  USAGE:   mc version COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]  COMMANDS:   enable   enable bucket versioning   suspend  s
uspend bucket versioning   info     show bucket versioning status    FLAGS:   --config-dir value, -C value  path to configuration folder (default: \"/root/.mc\") [$MC_CONFIG_DIR]   --quiet, -q                   dis
able progress bar display [$MC_QUIET]   --no-color                    disable color theme [$MC_NO_COLOR]   --json                        enable JSON lines formatted output [$MC_JSON]   --debug
 enable debug output [$MC_DEBUG]   --insecure                    disable SSL certificate verification [$MC_INSECURE]   --limit-upload value          limits uploads to a maximum rate in KiB/s, MiB/s, GiB/s. (default
: unlimited) [$MC_LIMIT_UPLOAD]   --limit-download value        limits downloads to a maximum rate in KiB/s, MiB/s, GiB/s. (default: unlimited) [$MC_LIMIT_DOWNLOAD]   --help, -h                    show help    "
time="2024-04-16T12:12:40Z" level=info msg="aws-cli/1.29.44 Python/3.11.6 Linux/4.18.0-477.15.1.el8_8.x86_64 botocore/1.31.44 "
time="2024-04-16T12:12:40Z" level=warning msg="gpg failed /bin/sh: gpg: not found : exit status 127"
time="2024-04-16T12:12:41Z" level=info msg="Google Cloud SDK 445.0.0 bq 2.0.97 bundled-python3-unix 3.9.16 core 2023.09.01 gcloud-crc32c 1.0.0 gsutil 5.25 "
time="2024-04-16T12:12:43Z" level=info msg="WARNING: You have 2 update(s) available.  plan=hourly
time="2024-04-16T12:15:13Z" level=info msg="On demand backup finished in 324.669122ms archive hourly-1713269713.gz size 465 kB" plan=hourly

this my full flux helmrelease:
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: common-mgob
  namespace: ${namespace}
spec:
  interval: 1m
  timeout: 10m
  releaseName: common-mgob
  test:
    enable: true
    timeout: 10m
  chart:
    spec:
      # see https://github.com/maxisam/mgob/tree/main/charts/mgob
      chart: mgob
      version: "2.1.0"
      sourceRef:
        kind: HelmRepository
        name: mgob
      interval: 24h
  valuesFrom:
  - kind: Secret
    name: ha-base-hr
    valuesKey: mongodbAuthUsername
    targetPath: config.hourly\.yml.target.username
    optional: false
  - kind: Secret
    name: ha-base-hr
    valuesKey: mongodbAuthPassword
    targetPath: config.hourly\.yml.target.password
    optional: false
  - kind: Secret
    name: ha-base-hr
    valuesKey: mongodbAuthUsername
    targetPath: config.daily\.yml.target.username
    optional: false
  - kind: Secret
    name: ha-base-hr
    valuesKey: mongodbAuthPassword
    targetPath: config.daily\.yml.target.password
    optional: false
  - kind: Secret
    name: ha-base-hr
    valuesKey: mongodbAuthUsername
    targetPath: config.weekly\.yml.target.username
    optional: false
  - kind: Secret
    name: ha-base-hr
    valuesKey: mongodbAuthPassword
    targetPath: config.weekly\.yml.target.password
    optional: false

  values:
    image:
      tag: "2.0.20-all"
    config:
      # Add each plan as per below.
      hourly.yml:
        # run every day at 6:00 and 18:00 UTC
        scheduler:
          cron: "@hourly"
          # number of backups to keep locally
          retention: 4
          # backup operation timeout in minutes
          timeout: 60
        target:
          # mongod IP or host name
          host: common-mongodb-headless.${namespace}.svc.cluster.local
          # mongodb port
          port: 27017
          # mongodb database name, leave blank to backup all databases
          database: "e4t-lab-ha"
          # add custom params to mongodump (eg. Auth or SSL support), leave blank if not needed
          params: ""
      daily.yml:
        # run every day at 6:00 and 18:00 UTC
        scheduler:
          cron: "@daily"
          # number of backups to keep locally
          retention: 7
          # backup operation timeout in minutes
          timeout: 60
        target:
          # mongod IP or host name
          host: common-mongodb-headless.${namespace}.svc.cluster.local
          # mongodb port
          port: 27017
          # mongodb database name, leave blank to backup all databases
          database: "e4t-lab-ha"
          # add custom params to mongodump (eg. Auth or SSL support), leave blank if not needed
          params: ""
      weekly.yml:
        # run every day at 6:00 and 18:00 UTC
        scheduler:
          cron: "@weekly"
          # number of backups to keep locally
          retention: 30
          # backup operation timeout in minutes
          timeout: 60
        target:
          # mongod IP or host name
          host: common-mongodb-headless.${namespace}.svc.cluster.local
          # mongodb port
          port: 27017
          # mongodb database name, leave blank to backup all databases
          database: "e4t-lab-ha"
          # add custom params to mongodump (eg. Auth or SSL support), leave blank if not needed
          params: ""

    storage:
      # -- Persistent volume for backups, see `config.retention`
      longTerm:
        name: "mgob-storage"
        spec:
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 10Gi
          storageClassName: ${envName}-nfs-csi-test
      # -- Persistent volume for temporary files
      tmp:
        name: "mgob-tmp"
        spec:
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 1Gi
          storageClassName: ${envName}-nfs-csi-test
      restoreTmp:
        name: "mgob-restore-tmp"
        spec:
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 10Gi
          storageClassName: ${envName}-nfs-csi-test

    #  mongodb as sidecars to validate backup
    mongodb:
      image:
        tag: 5.0.10

found this and implemented it: https://github.com/maxisam/mgob/blob/main/.document/BACKUP_PLAN.md
only thing, i created an "ondemand" backup plan, but it complains about missing scheduler, i had to add a "pseudofake" one (it will occur on every 29 february if it's monday, next in 2044)
      ondemand.yml:
        scheduler:
          cron: "0 0 29 2 1" # fake schedule, next will run in 2044, 1st 29/2 on monday
          retention: 25
          timeout: 60

I think you all figured out. should I close this?

Yes please, thanks!


Update auth, dynamodb, s3, sqs to 2.17.230

Updates

software.amazon.awssdk:auth
software.amazon.awssdk:dynamodb
software.amazon.awssdk:s3
software.amazon.awssdk:sqs

from 2.17.193 to 2.17.230.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #929.


Rather strange crash

Crash Log
Got this when starting up a technical pack I am working on. I honestly have no idea as to what caused this, as my main pack (with even more mods) doesn't crash. I'll try to narrow down any mod conflicts.

My latest issue explain why this is happening.

this issue should be fixed in next update, just trying to wait for someone to test before I push to curse, if you'd like to, please join https://discord.gg/9J7yhUP and I'll ship you my in-dev version to be sure


Add Example for Dynamic Campaign Stopping

Example is based on checking that at leat 1-% of candidates have a PI of at least 1%
The hook is attached to the entire class becasue simulate_* involves deepcopies that cause hooks to be ignored

Note I currently cant build the doc locally to get an impression of the rendered page hence havent looked into prettifying that


Dev

nbdev v2 broke some things, this updates to keep using v1. Transition from nbdev v1 to v2 will happen at a later time.
fixed small issues in chem and combichem code


[Bug]:When adding any element and the position of this element is at the top of the sheet or dialog box, then clicking on this element whose position is at the top of the page and then close the sheet or dialog close

Describe the bug
When adding any element and the position of this element is at the top of the sheet or dialog box, then clicking on this element whose position is at the top of the page and then close the sheet or dialog close
ex:
For example, when adding an error message to a toast when closing that toast  it closes to drag it directly closed sheet or dialog box
Or when adding a button in the top position 999 when the sheet or dialog box is open, it closes to drag it directly
Affected component/components
sheet and dialog
How to reproduce
I've added two pictures to explain how I do
In the two images, you will find that the toast is above the sheet. When you click on it, the sheet closes automatically
I also put a Feedback button in the User Snap Library, and when you click on it, it closes the sheet immediately.

Codesandbox/StackBlitz link
No response
Logs
No response
System Info
I am test on all OS mac and windows and Linux and test in fire fox and chrome

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues

+1

@Haleem-rafat how did you fix this?

@hrishikeshmane not fix yet

This may be help https://github.com/shadcn-ui/ui/issues/842#issuecomment-2184916610

+1


"Created on" text in docstrings

https://py-vsc.readthedocs.io/en/latest/reference.html#vsc.attrs.rand_attr and other places have
Created on Jul 23, 2019

@author: ballance

which looks strange.

Yes, I see that those are being copied into the documentation. My editor adds this tag by default when I create a file...
Is there a way to cause auto-doc to omit module-level doc comments? Failing that, I guess the module-level docstrings could converted to comments. Perhaps I shouldn't find it important, but I do like having the historical data ;-).

I'm not aware that there is a way to not include them with autodoc.
These docstrings are supposed to explain what the module contains, so the "created" metadata should be comments, I agree.

Okay, think I've gotten all the "Created" docstrings cleaned up and converted to comments. I'll close this for now, but do let me know if any sneaked through.


The WC_Cart::get_item_data function is deprecated

I'm facing this error when trying to checkout :
The WC_Cart::get_item_data function is deprecated since version 3.3. Replace with wc_get_formatted_cart_item_data., referer: http://mtajer.net/product/test/
Im using the last version of checkout-WC And last of WP And last of WC

@thrmda Can you please confirm which version of the plugin you are currently using? I would suggest you update to our latest release.


Formbuilder Searchbar is not working with latest 5.x version

Afrer upgrade to bootstrap 5 the search bar of builder component does not work properly.
Retro Steps:

Show component builder
Type text to search input in side menu of builder
BUG: The list of components are not filtered

Related to: Issue 5288 - Formbuilder Searchbar is not working with latest 5.x version.

I create a fix of the bug


Is this library compatible with flutter?

I have tried to implement this library with a flutter project and got the below errors:
E/flutter ( 1549): [ERROR:flutter/shell/common/shell.cc(178)] Dart Error: error: import of dart:mirrors is not supported in the current Dart runtime
E/flutter ( 1549): [ERROR:flutter/shell/common/engine.cc(188)] Could not prepare to run the isolate.
E/flutter ( 1549): [ERROR:flutter/shell/common/engine.cc(127)] Engine not prepare and launch isolate.
E/flutter ( 1549): [ERROR:flutter/shell/common/shell.cc(407)] Could not launch engine with configuration.

My pubspec.yaml file:
dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  gcloud: ^0.6.3

Even though googleapis_auth is already present in dev_dependencies of gcloud package still when I tried to import 'package:googleapis_auth/auth_io.dart' as auth; it gives me the following error: Target of URI doesn't exist: 'package:googleapis_auth/auth_io.dart'.

I have tried to implement this library with a flutter project and got the below errors:

The gcloud package uses dart:mirrors that is not supported in the Flutter runtime. That should be explained in the readme. I'll keep this issue open for that.

Even though googleapis_auth is already present in dev_dependencies of gcloud package still when I tried to import 'package:googleapis_auth/auth_io.dart' as auth; it gives me the following error: Target of URI doesn't exist: 'package:googleapis_auth/auth_io.dart'.

You do not get the dev_dependencies of your dependencies with pub get.
The dev_dependencies of package:foo are packages you need for developing package:foo (usually for testing or generating code), not for using it.
Furthermore it is in general not the best practice to depend on your dependencies' dependencies. If you want to refer to something from package:foo in your own package, add it as an explicit dependency.
If your want to use package:googleapis_auth from your package, add it to the dependencies of your own package.

@sigurdm Thanks for your reply.

So, Is there any other way by which I can establish a connection with Google Cloud pub-sub?

I think https://pub.dev/packages/googleapis is currently your best bet...

@sigurdm You should mention explicitly that dart:mirrors also breaks dart2native -- that isn't addressed by #85.
Use case: I want to deploy a minimal container via package:appengine.  (rationale here)


GEOMESA-924 Adding wkt and geojson geometry object support

converts stuff

Looks good to me.

Same here, merging


error: TypeError: e is undefined

when i use this package ,it will prompt a error =>TypeError: e is undefined

please restore as quickly as possible


Doesn't work with ES6 import

That would be great if it works with import statements as well.

#21

Test case from #21 https://github.com/Nemo157/cylon-wit/blob/master/index.js does not work


Fixed Android < 23

Description

This pull request addresses the issue described here: #2527

As the issue describes older Android versions require pm install -rg instead of pm install -r -g -t (and similar for adb install).
In addition the reflection library tries to access the accessFlags field to change it's accessibility however from testing/investigation that field isn't present until API 23 therefore the missing field should be ignored.
I've also added tests for both ADB.install and ADB.remoteInstall checking the correct commands are sent for >= 23.
I've tested installing on Android 21-24.
Dump of getDeclaredFields()
Dumped at com.wix.detox.espresso.EventsInjectorReflected.setEventsInjectionStrategy(UiControllerSpy.kt:36) to justify that the missing accessFlags field can be ignored.
API 22:
private final java.lang.reflect.ArtField java.lang.reflect.Field.artField
public static final java.util.Comparator java.lang.reflect.Field.ORDER_BY_NAME_AND_DECLARING_CLAS

API 23
private int java.lang.reflect.Field.accessFlags
private java.lang.Class java.lang.reflect.Field.declaringClass
private int java.lang.reflect.Field.dexFieldIndex
private int java.lang.reflect.Field.offset
private java.lang.Class java.lang.reflect.Field.type
public static final java.util.Comparator java.lang.reflect.Field.ORDER_BY_NAME_AND_DECLARING_CLASS

API 24:
private int java.lang.reflect.Field.accessFlags
private java.lang.Class java.lang.reflect.Field.declaringClass
private int java.lang.reflect.Field.dexFieldIndex
private int java.lang.reflect.Field.offset
private java.lang.Class java.lang.reflect.Field.type

For features/enhancements:

[ ] I have added/updated the relevant references in the documentation files.

For API changes:

[ ] I have made the necessary changes in the types index file.

@d4vidi, can you take this PR?

Fixed by #2922


yearrange as data attribute

How to use yearrange as data attribute? I'm trying to do like this:
<input type="text" data-inputmask="'mask': 'd/m/y h:s', 'placeholder':'__/__/____ __:__', 'yearrange': '{\'minyear\':\'2015\', \'maxyear\':\'2015\'}'">

but doesn't work. Any ideas?

@victorwpbastos ,
This is not foreseen.  I will add  it.

obsolete


Feat: block volumemode(WIP)

What type of PR is this?

/kind feature

What this PR does / why we need it:
support block VolumeMode
Which issue(s) this PR fixes:

Special notes for your reviewer:
Does this PR introduce a user-facing change?:

support block volumeMode

/kind feat

/kind feature


Add container hostname to tags.

This PR support for adding container hostname to registered service.
It can be useful for discovering external address and external port mapping from container.
Consul api support only tag for searching registered service, so when we have many container instance it is not possible to connect service with specific container.
Now we can run inside container:
curl "http://consul.address//v1/catalog/service/<service>?tag=$HOSTNAME"

All required data we can simply deliver to container.

Any way to get this PR considered? I need to advertise my exposed port to an external API from within my application, I'm already using registrator and consul, and this solves the problem very nicely.

Is there any other metadata we'd want to add as a tag that isn't currently? I'd rather handle them all in one fell swoop.

Maybe the container ID? Image name? Maybe these tags should be in the form of hostname=... or meta.hostname=...

Yeah those sound good too.

Thank for your comments.
I my proposition add new option for registrator -hostname-tag
If we want to have more metadata in tags, which solution we should have:

separate option for each metadata
or one option with some list

I think that separate options will be more clear for users

Can i do anything else to help to approve PR?


Seamless RxJs integration

In the Observable.ts file there is a TODO: Seamless RxJs integration.
Should the TS client just have a dependency to rxjs or is the rxjs library a too big of a dependency for SignalR?
On a fork I already tried replacing the Observable.ts file with the Subject, Observable and Observer from rxjs and it does not create any issues in my situations. It also solves the unsubscribe issue.
So should this be the way to go? Or is rxjs too big and should the streaming part of the TS SignalR client be split of in a standalone package to reduce size?
What are the decisions for rxjs integration?

We actually discussed this Friday. We're not going to take a dependency on Rx. We're going to make sure the API shape matches but nothing more.

So how will the integration work in the case of TypeScript? Because right now I have to do a cast to mix RxJs and the SignalR client.

@Megasware128 Do you have sample code (both the casting version and full RxJs integration version) code you could share?

Hi @jwooley
I got a sample over here.
This is the cast I was talking about. I'm trying to merge a local message stream with a SignalR message stream through the Rx merge operator. I use a cast so TypeScript will accept it, but at runtime it is still incompatible.
I also got a workaround using Subject's from Rx. This does work at compile-time and runtime. But I believe it should be possible to use the SignalR stream directly. Also there is no easy way to use RxJs operators on SignalR streams directly, from TypeScript at least.

Hi @jwooley
I got another sample where my fork of the client is running.

@anurse @BrennanConroy we need to figure this out without a dependency. Maybe another package?

I'm using angular/typescript with signalr at the moment and would personally prefer just one rx type of observable to deal with rather than having to mix two types. I guess if the API shape matches, typescript can just treat it as an rxjs observable type?

Maybe another package?

From my understanding, that's our only solution.

I'm going through the source code and wondering if I should even use it at all or write my own RxJS wrapper around HubConnection.
Are there any docs or examples using .stream?

https://github.com/aspnet/SignalR/blob/dev/samples/SocketsSample/wwwroot/streaming.html shows the client side
https://github.com/aspnet/SignalR/blob/dev/samples/SocketsSample/Hubs/Streaming.cs shows the server side
The scenario is mostly just another approach to server notifications. Instead of the server "invoking" methods on the client, the client can "subscribe" to a channel of messages. The underlying logic is the same as having a Hub method where the implementation just sits in a loop sending invocations to the client. It's somewhat of an experiment (we're always looking for feedback) to see if this kind of use case is something customers are interested in.
It's very common for users to use SignalR purely for this kind of "server-to-client" notifications channel, and this would allow them to use APIs like System.Threading.Channels (sorry, there's no docs for that yet) to manage those notifications across their apps. You could have a DI service manage one of these Channels and provide access to the Write end of the channel in one place of your app, and return the Read end of the channel from a Hub method and boom, you have a notification channel with no coupling to SignalR concepts (like HubContext<T>, which is how you do this today)
As for RxJs integration, we're not likely to be able to achieve something built-in for 2.1 (hence moving tot he backlog), but I think an RxJS wrapper around HubConnection is a great idea, and what we might end up doing "officially" later via a separate package (I'm partial to the name @aspnet/signalrx, but it's probably too similar to @aspnet/signalr ;))

@anurse, thanks for that info. Can you explain why the server might return IObservable vs ChannelReader? Seems like the client treats them in the same way.

It's just two different ways to do the streaming (like how IEnumerable can be a List, Array, etc.). Use whichever fits into your app best. I tend to prefer ChannelReader because it has a clear Writer/Reader semantic. But Observables can be adapted into ChannelReaders and vice-versa (in fact, we do exactly that) so it's up to you.
The long term goal is to support IAsyncEnumerable<T> as the common interface here, but since that doesn't exist, for now we accept IObservable<T> and ChannelReader<T>.

@anurse, good to know. I was also reading this post about the old SignalR library to wrap my mind around streaming. The author compares SignalR invocations to remote procedure calls and compares streaming to event handling.
Is it recommended to not mix and match the two styles? In the client and server examples you posted above, how would the client send data to the server. The client only has access to either an observable or a channel reader. Should the client invoke a normal (i.e. non-streaming) method on the server to send data, or is there some concept of two-way communication within a stream?

I was also reading this post about the old SignalR library to wrap my mind around streaming

It's important to note that streaming in SignalR for ASP.NET Core works differently from how it worked in SignalR for ASP.NET. In ASP.NET it was just a different way of handling the server-to-client invocations (basically a replacement for HubConnection.On). In ASP.NET Core it's a different way of returning a value from a client-to-server invocation, so it works a little differently.

Is it recommended to not mix and match the two styles? .., Should the client invoke a normal (i.e. non-streaming) method on the server to send data, or is there some concept of two-way communication within a stream?

You can absolutely mix and match the styles! Streams are one way (from server to client) so yes, you'd use non-streaming methods to send data (which may trigger responses to be emitted on the streaming method). You could implement chat this way, for example, by having the client .stream a "ReceiveMesssages" method and update the UI when new items appear, then use .invoke on a "SendMessage" method to send messages on it's own.

Can I invoke methods from streams or are they one-way server-to-client?

@anurse In terms of feedback, I'd love to provide you with whatever I can. The signalrx concept sounds good to me. Since it doesn't exist, I'll have to write something myself.
My main issue is I don't think I really understand the concept behind .stream() vs .on(). I think, by using some examples, I can explain my point. I'm going to convert an RxJS-like into an RxJS Observable. I'd like to know if I'm on the ball here or completely misunderstanding the use case.
With WebSockets, I can do something as simple as:
import { dispatchStateUpdate } from './dispatchStateUpdate'
import { webSocket } from 'rxjs/observable/dom/webSocket'

const webSocket$ = webSocket('ws://example.com')

webSocket$
.pipe(
  // Transform methods
)
.subscribe(dispatchStateUpdate)

Here's how I'd use .on() with a single message listener. I know I could have more, I could pass in an array and listen to all of them, but right now, I wanna keep it simple:
import { dispatchStateUpdate } from './dispatchStateUpdate'
import { HubConnection } from '@aspnet/signalr/dist/esm/HubConnection'
import { Observable } from 'rxjs/Observable'

const signalRx = path => (
    Observable
    .create(observer => {
        const connection = new HubConnection(path)

        connection
        .on('message', message => observer.next(message))

        connection.start()
    })
)

const signalR$ = signalRx('/testHub')

signalR$
.pipe(
    // Transform methods
)
.subscribe(dispatchStateUpdate)

From what I'm seeing, .stream() is just a limited observable with no transform methods:
import { dispatchStateUpdate } from './dispatchStateUpdate'
import { HubConnection } from '@aspnet/signalr/dist/esm/HubConnection'

const connection = new HubConnection('/testHub')

connection.start()

connection
.stream('message')
// No way to use transform methods
.subscribe(dispatchStateUpdate)

I would instead want to write it like this:
import { dispatchStateUpdate } from './dispatchStateUpdate'
import { HubConnection } from '@aspnet/signalr/dist/esm/HubConnection'
import { Observable } from 'rxjs/Observable'

const signalRx = path => (
    Observable
    .create(observer => {
        const connection = new HubConnection(path)

        connection.start()

        connection
        .stream('message')
        .subscribe(observer)
    })
)

const signalR$ = signalRx('/testHub')

signalR$
.pipe(
    // Transform methods
)
.subscribe(dispatchStateUpdate)

But then I don't really get any benefits from using .stream() right? This is where I'm lost.
Going deeper into these examples, I should be using a Subject because at some point, I need some way of invoking server-side functions just like the official RxJS WebSocket implementation.
With WebSockets, I can send data like so:
import { dispatchStateUpdate } from './dispatchStateUpdate'
import { webSocket } from 'rxjs/observable/dom/webSocket'

const webSocket$ = webSocket('ws://example.com')

webSocket$.send('someDataForServer')

So from that perspective, would a signalRx be something like this?
import { dispatchStateUpdate } from './dispatchStateUpdate'
import { HubConnection } from '@aspnet/signalr/dist/esm/HubConnection'
import { Observable } from 'rxjs/Observable'
import { Subject } from 'rxjs/Subject'

const signalRx = path => (
    const subject = new Subject()

    Observable
    .create(observer => {
        const connection = new HubConnection(path)

        connection.start()

        connection
        .stream('message')
        .subscribe(observer)

        subject
        .subscribe(({ methodName, data }) => {
            connection.invoke(methodName, data)
        })
    })

    // I should be using `AnonymousSubject` and a bunch of extra code to avoid this mutation.
    Observable.next = subject.next

    return Observable
)

const signalR$ = signalRx('/testHub')

signalR$.next('someDataForServer')

Hopefully these examples helped show where I'm missing something major!

From what I'm seeing, .stream() is just a limited observable with no transform methods:

This is purely because we don't want to depend directly upon the RxJS components. You could write an adaptor that converts it to an Rx observable and all the transforms would come over for free. Unlike C# where we implement an interface and you get extension methods, JavaScript requires merging the transform methods into the object itself.

But then I don't really get any benefits from using .stream() right?

I'm unclear what you're comparing to here? Your WebSocket example? Over that you get the benefit of support for Server-Sent Events and Long Polling transports on downlevel browsers/networks. The other difference is how the server side is implemented (you return the read end of a Channel rather than invoking Client hub methods)

I need some way of invoking server-side functions just like the official RxJS WebSocket implementation.

The HubConnection provides you that way. If you'd like to wrap it in a Subject, that's certainly your prerogative :).
Remember that .stream is not an attempt to build a "RxJS"-y way to use SignalR, it's a very specific use case: Allowing the server to emit multiple results from an invocation over time. We use the Observer model for that because JavaScript requires callbacks. Going further is a matter for other libraries to build upon.

would a signalRx be something like this?

It looks pretty close. I don't have a lot of experience with RxJS to know the idiomatic way to multiplex multiple different Observables/Subjects.

I think I get what you mean where you've created connection.stream(methodName) to be something generic that, if we wanted to pass in an RxJS Subject or observer, it would work right out of the box. But it isn't meant to have operators such as filter and map piped into it or any kind of transforms. you also call it .subscribe for semantic meaning, not because it's supposed to resemble RxJS's .subscribe method.
Is that correct?
Side Note
I was using new WebSocket just to show how RxJS handles wrapping something that can both receive and send data. It's strange because when you call webSocket$.next, it actually does a connection.send in the background whereas normally calling .next on a Subject actually sends data into the .subscribe function.

@anurse

You can absolutely mix and match the styles! Streams are one way (from server to client) so yes, you'd use non-streaming methods to send data (which may trigger responses to be emitted on the streaming method).

So my streaming method is returning a ChannelReader<IEnumerable> and it's implemented as shown here. Everything is working so far with the client.
Now, I've created the channel instance when the hub is instantiated (i.e. it's now a member field on the hub) and I've defined the following non-streaming method.
public async Task UpdateMyType(MyType myType)
{
    await m_channel.Writer.WriteAsync(new[] { new MyType() });
}

I've confirmed that the client still receives data when calling the streaming method (so the channel is still working. I've also confirmed that the non-streaming method executes when called by the client, but the client is not receiving the new object on the same channel.
Any ideas?

Where is the channel instantiated?

The channel is instantiated inline with the m_channel field declaration within my hub class. I'm then sharing this private field between my streaming method and my non-streaming method.

Hubs are transient, they are constructed separately for each invocations and disposed of after each invocation. You should use a singleton DI service to host the Channel itself.

@anurse you beat me to it. That just occurred to me after my last post and I was about to try that. I'll post here once I've confirmed.

Making the channel lifetime independent of the hub lifetime solved my issue.

@anurse, @bug84, Do you have a sample of doing this? I'm in a situation where I need to stream items from a queue. Given that hubs are transient, is streaming the best option for something like this or should I use hub context and use a client method?


Documentation corrections required

This issue is for any documentation issues that come up during the hackathon. Here are some:
The following config files all have some duplicated documentation:

MissingAnnotationsMaskConfig
BinarizeArrayConifg
IntensityArrayConfig

old version lives at:
funkelab.github.io/dacapo/overview.html

cellmap version: https://janelia-cellmap.github.io/dacapo/overview.html

I have been working on updating the API documentation, and generally the janelia-cellmap.github.io documentation website. I updated the theme to RTD for easier navigation, used autoapi to auto-generate the API documentation from the docstrings with auto-discovery, and included the README as the homepage. Still to do:

[ ] Merge from dev/main to main and verify the github action works as expected with the new changes and the new docs get deployed.
[ ] Add back in explanatory content. I moved the old rsts into a docs/temp folder, and it remains to go through it, add it back in where relevant, update or remove it where not.
[ ] Relatedly, improve the README to represent the most important high level information. Then, since it is automatically included as the main page of the docs website, the most important info will be in both places automatically (docs website and github main page).
[ ] Fix potential issues with formatting and auto-api discovery. There were many warnings when building it, which says that some of the ways we have organized the code or docs confused the autodiscovery.
[ ] Improve docstring coverage and quality (including issues listed above if relevant)
[ ] Limit the depth of the tree displayed when you click on API (currently it shows literally every file/class)


python2.7-pylint-1.7.1: cannot find configparser

Issue description
pylint for Python 2 requires the Python-module configparser, which is not included in Python 2, but available as separate package. But even if the configparser-package is installed, pylint does not find it.
So, please add a dependency from python27Packages.pylint to probably python27Packages.configparser and make python27Packages.pylint find the configparser-module.
Steps to reproduce

install python27Packages.pylint
$ which pylint
/home/user/.nix-profile/bin/pylint
$ pylint
Traceback (most recent call last):
...
ImportError: No module named configparser

Technical details

pylint version: python2.7-pylint-1.7.1
System: Debian GNU/Linux 8.8 (jessie)
Nix version: nix-env (Nix) 1.11.11

https://github.com/NixOS/nixpkgs/commit/f25720cacb4688288d676e550ecd29441f07f57a


Can't connect on iOS after latest update

How to trace the problem?

@lolwhoami Sorry you're having problems getting connected. I think you'll get better help from our support team<EMAIL_ADDRESS>Thanks!


Filling title from name when title is null

Fix issue https://github.com/allure-framework/allure-phpunit/issues/23

I might be wrong here. bit this looks like patching the upstream problems
allure-framework/allure-core#378
This makes an easy, though not very obvious, workaround for bug in Allure report generating tool.


SDCICD-1337: run generate bundle as root

needed to write out the generated files
Signed-off-by: Brady Pratt<EMAIL_ADDRESS>

needed to write out the generated files

Is it? It shouldn't be 🤔
AFAIK the buildah task only needs SETFCAP because it runs unshare -r (mapping user 0 in a new user namespace) https://man7.org/linux/man-pages/man7/capabilities.7.html

Sorry @chmeliik , this may be my misunderstanding. I'm getting permission denied when trying to actually use the tasks built from konflux (this wasn't happening previously). It looks like most of the tasks set this capability
[generate-olm-bundle : operator-sdk-generate-bundle] Building a ClusterServiceVersion without an existing base
[generate-olm-bundle : operator-sdk-generate-bundle] time="2024-07-29T05:47:04Z" level=warning msg="ClusterServiceVersion validation: [OperationFailed] provided API should have an example annotation"
[generate-olm-bundle : operator-sdk-generate-bundle] time="2024-07-29T05:47:04Z" level=fatal msg="Error generating bundle manifests: error generating ClusterServiceVersion: open bundle/manifests/osd-example-operator.clusterserviceversion.yaml: permission denied"

$ grep SETFCAP -r
.tekton/tasks/buildah.yaml:          - SETFCAP
.tekton/tasks/buildah.yaml:          - SETFCAP
.tekton/tasks/e2e-test.yaml:          - SETFCAP
task/build-image-manifest/0.1/build-image-manifest.yaml:          - SETFCAP
task/buildah-oci-ta/0.1/buildah-oci-ta.yaml:            - SETFCAP
task/buildah-oci-ta/0.1/buildah-oci-ta.yaml:            - SETFCAP
task/buildah-oci-ta/0.2/buildah-oci-ta.yaml:            - SETFCAP
task/buildah-oci-ta/0.2/buildah-oci-ta.yaml:            - SETFCAP
task/buildah-remote-oci-ta/0.1/buildah-remote-oci-ta.yaml:        - SETFCAP
task/buildah-remote-oci-ta/0.1/buildah-remote-oci-ta.yaml:        - SETFCAP
task/buildah-remote-oci-ta/0.2/buildah-remote-oci-ta.yaml:        - SETFCAP
task/buildah-remote-oci-ta/0.2/buildah-remote-oci-ta.yaml:        - SETFCAP
task/buildah-remote/0.1/buildah-remote.yaml:        - SETFCAP
task/buildah-remote/0.1/buildah-remote.yaml:        - SETFCAP
task/buildah-remote/0.2/buildah-remote.yaml:        - SETFCAP
task/buildah-remote/0.2/buildah-remote.yaml:        - SETFCAP
task/buildah-rhtap/0.1/buildah-rhtap.yaml:          - SETFCAP
task/buildah/0.1/buildah.yaml:          - SETFCAP
task/buildah/0.1/buildah.yaml:          - SETFCAP
task/buildah/0.2/buildah.yaml:          - SETFCAP
task/buildah/0.2/buildah.yaml:          - SETFCAP
task/clair-scan/0.1/clair-scan.yaml:            - SETFCAP
task/clair-scan/0.1/clair-scan.yaml:            - SETFCAP
task/fbc-validation/0.1/fbc-validation.yaml:            - SETFCAP
task/inspect-image/0.1/inspect-image.yaml:          - SETFCAP
task/oci-copy-oci-ta/0.1/oci-copy-oci-ta.yaml:            - SETFCAP
task/oci-copy/0.1/oci-copy.yaml:            - SETFCAP
task/rpm-ostree/0.1/rpm-ostree.yaml:        - SETFCAP
task/rpm-ostree/0.1/rpm-ostree.yaml:        - SETFCAP
task/s2i-java/0.1/s2i-java.yaml:          - SETFCAP
task/s2i-java/0.1/s2i-java.yaml:          - SETFCAP
task/s2i-nodejs/0.1/s2i-nodejs.yaml:          - SETFCAP
task/s2i-nodejs/0.1/s2i-nodejs.yaml:          - SETFCAP
task/sbom-json-check/0.1/sbom-json-check.yaml:          - SETFCAP
task/source-build-oci-ta/0.1/source-build-oci-ta.yaml:            - SETFCAP
task/source-build/0.1/source-build.yaml:            - SETFCAP
task/opm-render-bundles/0.1/opm-render-bundles.yaml:            - SETFCAP

Sorry @chmeliik , this may be my misunderstanding. I'm getting permission denied when trying to actually run the task built from konflux (this wasn't happening previously). It looks like most of the tasks set this capability
[generate-olm-bundle : operator-sdk-generate-bundle] Building a ClusterServiceVersion without an existing base
[generate-olm-bundle : operator-sdk-generate-bundle] time="2024-07-29T05:47:04Z" level=warning msg="ClusterServiceVersion validation: [OperationFailed] provided API should have an example annotation"
[generate-olm-bundle : operator-sdk-generate-bundle] time="2024-07-29T05:47:04Z" level=fatal msg="Error generating bundle manifests: error generating ClusterServiceVersion: open bundle/manifests/osd-example-operator.clusterserviceversion.yaml: permission denied"

Does adding SETFCAP fix the issue? Maybe the task needs to run as root instead. IIRC the clone task runs as root, thus kind of forcing all the other tasks that want to write into the source dir to run as root too https://github.com/konflux-ci/build-definitions/blob/8a2d1f0f2760d95e646b3ccbfb299e2f9666748b/task/git-clone/0.1/git-clone.yaml#L148-L151

Does adding SETFCAP fix the issue? Maybe the task needs to run as root instead

Sorry about that, you are right. I tested with both there then convinced myself running as root was incorrect :smile: updating everything now! Thanks for your help!!

/ok-to-tets

/ok-to-test


Upgraded Demo app to RN 0.59.10 (fixes build issues on XCode 11)

Hi! First of all, awesome library, keep up the great work 🤟
This PR updates the Demo app to use react-native v0.59.10.
The 0.58.3 version no longer build with the latest XCode (11) and I was therefore not able to test changes for another PR. No JS-code changes were made, merely tooling and generated react-native init files were updated.
This fixes the following error:

Cheers!

Thanks for the PR! Available in version 4.2.0.


Failing to parse getProducts call

Looks like the request data is already parsed by the time it hits the JSON.parse(data) call in makeRequestCallback.  I am seeing it throw an exception with the following data being returned:
[ { id: 'BTC-USD',
base_currency: 'BTC',
quote_currency: 'USD',
base_min_size: 0.01,
base_max_size: 10000,
quote_increment: 0.01,
display_name: 'BTC/USD' } ]
SyntaxError: Unexpected token o
This same error is happening with all the product related API calls.  Also I am using the sandbox, so not sure if it is different on the live exchange.

This sounds like an issue that was already fixed.  Did you install from the github source?  Are you using version 0.2.0?
$ npm list coinbase-exchange
/current/path
└──<EMAIL_ADDRESS>

Yeah, that was it.  I installed the latest from npmjs.com which was 0.1.0.


BottomNavigationBar unselected items modified to use unselectedWidgetColor

Description
Examples :
Bottom navigation bar using textTheme.caption.color

MyApp.dart
class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        textTheme: TextTheme(
          caption: TextStyle(
            color: Colors.amber,
          ),
        ),
      ),
      home: ExampleBottomNavBar(),
    );
  }
}

BottomNavBar.dart
class ExampleBottomNavBar extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      bottomNavigationBar: BottomNavigationBar(
        items: [
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: "Home",
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.search),
            label: "Search",
          ),
        ],
      ),
    );
  }

Screenshot

Bottom navigation bar using unselectedWidgetColor (in this PR)

MyApp.dart
class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        unselectedWidgetColor: Colors.amber,
      ),
      home: ExampleBottomNavBar(),
    );
  }
}

BottomNavBar.dart
class ExampleBottomNavBar extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      bottomNavigationBar: BottomNavigationBar(
        items: [
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: "Home",
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.search),
            label: "Search",
          ),
        ],
      ),
    );
  }

Screenshot

Related Issues
fixes #46135
Tests
I added the following tests:
Earlier in test color captionColor is used it replaced with unselectedWidgetColor. In widget test themeData property textTheme  modified to unselectedWidgetColor.
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change

[x] No, no existing tests failed, so this is not a breaking change.

@shihaohong would be great if you could review my PR.


DOCS - Import by "Run-In-Insomnia Button"

Describe the bug
There is a problem when want to import example project from docs: https://insomnia.rest/run/?label=To-Do Monkey&uri=https%3A%2F%2Fgist.github.com%2Fgschier%2F27a277ed5dd3b0d2b0bc063482e6417a
After processing to open an app we've got error message "The URI does not contain a valid specification". With Stack trace like this:
Error: No importers found for file
    at module.exports.module.exports.convert (file:///Applications/Insomnia.app/Contents/Resources/app.asar/bundle.js:132323:9)

To Reproduce
Steps to reproduce the behaviour:

Go to
Click on "Run To-Do Monkey"
Allow to open insomnia
Confirm that you want to import workspace in an app
Stack trace with error is showed

Expected behaviour
Should import workspace to app. Manually created new button with same gist works. Example here
Screenshots
__
Desktop:

OS: macOS 10.15.1
Installation Method: https://insomnia.rest/download/#mac
App Version 2020.2.2 (2020.2.2)

I believe the doc page in reference here is https://support.insomnia.rest/article/68-run-button
And the button is the 2nd one on the page


Unit Patterns: Length, Area and Volume

Allow for the display of Length, Area and Volume units
New Unit schema type created with unit param
Units defined by Unicode Common Locale Data Repository
Allowable units can be found at http://unicode.org/repos/cldr/tags/latest/common/validity/unit.xml
test_unit_patterns.json shows range of Length, Area and Volume fields initially requested.

@hamishtaplin  or @armstrongb  Could you give the couple of front end changes a review please.

@hamishtaplin this one is ready if you are happy with the fix?

@dwyeradam Can you squash this on?


Change error log level to warning.

It is some auto correction and PDF will be processed even with these problems so I want to avoid error alerts to be triggered.
User mail list doesn't work for me somehow so I am proposing it this way.

These are nasty problems. The PDF is definitively messed up. Just because you get the same content than with Adobe doesn't mean everything is OK.

Hi @THausherr sorry for late reply.
I agree that PDF is not in good shape, but unfortunately it is some input from users / companies which we need to process even if there are some problems.
Logging that error is problem for our alerting system, which is triggered for every error logged.
I can see three possibilities, how to handle this:

as proposed in PR, change log level to warning. PDF is still processed even that this error occure
throw exception instead of logging error so user of the PDFBox have to react on it and decide what to do
switch of error logging for that class, which could be dangerous

Please suggest what would be the best choice in this case.
Thanks you

I like none; however with log4j you can limit output in specific classes.

Ok, I will go with option 3 as you suggest.


Preparation or improvement of the guide for scheduling of the 4th edition of Python course (issue #555 related)

The goal is to prepare a schedule for 4th edition of DynPy basics meetings that is stored in the Notebook.

Done


[ Checkstyle] Add Checkstyle tool to check java code style

Add Checkstyle tool to check java code style

very great idea, for now , we are considering this idea, thank you!


Support for subtasks

Just cite @thancock:
I was wondering whether you could make an improvement to fix a potential bug and make it even more user-friendly?
An important improvement is the behaviour of the close button when an issue features sub tasks, as there seems to be a minor bug with the current version.
When I have closed all the sub tasks, clicking 'your' close button does not update the status of the button i.e. the close icon remains. I expect the button to behave in the same way when one closes a single ticket i.e. the close button is removed. Instead I must actually enter the issues and then update the issue by saving it (as status will have already been set to closed) or I have to refresh the page.
It would be really helpful (albeit not a higher priority as the aforementioned issue) if the following was supported: enable multiple sub tasks to be closed by pressing the close button once e.g.
a. If sub tasks open >= 1 and the user presses the close button, the user should be warned (via dialog window) that they are about to close all sub tasks.
b. The user can choose from one of two options: OK or Cancel. Clicking 'OK' closes all the sub issues and the current issue clicking 'Cancel' returns the user to their previous state pre dialog window

@thancock, by the way, @stepashka informs me that child tasks can be closed massively using context menu on subtasks list in parent task window.

Can you give me an example of such a workflow please, so I can test it?
On 07/11/2011 16:53, "Akzhan Abdulin"
<EMAIL_ADDRESS>wrote:

@thancock, by the way, @stepashka informs me that child tasks can be
closed massively using context menu on subtasks list in parent task
window.

Select wanted subtasks holding Shift button.
Open context menu by right mouse click.

Take a look at https://plus.google.com/u/0/photos/116024724616675174174/albums/5672304473343218065/5672304471867605090

Unfortunately, even with the screenshot it doesn't help me understand this
:(
On 07/11/2011 17:07, "Akzhan Abdulin"
<EMAIL_ADDRESS>wrote:

Select wanted subtasks holding Shift button.
Open context menu by right mouse click.

Reply to this email directly or view it on GitHub:
https://github.com/Undev/redmine_close_button/issues/16#issuecomment-26562
06

Is your Redmine has context menus on task lists? It depends on your Redmine version.

Yes it sure does.
I have:
A Main 1Issue - Cross Browser Testing
Within that Parent Task I have about 30 child tasks. Types vary; defect,
change, requirement etc.

I can see the context menu by hovering over the title, and pressing the
right mouse button.
I can change the status of one ticket to closed by selecting status >
closed.
But it's not clear how I would change the status of more than one ticket
to closed (say either all of the tickets in the issue or a selection of
tickets).
Thanks for your help!
On 07/11/2011 17:45, "Akzhan Abdulin"
<EMAIL_ADDRESS>wrote:

Is your Redmine has context menus on task lists? It depends on your
Redmine version.

Reply to this email directly or view it on GitHub:
https://github.com/Undev/redmine_close_button/issues/16#issuecomment-26567
35

You can select more than one ticket holding Shift key and choose tickets by clicking on 'em with left mouse button.

Holding of Ctrl key also works, but in another way.

Thanks so much for your feedback, I'll take a look at this later today
On 08/11/2011 11:08, "Akzhan Abdulin"
<EMAIL_ADDRESS>wrote:

Holding of Ctrl key also works, but in another way.

Reply to this email directly or view it on GitHub:
https://github.com/Undev/redmine_close_button/issues/16#issuecomment-26662
68

Hello again,
Finally got around to testing this.
I am using a mac and this is what I found:
Shift key: selects multiple tickets (be in blocks e.g. 1, 2, 3 you can be
selected e.g. 1 and 3)
Crtl key: does nothing (simply selects a single row as if you weren't
pressing the key)
Alt key: does nothing (simply selects a single row as if you weren't
pressing the key)
Cmd key: does nothing (simply selects a single row as if you weren't
pressing the key)
On 08/11/2011 11:08, "Akzhan Abdulin"
<EMAIL_ADDRESS>wrote:

Holding of Ctrl key also works, but in another way.

Reply to this email directly or view it on GitHub:
https://github.com/Undev/redmine_close_button/issues/16#issuecomment-26662
68

Glad to hear this. I suppose that You should create a ticket for Redmine intself to correctly handle other key modifiers (and yes, there is Shift only handled correctly). May be will patched by somebody like me :)

That's a good point. I might just do that. I look forward to your software
being updated in the future too :)
On 11/11/2011 12:19, "Akzhan Abdulin"
<EMAIL_ADDRESS>wrote:

Glad to hear this. I suppose that You should create a ticket for Redmine
intself to correctly handle other key modifiers (and yes, there is Shift
only handled correctly). May be will patched by somebody like me :)

Reply to this email directly or view it on GitHub:
https://github.com/Undev/redmine_close_button/issues/16#issuecomment-27075
37


Patch branch - Save/Load implementation in superclass AbstractModel

@tanguyduval @jcohenadad  Here's a start to the patch branch.
I've:

Created an AbstractModel class
Made all models inherit AbstractModel
Created aversion property in the AbstractModel class
Set the version property of the object to the ver.txt version during object initialisation (in AbstractModel class) using qMRLabVer().
Added save/load methods in AbstractModel. Saves all object properties as a struct mat file. Load sets all struct fields of that mat file to the current objects properties.
Added a version check in the load method. Currently only throws an error ('AbstractModel:VersionMismatch'), unhandled yet.
Added several sanity check tests (not for Travis though, using Matlab's testing features so I could check them locally). Here: https://github.com/neuropoly/qMRLab/blob/Patch/Test/Models/AbstractModel_Test.m

The way I see it moving forward (let me know if this is different from what you envisioned/want, I had some issues with the audio earlier) is making an abstract method called "patch" in the AbstractModel class (undefined there), which would need to be over-rided in each model, where they would get handled individually there. If there is a version mismatch during the load, AbstractModel would call the subclasses "patch" method to try and handle it. The Travis tests would also need to be updated to check these, as currently my sanity checks (Matlab unit tests) only try it on the B0_DEM.
Anything else I'm missing?

Maybe I should also save a list of method objects to the *.mat file during saveObj, and check that they match the current object during the load version check.

Seems like Octave doesn't have a properties(obj) function to list class properties, see: https://savannah.gnu.org/bugs/?46387 Haven't found an alternative yet to access the object properties of an arbitrary subclass in Octave.
As an aside, I found this help doc https://www.gnu.org/software/octave/doc/v4.0.3/Manipulating-Classes.html#XREFloadobj that suggests that loading an object from a file should be possible in octave. @tanguyduval what error did you encounter that suggested to you that it shouldn't be possible to load objects?

@mathieuboudreau I can solve the merge and Travis. Have you pushed all what you did?

@tanguyduval I've pushed what I had time to do until last night - I haven't implemented the private patch method in Abstract and/or implementation yet - had to continue thesis writing today.

@mathieuboudreau you did an amazing job. Works nicely on Octave. Very clean.

I agree with the patch method in each subclass.
Let's convert your test to a MoxUnit Compatible one.

Thanks @tanguyduval ! @agahkarakuzu An easy way to implement the patch method would be to make an empty protected method in AbstractClass, e.g. something like
method (Access = private)
     function patch(obj, versionNumber)
     end
end

This way, you would only actually need to override/write the patch implementation in the Models that need it. I think patch should be private, since it should only be called by the load method, and never the user (and protected allows access from subclasses, unlike private).

nervermind, let's merge, we are going to remove the Data Folder anyway.

@agahkarakuzu onlineData_filename is not necessary because you can use MRIinputs property in your qMRgenBatch script
onlineData_url should be entered for each Model as a hidden property. We cannot guarantee to have a dataset immediately for every single model.

@tanguyduval I actually put this onlineData_filename for good measure, it is the OSF file name. I already use MRIinputs is to load what is extracted from the zip file.
They are hidden.

I see. Just give a standard name when downloading, no need a property for that

Okay I will remove it. Then, we need to make sure that OSF zip files always follow the model_name.zip convention. Any changes in model names will require changes in OSF.

Don't you specify the filename when using websave?

I specify, downloadData is working smoothly. Even if the data is compressed with/without container folder, it manages to put everything consistently. I have no control over the file naming on OSF, on the other hand.
P.S. we are missing vfa_t1 on OSF.


Adds Trades Stream

Background
Adds trade stream based on Binance documentation https://binance-docs.github.io/apidocs/spot/en/#trade-streams
Todo

[X] Allow trades streams within websocket lib
[X] Add spec test
[x] Test
[X] Increment Version -> 1.2.10

@Jakenberg Did you ever get uninitialized constant ActiveSupport::XmlMini::IsolatedExecutionState while running RSpec? I don't know if it is an Apple Silicon chip issue or something else, digging into it now.

@Jakenberg Looks like its Rails 7.0.1 bug
joshuawilkosz@joshua binance-ruby % bundle exec rspec spec/binance/websocket_spec.rb

An error occurred while loading ./spec/binance/websocket_spec.rb.
Failure/Error: require "active_support/core_ext/string"

NameError:
  uninitialized constant ActiveSupport::XmlMini::IsolatedExecutionState
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/xml_mini.rb:184:in `current_thread_backend'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/xml_mini.rb:103:in `backend='
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/xml_mini.rb:201:in `<module:ActiveSupport>'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/xml_mini.rb:11:in `<top (required)>'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/array/conversions.rb:3:in `require'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/array/conversions.rb:3:in `<top (required)>'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/duration.rb:3:in `require'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/duration.rb:3:in `<top (required)>'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/time/calculations.rb:3:in `require'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/time/calculations.rb:3:in `<top (required)>'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/string/conversions.rb:4:in `require'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/string/conversions.rb:4:in `<top (required)>'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/string.rb:3:in `require'
# /Users/joshuawilkosz/.rvm/gems/ruby-2.7.5/gems/activesupport-7.0.1/lib/active_support/core_ext/string.rb:3:in `<top (required)>'
# ./lib/binance-ruby.rb:1:in `require'
# ./lib/binance-ruby.rb:1:in `<top (required)>'
# ./spec/spec_helper.rb:19:in `require'
# ./spec/spec_helper.rb:19:in `<top (required)>'
# ./spec/binance/websocket_spec.rb:1:in `require'
# ./spec/binance/websocket_spec.rb:1:in `<top (required)>'
No examples found.

Finished in 0.00002 seconds (files took 0.17595 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

Rails 6.x.x works as expected

I accidentally merged this so put up another PR when you have the rails 7 fix and I'll review. Haven't pushed to rubygems yet.

This error occurs in rails 7 only when active_support/isolated_execution_state isn't required. You should do this in your application so that binance-ruby gem can continue to work on older versions of rails.
Context: https://github.com/rails/rails/issues/43851#issuecomment-992308494

@Jakenberg Handling here https://github.com/Jakenberg/binance-ruby/issues/30#issue-1097101817


Add VALID_CERT bool env to validate the cert

In the CI environment we don't really need to validate the cluster
kubelet cert and also current cert rotation method is not work properly
so with this env we can choose to validate or not the cluster certs.

/retest


Replacing deep copy in add_dataset function to avoid memory issues.

This is fixing issue introduced by:
https://github.com/populationgenomics/production-pipelines/pull/903
This is just a quick fix, the proper solution ticket is here:
https://cpg-populationanalysis.atlassian.net/browse/SET-173?atlOrigin=eyJpIjoiMTE1NmY3YWE4Zjc4NDFkYjk0ZDVmNTM1YWVjNmMwMDUiLCJwIjoiaiJ9

Full context of introduced bug:
https://centrepopgen.slack.com/archives/C030X7WGFCL/p1726792896823559

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 78.51%. Comparing base (8ad2ba3) to head (c4cc0f4).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #911      +/-   ##
==========================================
- Coverage   78.62%   78.51%   -0.12%
==========================================
  Files          10       10
  Lines        1792     1792
==========================================
- Hits         1409     1407       -2
- Misses        383      385       +2

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


support custom message types?

How do I support adding custom message types? Our company use the message datatype  is livox_ros_driver/CustomMsg. Foxglove's 3D data type is not supported  livox_ros_driver/CustomMsg.

Hi @Elaine87 - This repo is only for the common message types in ROS1. Is your question about support in Foxglove Studio for your custom message types? Sorry but I don't fully understand the question.

Thank you for your reply!  Yes, My question is  how to support   my custom message types(Livox_ros_driver pointcloud dataType: Livox_ros_driver/CustomMsg ) in Foxglove Studio?

@Elaine87 lets move the discussion over to https://github.com/foxglove/studio/discussions or you can join our Studio slack channel (https://foxglove.dev/slack) and we can help you out there.
One thing we'll need to know is how you are loading data into Studio. Ros 1 bag files? Ros 2 .db3 files? And what you mean by supporting the custom message (i.e. viewing in a particular panel?).

)

Ok, thank you! I have move this isuue to https://github.com/foxglove/studio/discussions/2670
My bag is local Ros1 bag file. I want to know how to support in 3D pannel.


Missing Tag endpoints

We are currently missing support for:

Listing all Tags
Deletion of Tags
Updating total field for streamed data

https://docs.ethswarm.org/api/#tag/Tag/paths/~1tags/get

There is also new Tag endpoint on Debug API
https://docs.ethswarm.org/debug-api/#tag/Tag


Report why autoUpdate() is triggered

Is your feature request related to a problem? Please describe. A clear and
concise description of what the problem is. Ex. I'm always frustrated when [...]
When using autoUpdate() I'd like to be able to know why the update() method has been called so I can do different things in response to the various triggers, e.g.:

ancestorScroll => close
ancestorResize => close
elementResize => reposition
layoutShift => ignore (currently possible via the options bag)

Describe the solution you'd like A clear and concise description of what you
want to happen.
I'd like to update to type of autoUpdate() from:
export declare function autoUpdate(reference: ReferenceElement, floating: FloatingElement, update: () => void, options?: AutoUpdateOptions): () => void;

to:
export declare function autoUpdate(reference: ReferenceElement, floating: FloatingElement, update: (Omit<AutoUpdateOptions, 'animationFrame'>) => void, options?: AutoUpdateOptions): () => void;

Or so. This way the additional argument in the update() method can pass true/false for which ever reason it's been called.
Describe alternatives you've considered A clear and concise description of
any alternative solutions or features you've considered.
I could wire up all the listeners, etc. that autoUpdate() bind on my own, but it seems like all the data/workflow are there and could be easily leveraged to supply this additional data.
Additional context Add any other context or screenshots about the feature
request here.
n/a

So you mean:
function handlePositionChange(reason: string) {
  if (reason === 'ancestor-scroll' || reason === 'ancestor-resize') {
    close();
  } else if (reason !== 'layout-shift') {
    computePosition(...);
  }
}

autoUpdate(reference, floating, handlePositionChange);

If you prefer that, sure.
I was thinking to not rely on magic strings:
function handlePositionChange(reason: Omit<AutoUpdateOptions, 'animationFrame'>) => void, options?: AutoUpdateOptions): () => void;
) {
  if (reason.ancestorScroll || reason.ancestorResize) {
    close();
  } else if (reason.elementResize) {
    computePosition(...);
  }
}

autoUpdate(reference, floating, handlePositionChange, { layoutShift: false });

I'm not sure how elementResize: true would give me this. Maybe there's something I'm overlooking...
At current, everything is true by default (in modern browsers):
  const {
    ancestorScroll = true,
    ancestorResize = true,
    elementResize = typeof ResizeObserver === 'function',
    layoutShift = typeof IntersectionObserver === 'function',
    animationFrame = false,
  } = options;

That means that update() is called for everything and doesn't know the specific reason in each call. Currently, I turn off elementResize and layoutShift, and then I need to force consumers to "know" when their element resizes and manually call the reposition workflow. I'd love to include elementResize and then know when it's one vs the others so I can do different things in response.

I'm not sure how elementResize: true would give me this. Maybe there's something I'm overlooking...

I mean the issue says when the popover resizes it doesn't re-align correctly to the anchor. The default options of autoUpdate handles this scenario, however:

Currently, I turn off elementResize and layoutShift

I'm not sure what the reason for this is then?

Oh, I turn it off because there’s more contexts by which I close things right now than by which I’d update, which is why I was looking for reason. Multiple autoUpdate() feels weird, but if the options are completely non-overlapping that aligns pretty closely with what I’m trying to do here. Let me dig into that approach and get back with an update next week. Thanks for the idea!

I'm pretty sure that works equivalently and I think it's a fine solution. Going to close with "has workaround"


feat(fogbender-element): improved simplewidget , fogbender provider and render functions

1: Improved the fogbender simple widget and  removed redundant code.
2: Implemented context and provider of component-register package and removed solid-js context and provider logic.
3: Util files changes ,  fixed render I frame and cleanup stuff.
4: Version update

None of the commits except for the first one work locally for me...


paperless-ngx: 2.7.2 -> 2.8.4

Description of changes
Release Notes:
https://github.com/paperless-ngx/paperless-ngx/releases/tag/v2.8.0
https://github.com/paperless-ngx/paperless-ngx/releases/tag/v2.8.1
https://github.com/paperless-ngx/paperless-ngx/releases/tag/v2.8.2
https://github.com/paperless-ngx/paperless-ngx/releases/tag/v2.8.3
https://github.com/paperless-ngx/paperless-ngx/releases/tag/v2.8.4
https://github.com/paperless-ngx/paperless-ngx/releases/tag/v2.8.5

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Currently the package doesn't build because of this test failure
_________________ TestDocumentApi.test_document_history_action _________________
[gw5] linux -- Python 3.11.9 /nix/store/lpi16513bai8kg2bd841745vzk72475x-python3-3.11.9/bin/python3.11

self = <documents.tests.test_api_documents.TestDocumentApi testMethod=test_document_history_action>

    def test_document_history_action(self):
        """
        GIVEN:
            - Document
        WHEN:
            - Document is updated
        THEN:
            - Audit log contains changes
        """
        doc = Document.objects.create(
            title="First title",
            checksum="123",
            mime_type="application/pdf",
        )
        self.client.force_login(user=self.user)
        self.client.patch(
            f"/api/documents/{doc.pk}/",
            {"title": "New title"},
            format="json",
        )

        response = self.client.get(f"/api/documents/{doc.pk}/history/")
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data), 2)
        self.assertEqual(response.data[0]["actor"]["id"], self.user.id)
        self.assertEqual(response.data[0]["action"], "update")
>       self.assertEqual(
            response.data[0]["changes"],
            {"title": ["First title", "New title"]},
        )
E       AssertionError: '{"title": ["First title", "New title"]}' != {'title': ['First title', 'New title']}

src/documents/tests/test_api_documents.py:345: AssertionError

I really don't understand why this fails this way. This is a new test, but it seems to succeed in the upstream pipeline? I didn't discover any dependency differences, but I also didn't check all of them (only the ones that made sense to me). Anyone has an idea?

The PR that added the test also updated django-auditlog to 3.0.0
https://github.com/paperless-ngx/paperless-ngx/pull/6388/files#diff-a86c67a0a29ed0e95909b9b7c420140f302d17399ee6dcce4e1a51a14d27fd51
I am trying to bump that

That fixes our paperless test but the tests for django-auditlog fail for some reason. I think it tries to match color codes.
Didn't have the time to debug that further.
django-auditlog> Creating test database for alias 'default'...
django-auditlog> System check identified no issues (0 silenced).
django-auditlog> ........FF...F...................................................................................................................................................................................................................
django-auditlog> ======================================================================
django-auditlog> FAIL: test_nothing_to_migrate (auditlog_tests.test_two_step_json_migration.AuditlogMigrateJsonTest.test_nothing_to_migrate)
django-auditlog> ----------------------------------------------------------------------
django-auditlog> Traceback (most recent call last):
django-auditlog>   File "/build/source/auditlog_tests/test_two_step_json_migration.py", line 56, in test_nothing_to_migrate
django-auditlog>     self.assertEqual(outbuf, msg)
django-auditlog> AssertionError: '\x1b[32;1mAll records have been migrated.\x1b[0m' != 'All records have been migrated.'
django-auditlog> - All records have been migrated.
django-auditlog> ? -------                               ----
django-auditlog> + All records have been migrated.
django-auditlog>
django-auditlog>
django-auditlog> ======================================================================
django-auditlog> FAIL: test_nothing_to_migrate_with_conf_true (auditlog_tests.test_two_step_json_migration.AuditlogMigrateJsonTest.test_nothing_to_migrate_with_conf_true)
django-auditlog> ----------------------------------------------------------------------
django-auditlog> Traceback (most recent call last):
django-auditlog>   File "/nix/store/czybdd31jfw5sr3p2j2mfqzhh8grbjq2-python3.11-django-4.2.11/lib/python3.11/site-packages/django/test/utils.py", line 461, in inner
django-auditlog>     return func(*args, **kwargs)
django-auditlog>            ^^^^^^^^^^^^^^^^^^^^^
django-auditlog>   File "/build/source/auditlog_tests/test_two_step_json_migration.py", line 67, in test_nothing_to_migrate_with_conf_true
django-auditlog>     self.assertEqual(outbuf, msg)
django-auditlog> AssertionError: '\x1b[32;1mAll records have been migrated.[96 chars]lse.' != 'All records have been migrated.\nYou can [62 chars]lse.'
django-auditlog> - All records have been migrated.
django-auditlog> ? -------                               ----
django-auditlog> + All records have been migrated.
django-auditlog> - You can now set AUDITLOG_USE_TEXT_CHANGES_IF_JSON_IS_NOT_PRESENT to False.?                 -------                                                ----
django-auditlog> + You can now set AUDITLOG_USE_TEXT_CHANGES_IF_JSON_IS_NOT_PRESENT to False.
django-auditlog>
django-auditlog> ======================================================================
django-auditlog> FAIL: test_using_django_with_error (auditlog_tests.test_two_step_json_migration.AuditlogMigrateJsonTest.test_using_django_with_error)
django-auditlog> ----------------------------------------------------------------------
django-auditlog> Traceback (most recent call last):
django-auditlog>   File "/build/source/auditlog_tests/test_two_step_json_migration.py", line 172, in test_using_django_with_error
django-auditlog>     self.assertEqual(msg, errbuf)
django-auditlog> AssertionError: 'ValueError was raised while converting th[85 chars][14]' != '\x1b[31;1mValueError was raised while con[102 chars]b[0m'
django-auditlog> - ValueError was raised while converting the logs with these ids into json.They where not be included in this migration batch.
django-auditlog> + ValueError was raised while converting the logs with these ids into json.They where not be included in this migration batch.
django-auditlog> ? +++++++
django-auditlog> - [14]+ [14]
django-auditlog>
django-auditlog> ----------------------------------------------------------------------
django-auditlog> Ran 225 tests in 2.591s
django-auditlog>
django-auditlog> FAILED (failures=3)
django-auditlog> Destroying test database for alias 'default'...
django-auditlog> 2024-05-15 13:39:28.728 UTC [347] LOG:  checkpoint starting: immediate force wait
django-auditlog> 2024-05-15 13:39:28.780 UTC [347] LOG:  checkpoint complete: wrote 927 buffers (5.7%); 1 WAL file(s) added, 0 removed, 0 recycled; write=0.011 s, sync=0.033 s, total=0.052 s; sync files=308, longest=0.001 s, average=0.001 s; distance=9964 kB, estimate=9964 kB

Fixed that by piping into cat and opened an upstream issue https://github.com/jazzband/django-auditlog/issues/644


[Feature Request] Support function calling for any open source models

Required prerequisites

[X] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
[ ] Consider asking first in a Discussion.

Motivation

constrained generation
one more step to convert content from model to function call content

Need more study for this
Solution
No response
Alternatives
No response
Additional context
No response

refs: https://ollama.com/blog/tool-support

close as finished by @Wendong-Fan


Fix problematic retransmission of authentication token

Should fix #343 and also fix #363. While taking a short look at the implementation, I was wondering if we are actually supposed to retransmit the authentication header. I took a short look at the API documentation, which reinforced my suspicion by not mentioning any authentication requirements. I therefore just tried to remove the headers from the request, and it worked according to my tests.
Note that the HTTP specification also suggests that you may not want to re-transmit the authentication header. Some google research suggested that you should only re-transmit the header if the target of the redirect is on the same domain.
https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4-6.2.1

I also created an alternative solution at #438. While the change is a bit larger, the resulting code looks better to me.

Hi @JojOatXGME, thanks for looking into this.
Yes, you are correct, the authentication header must be added only if the new download location has the same domain.
The #438 looks good to me.

I will close this one in favor of #438


Add an assert which makes sure that Skyline.Document can always round-trip to XML during functional tests

There are two new virtual properties on AbstractFunctionalTest:
public virtual bool VerifyDocumentSerializabilityAtEndOfTest { return true; }
public virtual bool ContinuouslyVerifyDocumentSerialization { return false; }

My hope is that one day we could make it so that those properties are both true for all tests, but, for now, I worry that "ContinuouslyVerifyDocumentSerialization" would slow down the entire test run too much, and there are two tests which fail if "VerifyDocumentSerializabilityAtEndOfTest" returns true.
When "VerifyDocumentSerializabilityAtEndOfTest", AssertEx.Serializable(SkylineWindow.Document)" gets called at the end of the test.
When ContinuouslyVerifyDocumentSerialization is true, the class "DocumentSerializableVerifier" listens for changes to SkylineWindow.Document and calls AssertEx.Serializable every time the document change.
In order to meaningfully compare the active document with one that has just been read from XML, I needed to add a method "SrmDocument.UnloadDocument" which puts all of the things which had to be read from other files (e.g. ChromatogramCache, Library, BackgroundProteome) back in the state that they would have been in right after the SrmDocument was deserialized.
The most important things that this assert is designed to catch are cases where the user might save their document and then be unable to open it after they exit Skyline. We have had a few of these in the wild, such as when "DocumentReader.ValidateSerializedVsCalculatedProductMz" tells them that the m/z that was written to the XML file was not what it should have been, or when the user is told that one of their peptides has a modification which is not in PeptideSettings.Modifications.
There are other less important things like places where the XML does not match our .xsd file, or where the original document has a string whose value is "" but when we round-trip it to XML that value changes to null.

Moved to my own fork: https://github.com/nickshulman/pwiz/pull/1


Extended search

Added query prefix for search.

You can add earliest/latest to search list this
# Create the Search
search = splunk.search("test_search earliest=-2h latest=-1h")


[demo] Animation toggling

Facebook currently use adaptive loading patterns to conditionally turn on or off animations, in particular for devices that are considered low-end. It would be useful for us to build a proof-of-concept of this for developers.
The demo should treat animation as a progressive enhancement. The core user-experience can fully function without animations applied, but on a higher-end device we will switch them on. Signals we may choose to use here can start off with memory and hardware concurrency. We may explore adding other signals in the future, but given we have Hooks authored for a good number of them, this shouldn't take too much additional work.
When we build out the demo, we should implement a simple Animation on/off toggle in order to give developers a convenient way to 'emulate' what the low-end experience would be. DevTools does not currently support emulating low-memory situations, so to avoid developers having to test on a real-phone, this seems like a reasonable debugging capability to add.
The animations we choose to show off should be obvious to the end user. Something simple and subtle may not be quite as impactful at showing how much less work this pattern enables, so we should select an animation that's just a little more advanced.
Looked through a few different examples. Two that I'm thinking of us trying out: https://next-motion.heruc.now.sh/ This is built using Next.js and has a tutorial for how it was built https://reacttricks.com/animating-next-page-transitions-with-framer-motion/. I'm wondering if using our Hooks and an HOC would give us the ability to turn off the animations when changing routes. It feels like it could be a little more real-world.
We did previously attempt to implement a version of this pattern, but decided the early demo we selected had an animation style that was far too subtle for developers to notice. We think the above might be a better fit.

Link to Glitch App
Link to Project on Glitch

cc @anton-karlovskiy

@addyosmani
I developed some demo based on your instructions.
Glitch Source

Link to Glitch App
Link to Project on Glitch
GITHUB
https://github.com/anton-karlovskiy/cna-memory-considerate-animation

Nice work, Anton! Looks great! Some feedback:

Perhaps we should simplify the UI to toggle animations on/off. E.g right
now we have to manually tick the checkbox and then turn on/off animations.
Should this just be the on/off toggle and remove the manual checkbox step?
I'm trying to remember what value the additional checkbox step offers... :)

Animation preference should probably persist across route navigations.
Right now if we disable navigations then click on a card, the first
interaction doesn't have animations, but if we navigate back a route (e.g
return to list) everything appears to reset (so animations return).

On Fri, Sep 27, 2019, 6:12 PM anton-karlovskiy<EMAIL_ADDRESS>wrote:

@addyosmani https://github.com/addyosmani
I developed some demo based on your instructions.
Glitch Source

Link to Glitch App
https://anton-karlovskiy-cna-memory-considerate-animation.glitch.me/
Link to Project on Glitch
https://glitch.com/~anton-karlovskiy-cna-memory-considerate-animation
GITHUB
https://github.com/anton-karlovskiy/cna-memory-considerate-animation

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChromeLabs/adaptive-loading/issues/48?email_source=notifications&email_token=AAA3C2JCQQZ5DZS3QKMPBF3QL2VRVA5CNFSM4I2GKJK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD72NF7Q#issuecomment-536138494,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA3C2IJNRG3Q2JAZ6YYOETQL2VRVANCNFSM4I2GKJKQ
.

@addyosmani

I think whether we provide the experience with animation or just simple experience without animation is supposed to be determined by memory status of the device i.e memory hook.
So the checkbox is unticked by default. In this case animation is determined by memory hook.
But if developers want to 'emulate' what the low-end experience would be, we should be able to determine animation manually by the toggler.

But just with the toggler, I just thought that memory hook might be totally overridden by the toggler.

@addyosmani

Yes, I think this is one of the problems we might face in using Next.js. As you know well, in Next.js, routing is done by pages so the state in the certain page(post list page) might be refreshed once we've navigated to another page(individual post page). So I think the solution to it is to implement the state in the _app.js which is the place on top of the pages. Let me update is like so.

@addyosmani
Perhaps we might have to update our hooks since browser APIs (e.g. window and navigator) are client side features so I think in Next.js it's error prone because the source is executed on the server side first where those client side features cannot be executed.
So we might have to put those logic using client side features inside componentDidMount lifecycle or somewhere. Now with React hooks, inside useEffect so that we can ensure those are run after the component is mounted on the browser.

So I think the solution to it is to implement the state in the _app.js (custom app) which is the place on top of the pages. Let me update is like so.

I would be very interested to see how far we could get this.

Perhaps we might have to update our hooks since browser APIs (e.g. window and navigator) are client side features so I think in Next.js it's error prone because the source is executed on the server side first where those client side features cannot be executed.

What if we detected when Next is executing on the server-side and use Client Hints for the signals there but if you are client side we rely on the JavaScript signals?

I would be very interested to see how far we could get this.
I resolved this problem using Context API and localStorage.
Here the reference URL: https://reacttricks.com/sharing-global-data-in-next-with-custom-app-and-usecontext-hook/

What if we detected when Next is executing on the server-side and use Client Hints for the signals there but if you are client side we rely on the JavaScript signals?

I think that would be the ideal approach in Next.js with both server side rendering and client side rendering.
As well, I think we should update all the hooks (minor changes) not to throw error when being executed in server side.
Here the reference URL: https://github.com/zeit/next.js/wiki/FAQ

@addyosmani
Please check the Glitch project again. It's updated regarding persistent state issue but not implemented the combination of Client Hints on server side and React Hooks on client side issue.

Hey Anton. I tested the latest PR and the experience appears to be working as I would expect. There's persistence of the animation toggle preference.
Could you take a few minutes to explain the implementation with some references to the lines you changed? Alternatively this could be done in PR.

@addyosmani
Hi Addy, yes for sure.
https://github.com/anton-karlovskiy/cna-memory-considerate-animation/commit/11927e868ce11efb8b8753f09d7c15b51cb69a17

@addyosmani

What if we detected when Next is executing on the server-side and use Client Hints for the signals there but if you are client side we rely on the JavaScript signals?
Please check the glitch app. It's updated.


Testing Procedure

This ticket is for setting up the user testing procedure:
Scenarios, questions and feedback.

@rafai can you upload what you wrote up last night? I'd like to contribute to it.

Overarching HOLO UI Questions:
What information do people want about their surroundings?
When do they want it?
How do they trigger getting that information?
Scenario:
We will test different versions of selecting items. One version is to automatically trigger the information to surface when hovering the reticle over an item for a very short amount of time. The other version will display a "focus” state when hovering the reticle over an item, then allow the user to manually trigger the information by "clicking” on a mouse.
Test and observe:

We might want to construct a test similar to A/B testing. Don't test two versions on the same people.
We want to find out how fast they are able to collect the information provided to them.
How many times does a user toggle back and forth between several items.
How long does a user stay on a single object in both scenarios?

Possible directions during test:

Example: which two objects will you need to restock on next? (potential spazz advantage)
Example: find the wasabi (or any small object). (potential click advantage)

Questions to ask after test procedure:

Was the information provided to you the information you wanted?
Would the information provided to you about each product enhance your experience at home? Would you want this in your fridge?
What other information do you want to see about objects in your fridge?

Lets put this on hold. Closing this for the time being.


Updated variable names

Fixes #
Proposed Changes

Updated variable name as I couldn't see myself in the contributor list

Sure @abhinavsri360, I was under the assumption that the build did not work due to the variable name not aligning with my username.

It has nothing to do with the username anyways :))

Exactly, I just realized that a bit later !


XState Activity doesn't start and stop javascipt interval timer

Bug or feature request?
This is a bug.
Description:
Having trouble in 4.2.1and 4.2.2 with an Machine activity called createInterval(). The activity starts a setInterval() Timer and returns a function containing clearInterval.The XState activity doesn't stop the interval when the state changes from "green" to "red" or the machine stops. The demos were done in Code Sand Box from the Chrome browser.
(Bug) Expected result:
When state changes the Machine is suppose to execute the function returned by the Activity, so the clearInterval() command should run and stop the timer.
(Bug) Actual result:
The clearInterval() never runs in the stop function of the Activity. Sometimes the interval never starts.
(Bug) Potential fix:
Not sure yet why it fails, but XState could add a feature to assert an error if an underlying JavaScript API
like the Timer fails to respond.
I also strongly encourage you to create a pull request if you are confident in the potential fix.
(Feature) Potential implementation:
Required! If you would like to see a feature or enhancement make its way to xstate, please describe:

What the API would look like
If this is a breaking change
If this is part of the existing SCXML specification

Link to reproduction or proof-of-concept:
Code Sandbox reproductions for XState 4.2.1 demo is here https://codesandbox.io/s/881lo21q32. 4.2.2 demo is https://codesandbox.io/s/4x575kojr9. This is demo without XState to show createInterval working https://codesandbox.io/s/4j6rkmq947, only works on Chrome apparently.

From the example you provided, it seems like the interval is successfully canceled, and everything is working as expected. Also, it immediately transitions to the next state, so we never see any of the interval executions (BEEPs).
I'll reopen this if you can make a simpler example demonstrating that it's not working, but from what I can tell, this is expected behavior.


Add a "local interface IP mode" to the AWS cloud provider.

One of my customers uses gostatsd in a configuration where each EC2 instance has a gostatsd instance colocated with a single application instance.  The application instance and gostatsd communicate with each other via UDP over the loopback interface.  In this scenario, the destination IP of the UDP datagram packets is <IP_ADDRESS>.
The current implementation of the AWS cloud provider looks up EC2 instance tags by using the destination addresses from the inbound UDP datagrams in the private-ip-address attribute of the filter on the DescribeInstances operation.  This approach breaks if the UDP datagram packets are not the private IP addresses of EC2 instances, particularly if they are local interface IP addresses like <IP_ADDRESS>.
This PR adds support for a "local interface IP mode".  It can be enabled by setting the local_ip_mode to allow in the cloud provider configuration.  In this mode, the AWS cloud provider will check the inbound IP addresses against a local IP "whitelist".  IP addresses which match will cause the cloud provider to locate instances by setting
the instance-id in the DescribeInstances filter to the instance ID returned
by the EC2 instance identity document.

Hi
I believe this approach is an anti-pattern. When running in a sidecar configuration like this (which is generally how we run it as well these days), the provider isn't needed as the tags can be looked up ahead of time and put in the configuration file.
By doing it ahead of time, it also allows the service owner to pick what actually matters from the available tags (ie, some tags don't add actual value, so shouldn't flow to metrics), and allows enforcing tags by refusing to run if they're absent.

Hi @tiedotguy, let me know if you have any comments on my comment above.

Hi @tiedotguy just checking in again.

Hi
I've done a bunch of thinking about this, because I don't like this solution, but I recognize it's a pain to add additional tooling to an instance to lookup tags on startup.  I'm not going to accept a change in to the cloud provider to treat localhost as special, specifically because it's turning something static in to a dynamic lookup - the cloud provider is for when hosts come and go.
As an alternate approach though, I'd accept a change which (on startup) looks up cloud tags and adds them to the static list (tag keys should be de-duped, with the cloud tag winning if there's a conflict with an existing static tag).  The config for this would be a list of cloud tag names, and what they map to.  As a hypothetical example (somewhere in the config file)
SERVICE_NAME: "service_id"
GROUP: "service_group"

Then if an ec2 instance has SERVICE_NAME=foo, the static tag list would have service_id:foo added to it (and if there's no GROUP tag, then nothing extra is added)
This provides three main benefits:

You can choose in config which tags you want
You can't request all tags
You can map tags between different standards (ie, "billing" vs metrics)

The reasons for 1 and 2 are that historically the automatic addition of tags has been a problem because it prevents the user from doing global aggregation, and so I believe adding tags should, to the extent possible, always be explicit.
Ideally this would use the existing cloud provider infra to look up the tags, so that future cloud providers (if any) work "for free".


Package published on the AUR

If you want to add a note, this has been published as interception-vimproved-git on the AUR. This issue can be closed.

@romgrk thank you for packaging and letting me know


Adding prep template data handler to REST api

This endpoint was required by the validate functions of the type plugins but was never added.

Changes Unknown when pulling 574f557770cb0a566c06785c1c47a831821818e9 on josenavas:add-prep-template-endpoint into ** on biocore:simplify-restAPI**.


Understanding the implementation with the paper

Hi,
I have been looking into Camera-to-BEV transformation, I am looking into the paper and implementation simulteniously (including LSS and BEVDet). Not really spot the point where the implementation is for this in this repo.
Wanted to use this thread to understand further implementation as well, so would request you to open for some time till i complete understanding the code and the paper :). Thanks.

Hi @VeeranjaneyuluToka,
You can trace the functions in this file to understand the implementation.
Best,
Haotian

Closed due to inactivity.