Add Scoop (Unofficial) installation method

Summary of the Pull Request
This adds an (unofficial) installation method for Scoop package manager users. Many developers using Windows (me included) use and love Scoop, so this would be a nifty addition to the Readme.
I'm aware of the issues some users face because of installation from the 'extras' bucket, the reason being PowerToys does not have a portable installer yet. If that's a hurdle, I can make changes in this PR to install via the 'non-portable' bucket of Scoop instead.
PR Checklist

[x] Requires documentation to be updated

Info on Pull Request
What does this include?
Changes to README.md file.

Good with this but i'm going to create a PR to migrate docs to a different MD file.


Docker topic for Docs

In this PR, I am adding a .md file describing how to dockerise a waku app. This short artciel is supposed to be a part of future documentation.

@dai-shi It looks good. I would just suggest that we standardize the format to MDX with the following intro:
---
slug: guide/[slug]
title: Title
description: One sentence description.
---

# Title

I incorporated all all the above notes.
I added the mdx header as requested, however the subsequent article title is put as an H2, for consistency with the other mdx files in the repo.

Should be formatted correctly now


Add license file and correct license version

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Install libpulse0 in spotify

Required to use PulseAudio. Same as here for the chrome image:  https://github.com/jessfraz/dockerfiles/commit/ff57ab29c945b21f5714666cf8234bc925a1a7fb

Thanks!


feat(csv): install owned APIServices

Description
Extends the CSV control-loop to install owned APIServices. This includes generating and injecting associated serving certificates as volume mounted Secrets in matching Deployments, creating/updating a Service to point to the pods of said Deployments, and creating/updating APIServices with the  CA bundle of the signing CA.
Note:
This is a first attempt at something that creates all the required resources to establish trust with the OLM managed extension api-server. Managing cert expiration will be the next step. At this time tests still need to be written for this.
Related to ALM-657

Just hit an interesting issue: if the port used to expose the apiserver isn't 443, we get stuck in installing (but no info about why).
We should probably either have a way to specify deployment/container:port for an apiserver, or detect when the port we expect (443) isn't exposed on the pod that's designated as an apiserver.

Also, thinking about the volume issue - what if we just had a standard volume name (like apiserver-certs) and then if there's no volumeMount for that volume, we add the "standard" one, otherwise we use the one that's there. That lets you take an existing apiserver (that's looking in a particular location for certs) and package it, without adding extra config.

Just hit an interesting issue: if the port used to expose the apiserver isn't 443, we get stuck in installing (but no info about why).
We should probably either have a way to specify deployment/container:port for an apiserver, or detect when the port we expect (443) isn't exposed on the pod that's designated as an apiserver.

So PodSpec.Containers[].Ports[] is optional, and the omission of a container port doesn't preclude it from being exposed to the network. So I'm thinking that we just have an optional containerPort field that overrides a default targetPort of 443 on the generated Service.

/assign @alecmerdler

/approve


Test: accessibilityInformation API for TreeItem, StatusBarItem and TimelineItem

Refs: https://github.com/microsoft/vscode/issues/95360

[ ] anyOS @JacksonKearl
[ ] anyOS @sbatten

Complexity: 4
Create Issue

We introduced the accessibilityInformation API to TreeItem, StatusBarItem and TimelineItem.

Write an extension that adds two out of those three. For example a TreeItem and a StatusBarItem. You can use the tree view sample as a starter and the status bar sample as another starter
In your extension make sure that for TreeItem, StatusBarItem or TimelineItem you return the new AccessibilityInformation object
Run your extension, turn on a screen reader and make sure the label which you provided in the AccessibilityInformation is properly read out once the focus is put on your contributed item
Testing out the role is a bit more tricky with basic screen reader knowledge, but you can for example return a role checkbox and the screen reader should announce that your item is a checkbox. For other roles you can check this
Contribute a status bar item which does not have AccessibilityInformation set, and make sure to use a codicon in your status bar item. Turn on a screen reader and verify that the readable name is extracted from a codicon and that is read.

Note: for focusing status bar items you can press F6 a couple of times until the focus is on the status bar and you can use left / right to navigate through the items.

I had no issues with the TreeItem, but for the StatusBarItem, the sample just stops working if I add this line: myStatusBarItem.accessibilityInformation = { label: 'An Accessible label' };
I don't see any errors, it just never shows the status bar item

@sbatten please note that the simply is a bit funky and it only show the status bar if you have multiple lines selected. If you have a multi line selection do you see it then?
If not, do you see the status bar if you remove the accessibilityInformation.
I tried it out and for me it works just fine.


Scroll Bar Missing

Before submitting your bug report

[x] I believe this is a bug. I'll try to join the Continue Discord for questions
[x] I'm not able to find an open issue that reports the same bug
[x] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: OSX
- Continue: 0.8.46
- IDE: Visual Studio Code

Description
Scroll Bar Missing

To reproduce
No response
Log output
No response

Related: https://discord.com/channels/1108621136150929458/1276019746126430283

@priyashpatil has this made it to prod? are we good to close?

Not yet. Sending some requested changes to PR. The issue will automatically close.


Toplevel is confused about dimension - Should use Computed and Dim.Fill

In investigating

#3127 (in PR #3130)

I found that Toplevel doesn't actually work the way we think it does. For example:
/// <summary>
/// Convenience factory method that creates a new Toplevel with the current terminal dimensions.
/// </summary>
/// <returns>The created Toplevel.</returns>
public static Toplevel Create () => new Toplevel (new Rect (0, 0, Driver.Cols, Driver.Rows));

/// <summary>
/// Initializes a new instance of the <see cref="Toplevel"/> class with the specified <see cref="LayoutStyle.Absolute"/> layout.
/// </summary>
/// <param name="frame">A Superview-relative rectangle specifying the location and size for the new Toplevel</param>
public Toplevel (Rect frame) : base (frame) => SetInitialProperties ();

/// <summary>
/// Initializes a new instance of the <see cref="Toplevel"/> class with <see cref="LayoutStyle.Computed"/> layout,
/// defaulting to full screen.
/// </summary>
public Toplevel () : base ()
{
	SetInitialProperties ();
	Width = Dim.Fill ();
	Height = Dim.Fill ();
}

static bool SetCurrentOverlappedAsTop()
{
    if (OverlappedTop == null && Current != Top && Current?.SuperView == null && Current?.Modal == false)
    {
        if (Current.Frame != new Rect(0, 0, Driver.Cols, Driver.Rows))
        {
            // BUGBUG: Use Dim.Fill
            Current.Frame = new Rect(0, 0, Driver.Cols, Driver.Rows);
        }
        Top = Current;
        return true;
    }
    return false;
}

Note Create and SetCurrentOverlappedAsTop use absolute positioning and the constructor uses Computed (Dim.Fill ()).
All of this will likely be changed when we get to:

#2502
#2491
#2537
#272
#2407

However, I'd like to fix this now so that #3130 can be unblocked. I'll submit a PR for this asap...

[ ] Refactor unit tests to be able to more clearly focus on Toplevel
[ ] Change Create to use Dim.Fill
[ ] Fix SetCurrentOverlappedAsTop related issues.
[ ] Fix other code that depends on old bad behavior
[ ] Fix related unit tests that assumed old bad behavior

In tracking down unit test failures found after changing Toplevel to use Dim.Fill I noticed this:
public static void Init (ConsoleDriver driver = null, string driverName = null) => InternalInit (Toplevel.Create, driver, driverName);

When I simplified Init for v2 way back, the public ability to pass a top-level factory to Init was removed.
However, I failed to remove the whole toplevelFactory from InternalInit as well.
In this PR, I'd like to:

Change InternalInit to not take toplevelFactory
Remove Toplevel.Create
Have Application.InternalInit call SetRelativeLayout before it returns

This will
a) Further simplify Application.Init logic without really impacting the public API (nobody but unit tests use Toplevel.Create because there's  no point.
b) Make it so existing unit tests that depended on Application.Top having valid Dims pass without modification.
Any objections?

This is ready for review: https://github.com/gui-cs/Terminal.Gui/pull/3137


[Feature] Allow @guidance to decorate methods

This PR extends the @guidance decorator to work with methods.
I believe this will be invaluable when defining grammars that are implemented as several guidance functions that call each other, particularly if they need to share common parameters. I think that rewriting json as a class will be a good test case for this, and I expect to be able to simplify the implementation with this new machinery as well as enable some otherwise-tricky shared parameters like separators=(", ", ": ").
To achieve this:

I introduce a GuidanceFunction type that is returned when the decorator is called on a function.
GuidanceFunction uses __get__ descriptor magic to ensure that the function is bound to an instance before being wrapped by the decorator's actual implementation (_decorator).
Bound GuidanceFunctions are given a GuidanceMethod type

Side note/todo: _guidance.pyi is now not strictly correct, but it still gives helpful type hints. It's most-wrong in the case where a user guidance-decorates a method but tries to call it from the class rather than an instance. This case should be broken anyway, but I need to think some more about how to give the user a good error message. IMO, that can wait for a follow-up PR.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 95.31250% with 3 lines in your changes missing coverage. Please review.

Project coverage is 61.34%. Comparing base (af63e6d) to head (91ff5cf).

Files with missing lines
Patch %
Lines

guidance/_guidance.py
95.00%
3 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

:exclamation:  There is a different number of reports uploaded between BASE (af63e6d) and HEAD (91ff5cf). Click for more details.
HEAD has 149 uploads less than BASE

Flag
BASE (af63e6d)
HEAD (91ff5cf)

151
2

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1035      +/-   ##
==========================================
- Coverage   70.26%   61.34%   -8.93%
==========================================
  Files          62       62
  Lines        4470     4499      +29
==========================================
- Hits         3141     2760     -381
- Misses       1329     1739     +410

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

 Need to tinker with that a bit more...

 Need to tinker with that a bit more...

Maybe use weakref?  The cached objects can then live and be used for a while, but will be cleared during a garbage collection if there is too much memory pressure.

 Need to tinker with that a bit more...

Maybe use weakref? The cached objects can then live and be used for a while, but will be cleared during a garbage collection if there is too much memory pressure.

My thoughts exactly. Woke up this morning in a cold sweat mumbling to myself "...the garbage collector!" (joking).
Notice that there are essentially two levels of caches here -- one on the decorated function itself which is needed for "grammar node reuse" that wraps the unbound function (note it will receive the self argument and use it as part of the cache key), and one that sits on the unbound GuidanceFunction's __get__, which is needed to ensure that myinstance.func returns the same GuidanceMethod each time (so that we can detect/handle recursive calls).
My thought is to essentially use a weakref for the latter cache and then move the other cache to the bound method so that it doesn't need to hold a reference to the instance at all. Make general sense?

Side note, but I'm getting uncomfortable with the fact that we're not setting maxsize anywhere on our LRU caches. Just asking for memory leaks...

Non-side note: @paulbkoch how do you feel about the spirit of this PR in the first place? Do you think that allowing methods to be decorated is a good thing? 😄

@paulbkoch I finally feel good about the caching. Feel free to take a look on your own time or I'd be happy to jump on a call and do some code review 😄

Had a think on this -- I'm a fan of the concept. Python decorators are allowed to be used everywhere, so it seems quite reasonable to me to make the guidance decorator work on class methods too. I think there is organizational/bookkeeping utility from being able to do this in our own codebase, even if end users don't take advantage of it as much.

@Harsha-Nori glad you're a fan of the idea. Before pushing this through, I want to have a deeper conversation about what is or isn't cached, especially for the sake of recursive calls. Some subtle things going on there, even for vanilla guidance functions (non-methods). Definitely don't want to be adding unnecessary cognitive load for users.

@Harsha-Nori @paulbkoch any objections to merging this?
Biggest "gotcha" I can really think of -- the self argument will be ignored in the determination of what does/does not constitute a "zero arg recursive call". I.e. modifying the state of self may have unexpected consequences to the naive user.
This PR does provide a proper way of handling this though: if the object implements a __hash__ method that reflects changing state on the instance, the above gotcha can be avoided.

Merging on verbal review from @Harsha-Nori :)


Use file uri in info returned by capture

Solves #80
In almost all cases you will want to refer to the captured image
by the uri returned by MediaStore rather than the file path.
E.g. passing the return value from capture directly as source prop
to an Image component.

This only seems to rename a variable name. Perhaps a fix was introduced in the mean time. Closing because it's stale. Please comment if you still think there's something we're missing.

My apologies. I see there was a callback with the same variable name, but a different value. Probably how the bug arose in the first place. Merging!

when testing i have the response of
{"height": 1920,
"id": "/external/images/media/691",
"name": "691",
"path": "/external/images/media/691",
"uri": "content://media/external/images/media/691",
 "width": 1080}

so no extension, and uri does not render

Alex what options are you using? Android is largely moving to URL-based paths which mean you won't always know the extension from it. If it's a local file then you could move the file to wherever you want with whichever extension. If it's the media store then you need a special API call to determine the file type (which we don't have exposed)

No options, i dont think there is docs for that, the payload I show is directly the result of the function capture(), I was expecting uri with a file extension.
const image = await this.camera.capture();
console.log(image);

@axeljeremy7 without knowing the options I can't help. Camera roll photos may be stored in urls. And that might be correct. So may file paths be. If it's Android you can use react-native-fe to move the file to the location of your choice, even if it's a URL.


SPDXTools does not accept exceptions in PackageLicenseInfoFromFiles tag

exception.tag.txt
When converting an SPDX tag file to rdf using SPDXTools then an error is produced if the PackageLicenseInfoFromFiles tag contains the name of a license exception. The SPDX specification says that this tag captures all the license types, but without the use of expressions. My interpretation of this is that an expression such as GPL-3.0 WITH Classpath-exception-2.0 must be represented by two separate instances of this tag, for example:
PackageLicenseInfoFromFiles: GPL-3.0
PackageLicenseInfoFromFiles: Classpath-exception-2.0
Therefore I think the SPDXTools ought to accept exceptions for this tag.
I have attached this case as an example, which can be run with:

java -jar spdx-tools-2.0.0-jar-with-dependencies.jar TagToRDF exception.tag exception.rdf
The following verifications failed for the SpdxDocument:
Invalid license id 'Classpath-exception-2.0'.  Must start with 'LicenseRef-' and made up of the characters from the set 'a'-'z', 'A'-'Z', '0'-'9', '+', '_', '.', and '-'.
Missing required license text for Classpath-exception-2.0

Tag/value file attached.
From Bugzilla Bug 1291

The SPDX tools currently accept expressions for PackageLicenseInforFromFiles.


Report data errors/problems

Report emails into github/waffle - use learning from FreeREG2 to help workflow

FreeREG experience suggests recruiting a 'helpdesk' which can ensure only ready-to-solve, correctly marked up issues are entered into the board.


Visualization of station data on data.met.no

Is it possible to add a link to the bokeh visualizations on station data available from data.met.no (currently only on the dev env)?

Is it enough to add it as a "data access" field, maybe?

Links for Bokeh TimeSeries visualisation will automatically be added for datasets that supports it. But they need to have the feature_type Global attribute element in the netcdf files set to supported values: https://cfconventions.org/Data/cf-conventions/cf-conventions-1.10/cf-conventions.html#_features_and_feature_types
This we have talked about before..It is not added to the DataManagement Handbook? I think some of the early stations that we indexed had this field. But it probably was not added to the new generation of those mmd files (ie, this feature type is not an mmd element, so the solrindexer check for this global attribute for netcdf files when indexing, and set the proper fields to make the bokeh visualisttion links.

Aha - sorry.. Feature type is mentioned in DMH but not in relation to the plotting tool. It turned out that in the last version of the files, we had used "point" and not "timeSeries". I am adding a note to DMH now. The automation is great but should we also add it to the MMD files, or would that be wrong?


Pass secrets more secure way

I assume signing happens on the CI pipeline, but many CI pipelines log CLI arguments and output for investigating issues. As a result, secrets may get logged into some storage without the user's knowledge by accident.
I'm wondering could we have another way of passing secrets other than CLI argument.

Most of the CI pipelines support concept of secrets. To securely pass the secret, you will define it as env variable for the command. Its value won't be logged.

@jozefizso is correct and we also support managed identities.


feat: initial code

Since everything except the README and go.mod/go.sum are fully automatically generated, I'm going to go ahead and merge this without review.


Complexes vs. Families

Hi guys,
We have the following additional entity name strings that we need to ground:
Activin A
Activin AB
Activin B
Inhibin A
Inhibin B
AMPK alpha1beta1gamma1
AMPK alpha1beta1gamma2
AMPK alpha1beta1gamma3
AMPK alpha1beta2gamma1
AMPK alpha1beta2gamma2
AMPK alpha2beta1gamma1
AMPK alpha2beta2gamma1
AMPK alpha2beta2gamma2
AMPK alpha2beta2gamma3
AMPK a1b1g1
AMPK a1b1g2
AMPK a1b1g3
AMPK a1b2g1
AMPK a1b2g2
AMPK a2b1g1
AMPK a2b2g1
AMPK a2b2g2
AMPK a2b2g3
alpha1beta1gamma1
alpha1beta1gamma2
alpha1beta1gamma3
alpha1beta2gamma1
alpha1beta2gamma2
alpha2beta1gamma1
alpha2beta2gamma1
alpha2beta2gamma2
alpha2beta2gamma3

I have the some questions about this set and the use of the Relations table:

It is my belief (however misinformed) that these are all protein complexes,
1a) yet the Relations file lists some of them as families. What is the correct mapping for each of these strings?
1b) Aren't the Inhibin dimers also part of the Activin family? (I looked for entries like:
BE,Inhibin_B,isa,BE,Activin but didn't find any).

Some (all?) of these are synonym strings for existing entries in the Relations file so...
2a) Can your Relations file handle the synonyms that entities often have? How?
2b) Should we map the synonyms ourselves (i.e., in a separate table we ground these strings to Bioentities entities) or do you have a way to add these strings directly to the BE Relations table?

Thanks for your help.
-t

I think the confusion comes from the fact that Activin is a family of complexes.
Here is the relevant portion of relations:

HGNC	INHBA	partof	BE	Activin_A
HGNC	INHBA	partof	BE	Activin_AB
HGNC	INHBB	partof	BE	Activin_AB
HGNC	INHBB	partof	BE	Activin_B
BE	 Activin_A	isa	    BE	Activin
BE	 Activin_AB	isa	    BE	Activin
BE	 Activin_B	isa	    BE	Activin

So INHBA and INHBB are parts of specific complexes (Activin_A, Activin_B and Activin_AB), which are then referred to together as the Activin family.
Inhibin is also a family of complexes but it is currently not defined in the relations file, so it needs to be added -  I will do this today.

The relations file contains symbols in a name space. The entries have no text names or synonyms associated with them. Synonyms need to be handled when mapping to entries from text to the BE name space. That is, for instance, "Erk", "ERK" and "MAPK1/3" would all be mapped to the BE:ERK entry. Our own mapping table is in grounding_map.csv which does this for ungrounded/misgrounded strings appearing most often in our use cases.

To be able to map
AMPK alpha1beta1gamma1
AMPK alpha1beta1gamma2
AMPK alpha1beta1gamma3
AMPK alpha1beta2gamma1
AMPK alpha1beta2gamma2
AMPK alpha2beta1gamma1
AMPK alpha2beta2gamma1
AMPK alpha2beta2gamma2
AMPK alpha2beta2gamma3

all we need to do is define these specific complexes in relations.csv. I will do this later today.

Thanks Ben, I think I understand now.
As for the a[12]b[12]g[123] complexes: we appreciate their addition. From answer (2) above, I infer that we will then handle the mapping of all these synonym strings to whatever symbolic family name that you will create (or maybe you will map these to the existing AMPK family symbol?)

Great! My plan is to create a BE entry that the string "AMPK alpha1beta1gamma1" can be mapped to. The name would be, for instance, BE:AMPK_A1B1G1. That complex will then be defined in the relations as:
BE AMPK_A1B1G1 isa BE AMPK
HGNC PRKAA1 partof BE MAPK_A1B1G1
HGNC PRKAB1 partof BE MAPK_A1B1G1
HGNC PRKAG1 partof BE MAPK_A1B1G1

I would then do the same for all the other specific complexes.

@hickst take a look at #16, it adds all the entities and relations that you need to map your inhibin  and AMPK strings. If this looks good, I'll merge it.

It looks good to me....thanks.


I want to change the canvas size?

Setting the width and height ,Do not work

Hi.
I'm also looking for resize-(fullscreen) solution.
Noticed that the Renderer.resize() breaks everthing ...
Thx.

Oh. Found a solution ...

Use css to resize the canvas. In this example the width is set to 20%. Setting the width and height attribute on the canvas-html-element does NOT work.

It works via CSS. harald-mue thank you very much!


Can I use already mapped and SNP calling VCF to do OptiType?

This is Yijia Li from Yunnan Province Stem Cell Bank, China.
We are very interested using your OptiType to do HLA typing.
However may I ask if I can use already mapped and SNP calling VCF to do that without using the original fastq file?
Thanks very much.

Dear Yijia,
It's not possible with OptiType. I suggest you look into HLA*IMP:02, SNP2HLA or HIBAG, but beware the limitations of resolving HLA genotypes from SNP data alone.


Reduce to the minimum the helpers that return an expecter

What this PR does / why we need it:
The helper functions that return an expecter depend on the callers to close them.
In order to reduce the chances of wrongly handling the expecters by test writers, it is preferred to leave their lifecycle handling (creation, execution and teardown) up to the helper functions.
This change aims to reduce to the minimum the helpers and scenarios in which the expecter is returned to the caller.
Only a few cases are left that cannot be removed, specifically when the return value from the expecter run is used in the test and when the channel from a new expecter is asserted on.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:
NONE

/test all

/test all

/cc @qinqon

/test all

/test all

/test all

/test all

/test all

/test all

/retest

change: Rebased on master

change: Answered review comments.

/retest

/lgtm

/retest


Do not disable the chat field on interacting with the chat

Made the text field active when interacting with the chat
MOB-2333

!squash


Add Dockerfile [Ubuntu:18.04 - Python 3.9]

This is a Dockerfile (with Readme) for a minimal working "example.py"

This is the Dockerfile for fastLLaMa only, not for Alpaca, but the build process is compatible with Alpaca and Alpaca Lora. You could also modify the script to say that it's tested on Ubuntu 22.04 x86 Server.

Thank you!


Added job listing page and added add job route

[X] List jobs stored in the database.
[X] Create a separate page to display add job form.
[X] Adds required routes in react-router

Conflicts resolved by abhinand.


Install cffi in host Python

Fixes https://github.com/PyO3/maturin-action/discussions/147

bors try amd64 --platform musllinux_1_2

bors try amd64

bors r+


Change tracking when using value conversion to serialize complex types

I've tried using the new value conversion feature to map a complex type to a jsonb column. It works well, except that there doesn't seem to be any change tracking when I update a field on that complex type.

Is that the behavior currently expected, or may I be missing some configuration?
Would there be any workaround to achieve that behavior?

Thanks!

Nice to see you using the new value converters for json... I don't think value converters have any sort of support bit compares, (which do exist at the provider mapping level), just like translating operations to SQL isn't  supported either at this point.
Can you please post this on the EF Core repo, as it's a core feature request? I'll close this issue for now but if it turns out there's an Npgsql-interactive issue I'll reopen.

Fyi on that topic: https://github.com/aspnet/EntityFrameworkCore/pull/10969
-> it works already if the configuration is correctly set!

Hi, I found this via Google. I tried implementing value conversion for JSON fields as well (see my comment in that linked post), but couldn't get the change tracking working properly.  First I've created an interface that each complex type that I intend to put in a jsonb column shall implement:
interface ICustomValue<T>
{
    bool Equals(T other);
    T Snapshot();
}

Then I've written this helper function that registers a custom type as jsonb:
private static void MapJsonbValue<TEntity, TValue>(ModelBuilder modelBuilder, Expression<Func<TEntity, TValue>> propertyExpression) where TEntity : class where TValue : ICustomValue<TValue>
{
    modelBuilder.Entity<TEntity>().Property(propertyExpression).HasColumnType("jsonb");
    modelBuilder.Entity<TEntity>().Property(propertyExpression).Metadata.SetValueComparer(new ValueComparer<TValue>(
        (p1, p2) => p1.Equals(p2),
        p => p != null ? p.GetHashCode() : 0,
        p => p != null ? p.Snapshot() : default));
    modelBuilder.Entity<TEntity>().Property(propertyExpression)
        .HasConversion(
            v => v != null ? JsonConvert.SerializeObject(v, JsonSerializerSettings) : null,
            v => v != null ? JsonConvert.DeserializeObject<TValue>(v, JsonSerializerSettings) : default);
}

So if you have an entity of type MyEntity that contains a property MyProperty of type MyCustomType, you can register it like that:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    ...
    MapJsonbValue<MyEntity, MyCustomType>(modelBuilder, e => e.MyProperty);
    ...
}

Hope it helps!


Find and fix flaky Firebase tests

A few Firebase tests are occasionally failing at random, and they are preventing me from merging in PR #256 even though the PR did not modify the backend code. Flaky tests are problematic because they slow down development exponentially - given n tests that each flake 50% of the time, the developer will be forced to rerun the test suite an average of 2n times.
We should:

Identify the flaky tests;
Fix the tests; and
Prevent tests from flaking again in the future.

More info about flaky tests:

Google Blog
Hacker Noon

@fordacious says that the tests could be flaking because of race conditions on the database, which we can avoid by creating globally unique users for each test run.


Feature Request: Headless Mode

Currently this program only supports interactive mode (via GUI) - having a headless mode implemented would make noninteractive runs of this program way smoother.
Depends on #4

You can run the program from 'Main.java' and change 'runReal()' for 'runLoose(["path to project"], "[output image name]", "package to ignore in making UML", "another package to ignore in making UML", "I used var args so just keep going")'. Is that good or do you need more to satisfy a headless mode? Unfamiliar with the term in specificity.

For the purpose of avoiding hardcoding in general, I would like something like this:

passing in 0 cmd line arg runs generator in GUI mode, i.e., runReal()
passing in $>1$ cmd line args runs headless mode, i.e., runLoose(), using cmd line args as arguments for runLoose().

Rough sketch of this idea is available in #9 - although obviously it would need more work.


Enhencement Export data to csv file format with BOM

Proposed changes
Issue Number: close #xxx
Description
The UTF8 format of the Windows system has BOM.
We add a new user property to Outfile/Export。Therefore, when exporting Doris data, users can choose whether to bring BOM on the beginning of the CSV file.
Usage:
-- outfile:
select * from demo.student
into outfile "file:///xxx/export/exp_"
format as csv
properties(
    "column_separator" = ",",
    "with_bom" = "true"
);

-- Export:
EXPORT TABLE student TO "file:///xx/tmpdata/export/exp_"
PROPERTIES(
    "format" = "csv",
    "with_bom" = "true"
);

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run p0

run buildall

run feut


Network Security Group - compute instance "Show Connections" not making the link visible

Case 1 OK : Create a network security group, attach it to a load balancer and check the box "show connection", the link between the nsg and LB is visible
Case 2 NOK: create a network security group, attach it to a compute, and check the box show connections, no link is visible between the compute instance and the network security group

Resolved in 0.47.0


Retire Address - Changefeed display

When a user submits a retire address action, there is insufficient information to allow QA review.

The current UAT passes because the test is that an address can be retired. But once we develop QA, retire address will fail.

Tested 0.7.2.
The API message looks OK now, but there is an issue with how it displays.  In the UI the Full Road displays as:  _components_roadPrefix Maungawhare Place _components_roadSuffix _components_Watername
"properties":{
    "version":13664573,
    "changeId":6096749,
    "changeType":"Retire",
    "workflow":{
        "submitterUserName":"test.administrator",
        "submittedDate":"2016-05-11",
        "queueStatus":"Submitted",
        "sourceOrganisation":"e-Spatial"
    },
    "components":{
        "addressId":1620346,
        "lifecycle":"Retired"
    },
    "addressedObject":{
    }
},
"entities":[
    {
        "class":[
            "address"
        ],
        "rel":[
            "target"
        ],
        "properties":{
            "publishDate":"2015-11-25",
            "components":{
                "addressId":1620346,
                "addressType":"Road",
                "lifecycle":"Current",
                "addressNumber":58,
                "roadCentrelineId":140368,
                "roadName":"Maungawhare",
                "roadType":"Place",
                "suburbLocality":"Otumoetai",
                "townCity":"Tauranga",
                "fullAddressNumber":"58",
                "fullRoadName":"Maungawhare Place",
                "fullAddress":"58 Maungawhare Place, Otumoetai, Tauranga"
            },
            "addressedObject":{
                "addressableObjectId":1970144,
                "objectType":"Parcel",
                "addressPositions":[
                    {
                        "position":{
                            "type":"Point",
                            "coordinates":[
<PHONE_NUMBER>6670002,
                                -37.67890405
                            ],
                            "crs":{
                                "type":"name",
                                "properties":{
                                    "name":"urn:ogc:def:crs:EPSG::4167"
                                }
                            }
                        },
                        "positionType":"Unknown",
                        "primary":true
                    }
                ]
            },
            "codes":{
                "suburbLocalityId":4037,
                "townCityId":100104,
                "parcelId":4367693,
                "meshblock":"1158101"
            }
        }
    }
]

}

Please retest in 0.8.1

Tested 0.8.1
Full road correctly displaying for retires in review queue.


Adding SoundCloud to users via pull request

Hej!
I'm trying to add SoundCloud to the list of users.
I have a pull request ready in my local branch but no rights to pull it through.

Hi @nicolabortignon . You can use the 'fork' button in the top right to create a copy on Github which you have push access to. Then, from there, you can make a pull request to this repository, which we can merge. Github has an article about it here: https://help.github.com/articles/fork-a-repo/

Perfect,
thanks.


TIMEOUT: bins/dbg/bm_fullstack_trickle --benchmark_filter=BM_PumpUnbalancedUnary_Trickle/1/16777216/67108864$ GRPC_POLL_STRATEGY=epoll1

https://sponge.corp.google.com/target?id=d1eebee7-979c-45fa-ace4-c47b2736dbf9&target=github/grpc/c%2B%2B_linux_dbg_native&searchFor=&show=ALL&sortBy=STATUS
Timeout
I1115 16:28:57.051101456   18512 ev_epoll1_linux.cc:95]      grpc epoll fd: 6
D1115 16:28:57.051176409   18512 ev_posix.cc:135]            Using polling engine: epoll1
D1115 16:28:57.051197092   18512 dns_resolver.cc:307]        Using native dns resolver
Run on (32 X 2300 MHz CPU s)
2017-11-15 16:28:57
***WARNING*** Library was built as DEBUG. Timings may be affected.

turns out this one is failing 40% of our dbg builds and we haven't realized that because of the way we are calculating the failure percentage in our dashboard (it gets diluted if there's many runs of a similar test in the same build).

Ooh yikes! I will look at it right away

Btw, all the recent failures are instances of bins/dbg/bm_fullstack_trickle --benchmark_filter=BM_PumpUnbalancedUnary_Trickle/1/16777216/67108864 with those exact number params.


[WIP] Support ViT Anti Oversmoothing

Motivation
Support ViT Anti Oversmoothing.
Anti-Oversmoothing in Deep Vision Transformers via the Fourier Domain Analysis: From Theory to Practice
official repo
Since imagenet training is difficult at hand, I have not been able to verify the accuracy.
Also, I only support Swin and ViT, but can support other transformer models.  Let me know if you need.
Result
CUB200
bs8×1GPU

model
top1 acc

swin-l
91.6638

+ feat scale
91.81913

+ attn scale
91.56024

+ feat and attn scale
91.78461

Since I have not done imagenet pretraining, the accuracy is probably only for reference.
If we start with imagenet training, the accuracy may be further improved, but the effect may be limited (accuracy + 0.XX).
Use cases (Optional)
# model settings
model = dict(
    type='ImageClassifier',
    backbone=dict(
        type='SwinTransformer', arch='small', img_size=224,
        drop_path_rate=0.3, attn_scale=True),
    neck=dict(type='GlobalAveragePooling'),
    head=dict(
        type='LinearClsHead',
        num_classes=1000,
        in_channels=768,
        init_cfg=None,  # suppress the default init_cfg of LinearClsHead.
        loss=dict(
            type='LabelSmoothLoss', label_smooth_val=0.1, mode='original'),
        cal_acc=False),
    init_cfg=[
        dict(type='TruncNormal', layer='Linear', std=0.02, bias=0.),
        dict(type='Constant', layer='LayerNorm', val=1., bias=0.)
    ],
    train_cfg=dict(augments=[
        dict(type='BatchMixup', alpha=0.8, num_classes=1000, prob=0.5),
        dict(type='BatchCutMix', alpha=1.0, num_classes=1000, prob=0.5)
    ]))

# model settings
model = dict(
    type='ImageClassifier',
    backbone=dict(
        type='SwinTransformer', arch='small', img_size=224,
        drop_path_rate=0.3, feat_scale=True),
    neck=dict(type='GlobalAveragePooling'),
    head=dict(
        type='LinearClsHead',
        num_classes=1000,
        in_channels=768,
        init_cfg=None,  # suppress the default init_cfg of LinearClsHead.
        loss=dict(
            type='LabelSmoothLoss', label_smooth_val=0.1, mode='original'),
        cal_acc=False),
    init_cfg=[
        dict(type='TruncNormal', layer='Linear', std=0.02, bias=0.),
        dict(type='Constant', layer='LayerNorm', val=1., bias=0.)
    ],
    train_cfg=dict(augments=[
        dict(type='BatchMixup', alpha=0.8, num_classes=1000, prob=0.5),
        dict(type='BatchCutMix', alpha=1.0, num_classes=1000, prob=0.5)
    ]))

Checklist
Before PR:

[x] Pre-commit or other linting tools are used to fix the potential lint issues.
[x] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[x] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[x] The documentation has been modified accordingly, like docstring or example tutorials.
[x] Check accuracy with CUB.

After PR:

[x] If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects, like MMDet or MMSeg.
[x] CLA has been signed and all committers have signed the CLA in this PR.

I am a little confused as to whether I should add this PR or not.
It is a simple implementation, but I don't want to complicate the implementation by adding a less commonly used param.
What do you think?

I am a little confused as to whether I should add this PR or not. It is a simple implementation, but I don't want to complicate the implementation by adding a less commonly used param. What do you think?

It is a pretty good feature! We plan to support large-scale models in the next quarter, and this feature may be useful.


Rename "url" APIs to "path".

Having url and fullUrl is an odd concept to me. It seems like a wart in Hoxy's otherwise excellent semantics. I find myself explaining it in code comments.
Would you be open to renaming the usages of "url" to "path" where that is what it really means?
As a stretch goal, "fullUrl" could then become "url".

Is path really a better term since it contains the protocol and domain as
well?
On 5 Nov 2015 19:35, "Seth Holladay"<EMAIL_ADDRESS>wrote:

Having url http://greim.github.io/hoxy/#request-url and fullUrl
http://greim.github.io/hoxy/#request-fullUrl is an odd concept to me.
It seems like a wart in Hoxy's otherwise excellent semantics. I find myself
explaining it in code comments.
Would you be open to renaming the usages of "url" to "path" where that is
what it really means?
As a stretch goal, "fullUrl" could then become "url".
—
Reply to this email directly or view it on GitHub
https://github.com/greim/hoxy/issues/66.

Aha! See, it is confusing people. No, @editedredx request.url, the intercept 'url' option, etc. are all paths. They do not include the protocol or host. You are thinking of request.fullUrl() and friends.

req.url is root-relative because that's how node http servers (and express) do it. At least that was my thinking at the time :) Maybe when the next major version comes out we could consider renaming these, since it would be a breaking change.

That is fair. Maybe I am barking up the wrong tree. Express gets that from Node's own http module, which has a similar weirdness. When making an http.request() as a client, it calls this path, but when receiving a request message as a server, it calls this url. I am strongly in favor of removing the dissonance between url and fullUrl, in one form or another. It is easy and reasonable to be surprised that url is not "full". That's really the problem I'm trying to solve.

Short of breaking changes, we could alias url => path and refer to that instead in the docs if you think that would help. I'd accept a PR for that.

:+1: I'll make a PR sometime this coming week.


Not detecting Template type properly when 3+ templates inside Template folder

after removing a few it works as expected. Possible solution: limit to 2 or 3 for now

should be fixed in plugin v1.4.42 could you try again?


RwLockReadGuard::bump is unsound

The following methods are unsound because they can lead to aliasing mutable references:
RwLockReadGuard::bump
RwLockReadGuard::unlocked
RwLockReadGuard::unlocked_fair
ReentrantMutexGuard::bump
ReentrantMutexGuard::unlocked
ReentrantMutexGuard::unlocked_fair

Example:
use parking_lot::{RwLock, RwLockReadGuard};

fn main() {
    let lock = RwLock::new(10u32);
    let mut ref1 = lock.read();
    let ref2 = lock.read();
    let bare_ref: &u32 = &*ref2;
    RwLockReadGuard::bump(&mut ref1);
    // Another thread can now acquire a mutable reference to the RwLock while
    // we hold a shared reference.
    assert_eq!(*ref1, *bare_ref);
}

Note that without these methods RwLockReadGuard::map doesn't have to return a seperate type, but can just return an RwLockReadGuard, and the same is true for ReentrantMutexGuard::map.
Discovered (with a better explanation) in https://pitdicker.github.io/Creative-methods-on-interior-mutability-types/#temporary-lending-out-from-a-smart-pointer.

Although not part of parking_lot, I suppose that also makes https://github.com/Amanieu/parking_lot/issues/165 unsound if a Condvar is combined with RwLockReadGuard.

I don't think this is unsound: these methods only release a single lock guard, not the entire lock. This means that in your example, the rwlock is never unlocked since ref2 still holds a read lock. bump and unlocked have no effect if the reference count is not 1.

Apologies for not checking better, you are right.


How to change the height and width of the whole page/website?

You would need to change the CSS in some of the components. A lot of components are limited in width with "max-w-3xl"

Thanks @Brodypen


bump cypress, adjust configs and tests

Description
Changes proposed in this pull request:

https://github.com/kyma-project/test-infra/pull/8085
bump cypress,
update configs to new version,
add script for lunching tests on pipeline,
add command to run test on pipeline.

Related issue(s)
https://github.com/kyma-project/kyma-dashboard/issues/193

pre-kyma-dashboard-dev

/test pre-kyma-dashboard-dev

/test pull-kyma-dashboard-smoke-test-prod


Scope work for performance experiment infrastructure

Goals:

Collect known good results with multiple benchmarks
Be able to support automated performance testing and publishing results
Help define use cases for ReportStore (see #672 )

Mostly covered by new infrastructure in the integration subdirectory.


[bug] New Tooltips Misbehaving

Hello Timo,
I updated to 2.4.08 and the tooltips are great addition.
Reporting that once you are inside to edit the macro spells, sometimes they come up and sometimes they don't come up on Keypress, Main sequence, etc.
And sometimes they get stuck on even after GSE is closed, like the attached images.
Maybe can attach the clear tooltips function upon closing GSE to make sure they all clear for sure?
Not sure what to suggest about not coming up sometimes within the edit boxes, other than to clear all tooltips within triggering a new one on every mouse over? It feels like maybe they queue up and has a delay? Sorry just coming up with crazy ideas as I am not sure how is the proper behavior lol.

With them not coming up - your mouse needs to stay within the box.  This is a blizzard thing


Add magic number cpp

Added C++ code to check if a number is Magic Number or not.

Thanks for contributing!


How to use in k8s (multiple instance)

Hello,
I try to deploy tusdotnet in docker (k8s) with multiple instances. I've read tus faq and using sticky session (in Load Balancer), It's work perfectly.
Anyone try to implement a lock (redis) as faq saying? https://tus.io/faq.html
Thanks.

Hi,
Depending on your setup you might not need a lock in Redis. If each pod saves files locally the in-memory lock is sufficient given that sticky sessions work as expected. If using a shared file area you can disable sticky sessions and use disk based lock instead. See this wiki page https://github.com/tusdotnet/tusdotnet/wiki/Custom-File-Lock


Support Chrome i18n

Description
This PR implements support for chrome i18n. The current i18n is limited and would be removed once chrome i18n is completed

@Temmyogunbo I have seen this fail before, it is just a lint issue in one of the test files I will make a separate PR to fix this.


Package request: Elixir OTP varients

Project description
There already exist Elixir packages, however some use cases require Elixir versions compiled against specific OTP packages. A specific example is for building Nerves projects where the ssh functionality often requires the version of OTP on the host machine match that of the firmware on the target for connection. This request is that where for example you currently have:
elixir_1_17
You would instead have:
elixir_1_17 (the current OTP 25 version)
elixir_1_17_otp_25 (same as current version)
elixir_1_17_otp_26 (compiled against OTP 26)
elixir_1_17_otp_27 (compiled against OTP 27)
Looking at the existing scripts for Elixir the OTP version is already passed as a parameter, if it's possible to emit multiple versions for each variant of Elixir that would be great. Probably it makes sense for each version to be built against whatever OTP varients are released during it's supported lifetime. For most releases this seems to be 3 versions of OTP.
Metadata

homepage URL: elixir-lang.org
source URL: https://github.com/elixir-lang/elixir
license: apache2
platforms: linux, macos, windows and various smaller platforms

Add a :+1: reaction to issues you find important.

No I hadn't. After a lot of trying to searching and reading on how to do this I had never seen that page. Thanks for linking it. That solves the problem this proposal would have addressed.


feat: simplify the Document and Node interfaces

mostly some refactors to improve the interface of Document and Node

make this not a pedantic class

@shahules786 some questions about documents

what is the role of filename in document
what is the definition of a document. is it 1 page in a PDF, is it one page in a website? how will we define it?

A document is a single file that contains information. For example, it's all pages belonging to one pdf.
The filename is the identifier associated with each document.

closing this one in favour of #644


Create 'quorum' queues in RabbitMQ

It closes issue https://github.com/dapr/docs/issues/3685

changes applied. thanks @hhunter-ms !

@aaguilartablada - The queuetype property needs to added to the Component format Metadata https://docs.dapr.io/reference/components-reference/supported-bindings/rabbitmq/#component-format and also into the table below https://docs.dapr.io/reference/components-reference/supported-bindings/rabbitmq/#spec-metadata-fields to describe what the field does. The section you added is a howto example, but need the overall reference in the table

@aaguilartablada - The queuetype property needs to added to the Component format Metadata. The section you added is a Wow to example, but we need the overall reference in the table. Actually I now see this old PR. #3193. Can you pull the information from #3193 into this PR?

The PR https://github.com/dapr/docs/pull/3193 is bad documentation, as my PR https://github.com/dapr/components-contrib/pull/2816 only allows classic and quorum queues. It does not include support for stream.
I think my documentation is OK as queue type is indicated at subscription level, not at component level.

resolved conflicts

@aaguilartablada - Look at my comment here https://github.com/dapr/docs/pull/3193/files#r1326422581
We do need to include all the metadata options and you have added queuetypein this PR. So can we merge #3193 along with this PR? It is unfortunate there are two docs PRs for this one code update.

@msfussell let me insist, please.
My PR https://github.com/dapr/components-contrib/pull/2816 does not include metadata for RabbitMQ pubsub component. It includes metadata for subscription the same way subscription contains metadata for routing key without including it in component. The comment you just mentioned is to document a pull request that was closed without merging. You can go to the issue associated https://github.com/dapr/components-contrib/issues/2544 and then you will see that the PR https://github.com/dapr/components-contrib/pull/2556 is closed. This PR tried to add metadata to pubsub component, right. But my solution, that was already merged, has another approach: configuring the queue type through subscription.


Node-red issue

Hi,
I've been trying to download and install this node for a while now.
When it comes to running node-red the package is ackowledged but never loads.
Any help would be greatly appreciated
Thanks

Hi @RGCairns,
Please see the links in the prerequisites: https://github.com/sandeepmistry/node-bluetooth-hci-socket#prerequisites
Also you mind find @don's youtube video is helpful: https://www.youtube.com/watch?v=mL9B8wuEdms


ci: run the benchmark, with --validate, in CI

With #2088, we can now run the benchmark each time in CI and have it validate its results. It takes around ~3.5 minutes end to end and runs in parallel with the other (longer) steps so there's no slowdown.
I've made it use the git SHA like the vopr does, as the seed for the benchmark. But I'm not sure if maybe a fixed seed is better :thinking:
It would also be nice to kill the replica, and restart it (to ensure that caches are flushed) before validating, but that can be a future TODO.

I've made it use the git SHA like the vopr does, as the seed for the benchmark. But I'm not sure if maybe a fixed seed is better 🤔

Let’s got for fixed seed here, the less variance we introduce, the better

We probably want to add validate to
https://github.com/tigerbeetle/tigerbeetle/blob/aafcf0f2016c7029b1ae1e3e9d7c348bb0195e16/src/scripts/devhub.zig#L35
as well? Ah, and we also have an integration test that might also want to do this:
https://github.com/tigerbeetle/tigerbeetle/blob/aafcf0f2016c7029b1ae1e3e9d7c348bb0195e16/src/integration_tests.zig#L152
I am also wondering if doing this just for devhub (so, post merge) would be better? yeah, I think between a small integration test, and a big devhub benchmark, we perhaps can avoid a new CI job here?

Ah, I forgot about the integration test benchmark. I think that's OK for now, until we come up with something for scale tests etc too.
(My main issue with it only being in the devhub is that's only run after code is already in main.)

(My main issue with it only being in the devhub is that's only run after code is already in main.)

Yeah, that's why we have integration test for the benchmark, it does gate PR merging.


FIX: add possibility to compile without rte-rttmgp

launch jenkins icon

The icon tests are empty right now. So that didn't test anything. Can you do a launch jenkins spack install ....... ~rte-rrtmgp?

Sure, thanks for the tip, although I am not sure that the icon-cscs ~rte-rrtmgp works (it might be just unphysical I mean) it's needed for ham ;) But still let's try

launch jenkins spack install icon@cscs icon_target=cpu ~rte-rrtmgp


[question] Can properties of window.parentIframe be used in react dynamically?

I'm trying to use pageInfo.scrollTop from window.parentIFrame to position a modal element in react. Is this possible? I am able to console log the info, but I can't set it to state for some reason.
Here is one of my attempts:
const [iFramePosition, setIFramePosition] = useState<IIFramePosition>({
    offsetTop: undefined,
    scrollTop: undefined,
  });

  if ('parentIFrame' in window) {
    window.parentIFrame.getPageInfo((pageInfo: any) => {
      setIFramePosition({
        offsetTop: pageInfo.offsetTop as number,
        scrollTop: pageInfo.offsetTop as number,
      });
    });
  }

I also tried in a useEffect hook and still didn't work.

The problem is the callback is return async. Have a look at this SO, which I think should explain how to fix this problem. If it works, can you please post the final solution here.
https://stackoverflow.com/questions/53898810/executing-async-code-on-update-of-state-with-react-hooks

You got me thinking now and I think a custom effect would look something like this.
const usePageInfo (setState) => useEffect(() => {
  window.parentIFrame.getPageInfo(setState)
  return () =>  window.parentIFrame.getPageInfo(false)
}, [])


Make ChangedElements public

Make changed elements public and add descriptions so that we can reference the docs in the upcoming APIM tutorials for changed elements API.

Is there some API that accepts or returns ChangedElements? Or is that forthcoming?

Outside of iModelJs repo: The Changed Elements REST API returns a JSON object in this format. This API is available now via APIM in PROD.
Inside iModelJs repo: This is resturned in our internal backend vc processing but I don't want to expose as public just yet.

Inside iModelJs repo: This is returned in our internal backend vc processing but I don't want to expose that as public just yet.

Ok. Ideally after those tutorials are published the ChangedElements docs will link to them.

Inside iModelJs repo: This is returned in our internal backend vc processing but I don't want to expose that as public just yet.

Ok. Ideally after those tutorials are published the ChangedElements docs will link to them.

Sounds good, I'll keep a note and ensure that's updated.


Remove NumarrayType struct with numarray type names from ndimage

See https://github.com/scipy/scipy/blob/master/scipy/ndimage/src/nd_image.h#L67
There's also a couple of mentions of the tFloat64 type in the ndimage tutorial, see gh-6792.

This was done in #7549.
Not closing because of the tutorial reference. I would send a PR for that myself, but not sure what to change it to? There are many places in that document where we say something like "the input is an array of :c:type:Float64 type" which makes marginal sense, as there is no Float64 defined either in Python or in C anywhere. So what should those be replaced by?

the Python name of the type, e.g. np.double or np.float64,
the enumerated type value for that type in C, i.e. NPY_DOUBLE or NPY_FLOAT64, or
the actual C typedef, i.e. npy_double or npy_float64.

Most of the mentions of Float64 and tFloat64 in http://scipy.github.io/devdocs/tutorial/ndimage.html seem to be for Python level code (ndarrays). So np.float64 I'd think.


ci: add daily builds

Problem:
As seen when testing https://github.com/harvester/harvester/issues/6215, we had an ISO build from a stable branch (v1.3) which was missing a change from harvester-installer, because that change happened after the latest change in the harvester repo. Doing daily builds of all stable branches will help to mitigate this in future.
Solution:
Backport commit 11adde7ee31f06beba85ed85709f357e8d076950
Related Issue:
N/A
Test plan:
N/A

Actually, this isn't going to work - as @bk201 mentioned to me separately, scheduled workflows only run on the default branch (see https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule)


Decompiled Minecraft Sources Present

You appear to have committed the entire decompiled source of Minecraft as you can see here.
This is against Minecraft's EULA
I'm assuming this wasn't intentional.
I'm not entirely sure myself what the proper way to go about this situation is, but I did want to bring this to your attention either way.

No one cares + take a rope and hang


Add default values to defaults.json

Summary of the Pull Request
This updates defaults.json to include the default values for all global and profile settings. Most default keybinding args are added too. This also updates a few outdated items found in the docs.
PR Checklist

[X] Closes #5189

Validation Steps Performed
After making the changes, I made sure all of the settings are deserialized by debugging and stepping through the LayerJson code.

[X] Global Settings
[ ] Profile Settings

I was mainly looking for two things:

the key/value pair is found and read
the value did not change before/after the pair was read

I'm also cross-validating this with the schema by moving these settings to settings.json and running the updated schema on it. Here's some interesting findings:

Global Settings: None
Profile Settings:

"Warning: Incorrect type. Expected string." when I set these properties to null

"backgroundImage"
"selectionBackground"
"cursorColor"
"cursorHeight"
"icon"
"tabTitle"
"source"

Keybindings:

~"Warning: Incorrect type. Expected object." when "command" is set to null~ Addressed by #5221

I can add "null" as acceptable via the schema and double check it serializes them properly by setting them in "profiles.defaults" then trying to unset them in my "profiles.list".
But again, I want a "go-ahead" before I start doing that.

Null is allowable for those.

I like the changes if user feedback is a factor here. Use of null makes sense to me for those particular settings. You can always define those manually in profiles.json, which is what usually happens anyways.

Should I go ahead and make sure all keybindings are there too?
Yes.

I can also add in missing keybinding args and set them to their default value just to show that they exist

This would prove helpful when configuring your own keybindings (instead of having to go to docs). Basically the defaults.json is a template and profiles.json should be a mirror replica that overrides defaults.json.

Follow-up tasks:

#XXXX: selectionBackground and cursorColor should be nullable in the schema

this requires me doing some untangling from the Color reference. It's a sizeable change.

#YYYY: allow keys to be nullable

similar problem as before. Requires some untangling that may be a bit too big.

I'll probably do them all as one PR. But I'll update this comment with the appropriate follow-up GH issues.

•	#YYYY: allow keys to be nullable

sorry, what? absolutely not.

•	#YYYY: allow keys to be nullable

sorry, what? absolutely not.

Well, this one's annoying. So we have the closeTab keybinding action. This isn't set by default. I added it in like this:
{ "command": "closeTab", "keys": null },

but I'm not fond of it.

FYI: I omitted adding the newTerminalArgs for splitPane and newTab because they're really cumbersome. I think they'd be more confusing to see than not to see.

This is an example of somewhere we definitely shouldn't violate our schema just to educate users about an option they almost certainly do not want to begin with.

like, put that thing in a comment with a keys value and say it closes a whole tab without confirmation even if it has multiple panes in

@DHowett-MSFT hmm, should I do the same with this then? There's no real value for a user to define them as null.

#XXXX: selectionBackground and cursorColor should be nullable in the schema

For those, there is. Cascading settings mean that they could be inherited from some other place, and they would need to be uninherited.

Should we put somewhere that ctrl+shift+w will close a tab if there aren't any panes?

If we consider it implicit that every tab contains a single pane by default, it is implied.

I would argue people would assume there aren't any panes if they didn't split any.

We should rename it to closeTheSmallestThingICurrentlyHaveInFocus.

Should we put somewhere that ctrl+shift+w will close a tab if there aren't any panes? Or it will close the whole window if there's only one tab?

I think that's something worth mentioning. But defaults.json isn't the place for it. Definitely in the docs though. And the schema too, if it isn't in there already.

Any changes you make to this file please make sure you reflect to the universal file. Do remember the profiles differ :smile:


Image Tags

Instead of "Missing Tags" say something like "Sorry we couldn't identify objects in the following images. Please help."
Give some example tags - for e.g., each box can show "person, ball, park"

I added examples of input boxes and explanations

User tags need not be one-word.
For multi-word tags, post-process to replace spaces with underscore

Lower YOLO threshold.
Incorporate scene detection (get caffe running).
Incorporate google tags. Google has a restriction of 100 queries from one IP per day. There needs to be a check for this. The entire application must not crash if this limit is reached. It should simple run without the Google tags.

~~ Lower YOLO threshold. ~~
Incorporate scene detection (get caffe running).
Incorporate google tags. Google has a restriction of 100 queries from one IP per day. There needs to be a check for this. The entire application must not crash if this limit is reached. It should simple run without the Google tags.

Lowered YOLO threshold to 0.25, and I fixed the disappearance of quotes

User tags need not be one-word.
For multi-word tags, post-process to replace spaces with underscore

Done

User tags need not be one-word.
For multi-word tags, post-process to replace spaces with underscore

Done
"Please help by filling in single or multi-word descriptions for each image."
We don't really want descriptions, just tags. So perhaps something like "Please help by filling in concepts you see in the image" would be better.
In the examples, "blue sky, relaxing vacation" is perfect. Just add an explicit object too, e.g. "building"

Okay, I changed it.

Lower YOLO threshold.
Incorporate scene detection (get caffe running).
Incorporate google tags. Google has a restriction of 100 queries from one IP per day. There needs to be a check for this. The entire application must not crash if this limit is reached. It should simple run without the Google tags.

I moved 2 and 3 to a new issue with the feature tag.


Sorting not re-rendering data when dataFormat is being used

When I add dataFormat on a specific column, lets say for example a date column to convert it to ISOstring. When I sort the data, the date column stays static. If I change the page using pagination, its still the same. If I remove the dataFormat, then everything works fine again.
Work around is to transform the data and not use dataFormat. But doing so, I lose the functionality of adding an event handler like onClick on the column. If I dont use dataFormat, is there any other way to attach an event handler on the column? Thanks.

@flipjs, react-bootstrap-table just sort data from source data, if you want to sort a column which formatted, I can add this feature in near future. so I thinks the support for sorting on formatted column is which you want?

@AllenFang thanks for the quick reply. Actually sorting doesnt work when using dataFormat. The old data is still present on screen, but the real data behind it doesnt move at all when sorting. The issue here is, clicking on a column will get the wrong data/object.
Actually, sorting works on first click. Second, third and succeeding clicks on header, sorting stops working. Heres an example,  I have 30 items, with ID 1 to 30. Initial screen show 1 to 10. When I click on ID header, it will sort all the data correctly, and will show records from ID30 down to ID21. If I click on the ID header again, it will still sort, but columns with dataFormat get stuck on screen, and the real data behind it get stuck as well. See the 2 tablesbelow:

On Table 1, it still show the correct rows and clicking on ip address with ID30, will console log the ID30 object.
On Table 2, sorting didnt work correctly. The topmost is now ID1, but the IP address column didnt move. Clicking on IP address with ID1 row, will still console.log the ID30 object.

I think its the dataFormat that is causing the issue. I removed datasort on all columns, which I thought would solve my problem. But now, with pagination, its still the same. If I go to different page number, the one with dataFormat will not change at all.
So I guess I cannot use dataFormat for now. But I dont know how to add onClick anymore on a column without dataFormat. Is there any other way to add onClick functionality on column without using dataFormat?

@flipjs, for workaround, you can use row selection,

function onRowSelect(row, isSelected){
  // get your cell from row!!
}

var selectRowProp = {
  mode: "radio",
  hideSelectColumn: true,  // hide selection column.
  clickToSelect: true,  // you should enable clickToSelect, otherwise, you can't select column.
  onSelect: onRowSelect
};

export default class HideSelectionColumnTable extends React.Component{
  render(){
    return (
      <BootstrapTable data={products} selectRow={selectRowProp}>
          <TableHeaderColumn dataField="id" isKey={true}>Product ID</TableHeaderColumn>
          <TableHeaderColumn dataField="name">Product Name</TableHeaderColumn>
          <TableHeaderColumn dataField="price">Product Price</TableHeaderColumn>
      </BootstrapTable>
    );
  }
};

Anyway, I'll spend some time to trace this problem :) Thanks your helping.
If any questions, welcome to join the gitter to discuss with us :)

@flipjs, I thinks there are some case I need to confirm, so could you please give me some example codes(on gist)
About the add onClick, you want to click some columns and using the column which clicked to do some stuffs? if yes, your workaround is row selection
function onRowSelect(row, isSelected){
  // click row will trigger this callback function
  // you can get whole columns from row
}

var selectRowProp = {
  mode: "radio",
  onSelect: onRowSelect,
  hideSelectColumn: true,  // hide selection column.
  clickToSelect: true  // you should enable clickToSelect, otherwise, you can't select column.
};

export default class DemoTable extends React.Component{
  render(){
    return (
      <BootstrapTable data={products} selectRow={selectRowProp}>
          <TableHeaderColumn dataField="id" isKey={true}>Product ID</TableHeaderColumn>
          <TableHeaderColumn dataField="name">Product Name</TableHeaderColumn>
          <TableHeaderColumn dataField="price">Product Price</TableHeaderColumn>
      </BootstrapTable>
    );
  }
};

@flipjs, I just write a simple example with sort and dataformat as following,

function priceFormatter(cell, row){
  return ' ' + cell;
}

export default class SortTable extends React.Component{
  render(){
    return (

        <BootstrapTable ref="table" data={products}>
            <TableHeaderColumn dataField="id" isKey={true} dataSort={true}>Product ID</TableHeaderColumn>
            <TableHeaderColumn dataField="name" dataSort={true}>Product Name</TableHeaderColumn>
            <TableHeaderColumn dataField="price" dataFormat={priceFormatter}>Product Price</TableHeaderColumn>
        </BootstrapTable>

    );
  }
};

But I sort on all column with multiple times clicked, there's no any problem like your conditions.
so colud please give me your example code(on gist) or there's something I miss?

Hi Allen, Thanks for your prompt action on this. Actually I have the code in my repo. Here it is:
https://github.com/flipjs/react-bootstrap-table
What I want is, even If I cannot format the data, is have some way to click on column, and get the cell (not row) data. Then I can add onClick event on that, send the cell as parameter. With onSelectRow, I dont know which cell was clicked.
Thanks.

@flipjs, thanks your examples, I'll check it out tomorrow, it's time to sleep :)

No worries. Stay healthy. Thanks.

@flipjs, there are a lots of bug to fix, so maybe need more time ;( sorry

No worries. Take your time. Thanks for looking into this.

@flipjs, I've find the problem and will fix in these days, thanks:)

Cool! Thanks!

Hi, I'm experiencing this issue as well.
The issue seems to be triggered when you use dataFormat to return a custom component.
It seems like shouldComponentUpdatein TableColumn is always returning false even when children of the custom component has been updated.
perhaps the shouldUpdateComponent method should be updated to always return true if the dataFormat prop is returning a custom component. This way the custom component can choose to implement their own shouldUpdateComponent if they choose.

@tikotzky, exactly. because on v1.4.2, I did some performance tuning on shouldComponentUpdate in TableColumn so that caused this bug. btw, if always return true, when user use dataFormat will reduce performance on a long table. But I've no idea to solve this problem so the workaround is just return true to fix this issue ;(

I downgraded to 1.4.1 for now. Thank you both!

The custom component has the option to implement shouldUpdateCoponeny itself if it's worried about performance.
Perhaps it should just be documented that if you use dataFormat you should make sure the component returned implements shouldUpdateComponent.

@tikotzky, cool, good idea!!, thanks a lots :)

release on v1.4.3 :)

Brilliant! Thanks @AllenFang @tikotzky !

when using dataFormatthat returns a select element with options inside of it, sorting doesn't sort, and changes to state don't get reflected in the column.  Make sure that your select element also has a defaultValue, e.g. <select defaultValue={myStatus} >
Here's a video reproducing the problem.
https://www.dropbox.com/s/qndf7rxngo4pu64/SortAndStateUpdatesDontWork.mov?dl=0
I attempted to change the shouldComponentUpdate to always force returning true. This DID NOT fix the problem. I tried downgrading to 1.4.1 and that did not work.
This appears to still be an issue. I'm sorry that I can't be of much use right now due to a demo tomorrow - I love the stuff you've made and it's helped my team out a ton!

@andest01, thanks for issue reporting, could you please give your example code for me to debug?
Thanks :)

@AllenFang Have you implemented the sort on formatted data yet? Is there a way to trigger dataFormat handler function after sorting was triggered? I'm using dataFormat to convert epoch time column to readable format, and I also want to be able to sort the epoch time.

Any possible solution for "react-bootstrap-table": "4.3.1", i'm using dataFormat, but unable to do dataSort???
Thanks.


iOS Map issue

Unable to open the default Apple Maps on iOS
Will this be supported?
I usually only use Apple Maps instead of using Google Maps
Waiting for a reply
Thanks

Can you elaborate what you mean?
What flow are you using that doesn't work?
e.g. pressing a geolink inside a note? Long-pressing a marker on the map?

Can you elaborate what you mean?
What flow are you using that doesn't work?
e.g. pressing a geolink inside a note? Long-pressing a marker on the map?

When I long press the icon on the map view then show 3 options at bottom
-open note
-open geolocation in default in App
-open in google maps
However I don't get any response when I click "in default in app".(I've tried on multiple iPhone devices and the same result)
But google maps work perfectly
If you have iOS devices please check out
Thanks

Disappointing to find out that it doesn't work in iOS devices, I was sure that it does!
I don't have any iOS device to test and debug this on, but as a workaround, you can probably add a custom "open in" action (from the settings dialog) that would work. Apple Maps must have a URL to invoke it directly like Google Maps does.

The URL for Apple Maps is http://maps.apple.com/?ll={x},{y}
However, I think there should be a setting to change default app or add URL for default app, since the geo: url does not work on iOS devices.

The URL for Apple Maps is http://maps.apple.com/?ll={x},{y}
However, I think there should be a setting to change default app or add URL for default app, since the geo: url does not work on iOS devices.

It works perfectly with http://maps.apple.com/?q={x},{y}
You are AMAZING!!
Thanks for these tips

I haven't yet found a way via the Obsidian API to control what happens when a geo: link is clicked. If anyone reading this has a clue, I'd love to be able to control this!

Managed to do this via remapping the url handler for geo: with the program 'Lincastor' (available through brew). Absolutely no clue how to do it on Obsidian's side. Very painful tbh and not sure how long the program will continue to be compatible - most uri/url handlers for macos seem to have been made years ago.


Redirect if user is unathorized

I am followed this great guide about Caddy & OAuth2 authentication and I have one question:
"Now, when you browse to https://auth.int.domain.tld, you will be able to log in using your Google account. Note that anyone will be able to log in here, but not everyone will have access to the protected services. We will limit service access to specific email addresses in the following section."
It is possible to logout and redirect unauthorized users to login page? At this moment everybody can login, but only authorized users are redirected. It would be great to logout unathorised users & redirect to login page.
Best regards,
Adrian

Hello @adrianmihalko,
in general the solution is to remove the jwt token from the users cookie and redirect him to the login page. But I think this can not be achieved with the caddy http.jwt plugin.
Since it is no problem that a user is authenticated as long as your authorization is correct and denies access to your services to unwanted users, you should consider to give some information to the user on the profile page. You can find some information how to do this here:
https://github.com/tarent/loginsrv#templating
The Section in the template that you have to change is this:
https://github.com/tarent/loginsrv/blob/master/login/login_form.go#L54
I will close this issue for now. If you want to suggest (or better implement a feature) that improves this behavior reopen this issue!


Trispectrum docs have some small bugs

I found a couple of small bugs in the trispectrum docs. Here are the screenshots:

Assigning to @carlosggarcia but feel free to pass it on if you are not the right person!

@elisachisari addressed in #1168. Happy to get a review (e.g. from you or @carlosggarcia )!

The docs can be seen here: https://ccl.readthedocs.io/en/doc_trispectrum_fix/api/pyccl.halos.pk_4pt.html


[WebSocket] Add optional heartbeat via "ping" control frames.

Has no effect in Web exports since the browsers do not expose a way to send ping control frames.

I found this PR after implementing a very similar version (and wish I had looked first!), but taking advantage of the WSLAY_PONG reply that is automatically sent upon receipt of the ping.
You can consider these suggestions, or when this PR is merged, I can submit a PR with the pong enhancment for review.
Without timing out the pong, if a peer closes uncleanly for example by turning off wi-fi, the error check here:
err = wslay_event_queue_msg(wsl_ctx, &msg);
				if (err == 0) {
					ping_sent_ticks_msec = ticks;

Can get "stuck" and never close the connection or emit the error. I'm not sure what is regulating the time after which the error occurs, but it seems unpredictable. Perhaps it's repeated pings piling up in the queue over time?
I put this at the end of _wsl_msg_recv_callback (also adding the additional vars):
	// Ping or pong.
	if (peer->send_pings_and_close_on_timeout && op == WSLAY_PONG) {
		peer->pong_received_ticks_msec = OS::get_singleton()->get_ticks_msec();
		peer->pong_received = true;
		peer->last_ping_interval = peer->pong_received_ticks_msec - peer->ping_sent_ticks_msec;
	}

With last_ping_interval exposed with a get method, you can see how long the pings are taking for a round trip, which is useful for diagnostics. last_heartbeat is identical to ping_sent_ticks_msec.
The if statement in poll() is slightly different:
This PR:
	uint64_t ticks = OS::get_singleton()->get_ticks_msec();
		int err = 0;
		if (heartbeat_interval_msec != 0 && ticks - last_heartbeat > heartbeat_interval_msec && ready_state == STATE_OPEN) {
			struct wslay_event_msg msg;
			msg.opcode = WSLAY_PING;
			msg.msg = nullptr;
			msg.msg_length = 0;
			err = wslay_event_queue_msg(wsl_ctx, &msg);
			if (err == 0) {
				last_heartbeat = ticks;
			} else {
				print_verbose("Websocket (wslay) failed to send ping: " + itos(err));
			}
		}

An approach using the pong timeout:
		uint64_t ticks = OS::get_singleton()->get_ticks_msec();
		int err = 0;
		if (send_pings_and_close_on_timeout && ready_state == STATE_OPEN) {
			if (ping_sent_ticks_msec == 0.0) { // Initialize to wait one ping_repeat_interval before first ping.
				ping_sent_ticks_msec = ticks;
				pong_received_ticks_msec = ping_sent_ticks_msec;
				pong_received = true;
				return;
			}
			if (pong_received && pong_received_ticks_msec + ping_repeat_interval * 1000 < ticks) {
				struct wslay_event_msg msg;
				msg.opcode = WSLAY_PING; // wslay internally sends a WSLAY_PONG on arrival of WSLAY_PING.
				msg.msg = nullptr;
				msg.msg_length = 0;
				err = wslay_event_queue_msg(wsl_ctx, &msg);
				if (err == 0) {
					ping_sent_ticks_msec = ticks;
				} else {
					print_verbose("Websocket (wslay) failed to send ping: " + itos(err));
				}
				pong_received = false;
			} else if (!pong_received && ticks - ping_sent_ticks_msec > await_pong_timout_interval * 1000) {
				close(-1);
				return;
			}
		}

This will definitively close the stale connection after the await_pong_timout_interval.
I put a bool property to enable pinging called send_pings_and_close_on_timeout, though the non-zero heartbeat interval is sleeker. I had also put lower limits on the heartbeat interval and pong timeout of two seconds to avoid someone setting a harmfully short heartbeat time.

Can get "stuck" and never close the connection or emit the error. I'm not sure what is regulating the time after which the error occurs, but it seems unpredictable. Perhaps it's repeated pings piling up in the queue over time?

That is usually regulated by the OS at the TCP level, and usually take into account what kind of device it is (e.g. mobile vs desktop) to improve TCP reliability. I understand that this might produce unwanted results in some cases (TCP connection lingering too long).
For those cases, I think we can try to implement TCP_USER_TIMEOUT at the TCP level.
There's a long article about the socket flags we could set to improve that situation.

taking advantage of the WSLAY_PONG reply that is automatically sent upon receipt of the ping.

My main fear about using PONG is that I'm not super confident about websocket servers implementing that correctly (one would expect standards to be respected, but they often aren't :( ).
It is probably worth a try, but I'm not sure if it should go in this PR.
I'm actually wondering if we should hold this PR and try handling that at the TCP level instead.

@Koyper okay, I think in the end it makes sense to rely on PONGs, but instead of expecting a specific time, we consider the connection broken if we don't receive a pong between one ping and the other.
This should let devs configure a reasonable time without having too many options.
Let me know what you think.

@Faless

of course windows doesn't have a TCP_USER_TIMEOUT equivalent

Apparently, TCP_MAXRT may work, which seemingly precedes TCP_USER_TIMEOUT by at least 2 years.

Apparently, TCP_MAXRT may work? It seemingly precedes TCP_USER_TIMEOUT by at least 2 years and is supported as far back as Windows Vista.

Sweet :rocket: , I missed it from the list!
I'll open a dedicated PR to implement that in netsockets then.

I think the approach here very much makes sense, and I reviewed the code, style, commit and docs.
I haven't tested it, but the potential for regressions should be low; at maximum, it would be expected to break if this new option is enabled. Testing in a dev release should hopefully get us feedback if this solves the problems people experience in real projects.
IMO, this can be merged.

Thanks!


A StatefulSet with 10+ replicas cannot be properly sorted ascending/descending in the UI

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Go to a workload page for a statefulset (with 10+ replicas)
Open "Pods in this workload"
Press the arrows next to Name to attempt to sort Ascending or Descending

Result:

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.2.7
Installation option (single install/HA): Single

verified on 2.3.4-rc6
Steps:

deploy a cluster(rke DO 1.17 k8s)
Go to a workload page for a statefulset (with 10+ replicas)
Click on the workload, go to Pods view.
User is able to sort the pods in the Name column in ascending/descending order


Spurious compiler error regarding constant visibility in modules

The following works as expected, allowing the declaration of an Array using a calculated constant
module C
  CONSOLE_X  = 40
  CONSOLE_Y = 20
  CONSOLE_XY = CONSOLE_X * CONSOLE_Y
end
buffer = Array(Int32).new(C::CONSOLE_XY)

However, when trying to declare a StaticArray variable, the following code does not compile:
module C
  CONSOLE_X  = 40
  CONSOLE_Y = 20
  CONSOLE_XY = CONSOLE_X * CONSOLE_Y
end
buffer = StaticArray(Int32,  C::CONSOLE_XY).new(0)

In main.cr:4:16

 4 | CONSOLE_XY = CONSOLE_X * CONSOLE_Y
                  ^--------
Error: undefined constant CONSOLE_X

This code does compile when one explicitly specifies the name space in the CONSOLE_XY definition, even though CONSOLE_X and CONSOLE_Y should be directly visible inisde the module C.
module C
  CONSOLE_X  = 40
  CONSOLE_Y = 20
  CONSOLE_XY = C::CONSOLE_X * C::CONSOLE_Y
end
buffer = StaticArray(Int32,  C::CONSOLE_XY).new(0)

Related: #13895


Add Puppet 3.4.x compatibility to path autorequire

The original autorequire failed on 3.4.x, but was working well
on 3.8.x.

This is identical to how the file type autorequires works in the core file type.


Desktop List View Image from right to left

I cannot find a way to bring the images in the List View in Desktop Browser from the right to the left side.
As You can see from the image it would be way better and would improve readability of the whole feed when look at the images besides the text instead of moving the eyes far far away.

If not possible right now, would it be possible to add it as a setting. Thank you so much.

Agree this makes sense. I don't use List view (it looks fine in Split view) but the other problem is that the dates don't line up if only some items have images.

I don't like the Split view because I more like to read to article on the actual website :)
But indeed that date viewing issue should also be fixed tho.

That's strange, it looks fine to me on both List and Split view. An option to move images to the left is something I'd consider.

Indeed @samuelclay I'm also not able to reproduce the date issue from @nriley .
Anyway I mentioned that in the Split View there is the same issue (at least for me) with a bad placement of images.
So yeah it's totaly nice to have. Would be awesome to have.
Thank you anyway for this great project. Feel free to close here and update here when you have time to fix this. All the best.

@samuelclay The layout issue I saw seems to happen immediately after changing from Split to List view. If I refresh the view it's fixed.

I cannot reproduce this @samuelclay . Maybe you have a special browser version or feature enabled?

OK, a bit more testing — with Safari and Chrome with current release NewsBlur:

Set NewsBlur to Split or Full view.
Reload NewsBlur.
Click List.

If NewsBlur started out in the Grid view, or was in List view to start with, then you can switch from other views to List without a problem.

This has launched on beta.newsblur.com. It's also the new default layout, combined with Split view and stories on Left.


Mutation Typescript types

Is there something missing in my setup to have type completion inside mutations? Right now I can pretty much pass anything to the mutation and my IDE doesn't notice potential errors.

I'm pretty sure this has to do with the same issue I posted a few days ago #401 what moduleResolution are you using in your tsconfig.json? Hopefully we can get some thoughts from @psteinroe ....happy to help where i can

hey @uncvrd and @cptlchad, thanks for opening the issues! I guess we are missing some package json export config. Does anyone of you have experience with this? Happy to accept prs and support!

@psteinroe thanks for the PR encouragement! I took a look and it seems to be resolved by updating TS to the latest version. Hopefully this helps, let me know if you have any questions


Setting disabled  with .trigger('change') does not always work

Toggling disabled on an option does not always cause select2 to display the changes.
I've set an example here:
http://codepen.io/kororas/pen/NGjoZx
I've looked into destroy and init which works but it causes FLOUC which is really undesirable in our circumstances.

This is a duplicate of https://github.com/select2/select2/issues/3347.


Make the uptime more clear

This might be an intended feature, but I think the uptime is being displayed confusingly. I think you should make it simply display in an HH:MM format.

"13.12h" doesn't exactly scream "x hours and x minutes" to me


added SigVer and got rid of memory leaks

Alright @ashman-p the changes are made. Ready for merge?


make cases for lowstar_endianness consistent

I don't mind which version to use but the warnings about this are annoying, let's decide on a casing.

PascalCase = kremlin-generated file
snake_case = hand-written
there are two such files: the snake_case one is in include/kremlin, the PascalCase one is in dist/generic/*
The correct fix is probably to rename the snake_case one to something more meaningful, such as lowstar_endianness_builtins.h to indicate that it contains hand-written prototypes that "fill out" the endianness functions on a per-platform basis.
The auto-generated one contains function prototypes to be implemented by hand and allows making sure that the implementation of e.g. load128_le (in kremlib/c/fstar_uint128_gcc64.h) is correct with regards to what is claimed in the F* file (as extracted in kremlib/dist/generic/LowStar_Endianness.h).
Hope this makes sense!


error sending request for url... errors

Running lychee 0.8.0 locally on my mac.
I'm trying to set up Lychee as part of my CI process for a large documentation site, that checks the output directory after a build.
However, in the output, I get more than 2x the number of the following, compared to 404s:
(error sending request for url (<url>): error trying to connect: dns error: failed to lookup address information: nodename nor servname provided, or not known

This error appears on both local and external URLs.
Is there a way to prevent or suppress these errors? I am mainly interested in 404s.

 For the domains that are failing, can you open them in a browser?
If not, these might be internal links and you might not have them in your /etc/hosts or you have to connect to a VPN first. Also, do the DNS errors only occur for a limited number of domains? Maybe just one site that isn't reachable? That might point to an internal server as well.
In any case, there is not way to ignore dns errors right now.
reqwest (the library we use for making the requests) has a method to check if the error happened during connection: https://github.com/seanmonstar/reqwest/blob/ab49de875ec2326abf25f52f54b249a28e43b69c/src/error.rs#L94-L95
So in theory we could add a flag like --ignore-connect to make these error messages go away. I'd like to hear some opinions on this. The flag could potentially shadow unexpected errors. An alternative is to use --exclude for the domains where errors are expected. This would already work today and wouldn't require any changes.


Master

Update documentation to reflect Cosmos DB

@dennyglee,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


feat: pass client's IP address and port to ASGI app via scope 'client'

This PR will enable the ASGI application to access the client's IP address and the client's port by the tuple (client_ip, client_port) in scope["client"].
Note: needs testing.
Closes #5

https://asgi.readthedocs.io/en/latest/specs/www.html#http-connection-scope

client (Iterable[Unicode string, int]) – A two-item iterable of [host, port], where host is the remote host’s IPv4 or IPv6 address, and port is the remote port as an integer. Optional; if missing defaults to None.

What if REMOTE_ADDR is present but REMOTE_PORT isn't? Or vice versa?


The card "Defeat" in Dragons of Tarkir is misidentified as 1CMC

I'm not sure if the issue is on drafts.in or wherever the card data is being pulled from, but when you sort by CMC Defeat always shows up as costing 1 mana.

Just checked MTGJSON's DTK.json and it says this:
{"layout":"normal","type":"Sorcery","types":["Sorcery"],"colors":["Black"],"multiverseid":394534,"name":"Defeat","cmc":2,"rarity":"Common","artist":"Dave Kendall","manaCost":"{1}{B}","text":"Destroy target creature with power 2 or less.","flavor":"\"Wars are decided one life at a time.\"\n—Gvar Barzeel, Kolaghan warrior","number":"97","imageName":"defeat"},{"layout":"normal","type":"Creature — Human Warrior","types":["Creature"],"colors":["Green"],"multiverseid":394535,"name":"Den Protector","subtypes":["Human","Warrior"],"cmc":2,"rarity":"Rare","artist":"Viktor Titov","power":"2","toughness":"1","manaCost":"{1}{G}","text":"Creatures with power less than Den Protector's power can't block it.\nMegamorph {1}{G} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)\nWhen Den Protector is turned face up, return target card from your graveyard to your hand.","number":"181","watermark":"Atarka","imageName":"den protector"}

and in client shows it right as:

I'm thinking you used a card downloader from a site like MTGSalvation and there might be inaccuracies with it. Please try re-running the Oracle tool. CMC is not a trait that the COD file type supports.

So Drafts.in pulls card data from Oracle locally, on my computer? When I
reran Oracle nothing changed, and Defeat is categorized properly in
Cockatrice which pulls data from Oracle. I did not use a card downloader
from MTGS as far as I know.
Here is a screenshot of the problem. Would you mind going into Drafts.in
and seeing if Defeat actually shows up at 2CMC?
On Sun, Mar 22, 2015 at 6:43 PM, Zach<EMAIL_ADDRESS>wrote:

Just checked MTGJSON's DTK.json and it says this:
{"layout":"normal","type":"Sorcery","types":["Sorcery"],"colors":["Black"],"multiverseid":394534,"name":"Defeat","cmc":2,"rarity":"Common","artist":"Dave Kendall","manaCost":"{1}{B}","text":"Destroy target creature with power 2 or less.","flavor":""Wars are decided one life at a time."\n—Gvar Barzeel, Kolaghan warrior","number":"97","imageName":"defeat"},{"layout":"normal","type":"Creature — Human Warrior","types":["Creature"],"colors":["Green"],"multiverseid":394535,"name":"Den Protector","subtypes":["Human","Warrior"],"cmc":2,"rarity":"Rare","artist":"Viktor Titov","power":"2","toughness":"1","manaCost":"{1}{G}","text":"Creatures with power less than Den Protector's power can't block it.\nMegamorph {1}{G} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)\nWhen Den Protector is turned face up, return target card from your graveyard to your hand.","number":"181","watermark":"Atarka","imageName":"den protector"}
and in client shows it right as:
[image: screenshot 2015-03-22 18 42 26]
https://cloud.githubusercontent.com/assets/7460172/6771874/38859cb2-d0c3-11e4-9615-dac20d73ea7b.png
I'm thinking you used a card downloader from a site like MTGSalvation and
there might be inaccuracies with it. Please try re-running the Oracle
tool. CMC is not a trait that the COD file type supports.
—
Reply to this email directly or view it on GitHub
https://github.com/aeosynth/draft/issues/111#issuecomment-84724585.

fixed
@ZeldaZach deleting comments can make a thread confusing; consider editing instead

@aeosynth I thought this was on the cockatrice github and I was responding as if he imported a deck from drafts.in and cockatrice had an issue.
Sorry for the confusion!

i know. my point remains.


Exception opening file /trace/wiki2018.tr

Hello,
I am trying to run a simple sample with the docker, but it is showing an error:
Command: docker run -it -v Downloads:/trace sunnyszy/webcachesim:v0.1 wiki2018.tr LRU<PHONE_NUMBER>776
error: running sanity check on trace: /trace/wiki2018.tr
terminate called after throwing an instance of 'std::runtime_error'
what():  Exception opening file /trace/wiki2018.tr
I am not sure if I am executing the commands correctly.
Could you help me with this, please?

Sorry for the late reply. I realized I put a wrong issue URL (not my forked branch).
Would you like to verify that docker correctly mount the directory by running below command?
docker run -it --entrypoint /bin/bash -v ${YOUR TRACE DIRECTORY}:/trace sunnyszy/webcachesim:v0.2 -c "ls /trace"


Support for NUMA aware preloading

Stored relations which have been NUMA-partitioned, can now be preloaded. The preloading can maintain the same NUMA placement of storage blocks, as specified while populating the relation.

Hi @adalbertgerald : Can you please review this PR?

I should mention that the said preloading can be quite useful while doing NUMA-aware "hot buffer pool" experiments.

LGTM. Merging.


SIGABRT on opening Repo

I'm getting a SIGABRT on opening a repo.
The error happens both with libsodium-bundled and with the system libsodium.
Host: Arch Linux
Zbox: 0.8.3
fn main() {
    let mut repo = zbox::RepoOpener::new()
        .open("mem://", "password")
        // .open("file://file.zbox", "password")
        .unwrap();
}

Program received signal SIGABRT, Aborted.
0x00007ffff7dd1755 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff7dd1755 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff7dbc851 in abort () from /usr/lib/libc.so.6
#2  0x0000555555587245 in sodium_misuse () at sodium/core.c:199
#3  0x0000555555715f7d in _sodium_malloc (size=<optimized out>)
    at sodium/utils.c:578
#4  sodium_malloc (size=<optimized out>) at sodium/utils.c:610
#5  0x00005555555ec5fa in zbox::base::crypto::SafeBox<T>::new_empty ()
    at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/base/crypto.rs:163
#6  0x000055555592178a in zbox::volume::storage::file::file_armor::FileArmor<T>::new (base=0x555555a74b60)
    at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/volume/storage/file/file_armor.rs:183
#7  0x0000555555595cc9 in zbox::volume::storage::file::file::FileStorage::new (
    base=0x55555599d007)
    at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/volume/storage/file/file.rs:40
#8  0x00005555555feaff in zbox::volume::storage::storage::parse_uri (uri=...)
    at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/volume/storage/storage.rs:45
#9  0x00005555555fec48 in zbox::volume::storage::storage::Storage::new (uri=...)
    at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/volume/storage/storage.rs:144
#10 0x00005555555b328f in zbox::volume::volume::Volume::new (uri=...)
    at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/volume/volume.rs:42
#11 0x00005555555fc91d in zbox::fs::fs::Fs::open (uri=..., pwd=...,
--Type <RET> for more, q to quit, c to continue without paging--
     at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/fs/fs.rs:162
#12 0x000055555559087f in zbox::repo::Repo::open (uri=..., pwd=..., read_only=false) at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/repo.rs:682
#13 0x0000555555590266 in zbox::repo::RepoOpener::open (self=0x7fffffffe5b8, uri=..., pwd=...) at /home/theduke/.cargo/registry/src/github.com-1ecc6299db9ec823/zbox-0.8.3/src/repo.rs:252
#14 0x0000555555587520 in zbox_repro::main () at src/main.rs:2

Hi @theduke , did you call the zbox::init_env function at the beginning? It is essential to get libsodium work.

That was it.
Does libsodium provide a API to determine if it has been initialized?
If so you could check and panic with a more informative message.

I don't think libsodium provided that API nor I think it is necessary. That initialize function is supposed to run once before any others, and it can be called multiple times. Like any other libraries, that is just one-off task and should keep simple as possible. So I cannot see any necessities to have a such API.

The point is for zbox to check if the initialization was already done before opening a repo and panick, or alternatively to auto-initialize when creating the repo.
A SIGABRT is not something that should happen in a Rust library, so I'd consider this a API zbox API design issue.

I can't see any reason need to check the initialization status, simply call that function in your program's initialize code and then forget about it, it isn't that hard I think.

It's not that hard, but a Rust library that can SIGABRT just has a bad API design imo.