Cue Points from Sound Devices recorder are read, but return wrong frame

I am currently building something based on this project (and things are going quite well, thanks to good work). I noticed however that the cue_points() method doesn't seem to work as expected with the queue points that a SoundDevices MixPre-series recorder produces when the cue point button is pressed.
Expectation
Running cue_points() should return a Result<Vec<Cue>, ParserError> where Cue::frame reflects the Cue's position.
Problem
In the case of the Sound Devices file it returns a list of Cues in the correct length, however the value of the frame field is always zero.
Details
When I open the File in Izotope RX and save it works as expected. That prompts the question: What is actually different between the files?
 I deleted that part in the izotope.wav with a hexeditor and the result still came out right, so I assume this plays no role.
I spotted two differences which might have more impact here (pictured here, the first cue point):

Sound Devices starts counting with an ID of 0, iZotope with an ID of 1
Sound Devices leaves the value for Position at 0, iZotope fills it with the value both use in the Sample Offset field

The technical documentation linked in your Docs defines Position as:

The position specifies the sample offset associated with the cue point in terms of the sample's position in the final stream of samples generated by the play list. Said in another way, if a play list chunk is specified, the position value is equal to the sample number at which this cue point will occur during playback of the entire play list as defined by the play list's order. If no play list chunk is specified this value should be 0.

I can't find any plst chunk in the data, so iZotopes implementation is probably at fault here (or I just don't know enough about the matter). iZotope RX itself can read the Sound Devices cue chunks however, otherwise it would not be able to save them in their format. Because reliably reading cue points when they are there is probably the better option over not reading them because they don't fit the precisely defined format.
Cross checking
ffprobe has an option to list cues as well. When I run ffprobe -i sounddevices.wav -print_format json -show_chapters -loglevel error I get the following (expected) data:
{
    "chapters": [
        {
            "id": 0,
            "time_base": "1/44100",
            "start": 90112,
            "start_time": "2.043356",
            "end": 176128,
            "end_time": "3.993832"
        },
        {
            "id": 1,
            "time_base": "1/44100",
            "start": 176128,
            "start_time": "3.993832",
            "end": 237568,
            "end_time": "5.387029"
        },
        {
            "id": 2,
            "time_base": "1/44100",
            "start": 237568,
            "start_time": "5.387029",
            "end": 294912,
            "end_time": "6.687347"
        },
        {
            "id": 3,
            "time_base": "1/44100",
            "start": 294912,
            "start_time": "6.687347",
            "end": 380928,
            "end_time": "8.637823"
        },
        {
            "id": 4,
            "time_base": "1/44100",
            "start": 380928,
            "start_time": "8.637823",
            "end": 385024,
            "end_time": "8.730703"
        },
        {
            "id": 5,
            "time_base": "1/44100",
            "start": 385024,
            "start_time": "8.730703",
            "end": 452932,
            "end_time": "10.270567"
        }
    ]
}

Fix
Maybe changing this in cue.rs this would already fix it?
It is likely that I am too optimistic here though
            raw_cues.iter()
            .map(|i| {
                Cue {
                    //ident : i.cue_point_id,
                    frame : i.frame_offset, # <-- was i.frame,
                    length: {
                        raw_adtl.ltxt_for_cue_point(i.cue_point_id).first()
                        .filter(|x| x.purpose == FourCC::make(b"rgn "))
                        .map(|x| x.frame_length)
                    },
                    label: {
                        raw_adtl.labels_for_cue_point(i.cue_point_id).iter()
                            .map(|s| convert_to_cue_string(&s.text))
                            .next()
                    },
                    note : {
                        raw_adtl.notes_for_cue_point(i.cue_point_id).iter()
                            //.filter_map(|x| str::from_utf8(&x.text).ok())
                            .map(|s| convert_to_cue_string(&s.text))
                            .next()
                    }
                }
            }).collect()

I've implemented reading of the offset field in the cue metadata and added unit tests for the sounddevices file provided.


pango: Mark parameters to extents_to_pixels() as mutable

They're modified by the function.
Fixes https://github.com/gtk-rs/gtk-rs-core/issues/727

Looks good to me, thanks!


Pacco is the vNext of DNC-DShop?

Pacco is the vNext of DNC-DShop?

Yes, it's a different domain, cleaner architecture, better code, new patterns etc.


feat: Support unwrapping causes from errors

Goal
Including the contents of errors which are wrapped by later errors. When a new error is generated from an earlier error to add additional context, the nested error (and associated message and/or stack trace contents) is lost. This change attempts to fix this by attaching each unwrapped error as a cause.
Design
Any reported error which implements the following interface:
type errorWithCause interface {
    Cause() error
}

will have the cause included as a previous error in the resulting event. The cause information will be available on the Bugsnag dashboard and is available for inspection in callbacks on the errors.Error object.
Given the following error implementation:

Example error implementation
package main

import (
	"runtime"
)

type customErr struct {
	msg string
	cause error
	callers []uintptr
}

func newCustomErr(msg string, cause error) error {
	callers := make([]uintptr, 8)
	runtime.Callers(2, callers)
	return customErr {
		msg: msg,
		cause: cause,
		callers: callers,
	}
}

func (err customErr) Error() string {
	return err.msg
}

func (err customErr) Cause() error {
	return err.cause
}

func (err customErr) Callers() []uintptr {
	return err.callers
}

and example usage:

Sample app
package main

import (
	"net/http"
	"os"

	"github.com/bugsnag/bugsnag-go"
)

func main() {
	bugsnag.Configure(bugsnag.Configuration{APIKey: os.Getenv("BUGSNAG_API_KEY"})
	http.HandleFunc("/", handledError)
	http.ListenAndServe(":9001", bugsnag.Handler(nil))
}

func handledError(w http.ResponseWriter, r *http.Request) {
	messages := make(chan error)

	loadFile(messages, "nonexistent_file.txt")
	err := <-messages
	if err != nil {
		bugsnag.Notify(newCustomErr("incorrect permissions", err), r.Context())
	}
}

func loadFile(queue chan error, path string) error {
	go func() {
		_, err := os.Open(path)
		if err != nil {
			queue <- newCustomErr("file missing?", err)
		}
	}()

	return nil
}

After calling the default route of the app, the Bugsnag dashboard shows the initial and intermediate errors leading to the one which was reported.
Screenshots
Standard view:

Full trace:

Raw trace:

Changeset

Refactored newEvent to make the stacktrace parsing reusable
Refactored JSON marshaling to support reporting multiple exceptions
Added errors.Error.Cause - this is a pointer to an Error, only set if a cause was detected. The cause value is inspectable/modifiable from callback functions.

Testing

Added new tests for unwrapping errors with and without stack traces

FYI: As of Go 1.13 there already is a convention do exactly this kind of unwrapping -- the Unwrap method (instead of Cause).

Thanks, @kinbiko! No worries, I want to do something nice for Unwrap usage too, though I'm still working on a design point - there's no way using pkg/errors (nor stdlib errors, though it makes more sense) to get the message contents from the wrapper without the wrapped error, if you want to see the cause chain as a sequence. Made a playground to show what I mean, where there's no way to get "outer error" without making some assumptions about string replacements of the contents of wrapped errors mssages:
https://play.golang.org/p/DoyfwVCF7_a

Oh, this turned out to be a lot more nuanced than I originally thought...
I'm wondering if it's really worth doing all this work to avoid seeing some duplicated text in the "caused by chain", assuming that's the extent of the impact of using Unwrap() instead.
As a gopher, I'd expect (I'm used to seeing/thinking about) the chain to look something like:
outermost err: middle err: inner err
  caused by
middle err: inner err
  caused by
inner err

where wrapper errors contain the wrapped errors' error message. That's how I'd want it showing up in the dashboard. Now, that's my personal opinion, and this is a product question, and not for me to judge.
If the above is acceptable, then we avoid any confusion of having two very similar methods on errors, and users can use errors from the std lib without the need to implement custom errors, and get caused-by relationships for free. (pkg/errors is a bit naughty and double-bags their errors internally, as seen in the playground link @kattrali sent above, so the caused-by relationship we get for free there is a bit more confusing).
Right now it looks like we're implementing Unwrap() but calling it something else -- which is a bit frustrating since at a glance, we've done all the work, but until we implement Unwrap(), we don't get any of the errors.Is or errors.As benefits.
Take the above feedback with a boulder of salt, as I've already having implemented the Unwrap() approach elsewhere, without having to think about existing APIs.

I'm wondering if it's really worth doing all this work to avoid seeing some duplicated text in the "caused by chain", assuming that's the extent of the impact of using Unwrap() instead.

Yeah good point. Its largely semantic. The current implementation of Wrap()/%w is saying "give me the message (and stack) from this call site with all wrapped errors". It makes sense to me when Unwrap() may not be called by whatever is logging the errors to unpack nested data, but gets less clear when errors are being presented as structured data which can express separately which error happened and with individual messages/call stacks (especially when the messages are long).
Though I could just ignore the minor inconsistency and swap Cause() for Unwrap() since its easy to make your own implementation if needed. 🤔


#804 Move ArbitraryCause.scala and GenIO.scala to shared

Part of #804

Thanks for this contribution, and also: congratulations on your first ZIO pull request! 😄


short option can't works well in command 'fvc'

full option can works well, bug if i use short option, it show nothing.
(lldb) fvc -n=viewcontroller
(lldb) fvc --name=viewcontroller
0x7fd01a90f310 ViewController

@lianchengjiang Very sorry for the late reply. The short option expects a space, not an equal sign, before the argument.
For example:
(lldb) fvc -n viewcontroller

ok, thank you for your reply


cicking on timestamp publicly quotes whisper

example screenshot here
if i click on the timestamp of a whisper to me, i'm able to quote the post, essentially making the original post text public. perhaps clicking on the timestamp should autofill with whisper:username instead of quote:username-#?

PR up for this: https://github.com/Rotonde/rotonde-client/pull/60

good branch name


Feature/alice kf

Added new version of Kalman filter reconstruction based on ALICE code and methods. This is made to be be the standard version of the reconstruction, with old version still made available for testing using the fcl file "recojob_tpctrackfit2.fcl". Existing code was minimally modified. For a description of the algorithm refer to : Kalman Summary Presentation

I'm trying to build and test this but it seems a bit behind develop on compilers and versions.  I'll see if I can merge updates to build with e26 and c14.

Okay, no problem -- I figured out how to merge it into a clone of develop on my desktop computer so I can try compiling it.

It seems to be making vertices on both ends of tracks.  This may not be a bad thing, but users will have to select vertices when doing analysis.

I'm getting these messages from c14 (clang)
In file included from /home/trj/dune/app/users/trj/garsoft1/srcs/garsoft/RecoAlg/AliExternalTrackParam.cpp:38:
/home/trj/dune/app/users/trj/garsoft1/srcs/garsoft/RecoAlg/AliLog.h:32:17: error: declaration shadows a variable in the global namespace [-Werror,-Wshadow]
enum EType_t {kFatal = 0, kError, kWarning, kInfo, kDebug, kMaxType};
^
/cvmfs/larsoft.opensciencegrid.org/products/root/v6_26_06b/Linux64bit+3.10-2.17-c14-p3913-prof/include/TError.h:49:17: note: previous declaration is here
constexpr Int_t kFatal    =   6000;
^
In file included from /home/trj/dune/app/users/trj/garsoft1/srcs/garsoft/RecoAlg/AliExternalTrackParam.cpp:38:
/home/trj/dune/app/users/trj/garsoft1/srcs/garsoft/RecoAlg/AliLog.h:32:29: error: declaration shadows a variable in the global namespace [-Werror,-Wshadow]
enum EType_t {kFatal = 0, kError, kWarning, kInfo, kDebug, kMaxType};
^
/cvmfs/larsoft.opensciencegrid.org/products/root/v6_26_06b/Linux64bit+3.10-2.17-c14-p3913-prof/include/TError.h:46:17: note: previous declaration is here
constexpr Int_t kError    =   3000;
^
...


Hook up new subnet page to create action

What
Adds a create subnets action to POST to from the subnets/new page
Why
To create subnets
Screenshots
See https://github.com/ministryofjustice/staff-device-dns-dhcp-admin/pull/16 for interface
Notes
Presenting errors to the user will be added in a separate PR.

Nice


SSO review

PR: [when the PR is created, put a link to it here.  DO NOT use the "linked PR" feature]
User Test Scripts: [when there are user test scripts available link them here]

Cottage Labs team to review the existing SSO implementation and discuss the desired future SSO implementation.
This will involve ensuring that CL team members can use the SSO implementation in development / testing environments to support successful onward development.  Determine what is required to do this (e.g. Imperial user accounts)
Acceptance Criteria
List the criteria which must be met for the issue to be considered complete

A documented understanding of the Imperial SSO needs
User accounts and any other Imperial user infrastructure for CL team members
Successful use of SSO in dev/test environments

@cc-a to provide credentials for deployment
@Steven-Eardley @J4bbi update the deployment and review the oauth code


Create DNS records for replica instances

Hello.
I need to create DNS records for replica instances. I need to get name and IP adress for each replica. I want to use the data from outputs:
output "replicas_instance_first_ip_addresses" {
  value       = concat([for r in google_sql_database_instance.replicas : r.ip_address], [""])
  description = "The first IPv4 addresses of the addresses assigned for the replica instances"
}

output "replicas_instance_connection_names" {
  value       = concat([for r in google_sql_database_instance.replicas : r.connection_name], [""])
  description = "The connection names of the replica instances to be used in connection strings"
}

Then create a DNS record by using for_each.
But I can't find a proper way how to use concatenated output value of replicas_instance_connection_names and replicas_instance_first_ip_addresses.
Any ideas how to implement that? Much appreciate for the help.

The problem is actual, no answers yet.

Outputs are not working or don't know the way how to use them in a working way. The problem: with having couple of replicas, we have to create a DNS name for each replica. And I suppose it should be done by using for_each somehow. But I haven't found the correct approach.

This tutorial might help you to learn more about for_each: https://www.terraform.io/docs/language/meta-arguments/for_each.html

I used it during my trying to find a working solution.


[Docs]: Add redirections

Type
Improvement idea
What do you want to report?
Multiple pages on the product have links to the current docs. We need either to update production, or, more likely, add redirections to equivalent pages on the new docs.
We need a list of links from the app going to docs.semaphoreci.com to create the redirections and mappings
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Docusaurus has this plugin for redirection: https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-client-redirects
The plugin has thess warnings:

This plugin is always inactive in development and only active in production because it works on the build output.
It is better to use server-side redirects whenever possible. Before using this plugin, you should look if your hosting provider doesn't offer this feature.

Docs analytics for docs.semaphoreci.com
https://docs.google.com/spreadsheets/d/1ObkljcFlychxh6N1AU2hW7Pqzp9XyfUBINBznNkqhYs/edit?usp=sharing

We also need the current redirection rules from the old docs. We need this information for plan the final mapping rules.

This document has the redirection mappings: from the old to the new site:
Tab: mappings
https://docs.google.com/spreadsheets/d/1ObkljcFlychxh6N1AU2hW7Pqzp9XyfUBINBznNkqhYs/edit?gid=1176514415#gid=1176514415

Redirection rules updated to support trailing slash presence or absence.

The update broke the Algolia Crawler. There is not much debugging information. The main error:
SafeReindexingError: [v2-sxmoon] Blocking error:
  The difference between the number of records:
    from : 3.68k
    to   : 1
  is too large (100 %), this limit can be modified in the Editor (currently 10 %)

The first row is the new index, the second row is the old (previous to the change). The index is only getting one row after the change:

For some reason the cralwer is not moving past the home page:

After discussing with Alek, we'll try making reverting this lines from:
    location /?$ {
      try_files $uri $uri/index.html $uri/ =404;
    }

to:
 location / {
      try_files $uri $uri/index.html $uri/ =404;
    }

and seeing if that fixes it.


(feature) Specify custom field key for evaluation date time of scheduled rollout

Requirements
The scheduled rollout is evaluated against the current date time (code). We're planning to create a hidden feature so that QA can verify the behavior of features after (and before) the expected release date. Can we specify the field key so that we post the evaluation date for the scheduled flag to the go-feature-flag server?

Hello @itchyny
I am not sure I have well understood your need.
If you want to allow a feature for your QA you can use a targeting rule to specify them.
Something like:
my-new-feature:
  variations:
    enabled: true
    disabled: false
  targeting:
    - query: role eq "QA"
      variation: enabled
  defaultRule:
    variation: disabled

This will enable the feature only for the people with the role of QA in their evaluation context.
You can always have more specific rules if you prefer to work with a key.
If the activation of the feature has to be time-based, you can also modify the targeting rule at the same time.
Something like that:
my-new-feature:
  variations:
    enabled: true
    disabled: false
  targeting:
    - name: qa_testing_rule
      query: role eq "QA"
      variation: disabled
  defaultRule:
    variation: disabled
  scheduledRollout:
    - date: 2020-04-10T00:00:00.1+02:00
      targeting:
        - name: qa_testing_rule
          query: role eq "QA"
          variation: enabled

Here you can see that we have named the targeting rule to be able to modify it in the scheduledRollout.
And as you can see here, we are modifying only the rule applying to QA.

In that way, QA can verify that the feature will be released at that date time by testing just moments before and after the configured date time. Also the flag configuration needs branching by the roles, and QA cannot test that the scheduled date is properly configured for other roles.
I imagine that if we could configure the custom field key for the evaluation date time, QA can specify a hidden query parameter that will be posted to the goff server, and can make sure that the feature will surely the expected date time.
feature-a:
  variations:
    enabled: true
    disabled: false
  defaultRule:
    variation: disabled
  scheduledRollout:
    - date: 2020-04-10T01:00:00Z
      dateTimeKey: now
      defaultRule:
        variation: enabled

 $ curl -XPOST -H Content-Type:application/json -d '{"evaluationContext":{"key":"."}}' localhost:1031/v1/feature/feature-a/eval
{"trackEvents":true,"variationType":"disabled","failed":false,"version":"","reason":"STATIC","errorCode":"","value":false,"cacheable":true}
 $ curl -XPOST -H Content-Type:application/json -d '{"evaluationContext":{"key":".","now":"2020-04-10T00:59:59Z"}}' localhost:1031/v1/feature/feature-a/eval
{"trackEvents":true,"variationType":"disabled","failed":false,"version":"","reason":"STATIC","errorCode":"","value":false,"cacheable":true}
 $ curl -XPOST -H Content-Type:application/json -d '{"evaluationContext":{"key":".","now":"2020-04-10T01:00:00Z"}}' localhost:1031/v1/feature/feature-a/eval
{"trackEvents":true,"variationType":"enabled","failed":false,"version":"","reason":"STATIC","errorCode":"","value":true,"cacheable":true}

Sorry for the delay.
While I understand the solution, I am not sure to understand the problem you are trying to solve?
Are you trying to test the mechanism of the scheduled rollout? Or do you want to let your QA to test a specific variation?

If the date is miss-configured in the flag definition file, the feature will not be released on the expected date. If the app refers to different flag name by mistake, that also causes a problem. So the answer is, I would like to let QA test the entire system. I also investigated other feature flag systems; Unleash has currentTime (ref) and flagd has $flagd.timestamp (ref).

Ok this is an excellent idea and I understand better what you want to achieve.
Here is the idea I have in mind, let me know if it will solve your situation.
In the evaluation context, you can provide the current date as a UNIX timestamp.
Something like this (bellow a TS example):
const userContext = {
  targetingKey: '1d1b9238-2591-4a47-94cf-d2bc080892f1', // user unique identifier (mandatory)
  // ...
  gofeatureflag: {
    currentTimestamp: '1721201493'
  }
};

I propose to have a dedicated key in the evaluation context to specify gofeatureflag specifics to avoid mixing it with the potential property you want to put in it.
And on the relay-proxy we will use this timestamp as the now() time for everything related to dates.
@itchyny Is this proposal something that looks good to you?

Yes this RFC 3339 can work too, and this is maybe more aligned with what we have in the scheduled steps 👍

/assign-me

@itchyny I have opened a pull request for this #2127 if you want to look at it.
I plan to make it available it in the next release.

Thanks, I tested the branch and confirmed it worked with scheduled rollout! One small unintuitive behavior is the date field of scheduled rollout is exclusive; I posted the exact date time and the rollout is not applied.

Good to hear that this works as you want.
For the second part, I agree that it should work if it is on the same date, I will open another PR for that.


Add post: Recording trainee placement data

 Design History for Placements

Hi @simonwhatley is the best way to review/comment is looking at the page in https://deploy-preview-1112--bat-design-history.netlify.app/register-trainee-teachers/recording-trainee-placements-data/?
I'm wondering how I might be able to make a small content update by taking out this phrase ', over the past few years,' in the first sentence. Is it something you can do, or can I go in and do that myself? Will it tell you that's what I've done, or is the protocol that I list out updates in this comment box here?

Hi @simonwhatley I've pushed up a content change - can you check please?


[C++/Python] Windows unicode filenames

This was a bit of a doozy. I know much more about utf-16le encoding in Windows than I ever wanted to know.
Fixes #209

This is a real pain. If folks on the mingw side could kindly test this patch for R on Windows and possibly make amendments to get this working everywhere, that would be most helpful =) Maybe mingw handles UTF-8 properly, that would make things easier.

I'm going to merge this as soon as I get a green build. We can address the R testing / validation on Windows during the test process -- I don't have access to my Windows box for a week or more to test myself.


how i can use puppeteer get the chrome-devtools Network transferred and Finish

I want to get this picture selected values,but i can not ,Who can help me or give pointers with code

To get the page load time, see page.metrics(). See this stack overflow question for an example of how to use it.
Getting the amount of data transferred over the network is not so easy. See Issue #667 for more information.


terms display fix

per conversation with Justin:
hide terms only when staff agreed to terms for subject via manual entry mode
still display it in initial queries page

will combine this with other fixes.


Update app-service-api-apps-why-best-platform.md

Hi @mohitsriv, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (mohisri). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


⚠ Bofrost.at has degraded performance

In 88ac378, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1959 ms

Resolved: Bofrost.at performance has improved in ce00300 after 311 days, 4 hours, 33 minutes.


Increased NUMBER type buffer size

I faced the ORA-01406 fetched column value was truncated error when querying a column with a NUMBER type with many decimal digits.
That was solved by increasing the size of lp variable under C.SQLT_NUM.
What do you think?

Thank you


change module ver

I encountered a permission error with the current deno.json, so I upgraded the version using deno.json

No problem, here is the translation:
"changelog": "deno run --allow-read --allow-write<EMAIL_ADDRESS>

I committed changes to copy images from the upload folder during the build process because uploaded images via /admin were not accessible due to incorrect image paths. Are there other solutions?

Thanks, good catch!
Just one thing: can you move the copy("uploads") to plugins.ts file? It could be after this line.

thank you!

Thank you! it's solved.
Regarding another issue, it seems that the image Markdown format URL copying isn't working on my smartphone and my friend's Firefox browser when accessing:
<EMAIL_ADDRESS>If I can resolve it on my own, I'll report it in a separate repository. It works fine on Chromium.
thanks!


Fix relative video URLs

Why can't this simply be relative to the page like it comes from Franklin?


lessen restrictions on information that the extension sends/stores

Currently we heavily limit the type of data that can be sent. It would be nice to be able to lessen those restrictions some, to allow more testing.
Doug suggested that we could show the user the data that the extension has extracted, and let the user flush all (or some) of that data. I like giving the user a choice, so that might be a good option.
A longer-term option is to make the data storage secure.

Perhaps prompt the user in the popup before sending any data? They can make a choice at that point. If they choose to start arcs in the browser, at that point we'll also want to pull data from all the open tabs.
That also gives us a hook to bring the browser arc into the profile from the start, when the user takes that action.


Download of subfolder contains parent folder

When using this website to download the folder AikoMidori/SteamSkins/tree/main/Metro/Metro-JS/, the resulting zip has the structure of Metro/Metro-JS/, whereas I would expect it to just have Metro-JS in the root.
Is this intended behavior or a bug? If this is intended behavior, could there be some way to change this with an argument passed?

I don’t remember this being an issue, are you on Windows?

I don’t remember this being an issue, are you on Windows?

Yes, I'm on Windows 11 and the issue happens on both Firefox and Edge.

This works correctly on iOS, the ZIP file seems to contain the raw contents of the folder, 5 files:
* [download-directory.github.io/?url=https%3A%2F%2Fgithub.com%2Frefined-github%2Frefined-github%2Ftree%2Fmain%2Fsource%2Fgithub-events](https://download-directory.github.io/?url=https%3A%2F%2Fgithub.com%2Frefined-github%2Frefined-github%2Ftree%2Fmain%2Fsource%2Fgithub-events)

Yes, if I just put the folder link directly it has that behavior, but I do want the folder itself to be in the root of the zip file so I append / to the url.
For example:
https://download-directory.github.io/?url=https://github.com/AikoMidori/SteamSkins/tree/main/Metro produces a zip file that contains all of the files in the Metro folder in the root of the zip
https://download-directory.github.io/?url=https://github.com/AikoMidori/SteamSkins/tree/main/Metro/ produces a zip file that contains a Metro folder that then contains all of the files.
However https://download-directory.github.io/?url=https://github.com/AikoMidori/SteamSkins/tree/main/Metro/Metro-JS/ produces a zip file that contains Metro/Metro-JS

Heh, this is undefined behavior. The fact that it behaves differently is a big as both URLs point to the same resource. In both cases the result should be the one I showed earlier.
Changing the zip’s structure is out of scope as the zip is just the current vessel to “download a directory” and may change at any time. See for example #94

In my opinion the current behavior generally makes sense, with / indicating that you want the folder itself being included, but I'll just fork this and fix that issue myself then if this feature is not in the scope of this project.

@PhantomGamers feel free to send a PR to add a search parameter to toggle this line:
https://github.com/download-directory/download-directory.github.io/blob/406e9b7f1e3c1ae9106b1bad588ad94650e83d62/index.ts#L233
Something like: search.has('keep-path') ? file.path : file.path.replace(directory + '/', '')
It should also be documented in the readme

Perhaps:

path=full with your behavior
path=flat would match --junk-paths, storing the files without path information
the default is what we have currently


Client Telemetry : Implement Client Configuration API changes

Use Gateway Client Configuration API to get the Client Telemetry Status.

Covered in #3427


[BUG] Wrong handling of special folders on Windows

Info

Operating System: Windows 11 pro 23H2
Shell: PowerShell 7.4.1
Terminal: Windows Terminal 1.18.3181.0
nvim --version:

NVIM v0.9.5
Build type: RelWithDebInfo
LuaJIT 2.1.1703942320

fzf --version:

0.47.0 (98ee5e6) (WinGet)

fzf-lua configuration
require("fzf-lua").setup({
  file_icon_padding = " ",
  keymap = {
    builtin = {
      -- neovim `:tmap` mappings for the fzf win
      ["<F1>"] = "toggle-help",
      ["<F2>"] = "toggle-fullscreen",
      -- Only valid with the 'builtin' previewer
      ["<F3>"] = "toggle-preview-wrap",
      ["<F4>"] = "toggle-preview",
      -- Rotate preview clockwise/counter-clockwise
      ["<F5>"] = "toggle-preview-ccw",
      ["<F6>"] = "toggle-preview-cw",
      ["<C-d>"] = "preview-page-down",
      ["<C-u>"] = "preview-page-up",
    },
    fzf = {
      -- fzf '--bind=' options
      ["ctrl-z"] = "abort",
      ["ctrl-n"] = "unix-line-discard",
      ["ctrl-f"] = "half-page-down",
      ["ctrl-b"] = "half-page-up",
      ["ctrl-a"] = "beginning-of-line",
      ["ctrl-e"] = "end-of-line",
      -- Only valid with fzf previewers (bat/cat/git/etc)
      ["f3"] = "toggle-preview-wrap",
      ["f4"] = "toggle-preview",
      ["ctrl-d"] = "preview-page-down",
      ["ctrl-u"] = "preview-page-up",
    },
  },
  fzf_opts = {
    ["--cycle"] = true,
    ["--color"] = "bg+:-1",
  },
  previewers = {
    builtin = {
      syntax = true, -- preview syntax highlight?
      syntax_limit_l = 0, -- syntax limit (lines), 0=nolimit
      syntax_limit_b = 1024 * 1024, -- syntax limit (bytes), 0=nolimit
      limit_b = 1024 * 1024 * 10, -- preview limit (bytes), 0=nolimit
    },
  },
})

Description
On windows when theres a file inside a subfolder with a rare name like (website) or [id] the picker opens a empty buffer not correspondig with the actual content, it seems like the name of the folder gets concatenated with the parent folder.
https://github.com/ibhagwan/fzf-lua/assets/29936954/0348c954-30e5-4611-98df-b9dfeb19811e

Ty for the report @alanfzf,  this seems like a bug that wouldn’t be limited to Windows, I’ll check tomorrow and fix it.

I see, so this a issue on the neovim side?, i was able to find some similar issues on other plugins like [Telescope](https://github.com/nvim-telescope/telescope.nvim/issues/1303

@alanfzf came up with a relatively easy solution which is to "normalize" the path before opening it (i.e. replacing forward slashes with backslahes), neovim seems to like that more.

Just make sure to pull rebase as I force pushed typos in the comment :-)
https://github.com/ibhagwan/fzf-lua/commit/963749be811850178bd901fecab081492ba8f4d0


monthsVertical not working

Hi,
Thanks for this mm plugin. But it seems that monthsVertical: false doesnt work and I still get the months on vertical. I'm using the config from examples but changing this option. My config:
{
  module: 'MMM-Multimonth',
  position: 'bottom_bar', // can be any of the postions
  config: { // Optional - will default to 3 months, with one previous and one next, vertical orientation.
      startMonth: -1, // Define when you start from current month (negative is before current, zero is current, positive is in future)
      monthCount: 3, //  How many months to display - If Month Count is 1, Calendar will show previous and next month dates in empty spots.
      // See screenshots for examples of the following config items.
      monthsVertical: false, // Whether to arrange the months vertically (true) or horizontally (false).
      repeatWeekdaysVertical: false, // Whether to repeat the week days in each month in vertical mode. Ignored in horizontal mode.
      weekNumbers: false, // Whether to display the week numbers in front of each week.
      highlightWeekend: false, // Highlight Saturday and Sunday
    }
},

Temporary fix:
in CUSTOM.CSS
.MMM-Multimonth .calendar-vertical {
	flex-direction: column;
}
.MMM-Multimonth .calendar-horizontal {
	flex-direction: row;
}

I'm researching if I can get it to work like it used to. Seems some changes to css has occurred to make the old CSS fail.

Actually, it appears it's working like it used to with the change. I'm closing this, please update your module if you don't want to make the changes in custom.css - it's updated and ready to pull.


[FIX] Fix heredoc bad substitution

Not ready for merge yet!

The exit code when bad substitution happens (anywhere, not just in heredoc) is not correct yet.
Bad substitution does not set the exit code atm.
@LeaYeh What do you think, should the expander set the exit code, or whoever is calling the expander?


feat(examples): api-client tutorial made with StackBlitz TutorialKit

Description
running example of the current stage: https://stackblitz.com/github/shopware/frontends/tree/feat/api-client-tutorial/examples/api-client-tutorial
TODO:

[x] add more steps
[ ] cover admin api instance
[x] adjust styling
[x] move to examples
[x] fix it to be able to run via pnpm as well

Type of change

ToDo's

Screenshots (if applicable)

Additional context

I like this kind of tutorial :blue_heart: great work!
I have only one question :grin:
Can we embed this into our docs without redirecting to StackBlitz?
That would be awesome. :rocket:

I like this kind of tutorial 💙 great work!
I have only one question 😁 Can we embed this into our docs without redirecting to StackBlitz?
That would be awesome. 🚀

thanks! this is possible, but we would need to hack a vitepress router - and this is a little bigger thing to do.
the idea is to place a link to this tutorial in both README's: api-gen and api-client packages.


Partial support for QuTiP >= 5.0

Before this PR, we enforced the dependency on QuTiP < 5.0 because qt.QObj in versions > 5.0 does not have a native conversion to NumPy or JAX arrays, unlike in versions < 5.0. This limitation prevents qt.QObj objects from being used directly in all Dynamiqs functions. This PR lifts the dependency constraint because it breaks the installation with uv, although the original problem remains unresolved.
For native conversion support in QuTiP > 5.0, see https://github.com/qutip/qutip/pull/2533.
Related to https://linear.app/dynamiqs/issue/DYN-191/fix-compatibility-with-qutip-50.

Thanks to @gaspardbb for noticing this.

You also need to call this qobj_to_array function inside mesolve and sesolve, when calling jnp.asarray, otherwise it won't work I think.

Yes we'd need to call it everywhere we use jnp.asarray (thus most functions of the library, not just mesolve and sesolve). I'm proposing to wait to see if https://github.com/qutip/qutip/pull/2533 gets merged, otherwise we can write our own fix for the whole library. In the meantime, this PR fixes the installation with uv.


Misty World Portal generating in a very high place, above the top of the mist.

Okay so I did some poking around my Misty World in Creative Mode (thanks to folks who gave me that idea).  I've attached a pic with coordinates and stuff, the portal generated in at Y 128, which is pretty high up, no?  The mist doesn't reveal any land, either, not even at night, in ANY direction.  In creative, I went down below the mist.  there's land, allllll the way down, and none of the fog recedes at night.  If I can't touch the mist without dying, I don't see how I'm supposed to get the things which are in this world to make for the equipment that protects me from the mist.
I can't even figure out how to use soap which I cheated-in, to reset my contamination level. It doesn't want to work when I stand in water and rightclick :( This is frustrating.  Am I using it right? That's the only logical way I can figure to use an item.
I also tried closing down, deleting the DIM5 folder, and changing the mist config file, to give me a new seed, and none of that worked, probably did it about five or six times before I just called it quits. It's the same exact seed every time and I know this because I recognize the shape of the land on the minimap. Please help!

filter coal generates further up. Go along the cliffs biome to mine some, then you can make the equipment you need to go into the mist fully

There is no land, ANYWHERE, above the fog. That is the problem.

That seems like just a really bad spawn. The y coordinate is correct. You spawn at higher elevations in the misty world. There are massive "seas" of fog so maybe your portal came out in the middle of one? For science try flying out a bit, the land there spawns as "islands" of biome types so I could totally see your situation happening.

https://docs.google.com/document/d/17RVXOlnm5acTDLpJ9rf8pnLdXRQVUNiJJvr9MXkzcAQ/edit?usp=sharing
that is the collected wisdom of the discord channel on how to fix this issue. Unfortunately the technical fix described on the mod's curse page is currently not implemented in the mod, so this is all we have.

A workaround for this was included in 0.9.6 with the Rift summon recipe. Unfortunately not much else can be done


add text "my change" in article

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

add text "my change" to article


Repos only get cloned kind. Not a Mirror which shows on gitlab

Hi,
Gitmirror I can get repos in a folder named repository, But nothing on Gitlab UI of Mirror Server.
Repos only get cloned kind. Not a Mirror which shows on gitlab. Is there any step i am missing or this feature is not present ?

GitLab does not support mirrors.  I wrote these set of shell scripts because of that.  I also recommend ensuring that the projects which are mirrored are read only for anyone except for the account pushing.
These scripts update the description of the project stating that it's a mirror.

Gitlab does support mirror now as of 8.3?  I uses background workers to mirror from just about any kind of git VCS host.  However, there are cases where these scripts are still useful.

behind a firewall or no internet on the gitlab system
bulk importing of many projects

Ah, I was not aware; thanks for the update.  I haven't used GitLab in a couple years now.  I'll have to look at it again :-)

@logicminds
Hi, gitlab Community edition Still don't have, its only in enterprise edition.  Please correct me if i am wrong.

Since this appears to be an enterprise-only feature I don't see it being implemented any time soon.  However, if someone would like to implement this so it supports EE and CE without issues then I'd be open to merging the change.
For now, I'll just close this. Contributions are still welcome down the line.


Improve boot up speed

The boot up speed is quite slow as there're more and more modules. Currently, My emacs takes about haft a minute just to boot up, so there should be some method to improve the bootup speed.
Maybe https://github.com/jwiegley/use-package is a good reference.

You could use the --daemon option

@Plypy Yeah I know that. I put a alias ecc=emacsclient -c to my .bashrc file

What do you think about use-package? One of its purposes is to improve performance.

Hey, @xuchunyang :
Thanks for you suggestion. I've checked use-package and I think it is not a good choice for oh-my-emacs right now.

oh-my-emacs is built on top of el-get while use-package is built on top of melpa.
Generally, el-get provide ready-to-use info docs for its packages when available, while elpa just copy existing emacs lisp code to specified directory.
Uses can make their own recipes in el-get quite easily.

The boot up speed of emacs is always a problem for a long time in emacs community, that's why oh-my-emacs provide core features and optional modules.
Today I've figured out a simple idea to improve oh-my-emacs boot up speed further more.

Disable all modules when boot up for the first time.
When user open a file, say a ruby file for the first time, do (ome-load "modules/ome-ruby"), load when necessary, something like lazy evaluation.


Add padding on input fields

We should add some padding on input fields.

could be fixed together with #36

Done!


Revert "change dictionary.txt"

Reverts LukenSkyne/Svelte-Caster#1
Hello, I have now put the emojis to the commits, you can do the revert and another pull request
So the commits can be in line with the gitmoji guide

Sure, please open a new pull request with your latest changes.


bug: SVG's SMIL animations (, , etc.) are deprecated and will be removed.

Type: bug
Platform: all
On every page I'm getting this alert message on Chrome using driftyco/ionic-bower#1.1.0
SVG's SMIL animations (, , etc.) are deprecated and will be removed. Please use CSS
animations or Web animations instead.
at ionic.bundle.js:12005
and after I click somewhere I also obtain:
'webkitMovementX' is deprecated. Please use 'movementX' instead.
at ionic.bundle.js:1162
'webkitMovementY' is deprecated. Please use 'movementY' instead.
at ionic.bundle.js:1162

Greetings @fairsayan!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

I got the same issues, how to fix it?

This just started happening to me as well, any idea as to what is causing this? I haven't made any changes to ionic.bundle.js so I'm unsure what would cause this suddenly

+1, Yes. for ionic version: 1.1.0 and cordova 5.2.0

Got same issue. Ionic version 1.0.0

Is it because of new updated version of Google Chrome version ?

I don't believe so, I'm still getting errors when I run an emulator and check the console log

Duplicate of  #4259
Moving conversation of there.

我也碰到这样的问题，有没有人知道怎么解决呢？

mhartington I can not see any solution on #4316, #4259,
SO
whats is the solution for:
SVG's SMIL animations (, , etc.) are deprecated and will be removed. Please use CSS animations or Web animations instead.
'webkitMovementX' is deprecated. Please use 'movementX' instead. ionic.bundle.js:1162
'webkitMovementY' is deprecated. Please use 'movementY' instead. ionic.bundle.js:1162


Crash on launch on Arch Linux (libspdlog.so)

I have not upgraded spdlog or waybar lately but after my latest upgrade waybar appears to crash, with this error:
waybar: symbol lookup error: /usr/lib/libspdlog.so.1: undefined symbol: _ZN3fmt2v76detail10vformat_toIcEENS0_20basic_format_contextISt20back_insert_iteratorINS1_6bufferIT_EEES6_E8iteratorERS7_NS0_17basic_string_viewIS6_EENS0_17basic_format_argsINS3_IS4_INS5_INS0_13type_identityIS6_E4typeEEEESH_EEEE

Here are the packages I've upgraded since last time waybar worked, i'll be investigating them:
[2020-10-27T18:23:21+0100] [ALPM] upgraded fmt (7.0.3-1 -> 7.1.0-1)
[2020-10-27T18:23:21+0100] [ALPM] upgraded gstreamer (1.18.0-1 -> 1.18.1-1)
[2020-10-27T18:23:21+0100] [ALPM] upgraded gst-plugins-base-libs (1.18.0-1 -> 1.18.1-1)
[2020-10-27T18:23:21+0100] [ALPM] upgraded libass (0.14.0-2 -> 0.15.0-2)
[2020-10-27T18:23:21+0100] [ALPM] upgraded libbluray (1.2.0-3 -> 1.2.1-1)
[2020-10-27T18:23:21+0100] [ALPM] upgraded libnewt (0.52.21-3 -> 0.52.21-4)
[2020-10-27T18:23:21+0100] [ALPM] upgraded libva (2.9.0-1 -> 2.9.1-1)
[2020-10-27T18:23:22+0100] [ALPM] upgraded npm (6.14.8-1 -> 6.14.8-2)

Waybar 0.9.4

Well, that was fast, it's fmt, downgrading to fmt:7.0.3-1 fixed it.
Is this a fmt bug or a waybar one?

fmt apparently: https://github.com/fmtlib/fmt/issues/1961

This isn't a waybar bug so I'm closing this, discussion of the bug should be in that fmt thread :)


broken UI (nexus 4 - ffos2.5)

see https://lut.im/pVRhtuybLc/Q5cRZAmaYcD8FqZK

same issue with a flame (<IP_ADDRESS>-prerelease) :

After some research, found out this is a bug in Firefox OS developer mode.Please set the dom.webcompinents.enable flag to false (e.g. Using webide / device preferences).More soon.wallabag/wallabag-fxos schrieb:same issue with a flame (<IP_ADDRESS>-prerelease) :
—Reply to this email directly or view it on GitHub.
Sent from my tiny mobile computer.

Same issue for me on 2.6 (phone and simulator).
There is no dom.webcompinents.enable when I search in WebIDE. Creating one does nothing.

Most commonly folks misunderstand the difference between settings and preferences. For this bug, you want the preference called dom.webcompinents.enable set to false.

Indeed I did it in settings and not preferences. But on WebIDE the device preferences is grayed - I can't access to it.
Any special thing to do ?

I'm afraid changing preferences is only available in full developer mode. Enabling it might will wipe your device, if you're on a production (i.e., non-debug) build.
:|

I'll announce more details later this week, but I intend to stop working on wallabag-fxos alltogether soon. If you intend to fix this bug or discuss workarounds, please do so in #3, as this is a duplicate issue.
Thanks for using wallabag-fxos! :)

I'm afraid changing preferences is only available in full developer mode.
Oh... sad new. So in fact I just can use it on a dev' or test phone, and not one connected to the Internet and used daily...
Is there a way to rewrite the UI stuff to get rid of this issue ?
Or do you have more information about this problem, for instance if it's a web component bug, or related to a part of the app which can be changed to not use it ?
Thx


add back trace_id param

@huang-cn does the trace_id works now? I found when trace_add was added, there is usually no generations as well.


Fixes that the settings system crashes on an empty or missing settings file

Fixes #2073.

Current coverage is 96.79% (diff: 76.92%)

Merging #2186 into master will decrease coverage by <.01%

@@             master      #2186   diff @@
==========================================
  Files           575        575
  Lines         77775      77788    +13
  Methods        3388       3388
  Messages          0          0
  Branches       3006       3008     +2
==========================================
+ Hits          75283      75293    +10
- Misses         1658       1660     +2
- Partials        834        835     +1

Powered by Codecov. Last update 4457e16...62ba4fe

Can you verify that SA0002 gets reported in this scenario as well?

I added a test. I hope this solution is okay because otherwise I would probably have to do a lot of changes to the test system to test an empty string as the settings file. But this does not make any difference for the thing we try to test.

:+1:


Feature request: Ollama as an API option

First of all, thanks for the truly excellent tool! mods has become an indispensable part of my life on the CLI.
This is a humble feature request:
Provide an option to use ollama as an API, as in the following example:
mods --api ollama --model llama2:latest "Why is the sky blue?"

Ollama provides a REST API, see their docs here.
An example API call:
curl http://localhost:11434/api/generate -d '{
  "model": "llama2",
  "prompt":"Why is the sky blue?"
}'

Following, would be nice to have it built-in.
Meanwhile, it has been suggested at an ollama issue that the litellm proxy may be used as a translation between opanai format and ollama, e.g. with
litellm --model ollama/llama2 \
    --api_base http://localhost:11434 \
    --host "<IP_ADDRESS>" --telemetry False \
    --temperature 0.3 --max_tokens 2048

with mods --settings yml's e.g. localai section replaced with
base-url: http://localhost:8000
    api-key: "IGNORED"
    models:
      llama2:
        aliases: ["local"]
        max-input-chars: 12250
        fallback:

Wrapped up Ollama/litellm/mods config together in one script. See: https://github.com/yeahdongcn/MacAI/blob/main/start.sh

https://github.com/ollama/ollama/releases/tag/v0.1.24 ollama have added  OpenAI Compatibility

Ollama works now that it has the OpenAI api compatibility.
Example:
  ollama:
    base-url: http://localhost:11434/v1
    api-key-env: NA
    models:
      "codellama:7b":
        max-input-chars: 4000

then mods -m codellama:7b works

The next version of ollama will support their messaging API. As well as support for anthropic based models.

ollama support was added on main
will close, please reopen if needed.


Possible module for generating data acquisition report

I brought this up in the pybids channel on the Brainhack Slack team, and it seemed like something that might be worth incorporating into pybids (e.g., @tyarkoni recommended adding a top-level reporting module). The idea is to use the information in the BIDS dataset’s json and nifti files to write up the data acquisition portion of a methods section. I wrote something to do this a while ago (here are the functions and a notebook with an example), but it isn’t very flexible and I’ve only tested it on one dataset.
Anyway, I’ve been working on this in my fork, but wanted to discuss the idea (and possible implementation) here in more detail.

Merged in #100.


Replacement for old XML API

The deprecated XML API recently stopped working. However, we have an application that processes this "full dump" that was available via the XML API. The JSON API has no means of providing this full dump of everything (this might be intentional).
However, I would still like to ask if it is possible to add an API endpoint that dumps everything as the XML API did (in JSON format of course).
May I suggest that calling GET on https://sls.api.stw-on.de/v1 (without a location) returns the full dump as the XML API did? As this data set would have multiple hundreds of kilobytes, it would also be fine if a more severe rate limiting is imposed here.

Hi Yannic, thanks for the suggestion. :)
There's now an endpoint available at https://sls.api.stw-on.de/v1/meals


model quantize bad encodec

hi there, i'm not pretty sure if it a bug or i missed something in my quantization process but this is the result i have running the q4_0 model

this the code line i made for quantization

this is the running line

thank you for the project, it is really great and saves a lot of work!

Hello @Gabri94x ! Actually encodec.cpp is not quantized due to the minor gains it brings to this model. I'll have a look at the quantization for bark to make sure it works.

Yea I'm getting the same issue as well. It seems to occur with all quantization types, like q4_1, q8_0, etc.

Hello all! This should be fixed in #176 . Could you try again and let me know?

seems to be working now! now just new issues to address, like that the quantized models are slower than regular model. can probably close this issue now tho.

Ok thanks for confirming :)


bug：Three spaces indent before code blocks, comments become Outline

Three spaces indent before code blocks, bug appears, comments become Outline

1.5.11 fixed it.


gitlens in sidebar disappeared

GitLens Version: v11.0.0
Git Version: 2.9.5

VSCode Version: 1.51.1
Node.js Version: 12.14.1
OS Version: Catalina 10.15.7

Steps to Reproduce:

gitlens extension was enabled but did not show in sidebar

after downgrade to v10.2.3，icon on sidebar appears.

GitLens 11 moves all views to the Source Control side bar by default. You can move them back to the GitLens side bar via the Set Views Layout (gitlens.setViewsLayout) command or individually via drag and drop

gitlens.setViewsLayout  How do you do that? Can you be a little bit more specific

Type Set Views Layout in the Command Palette (ctrl+shift+p)

think you very much


Code from the example break labeled item list

Hi,
A tiny change to maybe saves some time to someone.
If you copy-paste code from this example, it break the label/value pair item type.

Please take a look at the API docs
text in the replace() function is supposed to be a string, not an input.
So, this change would actually break many more cases.

I based this on the REPLACE function of the code base which use this.input.value = text.value;


Consistent UI Flickering in 4.0.1

OS:
Windows 10
Issue Descriptions:
Most UI elements flicker like my mouse is moving to parts of the screen where it is not, examples attached:
https://gyazo.com/92dee974ad89a8c62b3ff5ac3ecf8179
https://gyazo.com/89d846f3fedf6e3fb56010f7d921df9e
Steps to Reproduce:
Not sure if I'm the only one having this issue but no steps aside from opening GPMDP are required, this has been a persistent issue for a while now.

Duplicate #1777

Out of interest through.  Touchscreen or no touchscreen?

No touchscreen, I looked over #1777 and the issue he describes sounded somewhat different, did he ever post any video of the issue?

Never mind I see the similarity in the comments now, I'll try and follow that thread for a solution.
Thanks


Remove the socket connection manager buttons on the frontend

What
The connect code has the connection manager buttons ('connect', 'disconnect'). These buttons and any related code needs to be removed
NOTE: do not remove the ability for the browser to open and connect to the websocket connection. Only remove the buttons and any related unneeded code

I want this one

This was boilerplate code from socketio react example. We can safely remove the connectionManager.tsx and any references.
I dont see a use case for a user to manually disconnect/connect to the socket. Instead, the user will join the room when they open the /:room and leave when they close the app.

can be closed


[Feature Request] Improved Support for Pull to Refresh

Is your feature request related to a problem? Please describe.
The documentation states "Another good use case for fresh() is when a user wants to pull to refresh." While this is correct, there is a drawback to using fresh() for pull to refresh events: We don't get the Loading or Error states from the StoreResponse. This may mean implementing additional logic around showing the user the loading state or error state in the UI when using both stream(), for the primary flow of data, and fresh() for the pull to refresh event.
Describe the solution you'd like
I created the following extensions to be used in a pull refresh scenario and have found they work well. Since pull to refresh is common, perhaps these would be good to integrate into Store somehow?
/**
 * Use to trigger a network refresh for your Store. An example use-case is for pull to refresh functionality.
 * This is best used in conjunction with `Flow.collectRefreshFlow` to prevent this returned Flow from living
 * on longer than necessary and conflicting with your primary Store Flow.
 */
fun <Key : Any, Output : Any> Store<Key, Output>.refreshFlow(key: Key) = stream(StoreRequest.fresh(key))

/**
 * Helper to observe the loading state of a Store refresh call triggered via `Store.refreshFlow`. This Flow will
 * automatically be cancelled after the refresh is successful or has an error.
 *
 * @param checkLoadingState Lambda providing the current StoreResponse for the refresh (Loading, Error, or Data) allowing
 * you to decide when to show/hide your loading indicator.
 */
suspend fun <T> Flow<StoreResponse<T>>.collectRefreshFlow(checkLoadingState: suspend (StoreResponse<T>) -> Unit) {
    onEach { storeResponse ->
        checkLoadingState(storeResponse)
    }.first { storeResponse ->
        storeResponse.isData() || storeResponse.isError()
    }
}

Examples of the solution in use
Below is an example of how refreshFlow is used alongside the main flow:
fun getUserDataFlow(): Flow<StoreResponse<List<UserData>>> {
   return myStore.stream(StoreRequest.cached(Key("123"), refresh = true))
}

fun refreshUserDataFlow(): Flow<StoreResponse<List<UserData>>> {
   return myStore.refreshFlow(Key("123"))
}

And finally an example of how collectRefreshFlow is used in a ViewModel alongside the main flow:
class MyViewModel {
   val userDataLiveData = userRepository.getUserDataFlow()
      .onEach { storeResponse ->
            setLoadingSpinnerVisibility(storeResponse)
            setEmptyStateVisibility(storeResponse)
       }
       .filterIsInstance<StoreResponse.Data<List<UserData>>>()
       .mapLatest { storeResponse ->
            storeResponse.dataOrNull() ?: emptyList()
       }
       .flowOn(Dispatchers.IO)
       .asLiveData().distinctUntilChanged()
   }

   fun onRetryLoadUserData() = viewModelScope.launch {
      if (networkIsConnected()) {
         userRepository.refreshUserDataFlow()
            .collectRefreshFlow { storeResponse -> setLoadingSpinnerVisibility(storeResponse) }
      }
   }
}

Additional context
I feel these two extensions provide more power/flexibility in the pull to refresh scenario than simply calling the suspending fresh() method. Does it seem like these or something similar could fit into the Store API?

Does look like a nice api. I'd love to hear other's thoughts. Since this is additive maybe we should have a recipe? This would give us more flexibility with not having to support this api forever while still sharing with others

I actually thought we would write a helper class for this, never get around to finalize it.
The thing i was thinking was more like a helper object that encapsulates the behavior.
Something like this:
class UIRequest(
    val key: Key
) {
   private val requests = ConflatedBroadcastChannel<StoreRequest>(StoreRequest.cached(key = key, refresh = true))
   fun refresh() {
      requests.offer(StoreRequest.fresh(key))
   }
  val stream : Flow<StoreResponse<Key, Value> = refreshRequest.asFlow().flatMapLatest {
       store.stream(it)
  }
}

The problem with the implementation above is that it will NOT reflect any further local change if the network request for refresh fails which is not great. But if desired (usually is), it can be handled w/ a little modification in the steam
class UIRequest(
    val key: Key
) {
   private val requests = ConflatedBroadcastChannel<Boolean>(true)
   fun refresh() {
      requests.offer(true)
   }
  val stream : Flow<StoreResponse<Key, Value> = refreshRequest.asFlow().flatMapLatest {
       store.stream(StoreRequest.cached(key, refresh = it))
  }
}

Now this one has the downside of re-emitting the latest value. Right now, if a fresh request's network request fails, we don't emit any further values. We might either make a flag for that (fallbackToDiskOnError) which might actually make sense (thinking out loud here), or we can change that helper to handle that and re-connect a cached read if a Error is dispatched.
Thoughts ?

Right now, if a fresh request's network request fails, we don't emit any further values. We might either make a flag for that (fallbackToDiskOnError)

Was running into this exact issue yesterday when trying to implement an extension that supports conditionally using fresh() / cached() request based on a lambda user passes in.
I’d love to have a fallbackToDiskOnError flag for the fresh() request, although I’d also like the UI to be notified of the failed fetch after displaying the fallback data from cache e.g. showing a snackbar. Perhaps in that case it can emit a Data response with cached data, followed by an Error response with origin = Fetcher, then continue to stream changes from sourceOfTruth? Or can we model this with a single Error response with the data field populated with cache fallback? Neither feels intuitive with the current StoreResponse API though...

Your UI will still know if we add fallback as your client will receive:
StoreResponse.Loading(origin = Fetcher...)
StoreResponse.Error(origin = Fetcher...)
// maybe cache, i'm not sure but should probably also include cache, almost definitely :dancer:
StoreResponse.Data(origin = Persister)

do you think it is not enough?

It could work for "swipe to refresh" when the UI is already displaying data.
For my case though I want to start streaming with a StoreRequest.fresh(fallbackToDiskOnError = true) at the start. Problem with the Loading, Error, Data sequence is when I receive the Error I don't know whether an incoming Data(origin = Persister will be emitted immediately after it so I don't know whether to show a prominent error state (with a retry button in the middle), or display a transient error message (snackbar) and wait for the upcoming data from persister.
In general I'd like to use a separate stream for handling transient events such as the Error(origin = Fetcher) in this case instead of turning it into a permanent "Error" state which will be cached and re-emitted as the latest state after config change. This is why I don't like the Loading, Error, Data sequence as we'll need to keep track of the previous emission to decide what the right current state should be.

My current solution is to stream StoreRequest.cached(key, refresh = true) as the main flow, and use suspend fun Store<Key, Output>.fresh(key: Key) to trigger a fetch for swipe to refresh and rely on the multicaster to emit new data through the main flow.
With this approach the InFlight / Error states need to be managed manually in the ViewModel / StateMachine beyond the initial request, but this is not that big of a deal when you need to do this anyway to merge multiple streams of data sources into UI states.

I think introducing a new API for this is a bandage fix. I think its commonly expected that the .fresh() method itself should trigger the Store emitting a StoreResponse.Loading.

@digitalbuddha @NahroTo
I was surprised when discovered that stream() does not emit Loading and Error for subsequent calls of fresh(). Is not it more handy behaviour?

I also agree with @NahroTo and @aartikov that I would expect subsequent loading states to be also emitted. Paraphrasing StreamWithoutSourceOfTruthTest, I would expect:
    @Test
    fun streamWithoutMultipleLoads() = testScope.runBlockingTest {
        val fetcher = FakeFetcher(3 to "three-1", 3 to "three-2")

        val pipeline = StoreBuilder.from(fetcher).scope(testScope).build()

        val twoItemsNoRefresh = async {
            pipeline.stream(
                StoreRequest.cached(3, refresh = false)
            ).take(4).toList()
        }

        delay(1_000) // make sure the async block starts first
        pipeline.fresh(3)

        assertThat(twoItemsNoRefresh.await()).containsExactly(
            StoreResponse.Loading(origin = ResponseOrigin.Fetcher),
            StoreResponse.Data(
                value = "three-1",
                origin = ResponseOrigin.Fetcher
            ),
            StoreResponse.Loading(origin = ResponseOrigin.Fetcher), // this is not present currently
            StoreResponse.Data(
                value = "three-2",
                origin = ResponseOrigin.Fetcher
            )
        )
    }

Currently there is no 2nd Loading in the stream.
PS @aartikov: In my testing (on 4.0.0-alpha07), I am only missing Loading state. So if there is an error, with 2 fetch calls, I see a stream of Loading, Exception, Exception

@ghus-raba
After some experiments I found out, that second Error is missing when a store has SourceOfTruth.
Here is my test https://gist.github.com/aartikov/34f1413c9bb8d3b548730b668dbfbd5d
@digitalbuddha
Is it an expected behaviour?

hmm that does look like a bug but need to debug further why the second error is not showing, it should show up in the stream.

ok I debugged it, what is going on is that it is a one off fetcher so when the first stream receives an error, it does not have any reason to keep listening for more, it falls back to Source of truth.
We enable piggyback on server responses only if there is no source of truth. I'm not sharp enough to remember why we did it that way.
https://github.com/dropbox/Store/blob/main/store/src/main/java/com/dropbox/android/external/store4/impl/FetcherController.kt#L63
I've tried always enabling it which does fix this test and does not fail any other test but i'm not 100% sure why we did it this way so not feeling very comfortable to make the change. (also, you still won't get another loading)
The right solution might be just creating the helper class that'll do this properly (a stream of refresh triggers).
Something like:
val refreshTrigger = MutableStateFlow(0)
val data = refreshTrigger.flatMap {
    store.stream(...)
}
fun refresh() = refreshTrigger.value += 1

Thanks for the tips for the helper @yigit (both https://github.com/dropbox/Store/issues/124#issuecomment-599124957 and https://github.com/dropbox/Store/issues/124#issuecomment-691535295). I checked it out and found a few drawbacks in these implementations:

It only notifies of the subsequent Loading if it was triggered via refresh(), but not via underlying store
It only supports requests with refresh == true -> not too hard to add by changing to fun stream(refresh: Boolean): Flow<StoreResponse<Key, Value>
It repeats cached value after refresh, as you mentioned -> I managed to filter the subsequent caches out, but the initial code is a bit messy (probably could be improved)
It only supports a single key -> it is probably enough for the pull-to-refresh scenario, but it would be nice to also support stream of states per key (which is already supported by store.stream(...))
Not entirely sure, but from the looks of it, I would say, that there might be some issues when subscribing to the stream after the loading started, but before the data is delivered.

That being said, such helper class would be helpful, but I would prefer it to be provided by this library as opposed to trying to write it myself in every project.

On the other hand, I still think it would be easier if the stream(...) would also deliver subsequent Loading states and we could just filter them out if not interested instead of this dance with a trigger + flatMap + throwing away the stream every time there is a refresh.
I could imagine to extend the StoreResponse to distinguish reloading and error after data was already delivered:
sealed class StoreResponse<out T> {
    object Loading : StoreResponse<Nothing>
    data class Data(val value: T, origin: ResponseOrigin) : StoreResponse<T>
    data class Error(val error: Throwable, origin: ResponseOrigin) : StoreResponse<T>

    data class LoadingWithPreviousData(val previousData: Data<T>) : StoreResponse<T>
    data class ErrorWithPreviousData(val error: Throwable, origin: ResponseOrigin, val previousData: Data<T>) : StoreResponse<T>
}

The last 2 states would be useful to eg. show list with data with a loading indicator and show list with snackbar error respectively. If the stream(...) would deliver something like this, we could also show list with loading indicator after subscribing when a request is already in flight, as we would be receiving LoadingWithPreviousData.

I think @ghus-raba 's solution is nicely intuitive, that's what I found myself doing myself and others in the past for our repositories. I think it keeps the users away of managing the loading state on their own, and keeping the Store as the source of truth.
Quick note: I would rename Loading to something like InitialLoading.

We enable piggyback on server responses only if there is no source of truth. I'm not sharp enough to remember why we did it that way.
IIRC piggypack was added to mimc SoT behavior of pushing down subsequent updates for the non SoT case. we never intended it to be used with SoT originally.

Do dispatch loading, we probably need to do more because it is mostly synthesized as the initial step.
That being said, I'm not fully sure if we want to send loading to existing observers. In the UI, unless triggered by the user, it might be very unintiutive. Granted, developer can always filter the following ones out so may not be that big of a deal either.
@eyalgu wdyt about always enabling piggyback?
One issue is though, right now, an existing stream consider Disk as origin for any followup data change. If we make it piggy back, it may result in sending more data w/ origin->network, or an expectation of it which might be tricky but should be do-able.

Taking a step back what is our goal here? to allow delivery of multiple errors to a stream? to allow multiple deliveries of loading/noNewData to a stream? both?
As you said I'm not sure we should be delivering multiple Loading/NoNewData events to collectors. The usefulness of this seems limited, as you would usually only want the UI to show loading state if it is either the first load (which we support), or if the user triggered the action (e.g pull to refresh). in the latter the caller is already aware of the change to the viewModel and we don't need to be the source of truth for this change. If there's a usecase I'm missing here please let me know.
As for multiple Error state - what's the usecase fo delivering multiple errors to a collector? If the idea is to show a toast in the UI then I think this is actually similar to the case above - When the repository/presenter/viewmodel (choose your poison) detects an error it will decide if this is retrieable error, if so it will just call stream again and will be able to get the next error. The only thing that piggybacking can get us here is to be able to react to errors that resulted from an unrelated stream operation and I'm not sure I see what's the usecase here.
Personally, I'm not a fan of enabling piggyback for SoT cases because it can cause more memory pressure than necessary and will make the streams more complex.

@eyalgu I think you're coupling Store and UI too tightly with each other now.
When I call store.stream().collect { state -> }, the state always reflects the current state of the data. Keeping it this way prevents having to do your own subsequent imperative calls after. I think the code is more declarative and easier to reason about when we keep it: "data goes down (store.stream { data  -> }), events go up (store.refresh())".
Coming back at your question:

Taking a step back what is our goal here?

I think our goal should be the following: Ensure store.stream() correctly reflects the current state at all times.

@eyalgu I think you're coupling Store and UI too tightly with each other now.

Apologies if it came out that way, I was merely trying to understand the usecase for the proposed change.

When I call store.stream().collect { state -> }, the state always reflects the current state of the data. Keeping it this way prevents having to do your own subsequent imperative calls after. I think the code is more declarative and easier to reason about when we keep it: "data goes down (store.stream { data -> }), events go up (store.refresh())".
Coming back at your question:

Taking a step back what is our goal here?

I think our goal should be the following: Ensure store.stream() correctly reflects the current state at all times.

Can you give an example of the usecase you have in mind. A real life example would be helpful in evaluating the need for this change.

...the caller is already aware of the change to the viewModel and we don't need to be the source of truth for this change. If there's a usecase I'm missing here please let me know.

I think it is useful to show in the UI that data is being updated even if it is not triggered by the user on the very same screen. It can be triggered on the previous screen, or user could do a pull to refresh then exit the screen and then come back. In both of these cases, I would like to tell the user: "Here is some data, but I am working on getting you a fresh set".
In these cases, storing the refresh state in viewmodel tied to a screen would not be enough. We could create a helper that would wrap a store (and outlive a single screen), that would keep the state of loading/error, but like I said, i think it is not so trivial and could get out of sync with the store. On the other hand, the store already has knowledge of when a fetch is happening (as well as errors). It would be IMO much simpler for developer to simply filter/ignore the states in the stream than try to inject them themselves.
If we decide not to extend the stream, then I would at least opt to include such helper class wrapping the stream in the library.

BTW if viewmodel is supposed to keep track of the loading state, then I fail to see the point in supporting even the first load as a state in the stream.

@eyalgu Here's a usecase:
Let's say I have a Calendar feature in my app. In the Calendar overview all of the Calendar events get shown (ala Planning view of Google Calendar).
CalendarEventStore<Unit, List<CalendarEvent>>.
I want my UI to reflect the current state of the data.
store.stream{}
So, when I'm initially visiting the screen for the first time, I'm probably just seeing an empty screen with a loading spinner in the middle
store.stream { state ->
    when(state) {
        is State.Loading -> {
           // just the spinner is shown
        }
        is State.Data -> {
           // events are shown
        }
    }
}

This is already possible with the current version of Store, right now Store is holding all of the state! But now I want to be able to manually refresh the calendar with a refresh button (Store.fresh(key)) . When I press the refresh button, a inderminate horizontal progress bar shows up at the top of the screen, but in the meanwhile I can still scroll through my existing items.
Now if you look at the code above, refreshing the calendar means that all of the events will dissapear and the spinner will just show..
Having multiple StoreResponses like @ghus-raba 's, this issue will be solved:
    object Loading : StoreResponse<Nothing>
    data class Data(val value: T, origin: ResponseOrigin) : StoreResponse<T>
    data class Error(val error: Throwable, origin: ResponseOrigin) : StoreResponse<T>

    data class LoadingWithPreviousData(val previousData: Data<T>) : StoreResponse<T>
    data class ErrorWithPreviousData(val error: Throwable, origin: ResponseOrigin, val previousData: Data<T>) : StoreResponse<T>
}

I open #230 with a proposal on how to simplify the API.

BTW if viewmodel is supposed to keep track of the loading state, then I fail to see the point in supporting even the first load as a state in the stream.

That's a good question - I think the only reason for the current support for Loading/NoNewData is to know when the fetch you trigged has completed (e.g to show a spinner at the bottom of your screen when showing stale/partial data).

Some of the alpha feedback we've gotten is that there are too many states to handle under StoreResponse.

I believe the feedback was actually exactly opposite. 😄
But on a more serious note, I think I like the proposal of #230, at least at first sight. It leaves some state to be kept in viewmodel, but makes the api simpler and provides necessary data to implement the pull to refresh and similar scenarios. 👍

For visibility, here is a quick and dirty implementation of my recommendation to build this on top of the existing stream:
https://github.com/dropbox/Store/issues/230#issuecomment-695827520
To be clear, this allows implementing refresh while keeping data etc but it still won't dispatch loading events from unrelated streams because i'm not a big fan of that change.


When I use CVAT for semantic segmentation some objects are missing when I export the dataset

My actions before raising this issue

[X] Read/searched the docs
[X] Searched past issues

Expected Behaviour

I have used CVAT for semantic segmentation labeling, I did the labeling like this;

Current Behaviour

However, when I export the dataset in CamVid or Cityscapes format, it exports the label like this:

In the image above the label of the object in the middle is missing. If I export the dataset again will be other objects missing. Like:

Do you also face the same problem or have any idea why does this happen?
Your Environment

Windows 10. I use cvat.org (the online tool) for labeling.

@mandyxiaomeng , could you please send us the link on the task? We will investigate. Thanks for the report!

Hi,
Yes of course! The link to the job is: https://cvat.org/tasks/213658/jobs/308510
I am not sure if you can open the link? So I also attached the backup of the job below:
task_mandy2.0_backup_2022_03_14_10_34_54.zip
Thank you!!
Best Regards,
Mandy

Hi, @mandyxiaomeng
Some objects are not displayed due to overlay of larger objects. The order in which objects are drawn during segmentation is important. After exporting to Cityscapes or Camvid, overlapping objects are not preserved because an image pixel can only store one label.

I think this issue was resolved. I don't experience masks going missing despite them overlapping.


Cannot enumerate devices in python.

Required Info

Camera Model
D435

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Win7

Kernel Version (Linux Only)
--

Platform
PC

SDK Version
2

Language
python}

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
with the following code to enumerate devices:
'context.devices'
It will enumerate one device twice ,while missing the other one.
There are 2 rs on my PC.

--

Hi @leaf918,
Multiple cameras are likely not to work on Windows 7 at the moment. We are constantly expanding the list of supported platforms and features and will notify our customers and the community once this feature will become available for Windows 7.
Thank you!

Hi @leaf918,
Do you need any further clarifications regarding this topic?

Hi @leaf918,
Do you need any further clarifications regarding this topic?

No,and thanks for the explaination for this issue.
Regards


Fix deepEqual comparison to tell the diff between null and false

This PR intends to fix the issue reported at #2600
The issue is closed but the bug remains.
Wrote a unit test that ensures that bug was present before the fix.

Codecov Report

Merging #3462 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master   #3462   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files          68      68
  Lines        1531    1533    +2
======================================
+ Hits         1531    1533    +2

Impacted Files
Coverage Δ

src/structure/plain/deepEqual.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Published in v7.1.0.


refactor(SQS): convert poolmanager taker fee calc methods to functions

Closes: https://app.clickup.com/t/86a1af4tp
What is the purpose of the change
This PR converts some poolmanager taker fee calc methods to functions. In https://github.com/osmosis-labs/osmosis/pull/6785, these are used in SQS calculations directly.

@Mergifyio refresh

@mergifyio refresh


Accessing to Handle for Streams

I trying to implement async versions of CaptureStream/OutputStream traits (i.e. with next function which returns Future).
I see that Stream types internally has reference to Handle but this ref hasn't accessible via public interface.
Also I see that Device type has function handle which returns reference to internal Handle.
How about adding similar functions to our stream types too?
I don't sure may we add it to Stream trait directly.
In any case I need a way to get file descriptors from streams.
Any ideas?

Sure, we can add a function to expose the Handle for now, analogous to the one for Device. Would you mind creating a pull request?


Stop using broken json coverage

Codecov Report

Merging #433 into master will increase coverage by 0.35%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #433      +/-   ##
==========================================
+ Coverage    19.9%   20.25%   +0.35%
==========================================
  Files         127      126       -1
  Lines         884      770     -114
  Branches      191        0     -191
==========================================
- Hits          176      156      -20
+ Misses        706      614      -92
+ Partials        2        0       -2

Impacted Files
Coverage Δ

src/helpers/catalogs.js
80% <0%> (-20%)
:arrow_down:

...nts/DatasetsToBePublished/DatasetsToBePublished.js
80% <0%> (-7.5%)
:arrow_down:

...utes/Dataset/containers/DatasetPreviewContainer.js
0% <0%> (ø)
:arrow_up:

...utes/Dataset/components/DatasetChecks/CheckItem.js
100% <0%> (ø)
:arrow_up:

src/components/Charts/Chart.js
0% <0%> (ø)
:arrow_up:

...lication/components/Organizations/Organizations.js
0% <0%> (ø)
:arrow_up:

...omponents/CatalogHarvestLogs/CatalogHarvestLogs.js
0% <0%> (ø)
:arrow_up:

src/routes/Events/components/Event/Event.js
0% <0%> (ø)
:arrow_up:

src/components/Producers/UnrelatedProducers.js
0% <0%> (ø)
:arrow_up:

...omponents/DatasetContactList/DatasetContactList.js
0% <0%> (ø)
:arrow_up:

... and 69 more

Continue to review full report at Codecov.

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


Warning for labels not being filters of sizeConfig

Trying to shed a little light on https://github.com/prebid/Prebid.js/issues/3226

Thanks for helping clarify, @benjaminclot


Fixed a typo in elapsed.rb

closed since https://github.com/logstash-plugins/logstash-filter-elapsed/pull/10 was merged


Postgres container unresponsive: remaining connection slots are reserved for non-replication superuser connections

We got into a situation where postgres became completely unresponsive for about 10 min. During this time the UI would not load any models, plans, etc, and CPU usage on the Postgres container was pegged at 100%. After about 10 min CPU dropped and the service became responsive again. Around this time I was trying to delete some plans, and experience very long query times. Don't know if that was a cause of the CPU spike or not. Postgres log attached.
postgres.log.txt

Adding that I'm experiencing the same behavior on another host, potentially related to the fact that I'd just tried twice to delete a (blank, 2-day) plan.
Postgres resource usage:
CONTAINER ID   NAME       CPU %     MEM USAGE / LIMIT     MEM %     NET I/O         BLOCK I/O        PIDS
c01040bd6bf3   postgres   101.28%   4.119GiB / 62.62GiB   6.58%     7.38GB / 30GB   125MB / 13.5GB   104

Very similar-looking Postgres logs:
postgres_logs.txt

Managed to repro while testing an update to aerie_db_migration. Currently trying to see if it can be consistently reproduced.
The output from aerie_db_migration_output.txt was the output where I:

Ran a mass-revert after Postgres was ready for connections but before Hasura had started. The script was able to connect to Postgres but failed to run any migrations due to Hasura not being up.
Ran revert-all-migrations very quickly after Hasura had started.
Immediately ran apply-all-migrations.

This run was directly after spinning up a fresh database.
postgres_logs.txt
aerie_db_migration_output.txt
hasura_logs.txt

Reproduced the error when running
docker-compose up --scale merlin_worker=5 --scale scheduler_worker=1 -d

and try to reduce the number of worker to see if it will fix the error, and it did, if I only have 3 workers
docker-compose up --scale merlin_worker=3 --scale scheduler_worker=1 -d

@achong1024, do any of the merlin containers have a connection exception in their logs when this error occurs in postgres?

We've identified that every Java service opens up 10 connections to postgres and keeps them open continuously. This is the default behavior of HikariCP.
This is reasonable behavior for the "servers", which need to multiplex concurrent HTTP requests. The simulation and scheduler workers, however, leave most of these connections idle, so we believe we can trim down the number of connections that those keep open. This should help create a little more headroom for deploying a larger number of workers.
This addresses Alvin's issue directly, but it appears that that issue is distinct from the one brought up by Parker and Carter. @parkerabercrombie @cartermak, have you continued to run into this issue periodically?

It's been a while since I've seen this issue, although I haven't pushed any instances too hard recently.


Test cases to view collision

Hello, I am a fellow student and was curious to test and analyze the results based on collisions. I have tried many possible inputs to determine whether a collision took place between the drones or not. However, I haven't seen any case where a collision has taken place. I wanted to request you to share any more particular results along with the input values, so as to observe a collision and analyze the received outputs. Thanks!

Hi @atharvad17,
Thanks for your interest in our paper!
I've updated collision cases in ./collision_cases identified by SwarmFuzz and provided instructions in the README's Collision cases found by SwarmFuzz section for reproducing collisions using parameters found by SwarmFuzz.
Also, if you didn't observe any collision when running SwarmFuzz, consider (1) adding more mission seeds (because not every mission has SPVs) and (2) running SwarmFuzz for at least 24 hours. Since missions with denser swarms and under larger GPS spoofing are more vulnerable to SPVs, you could start with a 15-drone swarm and 10m GPS spoofing. For example, in README step 5, run swarmfuzz(200, 300, 10, 15) instead of swarmfuzz(200, 201, 5, 5).
Let me know if there is any question!

Let me know if you still cannot find any collision cases after trying the above. Thanks.


Gource analysis of the repository

Added pictures of contributors that can be used by gource to visualize the codebase graph

Not sure if all contributors are ok with adding their picture to the repository.

I mean we should just ask them. All pictures are from GitHub. Also we might add some of those pictures to the website if people are okay with it.


Scaffold a third part component issue

Hi,
I have create this scaffolded component
[Scaffold(typeof(Syncfusion.Maui.ListView.SfListView))]
 public partial class VolosListView{}

but it hasn't created the method ItemsSource, so I have creted it

        public VolosListView ItemsSource(object lista)
        {
            this.Set(Syncfusion.Maui.ListView.SfListView.ItemsSourceProperty, lista);
            return this;
        }

the original components has the ItemTemplate method that has as parameters a datatemplate.
I need to have a method like the ItemTemplate that accepts a VisualNode but also that receive the current item of the listView,  in such a way that I can assign the property of the current item to label, button and so on.
I have tried to do this, but doesn't work
 public VolosListView ItemTemplate(Func<object, VisualNode> template)
        {
            this.Set(Syncfusion.Maui.ListView.SfListView.ItemTemplateProperty,
                new MauiControls.DataTemplate(() => TemplateHost.Create(template(/*here i need to pass che current item*/)).NativeElement));
            return this;
        }

The original method use the Binding to set the value of labels ecc..
How can I do this?
Thank you.

Using the latest version you can scaffold SfListView and use it with a code like this:
[Scaffold(typeof(Syncfusion.Maui.Core.SfView))]
public abstract class SfView { }

[Scaffold(typeof(Syncfusion.Maui.ListView.SfListView), implementItemTemplate: true)]
public partial class SfListView
{

}

class MainPageState
{
    public List<string> Items { get; set; } = new List<string>(new[] { "Item1", "Item2" });
}

new SfListView()
      .ItemsSource(State.Items, item => new Label(item))


Fork with latest PR's merged

Hi y'all. I've merged PRs #230, #238, #239 , #241, #244   in my fork, so that you don't have to. You can use it in your project redifining the lib version in package.json like this:
"react-native-modal-dropdown"<EMAIL_ADDRESS>

Tried it getting this error,
TypeError: Attempted to assign to readonly property.
import ModalDropdown from './components/ModalDropdown';
  6 | export default ModalDropdown;
> 7 | module.exports = ModalDropdown;
  8 |

Thanks for catching this. I'll try to fix it later today.

Thanks


[CODE REVIEW] 6498: MultiAuthentication UI Work

(For comments and info, see email)

@cnathe I'm assuming now that @labkey/dependencies is gone just having a dependency on ui-components is good enough correct?

@labkey-alan I removed the .DS_Store. Could you re-review to make sure your other review feedback has been adressed.


build an API on top of the resource registry

build an API on top of the resource registry

#7

This all seems to boil down to
public Block register(String name, Block block, Item item);
public Item register(String name, Item item);

We provide a creativeTab in public static space where users can earmark provided items to our tab. Then the interface is way smaller, easier to read, and absolutely as flexible as we can make it.

I don't trust users to use our Tab, so forcing it on them unless they explicitly tell us to use another tab is kind of necessary imo.
But if you want I can remove some of the overloading methods.

 If we want organized tabs, there are organized tab mods coming down the pipeline.
Open questions:

We may want to require and return the ItemBlock instead of the Block in the case of blocks, so the user has both the item and the block for the chosen registration.

When I compare blocks most of the time I need the Block and not the Item. And I think you can get the BlockItem from any given Block by calling Blocks.COBBLESTONE.getItem(). Btw, we probably should also use that to register

I'd be in for getter methods, that can be used to retrieve the correct instance later.

You can retrieve the Block from any ItemBlock immediately by calling getBlock(), rather than roundtripping the registry.

You don't have to use the registry. That was just an example. You can just do:
myCustomBlock.getItem();

let me present to you Block's implementation of getItem():
   public Item getItem() {
      return Item.getItemFromBlock(this);
   }

Hmm, true. It's just that Vanilla's register Block also returns a Block. I would like to follow their standards.

Vanilla's register Block doesn't also register an item for that block.

Ultimately the registry roundtrip isn't the end of the world. If that's the compromise that needs to be done, that's fine.

Tupel would be awesome but, java...
My primary problem is that I usually store all my Blocks in public static fields. I never really need the corresponding items outside of crafting and dropped items. And now that these things are handled by jsons I just don't know how often anyone will need the Items.

My usage is really similar, so I don't really have any further objections. Let's get it rolling so we can work on the resources part :)

Give me a few minutes to switch out ItemSetting with BlockItem. Let's hope that users will use the correct namespace.

Done. Can I merge?

Still don't like the tab sig and the tab-changing hardware. It's way more moving parts than we need.

Let those items live on 1 tab, that is enough.

The default action for users, if they don't realize they can use our tab or that they can set a tab, is "it doesn't appear in the creative menu", and that's perfectly fine.
If they want it to show up in our tab specifically, they can register it to our tab. It's right there. If you want to remind users to do it, remind them in the javadocs.
If they want it to show up in their own tab, they'll register it to their tab. Both our job and the API user's job are super easy without that extra mixin.

Yeah, but what happens if a user who doesn't use cotton-resources uses our system to register his own copper-ingot and forgets to set a tab? If his mod is loaded before cotton-resources his ingot becomes the default. And suddenly there is no more copper ingot in the creative menu.

It's a failsafe to stop people from screwing up things other mods may use by accident.

And the mixin isn't really that bad, all it does is add a simple setter to Item.

then the Issue gets forwarded to their issue tracker. I don't see why this is our problem.

That's not a compromise I'm willing to make. This is turning what is easily a two-method API with the same functionality, into a five-method API with a mixin attached which creates no more functionality. I can deal with the convenience method to skip the BlockItem. I really hate the mixin.

Very well, I will remove the mixin. But be warned that every second line on the wiki page will remember the user to use our creative tab.

Why? Why is it important for users to use our creative tab?

Because if they register a copper_ingot before we can and add it to their own tab all other mods will use this copper_ingot. Which will no longer be in the common tab. The mixin was a way to make sure that all common items will be in our tab unless whoever registers the item explicitly tells us to use another tab.

The Fabric ItemGroup system allows items to be in another tab, and to auto-assemble ItemGroups. We can just make an ItemGroup of all things namespaced cotton, and have no problems.

Yeah.... probably the best we can do without the mixin can you make a pr for that after I merge mine?

Yeah, I'll set it up. Have you made a PR yet?

No, it's a legitimate question to answer: When people provide a copper_ingot with no tab set, the selected copper_ingot may well have no tab assigned. If we must have a programmatic solution to this, then I reccommend whining on the console that the mod submitting the item is doing so without an itemGroup set.

Yeah, and I think this is a clusterfuck. Cotton-resources make it so mods don't have to register ANY copper_ore.
I get that the core is "just" about unifying, but in cotton-resources, we can't just remove every other mod's ingots/ores, that is just being mean.
I would suggest simply merging the 2.

No, cotton-resources won't even add an item if it already exists.


[SPARK-37952][DOCS] Add missing statements to ALTER TABLE document

What changes were proposed in this pull request?

Add some missing statements to the ALTER TABLE document (which are mainly supported with v2 table).
Why are the changes needed?

To let users know those statements and how to use them.
Does this PR introduce any user-facing change?

Yes, docs changed.
How was this patch tested?

SKIP_API=1 bundle exec jekyll build

cc @huaxingao FYI

@yutoacts Thanks for working on this! Could you please add some examples? Thanks!

@huaxingao thanks for the review. just added examples.

Also moved ALTER OR CHANGE COLUMNS example a bit above to match the order of the documentation.

@huaxingao can you review this first?

@cloud-fan thanks, fixed them.

cc @huaxingao

@huaxingao thanks again. fixed.

@cloud-fan @itholic Could you review this? Thank you.

@itholic thanks for the review.
@cloud-fan do you think examples are unnecessary for now?

thanks, merging to master!

Hi @yutoacts @cloud-fan @itholic  @huaxingao , could you provide some references to explain the defination of v2 table? I couldn't find anything on the internet. Thank you.