expand home paths in fontconfig

Paths retrieved from fontconfig may contain ~ and need to be expanded.
There is probably a prettier/better way to do this but I've never looked at any Rust code before so I wouldn't know, feel free to treat this as a bug report rather that a PR and fix it the proper way if needed.

I'm not sure how much error handling and edge cases you want to cover.
Assuming doing the minimum of trying to expand ~/ and silently ignoring the case where HOME is not set (leaving ~/ in and letting load_fonts_dir() deal with non-existing path) maybe having a function is simpler?
            fn _expand_home<P: AsRef<std::path::Path>>(path: P) -> std::path::PathBuf {
                if let Ok(ref suffix) = path.as_ref().strip_prefix("~/") {
                    if let Ok(ref home) = std::env::var("HOME") {
                        let home_path = std::path::Path::new(home);
                        return home_path.join(suffix);
                    }
                }
                return path.as_ref().to_path_buf();
            }

            #[cfg(feature = "fontconfig")]
            {
                let mut fontconfig = fontconfig_parser::FontConfig::default();
                match fontconfig.merge_config("/etc/fonts/fonts.conf") {
                    Ok(_) => {
                        for dir in fontconfig.dirs {
                            self.load_fonts_dir(_expand_home(dir.path));
                        }

                        // Yes, stop here. No need to load fonts from hardcoded paths.
                        return;
                    }
                    Err(err) => {
                        // Fontconfig parsing failed? Try to load fonts from hardcoded paths then.
                        log::warn!("Failed to parse fontconfig because: {}", err);
                    }
                }
            }

            self.load_fonts_dir("/usr/share/fonts/");
            self.load_fonts_dir("/usr/local/share/fonts/");
            self.load_fonts_dir(_expand_home("~/.fonts"));
            self.load_fonts_dir(_expand_home("~/.local/share/fonts"));

That's pretty much the limit of my understanding of the language and of the codebase though :(

How about just:
                        for dir in fontconfig.dirs {
                            let path = if dir.path.starts_with("~") {
                                if let Ok(ref home) = std::env::var("HOME") {
                                    let home_path = std::path::Path::new(home);
                                    home_path.join(dir.path.strip_prefix("~").unwrap())
                                } else {
                                    continue;
                                }
                            } else {
                                dir.path
                            };
                            self.load_fonts_dir(path);
                        }

this is right after match fontconfig.merge_config("/etc/fonts/fonts.conf") {
This should be enough.

Done.


How to fix the "Bad Language Path" error?

I can't seem to get past the Bad Language Path issue on startup. I looked at the FAQ and manually set the config file settings, as described. See screenshot.
How can I get TQVaultAE working?

Hello
can you share the config file and the content of the Logging sub directory ?

I've attached both files. The config file had to be renamed .TXT to upload.
Btw, here are my paths:
TQ IT - C:\Users\Slacker\Documents\My Games\Titan Quest - Immortal Throne
TQ AE - C:\Users\Slacker\Documents\My Games\SteamLibrary\steamapps\common\Titan Quest Anniversary Edition
Let me know if you need anything else. Thanks.
TQVaultAE.exe.config.txt
TQVaultAE_2020.10.17.txt


Add FedCurv Algorithm

https://arxiv.org/pdf/1910.07796.pdf
We'd like to support FedCurv for robust aggregation.

Approved


Create only a tag and not the release and use not dev version

Coverage remained the same at 100.0% when pulling 98e62bf9e035325646e3b17fd4aa9f96a53fcd2b on Trimnosh:132-shop-data into aae8b9fc53e0cb0b543c88b0a473818cf37213c2 on wirecard:master.


Use bit manipulation for function power of 2 -like functions

Operating System

[ ] Windows
[ ] macOS
[ ] Linux
[ ] FreeBSD
[ ] OpenBSD
[ ] Android
[ ] iOS
[ ] Nintendo Switch
[ ] PlayStation 5
[ ] Xbox
[ ] Web Browsers

What feature would you like to be added?
Replace the current implementation of functions isPositivePowerOf2  and floorPowerOf2 with bit manipulation techniques.
Why is this needed?

The current version of floorPowerOf2 will stuck in an infinite loop when passed an integer with the highest bit set due to integer overflow at
for p2*2 <= x

This improves the performance. The benchmark shows an increase in speed of up to 7 times.
Benchmark results:

Floor power of 2

FloorPowerOf2New-16               1.165n ± 2%
FloorPowerOf2Old-16               7.131n ± 4%

Is power of 2

IsPositivePowerOf2New-16          0.2427n ± 2%
IsPositivePowerOf2Old-16          1.434n ± 8%

You can see the benchmark and test code below with a possible implementation:
package main

import (
	"math"
	"math/bits"
	"testing"
)

func IsPositivePowerOf2New(x int) bool {
	if x <= 0 {
		return false
	}

	if x&(x-1) == 0 {
		return true
	} else {
		return false
	}
}

func IsPositivePowerOf2Old(x int) bool {
	if x <= 0 {
		return false
	}
	for x > 1 {
		if x/2*2 != x {
			return false
		}
		x /= 2
	}
	return true
}

func FloorPowerOf2Old(x int) int {
	if x <= 0 {
		return 0
	}
	p2 := 1
	for p2*2 <= x {
		p2 *= 2
	}
	return p2
}

func FloorPowerOf2New(x int) int {
	if x <= 0 {
		return 0
	}

	return 1 << (bits.Len(uint(x)) - 1)
}

func TestPositivePowerOf2Eq(t *testing.T) {
	for x := math.MinInt32; x <= math.MaxInt32; x++ {
		if IsPositivePowerOf2Old(x) != IsPositivePowerOf2New(x) {
			t.Errorf("Old != New for %d", x)
		}
	}
	edgeCases := []int64{
		math.MinInt64, math.MinInt64 + 1, math.MinInt64 + 2,
		math.MaxInt64, math.MaxInt64 - 1, math.MaxInt64 - 2,
	}

	for _, x := range edgeCases {
		if IsPositivePowerOf2Old(int(x)) != IsPositivePowerOf2New(int(x)) {
			t.Errorf("Old != New for %d", x)
		}
	}
}

func TestFloorPowerOf2Eq(t *testing.T) {
	for i := math.MinInt16; i <= math.MaxInt16; i++ {
		if FloorPowerOf2Old(i) != FloorPowerOf2New(i) {
			t.Errorf("Old != New for %d", i)
		}
	}
}

func BenchmarkIsPositivePowerOf2New(b *testing.B) {
	for i := 0; i < b.N; i++ {
		_ = IsPositivePowerOf2New(i)
	}
}

func BenchmarkIsPositivePowerOf2Old(b *testing.B) {
	for i := 0; i < b.N; i++ {
		_ = IsPositivePowerOf2Old(i)
	}
}

func BenchmarkFloorPowerOf2Old(b *testing.B) {
	for i := 0; i < b.N; i++ {
		_ = FloorPowerOf2Old(i)
	}
}

func BenchmarkFloorPowerOf2New(b *testing.B) {
	for i := 0; i < b.N; i++ {
		_ = FloorPowerOf2New(i)
	}
}

Thanks, but

The current version of floorPowerOf2 will stuck in an infinite loop when passed an integer with the highest bit set due to integer overflow at for p2*2 <= x

This should never happen for the current internal/atlas usages. (Adding a check might be better)

This improves the performance. The benchmark shows an increase in speed of up to 7 times.

I don't think the performance improvement would be worth there as this is not a hot spot. Rather, your suggestion would degrade code readability.

I re-read your proposal.
func IsPositivePowerOf2New(x int) bool {
	if x <= 0 {
		return false
	}

	if x&(x-1) == 0 {
		return true
	} else {
		return false
	}
}

This is a little tricky, but I think this is acceptable. return x&(x-1) == 0 would be better.
func FloorPowerOf2New(x int) int {
	if x <= 0 {
		return 0
	}
	return 1 << (bits.Len(uint(x)) - 1)
}

This seems nice also in terms of readability.
Please send a PR if you want. In a PR, we don't need benchmarks. Just a code change is fine.


php artisan make customize file paths

Laravel Version: 8.12
PHP Version: 7.4.12
Database Driver & Version:

Description:
I needed to change the path to create the provider. I used this command
Error in namespace
Steps To Reproduce:

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.


stringslice: use strings.EqualFold for HasI

Hi.
This PR uses strings.EqualFold instead of  strings.ToLower(current) == strings.ToLower(needle) in stringslice.HasI for case-insensitive comparison. This change make HasI almost 3x faster.
benchmark            old ns/op     new ns/op     delta
BenchmarkHasI-12     90.0          33.2          -63.11%

benchmark            old allocs     new allocs     delta
BenchmarkHasI-12     0              0              +0.00%

benchmark            old bytes     new bytes     delta
BenchmarkHasI-12     0             0             +0.00%

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

Awesome, thanks!


Memory leak in EN_getcurve

The following code in EN_getcurve allocates new memory for a curve's data points without first freeing their existing memory :
    pointX = calloc(nPoints, sizeof(EN_API_FLOAT_TYPE));
    pointY = calloc(nPoints, sizeof(EN_API_FLOAT_TYPE));

    for (iPoint = 0; iPoint < nPoints; iPoint++)
    {
        double x = curve.X[iPoint];
        double y = curve.Y[iPoint];
        pointX[iPoint] = (EN_API_FLOAT_TYPE)x;
        pointY[iPoint] = (EN_API_FLOAT_TYPE)y;
    }

    strncpy(id, "", MAXID);
    strncpy(id, curve.ID, MAXID);
    *nValues = nPoints;
    *xValues = pointX;
    *yValues = pointY;

    return 0;

I believe that one fixup is to simply return the pointers to the curves internal data points:
    curve = p->network.Curve[index];
    strncpy(id, curve.ID, MAXID);
    *nValues = curve.Points;
    *xValues = curve.X;
    *yValues = curve.Y;

The fix listed above has a problem if the xValues and yValues arguments to EN_getcurve were declared as float via EN_API_FLOAT_TYPE, since a curve's X and Y data arrays are hardwired as double. Two solutions come to mind:

Change the  arguments of EN_getcurve to be doubles instead of EN_API_FLOAT_TYPE. This will break backwards compatibility with release 2.1 (but not 2.0 since it had no such API function) but allows the simple fix listed above to work.
Assume that the user has allocated memory for the xValues and yValues arrays before calling EN_getcurve and simply copy the curve's X and Y data values into these arrays. This seems like a potentially dangerous option that invites seg faults to occur.

Would anyone care to comment or suggest another alternative?

The latest dev merge has deployed the second option listed above to fix the memory leak thus preserving backward compatibility.


Can't import the react client component in mdx files.

Describe the bug
When I wrote a simple counter component and imported it into the mdx file to render as content, Nextjs said that the component was not supported.
To Reproduce
Steps to reproduce the behavior:

Create an mdx file in the data/blog fold and write some text, the content is filled in casually.
Create a react component named test.tsx and write content like：

'use client'

import { useState } from 'react'

const Index = () => {
  const [counter] = useState(0)
  return <div>{counter}</div>
}

export default Index

import the component path into mdx file like this:

import Test from<EMAIL_ADDRESS>
<Test />

And Nextjs will throw the error saying:useState only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component

Expected behavior
Successfully imported the component into mdx file and rendered it on the browse.
Screenshots
If applicable, add screenshots to help explain your problem.

System Info (if dev / build issue):

OS: Windows
Node version：20.17.0
Npm version：10.8.2
Next version：14.2.3

Browser Info (if display / formatting issue):

Device PC
Browser： Chrome
Version ：128.0.6613.120

Additional context
I found the same issue in the nextjs issues, but During I attempt to search mdx-components.mdx file, all of the dirs can't be found.
https://github.com/vercel/next.js/issues/47523

This is a known issue with the current setup. As a workaround you can register the MDX components in components/MDXComponents.tsx. See example here.

@timlrx Adding things in MDXComponents works fine. But a small doubt. Will it then load all components for every page?

@timlrx Adding things in MDXComponents works fine. But a small doubt. Will it then load all components for every page?

I presume you can simply use conditional logic to toggle on/off whatever component(s) you want activated/deactivated


[Feature Request] Mermaid Diagram Generator (PNG, SVG,MD)

What's the Problem?
A generator for mermaid diagrams, allowing you to export it as PNG, SVG, Markdown or copy the markdown text.
Mermaid diagrams can be used to make a huge variete of different diagrams - such as flowcharts, class-, state-  and sequence diagrams and many more and is supported to be viewed in most markdown editors out there.
Solution/Idea
A generator for mermaid diagrams, allowing you to export it as PNG, SVG, Markdown or copy the markdown text.
A example of possible features and live editor can be found at Mermaid Live
Alternatives
There's no alternatives as I'm aware of.
Priorities

Capability
Priority

Enter mermaid syntax
Must

Preview diagram (through markdown rendering)
Must

Export Diagram as PNG
Should

Export Diagram as SVG
Should

Export Diagram as Markdown file
Should

Provide helper link to mermaid syntax documentation
Should

Set size of exported PNG
Could

Set size of exported SVG
Could

DevToys Version
No response
Comments
Any thoughts?
It would also be beneficial if the included markdown renderer in in DevToys also support rendering mermaid.

I second this feature,
I have been using mermaid for our documentation but sometimes I just need to generate a quick flow diagram, though I have found a web alternative to it, https://excalidraw.com/

Great idea but I feel like this deserves to be its own app, not just a tool in DevToys.


Postgres database replication

Feature description
dlt should support Postgres database replication. This should be efficiently done, using a CDC-based approach leveraging the transaction log (WAL)—not by querying the actual data directly.
Implementation should be as generic as possible, so database replication support for other databases (e.g. SQL Server) can easily be added later.

None
Use case
Multiple users have requested this in the Slack community, e.g. here.
Proposed solution

Use Postgres' logical decoding functionality
Do batch CDC, not streaming CDC

Start Python process, process all new changes since last time, terminate process.
Not an always-running Python process that streams changes into the destination as they occur in the source.

State is maintained in Postgres (on the replication slot), not by dlt
Use psycopg2's support for replication, which dlt already uses for postgres connections
Use pgoutput, so users do not have to install an output plugin such as wal2json
Use this message decoder to decode binary messages (or at least use it as an example)

I tried this and it works. I also tried pypgoutput but that seems to only work on Linux because of this issue.

Create a Postgres CDC resource that yields change events from decoded messages (see below)

The above is Postgres-specific logic that needs to be integrated into new generic functionality for database replication / CDC processing that will be implemented in another ticket (@rudolfix will create). I think we need something along the lines of:

An abstraction for "change events"—each change event has at least:

An operation type: insert, update, or delete
All column values for insert and update operations, and primary key values for delete operations

An abstraction for "CDC resources"— a special type of resource that yields change events
To extend the current logic for the merge write disposition to handle deletes and partial updates
Do we need a new write dispostion or can we use merge and recognize we're handling a CDC resource instead of a regular resource?
Do we fit this into our current sql_database source and sql_table resource somehow? Postgres CDC doesn't really fit there very naturally because it doesn't use SQLAlchemy and it doesn't persist state for incremental processing.

Related issues
No response

@jorritsandbrink a few comments from my side:

this ticket may go to verified sources sql_database at some point - we have code there that does full and incremental table replication and reflects the database tables with sql alchemy
looking at singer tap (https://github.com/singer-io/tap-postgres/blob/master/tap_postgres/sync_strategies/logical_replication.py) - I wonder if we can use duckdb or pyarrow to consume WAL file (is it really always json?) and avoid row by row processing in Python
you'll need to update the core lib ticket incoming :)

Overall it looks good!

How do you initialize replication? I think we need to perform a full load first and then start replication from a slot. People do not keep WALs from the moment database was created... If we do not have correct initial state, we'll be updating and deleting non existing records
Super cool we can support pgout in Python! One remark: wal2json will be way faster because the json decoding happens on the server. so maybe can also support it. Could be an addon after implementing a first version
We need to be perfect with data types. A new column can be added to a table during the replication. You can emit a column definition with the data (https://github.com/dlt-hub/dlt/pull/938), You'll need to write a mapper from postgres types into dlt types (or use sql alchemy for that)
above: we'll need to use decimals, datetimes, time etc. python types if we want to emit json messages

engine upgrade:

I think adding a separate write disposition for the replication makes sense
I think primary key / unique must always be present for the replication to be set up, right
A special column with the update type is the way to go, You can hardcode a special column name or you could add another column hint (ie "update_type") to recognize the field with this type
I think we can use MERGE sql command to easily execute updates for most of the destinations
my take is to create separate resource for postgres replication in sql_database.

One more note regarding the replication state management.
If you rely on the slot to manage replication state, then if we extract the batch and loading of the batch fails and we retry - we are losing data.
For our stream resources (kinesis / kafka) we take a batch of messages, save the offset and set messages as consumed from that offset on the next extract run. this makes sure that the data was loaded or in case of error we can survive a wipeout of local runner instance.
is similar thing possible? probably we'll need to keep LSN in the state but can we tell postgres to consume slot on the next run?

psycopg2 has a send_feedback(flush_lsn=<max_lsn_in_batch>) function we can use to flush the state on the replication slot. I see two ways:

Flush the state at the end of a run, after dlt has succesfully processed a batch—does not require persisted state in dlt
Flush the state at the beginning of the next run, similar to Kinesis/Kafka—requires persisted state in dlt

@rudolfix which has your preference?

I prefer (2) as a default. and we can implement a helper function that does (1). it can take instance of the dlt resource. and each resource exposes its state so we can flush after run (ie. when your destination does not support state sync or you disable it)

Added some notes on how the initial load will be handled.
Created a separate ticket for the engine upgrades: #947

Added some notes on how the initial load will be handled.

this snapshot thing is neat

@jorritsandbrink we've got a requirement from one of the users to be able to easily select columns for the replication. the reason is to be able to unselect sensitive data
that may be implemented in source/resource itself or by providing a map transform (add_map) that drops selected columns and demonstrating that

Hey :) I see there is a lot of amazing stuff in the making here 🚀 . I think I'm the mysterious "user" that @rudolfix mentioned in his previous comment ;) and I'm really excited that we at Taktile will be among the first to try out DB replication via DLT.
As a follow-up on a conversation that I had with @matthauskrzykowski on Monday and also to tie up some loose ends from a DM thread that I had with Marcin, I briefly wanted to comment here and summarize the requirements from our point of view. As far as I can tell from the conversation above, all of them are are already covered (I still left one open question at the end)

[ ] Supported DB engine(s): Postgres (Aurora + “plain” AWS RDS)
[ ] Replication mode: “Batch-CDC”

[ ] WAL gets consumed in batches, not streamed in real time
[ ] WAL gets flushed after every successful pipeline run.
[ ] WAL does not get flushed for failed runs

[ ] Schema evolution: To prevent leaking sensitive information into the destination, we need control over the columns that get synced to the destination (e.g. via column-ignore schema contracts).
[ ] Output encoding: either pgoutput or wal2json (both would work for us)
[ ] Auth-mechanism: username + password
[ ] Handling of deletions: we’d like to handle deletions from the source as “soft deletes” in the destination (i.e. keep the row, but mark it as “is_deleted”)

Open question on schema evolution: Would we be able to "back-fill/re-sync" columns that were part of the initial source table, but not part of the initial schema contract?

Thanks for neatly listing your requirements @codingcyclist!
Most of your points are indeed within the scope of this issue. I just wanted to respond to two of your points:

Schema evolution: To prevent leaking sensitive information into the destination, we need control over the columns that get synced to the destination (e.g. via column-ignore schema contracts).

Do you want to be able to provide a list of columns that should be ignored, while allowing columns that are not in the list to be added as the schema evolves? I don't think that's supported yet with schema contracts or any other dlt functionality.

Handling of deletions: we’d like to handle deletions from the source as “soft deletes” in the destination (i.e. keep the row, but mark it as “is_deleted”)

We're currently adding support for hard deletes in this PR. The next step we had in mind is soft deletes, which would be a natural follow-up to that PR.
I would say we use separate issues for the column ignoring and soft deletes features.
I'll leave your open question regarding backfilling to @rudolfix.

re. selecting columns: my idea was to ignore certain columns already in CDC resource. the other option is to filter out values with add_map transform (we can provide a helper). in the latter case empty column in the database will be still created (if the resource emits schema columns). I think we could also use pydantic models to filter out unknown columns.
re. backfill - not sure what do you mean here @codingcyclist . a situation where certain columns were ignored and then we un-ignore them after initial (and possibly subsequent) sync already happened? If so we'd need to implement partial updates (or do a full re-sync which could be painful)
my take on next steps

let's complete hard deletes
then let's implement posgres CDC
soft deletes at the end. btw. are soft deletes something like SCD2? #923 @codingcyclist

re. selecting columns: I think we have a small misunderstanding here. What we'd need is a mechanism to explicitly define a table schema and let only the columns on the schema be synced into the destination. All other columns should be ignored. If I'm not mistaken, this is already possible with the current version of schema contracts, right?
re. backfill: Exactly, this is about back-filling columns that were initially ignored when they get "un-ignored" at a later point in time. But it's more of a nice-to-have. let's not worry too much about it for the time being. Soft deletes would be much more important to have, as they are crucial to ensure referential integrity between our entity- and our event tables. Here's an example: a decision flow gets deleted, but we still need to keep a record for that decision flow in the destination so that we can map it to the historic decisions that were executed on that decision flow. From a first glance, it looks like this would be covered by the SCD2 PR that you linked above

@codingcyclist
re. selecting columns: I had a little chat with @rudolfix about this on Slack. Schema contracts are still experimental and likely to change significantly. Hence, not a good idea to rely on this for now. Also, it's more efficient if we can do the filtering further upstream. My idea is to include an argument on the replication resource that let's you provide a column list, which is then used to filter already in the resource.


fix: Expose commitlint and semnatic release dev dependencies as regular dependencies

Issue 18.

:tada: This PR is included in version @joberstein12/commit-history-validator-v1.2.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @joberstein12/commitlint-config-v1.0.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Processing an image adds 1 pixel black border at the botom

Hello,
I'm experiencing an issue with the Image Cropper in Umbraco (7.2.2) and one specific image, and its maintainer asked to raise the issue here as internally ImageProcessor library is used.
When I try to crop and resize a specific 600x1100 jpeg image (attached) to 440x880, the resulting image (also attached) gets a 1 pixel black border at the bottom, that is not present in the original image.
These are the URL parameters produced by the image cropper:
.../dress.jpg?crop=0.22275197375166617,0.13995693632728393,0.14282784784168967,0.16794832359274062&cropmode=percentage&width=440&height=880

Hi there,
I think part of the problem relates to #144 which I have fixed with dev. I don't think your output image is getting resized properly.
I see that you are passing both dimensions. Does the aspect ratio of the crop ratio match the aspect ratio of the dimensions for width/height? If not, that would be why you are getting the black line.
Since jpegs have no alpha channel the default correct background output is black. To change this you can either use bgcolor=fff to change the background or pass only one resize dimension which will automatically retain the correct aspect ratio of your output image.
I'll have a play around with your image to be sure...

Fixed in v4.3.0

I got same problem in 2.3.1.
In 2.3.0 I used the code below which seems to fix the problem.
                        var image = imageFactory.Load(inStream);
                        image.BackgroundColor(Color.White);

But the black line is back for some resized images in 2.3.1.
Any advise? thanks

Can you show me some code?

    public static bool ImageCropAndResize(string imageSrc, string imageDst, double zoom, double offsetX, double offsetY, float width, float height)
    {
        byte[] photoBytes = File.ReadAllBytes(imageSrc);
        int quality = 90;
        var format = new JpegFormat();

        if (zoom > 1.0)
            zoom = 1.0;

        using (var inStream = new MemoryStream(photoBytes))
        {
            using (var outStream = new MemoryStream())
            {
                // Initialize the ImageFactory using the overload to preserve EXIF metadata.
                using (var imageFactory = new ImageFactory(preserveExifData: true))
                {
                    try
                    {
                        var image = imageFactory.Load(inStream);
                        image.BackgroundColor(Color.White);     // Default Background Color
                        var newW = (int)(image.Image.Width*zoom);
                        var newH = (int)(image.Image.Height*zoom);
                        var cl = new CropLayer((float)Math.Abs(offsetX), (float)Math.Abs(offsetY), width, height, CropMode.Pixels);
                        image.Resize(new Size(newW, newH));
						image.BackgroundColor(Color.White);     // Default Background Color !

                        image.Crop(cl);
						image.BackgroundColor(Color.White);     // Default Background Color !!

                        image.Format(format)
                            .Quality(quality)
                            .Save(outStream);
                    }
                    catch (Exception ex)
                    {
                        FL.Error("PzImageHelper => ImageCrop => "+ex.Message);
                        return false;
                    }

                    // Save to target file
                    using (FileStream file = new FileStream(imageDst, FileMode.Create, FileAccess.Write))
                    {
                        byte[] bytes = new byte[outStream.Length];
                        outStream.Read(bytes, 0, (int)outStream.Length);
                        file.Write(bytes, 0, bytes.Length);
                        outStream.Close();
                    }
                }
            }
        }

        return true;
    }

Source image :

Thumb image :

If you use a zoom of less than .5, does the black line still appear?
Without looking too deeply at it, it feels like it might be related to
rounding.
Thank you,
Mark Avenius
On Tue, Dec 22, 2015 at 8:46 AM, Pipozor<EMAIL_ADDRESS>wrote:

public static bool ImageCropAndResize(string imageSrc, string imageDst, double zoom, double offsetX, double offsetY, float width, float height)
{
    byte[] photoBytes = File.ReadAllBytes(imageSrc);
    int quality = 90;
    var format = new JpegFormat();

    if (zoom > 1.0)
        zoom = 1.0;

    using (var inStream = new MemoryStream(photoBytes))
    {
        using (var outStream = new MemoryStream())
        {
            // Initialize the ImageFactory using the overload to preserve EXIF metadata.
            using (var imageFactory = new ImageFactory(preserveExifData: true))
            {
                try
                {
                    var image = imageFactory.Load(inStream);
                    image.BackgroundColor(Color.White);     // Default Background Color
                    var newW = (int)(image.Image.Width*zoom);
                    var newH = (int)(image.Image.Height*zoom);
                    var cl = new CropLayer((float)Math.Abs(offsetX), (float)Math.Abs(offsetY), width, height, CropMode.Pixels);
                    image.Resize(new Size(newW, newH));
                    image.BackgroundColor(Color.White);     // Default Background Color !

                    image.Crop(cl);
                    image.BackgroundColor(Color.White);     // Default Background Color !!

                    image.Format(format)
                        .Quality(quality)
                        .Save(outStream);
                }
                catch (Exception ex)
                {
                    FL.Error("PzImageHelper => ImageCrop => "+ex.Message);
                    return false;
                }

                // Save to target file
                using (FileStream file = new FileStream(imageDst, FileMode.Create, FileAccess.Write))
                {
                    byte[] bytes = new byte[outStream.Length];
                    outStream.Read(bytes, 0, (int)outStream.Length);
                    file.Write(bytes, 0, bytes.Length);
                    outStream.Close();
                }
            }
        }
    }

    return true;
}

Source image :
[image: 8ef3ebf4-1d50-4b5f-b37e-d0ee4703066f-0-original]
https://cloud.githubusercontent.com/assets/15925712/11956478/b97ca6b0-a8ba-11e5-8366-a4a464581307.jpg
Thumb image :
[image: 8ef3ebf4-1d50-4b5f-b37e-d0ee4703066f-0]
https://cloud.githubusercontent.com/assets/15925712/11956481/bf05cb0c-a8ba-11e5-8f03-191b14eb49a6.jpg
—
Reply to this email directly or view it on GitHub
https://github.com/JimBobSquarePants/ImageProcessor/issues/142#issuecomment-166621960
.

Thanks now can you tell me what parameter values you are passing to your method?
My guess here is the same as @mavenius. That you have a rounding error.

I can not give you the exact value at the moment but I will do a.s.a.p. .../...
By the way, in case there is a rounding issue that "extends" the image. Would it be possible to use the .BackgroundColor set "to fill/paint" the extra pixels ? or do you think it's too much a "hack".
Or do you mean I need to fix the rounding problem in my code ?

Zoom = 0.42953020134228187
offsetX = 0
offsetY = 0
but if I'm using image.BackgroundColor(Color.White); 3 times (like in the code) it is well white now.
not very clean but it seems to work

Background color will certainly recolor the background but will only work if you're guaranteed to know the background is originally white. You shouldn't need to do it 3 times, do it once, just before you save. You're overwriting it the other times.
By rounding error I mean, you are probably falling foul of the default rounding down that happens when you cast to an int from a float.
I'll need the last two float parameters width and height that you are cropping to also please in order to replicate.

thank you for the reply and suggestions. :)
width= 256
height=256

Thanks.. I'll have a go at replicating what is going wrong for you and feedback asap.


Indonesia localization

Okay, I've been reviewing my Indonesia translations, and I think it's ready now.

Everything seems fine. Be sure to subscribe to #9 in case I add other strings that need to be translated.
Thank you!


Use case specific descriptions in UnnecessarySuperTypeDeclaration

Renamed to UnnecessaryInheritance

@schalkms what do you think of the changes?

I don't really have any preference here. For me, both versions are ok.

Ok then I merge this. @Mauin will like the issue descriptions for each case :)


Build Python 3.4 wheels

Fixes https://github.com/jonparrott/cmarkgfm/issues/2.

I think this will work once I release a new cmarkgfm. Worst case, 3.4 wheels don't build.


Not able to run build:prod

I'm submitting a...

[ x] Bug report
[ ] Feature request
[ ] Documentation issue or request

In package

[ ] @ng-toolkit/init
[ ] @ng-toolkit/serverless
[ x] @ng-toolkit/universal

Current behavior

I have HMR enabled application with UI-Router plugin. Everything works without universal toolkit but after adding it, I am not able to run npm run hmr or npm run build:prod.

On running npm run build:prod. It gives error saying component modules cannot be found at their respective location. While npm run hmr gives error saying BrowserPlatform is needed
Expected behavior

Minimal reproduction of the problem with instructions
Adding a zip file with the repository.
Environment

Angular version: 6.0.3

Browser:
- [x ] Chrome (desktop) version 67
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

For Tooling issues:
- Node version: XX
- Platform:

for test.zip

@shyamal890 Nope so far. I think that today I will find a little bit of time to take a look at this.

Ok so I was able to solve the issues. Listing out the changes that solved the issue:

I had custom code in main.ts mainly for hmr. So after including ng-toolkit, I needed to change AppModule to AppBrowserModule.

const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule); <-- CHANGED THIS

if (environment.hmr) {
  var module: {};
  if (module[ 'hot' ]) {
    hmrBootstrap(module, bootstrap);
  } else {
    console.error('HMR is not enabled for webpack-dev-server!');
    console.log('Are you using the --hmr flag for ng serve?');
  }
} else {
  bootstrap();
}

Had to comment out  "baseUrl": "./", in tsconfig.server.json as it was giving path errors otherwise. Still don't know why it didn't work properly.

There is some issue when ng-toolkit tries to wrap window.


Measure coverage of C code

@mayeut has been working on this: see https://github.com/aaugustin/websockets/pull/211#issuecomment-317249971 for details and recover the corresponding bits from that PR.

There are multiple options for this:

Same as #211 for tox.ini. It lacks validation with a --fail-under like option. I simplified the one from #211 for Unix only in mayeut/websockets@9163a4786fa7e693a1bd2511a3e4356e70081d1c
Use CI to collect coverage information & validate PRs. I implemented this using travis-ci & codecov in mayeut/websockets@55f5a67653479eabea88d36ce1aad554cfb7e29e and mayeut/websockets@ea7491dc2e48eaec07d556c7a530adb7d6f4211d (this second commit is to get 100% coverage on C extension)
A combination of both
Other ?

Right now I'm using Circle CI for running tox on PRs. I recently discovered that it only works for PRs from branches committed to this repo, not from branches in forks. I'm pretty sure that's a matter of configuration; I haven't looked into it.
I switched from Travis CI to Circle CI because I have generally had a very poor experience with Travis CI, mainly with random failures. Circle CI is easier to setup and more reliable in my experience. This isn't a deal breaker, but even if we build wheels on Travis CI (because that's what cibuildwheel supports) I'd rather keep Circle CI as our primary CI service.
I need to think a bit about CodeCov. It seems a bit annoying to depend on CI + a third-party service to validate coverage. Of course, if the alternative is "not validating coverage at all", it's still an improvement...

Let's add CodeCov.
It's fine if only Python code is covered. I understand what the bytesnullhook in https://github.com/mayeut/websockets/commit/ea7491dc2e48eaec07d556c7a530adb7d6f4211d does and I don't want to maintain that in this repository.

(CodeCov is a bit orthogonal to the original issue here.)

Yes, the bytesnullhook is a bit overkill. I kept it in a separate commit for this reason exactly. It was more some experimenting than something I want to add. I thought of doing helpers as a package in PyPI for this (even created a project for it) but the simple fact that a cpython recompilation is needed kind of kill it anyway.
The fact is that 100% coverage is nice to be able to easily add a --fail-under 100 on tools supporting it (which is not the case of gcovr for now). Anything other than 100% will move at some point. Anyway, 100% line coverage (as opposed to branch coverage) is easy to do once needed for the C code here.

Given that:

we have only 130 lines of C code at this time;
it never changed and I don't expect it to change often in the future;
I understand the implementation but I don't feel very capable of or interested in maintaining it;
I'm not looking forwards to debugging C code coverage issues in CI — debugging wheel generation issues is annoying enough;

I'm going to give up on rewieving and merging the PR :-( Thanks for your work and sorry.
I'm keeping it in mind and will revive it in case we add more C code e.g. to optimize HTTP header parsing (God help us!)


Add version constraint to importlib_resources

Based on this recent change in the docs I opted to require importlib_resources>=1.4.0, but tests also passed in jsonschema when using importlib_resources v1.1.0.
Let me know if you want to use importlib_resources>=1.1.0 instead.
For reference: https://importlib-resources.readthedocs.io/en/latest/history.html.
Fixes https://github.com/Julian/jsonschema/issues/876.

Thanks.


@Select select a record with null columns，these columns are filled with columns' value that are not null

I am using myBatis in springboot web project, I got a table in my database like this:

I also have a bean class(User) has fields just like the table's structure:
public class User {
    public String loginId, loginPassword, name;
    public String enrollTime, gender, address, email;
    public User(String loginId, String loginPassword, String name, String gender, String address, String email) {
        this.loginId = loginId;
        this.loginPassword = loginPassword;
        this.name = name;
        this.gender = gender;
        this.address = address;
        this.email = email;
    }
    // getters and setters
}

myBatis mapper was written like this:
@Mapper
public interface UserMapper {
    @Select("select * from users where loginId=#{loginId}")
    public User GetUserByLoginId(@Param("loginId") String loginId);
}

When I call userMapper.GetUserByLoginId("2")，myBatis give me the User object like this:

It can be seen that the address and email fileds should have been null but was filled by other fileds' value. I wonder what's the problem with MyBatis, should I add some other annotation to fix this?

Hello @Paper-Folding ,
I'm not sure how that happens.
Please create a small demo project like these and share it on GitHub.

Hello @Paper-Folding ,
I'm not sure how that happens.
Please create a small demo project like these and share it on GitHub.

I've just updated and detailed my description for this issue, please check it out.

@Paper-Folding ,
Sorry, I still don't understand why it happens.
Please provide a repro.

LOL

@Paper-Folding Hello, I think you mapper is wrong , mapper mapping you can check it.

@Paper-Folding Hello, I think you mapper is wrong , mapper mapping you can check it.

No,mapper should be correct. This problem occurs in mysql database when several fields are varchar, and some of the records among these columns are null. I solved the problem for now by modifying default value of varchar fileds in my database from null to to EMPTY_STRING. As soon as I complete the current on-going project, I'll provide a repro. (Sorry for my being busy now, MyBatis is a still a powerful tool for me.Thanks for all of your developers' hard work!)

I know what's going on.As I continue to test, a field in my model has a slightly different name from that in my database field, which leads to null value mis-match. Apologize for wasting your time.


Fixed dead link for common roles

Roles were excluded in this commit which causes the dead link:

https://github.com/redhat-cop/ansible-middleware-playbooks/commit/6407765ebd4e49cbe3e18e82956f4a8c01d1182d

@ansible-middleware ; can someone review/merge please


GH-55 Improve extension integration with PHPStan

Fixes #55

I'm currently testing this branch with drupal upgrade_status.
The first issue I run into is Fatal error: Cannot declare class Drupal, because the name is already in use in /Users/karl.fritsche/workspace/drupal_contrib/drupal/core/lib/Drupal.php on line 80
This is due to PHPStan\Drupal\Bootstrap::addCoreNamespaces() does a require to Drupal.php
When the code is run inside the Drupal Context this is already provided and fails with the above error message.
Changing it to a require_once works.
The first run passed in my case, but continue to review+test with the upgrade_status module.

Last comment + the branch would fix
https://www.drupal.org/project/upgrade_status/issues/3057853
https://www.drupal.org/project/upgrade_status/issues/3050653
From my testing this looks good, with the minor change posted above.

@attrib We should not need to require Drupal.php per https://github.com/drupal/core/blob/8.6.x/composer.json#L216.
🤔 or does this change the operation of the loaded autoloading files.

@attrib We should not need to require Drupal.php per https://github.com/drupal/core/blob/8.6.x/composer.json#L216.
🤔 or does this change the operation of the loaded autoloading files.

Was this maybe added for drupal-check then?

Refactoring this in #91


The Question about Figure 3 in Paper?

I want to cite it and compare, but I don't know the ID name of these images.
Could you provide the result's size of Fig. 3? I feel like it's not a square，e.g., 256x256 or 512x512.

check this PIDM_vs_Others.zip for ids.
originally generated as 256X256 then resized to 176X256.

Thank you for your prompt reply ！！！


Show name of bootstrapper

🤔 What's changed?

Allow caller script to override the name of the command shown in the usage instructions
Modify bootstrapper script to pass its own name down to the main script

⚡ What's your motivation?
Fixes #6
🏷 What kind of change is this?

:zap: New feature (non-breaking change which adds new behaviour)

📋 Checklist:

[x] I agree to respect and uphold the Cucumber Community Code of Conduct
[x] I've changed the behaviour of the code

[ ] I have added/updated tests to cover my changes.

[ ] My change requires a change to the documentation.

[ ] I have updated the documentation accordingly.

[ ] Users should know about my change

[ ] I have added an entry to the "Unreleased" section of the CHANGELOG, linking to this pull request.

This text was originally generated from a template, then edited by hand. You can modify the template here.

No tests, don't wanna create a merge conflict with #5


userSchemaBugs

close #28

Try to resolve merge conflicts before PR. I have resolved the conflict this time. But I believe its better if you resolve yourself and learn


docker run error

Error parsing reference: "frekele/ant:1.10.3-jdk8 as BUILD" is not a valid repository/tag

upgrade docker version to lastest verstion
i just update docker version to 18.09.0 can build this image


308 is also a redirect code

Per https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location,

Status of responses including a Location header: 201, 301, 302, 303, 307, 308

I am not sure 201 is appropriate here but 308 was missing from the list.

Coverage increased (+0.002%) to 97.106% when pulling 639af3673d984f8a9be2593df29422952b71106e on sjinks:patch-1 into 0803c9ed901db504a42b1f163850b6d5c7c4694a on slimphp:3.x.

Thanks.
Are you able to forward-port to Slim-Http.


hash the file contents, not the pathname

I personally probably don't need this, but just as an idea:
Hashing the pathname has a number of disadvantages, well mostly one,... what if the file (or an of its parent dirs) is moved?

What I've described in https://github.com/mpv-player/mpv/issues/11248, namely hashing the file’s contents. Just with some minor change, namely not hashing the full file, but perhaps only the first 1MB or so.... or perhaps better somewhere in the middle of the file. Of course this won’t work with streamed file.
Another idea would be to attach XATTRs to the file and use UUIDs. But again, wouldn't work on streamed data, and sometimes XATTRs may get "lost".

Maybe one could just keep hashing the pathname for any paths that don't start with / or file:

I followed what mpv does with it's 'watch later' feature - that is hashing paths. Other options have their pros but also cons, as you mentioned, we would have to deal with special cases and I'm not sure it's worth it.


When downloading a podcast from TT-RSS, newsboat takes the first enclosure rather than the podcast

Newsboat version: newsboat 2.19.0
When enqueueing a podcast from a tinytinyrss server that contains multiple media enclosures (such as a podcast logo), newsboat will enqueue and download the first media enclosure in the feed, instead of the podcast.

Thank you for the report! I did not reproduce this, but looking at the code, it's easy to see that you're right.
I believe this is a good first issue for a Newsboat contributor:

the above link shows which part needs modification;
our "native" RSS and Atom parsers don't exhibit this bug because they choose the last enclosure that looks like a podcast. You can look at rss/atomparser.cpp for inspiration. Just port the code from there to TtrssApi;
test that it actually works (@nihilazo, could you provide a URL of the feed where the first enclosure is an image, and the second is a podcast?).

Hi,
Can I take up this issue?

an example would be the feed for the no such thing as a fish podcast: https://audioboom.com/channels/2399216.rss

I think i've fixed this issue.


PMID:26696398

normal duration of meiosis I
increased protein localization to meiosis I spindle
increased protein localization to centromere during meiotic cell cycle
increased duration of meiosis I
abnormal chromosome morphology during meiotic cell cycle

new terms
increased protein localization to spindle during meiosis I FYPO:0005596
abnormal protein localization to centromere FYPO:0005597
increased protein localization to centromere during meiotic cell cycle FYPO:0005598
increased duration of meiosis I FYPO:0005599
abnormal chromosome morphology FYPO:00055600
abnormal chromosome morphology during meiotic cell cycle FYPO:0005601
renamed FYPO:0000449 & some descendants, and FYPO:0000848, to make 'vegetative' explicit
normal duration of meiosis I is FYPO:0005383
edit file: 0bd4c43fd67eb77966e261461f0f52170753d48c
release: 05326f882a52d87800a70a937003861c7648926d


withRelated specify columns

Hey,
How am I able to specify the columns with withRelated?
	exports.viewWorkout = function(req, res) {
			var workoutrequest = Workout.forge({
				id: req.params.workout_id,
				user_id: req.user.id
			});
			workoutrequest.fetch({withRelated: ['sets', 'sets.exercise']})
			//Only show sets.id in the output
			...

Didnt find the issue in the repo yet.
Thanks! :+1:

Only show sets.id in the output

It should be getting all columns by default. Pass debug: true to options to check the query output.
If you wish to change the columns returned, the following undocumented syntax will work:
workoutrequest.fetch({
  withRelated: [
    { sets: function(query) { query.column('id', 'other', 'column'); },
    'sets.exercise'
]})


[WIP][QuickAccent] Add description of current selected letter

Summary of the Pull Request
Current ui:

PR Checklist

[ ] Closes: #20536
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

@niels9001 @htcfreek This is what I was able to do.

Current progress:

As you can see (especially in the beginning) the width of the window sometimes bugs around

Current progress:

As you can see (especially in the beginning) the width of the window sometimes bugs around

@niels9001 Do you know why this happens? I tried switching to a databinding, but it still does not work.

Current settings

Current progress:

    [

    ](https://user-images.githubusercontent.com/58633848/190680141-72961901-6b07-4bd5-850c-709882bd43c7.gif)

        ![pt quickaccent](https://user-images.githubusercontent.com/58633848/190680141-72961901-6b07-4bd5-850c-709882bd43c7.gif)

      [

      ](https://user-images.githubusercontent.com/58633848/190680141-72961901-6b07-4bd5-850c-709882bd43c7.gif)

   [ ](https://user-images.githubusercontent.com/58633848/190680141-72961901-6b07-4bd5-850c-709882bd43c7.gif)

As you can see (especially in the beginning) the width of the window sometimes bugs around

@niels9001 Do you know why this happens? I tried switching to a databinding, but it still does not work.

@niels9001 I was able to fix one half of the issue. But the width of the window is still bugging around at the beginning

@Aaron-Junker
How does the ui looks now after the changes (border and text alignment)?

@Aaron-Junker How does the ui looks now after the changes (border and text alignment)?

@htcfreek
https://user-images.githubusercontent.com/58633848/192013971-56ac2600-3bf1-4b77-80a4-a390aac9687d.mp4
And this is how it looks when there's nnot enough space for the text:

@Aaron-Junker How does the ui looks now after the changes (border and text alignment)?

@htcfreek
https://user-images.githubusercontent.com/58633848/192013971-56ac2600-3bf1-4b77-80a4-a390aac9687d.mp4
And this is how it looks when there's nnot enough space for the text:

Hmmm. I did epect that black border around the description is gone now.

@Aaron-Junker How does the ui looks now after the changes (border and text alignment)?

@htcfreek
https://user-images.githubusercontent.com/58633848/192013971-56ac2600-3bf1-4b77-80a4-a390aac9687d.mp4
And this is how it looks when there's nnot enough space for the text:

Does it make sense two use two lines if the string is too long?

@Aaron-Junker How does the ui looks now after the changes (border and text alignment)?

@htcfreek
https://user-images.githubusercontent.com/58633848/192013971-56ac2600-3bf1-4b77-80a4-a390aac9687d.mp4
And this is how it looks when there's nnot enough space for the text:

Does it make sense two use two lines if the string is too long?

@niels9001 idk, maybe. But I have no idea how I can achive this😅

@Aaron-Junker Apologies for the delay - pushed some changes that adds a bit of Fluent to the UI :)

(ModernWPF wasn't added yet.. so the blue is hardcoded - we might want to change that and add dark mode support to it while at it?)

@Aaron-Junker Apologies for the delay - pushed some changes that adds a bit of Fluent to the UI :)

(ModernWPF wasn't added yet.. so the blue is hardcoded - we might want to change that and add dark mode support to it while at it?)

@niels9001 Thank you very much! I love it. I will do some tests over the following days

I had some merge errors, so it currently is not working.

@niels9001

It would look better if the letters were centered.

The letter selection flickers shortly

The same for the description

@niels9001

It would look better if the letters were centered.

The letter selection flickers shortly

The same for the description

Ah yes, the ListBox needs HorizontAlignment="Center".

@niels9001 This hopefully shows it better:
https://user-images.githubusercontent.com/58633848/202245691-383aa66a-cd43-45b8-9dac-b894ecca51f1.mp4

@aaron-junker should i do a quick build here and run through it to verify the flicker?  Depending on what is happening, can't it flicker right now?

@aaron-junker should i do a quick build here and run through it to verify the flicker?  Depending on what is happening, can't it flicker right now?

If you like you can do this.

I don't think the flicker that bad.  I had to relook at the video multiple times to notice it and only then did i start noticing it.  I think this is livable but something we should solve in another PR.
I believe the dispatcher is updating the vis for the main window THEN that the bottom part gets updated. I'd suggest we calculate both and update in one shot.  I think this could be a rathole of tweaks and this in itself is massively useful and why i don't think we should block this on that small flicker

@crutkas Ok! I will mark the PR as ready for review.

These changes should be based on the main branch and use string instead of char type cause we added support for UTF-32 symbols recently.

##[error]src\modules\poweraccent\PowerAccent.Core\PowerAccent.cs(86,45): Error CS1503: Argument 1: cannot convert from 'string[]' to 'char[]'

##[error]src\modules\poweraccent\PowerAccent.Core\PowerAccent.cs(86,45): Error CS1503: Argument 1: cannot convert from 'string[]' to 'char[]'

I know. Merging in main broke it.

@crutkas It should be ready for review now.

I did a smoke test locally, here is what I've found:

On the first run, I've got the toolbar stuck with a letter even though no keys were pressed at that moment:

I even pressed some letters, to evoke it again, but it didn't help. After some time it just disappeared.
So far, couldn't reproduce it again.

When the toolbar is invoked for the first time for a letter, then the first letter from the list is not selected but inserted as a result. For the next invocation, the first letter is selected, though (no space or arrows pressed):

With select "Always" there is no info on UTF-32 symbols:

I'll have a look at the points I posted above.
Turns out, that the second one was already there, but now it's more visible due to the better background.

I think Nr. 3 can get solved, that every char gets parsed so that the description is like this:
(U+0000) LATIN CHARACTER
(U+0000) SOME MODIFIER CHARACTER

On the first call, there is a significant delay to show the toolbar.
After it's shown the selected letter doesn't replace the current one.
NOK (with current changes):

OK (main branch):

The first call of UnicodeInfo.GetCharInfo(codePoint) takes around 1.5s.

Currently, the default option (to show only special characters) doesn't work as specified in the option: it still doesn't show the Unicode description:

@Aaron-Junker, considering that most of the characters have accents and I see no harm to show the description for the minority that don't, would you mind to change from:

to ->

?

Currently, the default option (to show only special characters) doesn't work as specified in the option: it doesn't show the Unicode description for the characters with dashes (etc):

@Aaron-Junker, considering that most of the characters have accents and I see no harm to show the description for the minority that don't, would you mind to change from:

to ->

?

My idea was that the option to show only special characters would only show the description for characters like different dashes, that are not able to be distinguished (see #20469)

I see. Thanks for the reply.
We should be very clear what are the special characters. Otherwise, PowerToys users may be confused by this option.
For example, why it's showing for 'o' accents, but not for 'a':

Let's keep it simple with only on/off.

Let's keep it simple with only on/off. For "only some chars" I see the difficulty of classification.

@Aaron-Junker, @jaimecbernardo any objections?

Let's keep it simple with only on/off. For "only some chars" I see the difficulty of classification.

@Aaron-Junker, @jaimecbernardo any objections?

I'm OK with on/off but I'm not sure what the default should be.

Let's keep it simple with only on/off. For "only some chars" I see the difficulty of classification.

@Aaron-Junker, @jaimecbernardo any objections?

I'm OK with on/off but I'm not sure what the default should be.

I'd say to keep it off (as before). If we get enough requests to make it on by default, we will do so.

Let's keep it simple with only on/off. For "only some chars" I see the difficulty of classification.

@Aaron-Junker, @jaimecbernardo any objections?

I'm OK with on/off but I'm not sure what the default should be.

I'd say to keep it off (as before). If we get enough requests to make it on by default, we will do so.

But what is with the indistinguishable characters.

Let's keep it simple with only on/off. For "only some chars" I see the difficulty of classification.

@Aaron-Junker, @jaimecbernardo any objections?

I'm OK with on/off but I'm not sure what the default should be.

I'd say to keep it off (as before). If we get enough requests to make it on by default, we will do so.

But what is with the indistinguishable characters.

Since we already have a significant improvement in UI and the Unicode description option is in place, I'd suggest releasing the current state in 0.65 and listen to the community feedback.
We can add Only indistinguishable characters option later.

Thanks a lot for the contribution, just merged it ;)

Thanks a lot for the contribution, just merged it ;)

Thank you for merging.


Unit in vector processes

With mostly all vector processes we hit the point where you need to specify a length/distance/... and that needs to be specified in a specific unit. So we have seen different proposals across the PRs:

Always meters
Always degree
Unit of the SRS (usually either meter or degree)

There are several issues with the options:

What does "meters" mean specifically? e.g. https://github.com/Open-EO/openeo-processes/pull/314#discussion_r792528112 This is probably the most user-friendly option?
What does "degree" mean specifically? e.g. https://github.com/Open-EO/openeo-processes/pull/315#discussion_r814799187
Users need to explicitly understand the SRS, which is the least user-friendly option.

I think it's not a good idea to discuss this for every new process. So what's the preferred option that we adopt in general?
PS: In existing (raster) processes we have:

apply_neighborhood: unit of srs or m or px
resample_spatial: unit of srs

From my experience the "default distance is the unit of CRS" just leads to a lot of errors made by users. I suggest making the unit parameter mandatory from the start, which will ensure that the users understand what the number they're inputting means.
If backends don't want to convert or if there's ambiguity in how the conversion happens, an error can be thrown in case the specified unit doesn't match the CRS unit.

I agree. And also: degree can never be a distance unit.

So if I understand correctly, the "unit = unit of CRS"  approach is not a favorable option, even when it's just an initial solution?

I suggest making the unit parameter mandatory

Instead of a separate unit parameter, I would be more in favor of defining the distance as an object containing both the value and unit, e.g. like
    "distance":  {"value": 10, "unit": "m"},

We already use that approach in apply_neighborhood. I think it's schema-wise easier and more self-contained.

"unit_of_crs" would also be acceptable, though not needed IMO (almost all CRSs will have either degree or meter as units, and it shouldn't be too difficult for the user to pick the correct one).
I prefer the syntax with an object — distance: {"value": 10, "unit": "m"}.
Re Edzer's opposition to having 'degree' as a distance unit — not sure what to do when CRS is geographic... Users will treat 'degrees' as just another unit, so it will be very hard to dissuade them, unless we come up with a name for this quantity that isn't "distance" (but e.g. "quasiEuclidean2NormOfCoordinateDifference" 😉 ). This is probably not a discussion for this issue, but something that should be addressed elsewhere.

Vector processes only allow distances in meters.

Vector data has CRS with unit: meter -> use vector process
Vector data has CRS with unit other than meters: -> throw error (or parameter later?) -> use reproject function to convert to a CRS with meters -> use vector process then

"meters here means the meters as defined by the CRS, not necessarily actual meters"
e.g. in vector_buffer would change from "The distance of the buffer in the unit of the spatial reference system." to "The distance of the buffer in meters as defined by the SRS." and keep the parameter numerical.
For GeoJSON this may need explicit reprojection? -> #412

The decision from https://github.com/Open-EO/openeo-processes/issues/414#issuecomment-1492003851 also applies here. We are strict with the errors and throw an error if not meters. We add a chapter to the implementation guideline that back-ends can diverge from this and still implement more.


If multiple Accept headers are provided with different priorities, wiremock accepts only the first one

I am trying to a test a service that accepts different content types. But if I start wiremock infront, I can no longer rely on the priority (q) parameter for those because wiremock only reads the first accept occurance and stops there. For example if I have a request with the following accept headers:
Accept: text/csv;q=0.8,
Accept: application/sparql-results+json;q=0.8,
Accept: application/json;q=0.8,
Accept: application/sparql-results+xml;q=0.8,
Accept: application/xml;q=0.8,
Accept: text/tab-separated-values;q=0.8,
Accept: application/x-binary-rdf-results-table

I am getting the response in csv through wiremock but if I hit the server directly, I am getting the response in application/x-binary-rdf-results-table which is to be expected. In the logs I can see that wiremock doesn't send the additional headers but just the first occurance of the Accept header, so the server is only getting
Accept: text/csv;q=0.8

This looks like a bug in the proxy. Thanks for pointing this out.
Unfortunately, other than fixing it I can't think of a workaround at the moment.

Fixed in 2.0.8-beta


Update network-watcher-nsg-flow-logging-overview.md

Add paragraph for Log Analytics Workspace definitions with examples
Re-phrase Flow logging enablement for more clarity on restrictions

@lubomir-angelov : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@damendo Is it possible for you to do what's needed in the JSON snippets to remove the red highlighting that obscures the text in GitHub preview?

It's triggered by some irregularity in a code snippet. It would be helpful to have that resolved so we can easily see the text in a pull request that's submitted in the public repository. Thanks!
Also, could you review the update that's proposed in this PR? Thank you.

@damendo The repo admins have set up pull requests to be automatically assigned to the author that's listed in the metadata. The pull request should be assigned to an internal GitHub account for review and resolution. If you need another SME to review the proposed update, could you at-mention them or use #assign:<GitHub-account> in a comment? I'll assign this to @kumudd for now. Thanks!

#assign:KumudD

@lubomir-angelov -
Hi,
I am a bit confused as to why the LA workspace details needs to go in NSG flow logs document. Flow logs are by default stored in Storage account only.
Would love to understand the source and use case of this doc changes.
Feel free to drop a ping/call for a discussion if needed.

@lubomir-angelov -
Hi,
I am a bit confused as to why the LA workspace details needs to go in NSG flow logs document. Flow logs are by default stored in Storage account only.
Would love to understand the source and use case of this doc changes.
Feel free to drop a ping/call for a discussion if needed.

Hi,
There is the option to enable traffic analytics on your NSG flow logs. I presume larger enterprises  with focus on governance and security, are generally interested in properly analysing their network traffic due to the complexity of their network setup, as were we. We chose to analyse our NSG flow logs into a shared analytics workspace (different subscription). Finding the proper setup for the ARM template of these settings was very cumbersome.
For example the statement in the documentation that the two listed parameters are not reqired:
From: https://docs.microsoft.com/en-us/azure/templates/microsoft.network/networkwatchers/flowlogs?tabs=json#TrafficAnalyticsConfigurationProperties
workspaceId | string | No | The resource guid of the attached workspace.
workspaceResourceId | string | No | Resource Id of the attached workspace.
Where the parameters are actually both required.
Furthermore, the difference between and meaning behind  'resource guid' and 'Resource ID' is not clearly defined. I would find it  helpful if a small example of the two properties' expected input. I think a lot of other people would also find helpful when they are looking to achieve the same goal.

ohh, in that case we must edit the ARM template docs. This changes are done on NSG Flow Logs Overview Page.
Adding workspace details here will add to confusion to the person reading the doc.
If you skim the whole doc, workspace is not even mentioned anywhere on this doc as NSG flow logs can only be pushed to storage accounts natively. what happens from storage further is a different story and outside the scope of this doc

@moagra The Traffic Analytics page redirects to this page for more information on NSG Flow Logs. There is no sufficient information on this page on how to setup NSG Flow Logs for Traffic Analysis. When additional setup is needed on the NSG Flow Logs side to work with Traffic Analytics than the default, then it should be clearly stated as a setup path different than the default. When restrictions apply they should also be stated unambiguously - I've suggested in my edit. It's up to you, for me this would make it a lot clearer, my colleagues agreed on the ambiguity of the original page. I believe other people will also find it helpful when it's clearly stated how to setup NSG Flow Logs for Traffic Analytics

@lubomir-angelov Thanks for pointing this out.  I have added this to my backlog and try to solve the ambiguities mentioned.
Thanks for reaching out.

@moagra Would you like the pull request to remain open or be closed? Thank you.

@halkazwini @moagra - Can you review this old PR and determine whether it needs to be closed or merged?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

@Harsha-CS
Can you review this PR?

@Harsha-CS - Can you review this old PR and determine whether it needs to be closed or merged?

I sent a follow-up email on 2 May 2023.

@Harsha-CS Please can you review this PR. Thanks!
@halkazwini FYI

This branch has conflicts that must be resolved.  @Harsha-CS
Conflicting files

articles/network-watcher/network-watcher-nsg-flow-logging-overview.md

@KumudD, is this no longer relevant? It looks like the content has changed ... Thanks.

@Harsha-CS

@lubomir-angelov.
Thank you for your contribution!
For information about the use of Log Analytics workspace when enabling traffic analytics, see: https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics-policy-portal
For deploying NSG flow logs using ARM templates, see: https://learn.microsoft.com/en-us/azure/network-watcher/network-watcher-nsg-flow-logging-azure-resource-manager
#please-close


LinkPager with dataProvider don´t work until getCount is fired

What steps will reproduce the problem?
Try to render a LinkPager using an activeDataProvider. Set LinkPager before (listview|gridview). Yes, i know both widgets have pager, but i need this page in top of html and there is a lot of code between of pager and results.
What is the expected result?
Should show paginator
What do you get instead?
Nothing
Additional info
This happens because the dataProvider method "getCount" has not been fired yet.
 $dataProvider->getCount();                         echo LinkPager::widget([                             'pagination' => $dataProvider->getPagination(),                         ]); ?>

Q
A

Yii version
<IP_ADDRESS>

PHP version    5.6

Operating system
OSX

The reason this works after getCount() gets called is actually a side-effect of the prepareModels() implementation.
/**
     * Prepares the data models that will be made available in the current page.
     * @return array the available data models
     */
    abstract protected function prepareModels();

That is what it should do. In case of ActiveDataProvider:
/**
     * @inheritdoc
     */
    protected function prepareModels()
    {
        if (!$this->query instanceof QueryInterface) {
            throw new InvalidConfigException('The "query" property must be an instance of a class that implements the QueryInterface e.g. yii\db\Query or its subclasses.');
        }
        $query = clone $this->query;
        if (($pagination = $this->getPagination()) !== false) {
            $pagination->totalCount = $this->getTotalCount();
            if ($pagination->totalCount === 0) {
                return [];
            }
            $query->limit($pagination->getLimit())->offset($pagination->getOffset());
        }
        if (($sort = $this->getSort()) !== false) {
            $query->addOrderBy($sort->getOrders());
        }

        return $query->all($this->db);
    }

The side effect is that the paginations' total count is set to $this->getTotalCount(). The same is done for ArrayDataProvider.
This could be solved and simplified as follows:

getTotalCount should always use prepareTotalCount(); subclasses must implement this anyway.
setPagination() should set the total count on the pagination object if it is 0.

Then we can remove the side effect from prepareModels().

There is a test that verifies this behavior... https://github.com/yiisoft/yii2/commit/0035f23781750f2e598077e11fa8deb43b10bd21#diff-50f6cd149e1a1c55920461c6951b3cc1R97

Looking at the code I can not come up with a simple fix. Moving to next milestone.


Remove using namespace std

Removes using namespace std; - std members are now fully qualified.
For more info as to why, see this video

+1, I had to do this on my own clone of the repo for it to me usable in my own project.


Stop storing MetaResults as attributes of fitted Estimators

Closes #634.

Changes proposed in this pull request:

Return results from Estimator.fit, but do not store the object as an attribute of the Estimator.
Ditto for Decoders.
Update tests and examples accordingly.

this also appears to help with a memory leak issue where the deepcopy of the estimator is being added to memory every time the result is created.

Thanks @jdkent. Merging.


Uncaught exceptions when _id casting fails

Reference: https://github.com/jedireza/hapi-mongo-models/issues/8

Resolved in dependency. Just need to update hapi-mongo-models to latest.


Fix issue locating lwipopts.h

I see that on ubuntu third-part/lwip/include/ports/unix does not exist, which causes build failure due to missing lwipopts.h. However the symlink for the missing header file can be found at third-part/lwip/include/ports.
ls -la third-part/lwip/include/ports/
total 8
drwxrwxr-x 2 parallels parallels 4096 Feb 21 11:07 .
drwxrwxr-x 3 parallels parallels 4096 Feb 21 11:07 ..
lrwxrwxrwx 1 parallels parallels   28 Feb 21 11:07 arch -> ../../src/ports/include/arch
lrwxrwxrwx 1 parallels parallels   34 Feb 21 11:07 lwipopts.h -> ../../src/ports/include/lwipopts.h
lrwxrwxrwx 1 parallels parallels   29 Feb 21 11:07 netif -> ../../src/ports/include/netif

Fixes https://github.com/heiher/hev-socks5-tunnel/issues/113

Actually I am dummy, I ran submodule update by mistake. Nevermind.


Cert error when accessing certain embedded Meridian Docs

Environment - develop branch
Go to Meridian Support/Help | Meridian Docs Button | Getting Started | Access Meridian and Embed Meridian links
RESULTS - Certificate error
You have asked Firefox to connect securely to ec2-54-88-124-5.compute-1.amazonaws.com:3000, but we can't confirm that your connection is secure.
Normally, when you try to connect securely, sites will present trusted identification to prove that you are going to the right place. However, this site's identity can't be verified.
What Should I Do?
If you usually connect to this site without problems, this error could mean that someone is trying to impersonate the site, and you shouldn't continue.
ec2-54-88-124-5.compute-1.amazonaws.com:3000 uses an invalid security certificate. The certificate is not trusted because the issuer certificate has expired. The certificate is only valid for localhost (Error code: sec_error_expired_issuer_certificate)

issue with my certs.


Add ObservedGeneration and Provisioned into ServiceInstanceStatus

See #1747

Add ObservedGeneration and Provisioned fields to ServiceInstanceStatus
Switch to using ObservedGeneration and Provisioned on the read path (while keeping write paths for both ReconciledGeneration and ObservedGeneration for backward compatibility)
Initialize ObservedGeneration and Provisioned fields if they are not set while ReconciledGeneration is set (for API migration between Service Catalog versions)

Fixed all tests, please review.

as far as beta api changnes go, do we have to be conncerned with changes in nstatus?

@MHBauer FWIW, it's not just about breaking API changes, but also about being able to pick up the existing ServiceInstance resources which have ReconciledGeneration and don't have ObservedGeneration, i.e. data migration.

/retest

@staebler I believe all your recent comments were addressed, PTAL.

I'll leave LGTM2 to @kibbles-n-bytes, but this has my stamp of approval, thanks a lot for driving this to completion.

/retest

sorry for the delay; diving into this now.

I'll address remaining comments in other PRs.


[Network] Add support for vpn-gateway create/reset commands

Currently, we do not have support for network vpn-gateway create or network vpn-gateway reset commands.
This issue is in place if we do want to support these scenarios. If not, the issue can be closed.

These have been in for a while now.


Merge resolver objects in merge schemas

Need to get feedback and close up #576 first 😄
TODO:

[ ] Wait until #576 closes and rebase before merging
[x] If this PR is a new feature, reference an issue where a consensus about the design was reached (not necessary for small changes)

Issue #486

[ ] Make sure all of the significant new logic is covered by tests
[ ] Rebase your changes on master so that they can be merged easily
[x] Make sure all tests and linter rules pass
[ ] Update CHANGELOG.md with your change

I've combined your two PRs and will merge them together.


Add note about metavar flag

This tripped me up. I had a choices completer with a large number of
completions and it was polluting the argparse help output.

I'm not saying no, but this is purely an argparse behavior, nothing to do with argcomplete, right?

Yes it is. It's purely a documentation issue. The docs suggest using choices, which works great, except for this little issue, which I didn't even expect to happen, and when I noticed it, I had to research how to fix it. It would have saved me some time if this were in the docs when I read them.

Sounds good, thanks.


Bold is not interpreted properly while reading a cell data.

I am trying to parse a excel cell but if the initial characters are bold/italic/underline the HTML tags are not getting parsed as shown in the snapshot below (look at the text marked with red color "Some notes in bold") , they are not enclosed in  tag.

  As for the rich text, that is the raw representation in the XLSX file.  Excel will actually set the cell's text style based on the first character, so the cell style likely is marked as bold.


Apply tab-size to everything

tab-size only ever applies to pre-like areas, so this uniformly applies it on every code area.

Doesn't seem to work. I'm getting tab size 8 here: https://github.com/avajs/ava/blob/master/api.js Probably not enough specificity.

Ah specificity is not the problem but inheritance is, * should solve it though, if that's ok


Add server metrics to capture gRPC activity

Can be used to:

distinguish gRPC queries from Netty based ones
track migrations from HTTP to gRPC
etc.

observability

Codecov Report

Merging #10678 (7450776) into master (866c796) will decrease coverage by 56.42%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #10678       +/-   ##
=============================================
- Coverage     70.25%   13.83%   -56.42%
+ Complexity     6503      439     -6064
=============================================
  Files          2108     2054       -54
  Lines        113866   111423     -2443
  Branches      17181    16895      -286
=============================================
- Hits          79991    15411    -64580
- Misses        28283    94754    +66471
+ Partials       5592     1258     -4334

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
13.83% <0.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

...a/org/apache/pinot/common/metrics/ServerMeter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...che/pinot/core/transport/grpc/GrpcQueryServer.java
0.00% <0.00%> (-52.57%)
:arrow_down:

... and 1661 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Methods to compute partition limits

Class by Class description of the changes.
KllItemsSketch

Propagation of new split out methods defined by PartitioningFeature.
Propagation of not requiring the normRankErr.

Partitioner

Propagation of new split out methods defined by PartitioningFeature.

ItemsSketch

Propagation of new split out methods defined by PartitioningFeature.
Propagation of not requiring the normRankErr.

GenericPartitionBoundaries

Javadoc and code comment improvements
Removed super interface PartitionBoundaries and pulled its methods with javadoc here.

GenericSortedView

extend new interface SketchPartitionLimits

ItemsSketchSortedView

Propagation and implementation of new split out methods defined by PartitioningFeature.
Simplified error messages
Simplified error detection for numEquallySizedParts too large
I figured out a simpler way to validate the maximum number of partitions without requiring the sketch normRankErr.
Removed now unneeded 'normRankErr and PARTITIONING_ERROR_FACTOR

PartitionBoundaries

Removed. Its methods moved to its only child class, GenericPartitionBoundaries.

PartitioningFeature

Split getPartitionBoundaries(numEquallySizedParts) into two methods:

getPartitionBoundariesFromNumParts(numPartitions) and
getPartitionBoundariesFromPartSize(nominalPartSizeItems).
This reflects how Druid actually was trying to use this method and ended up trying to simulate the second method incorrectly.
Removed the @Throws clause because it was duplicative of what is already in the Javadoc body.  (Also, the CI/CD runner was throwing a class not found exception on SketchesArgumentException. I think it needed to be fully qualified. But I decided to remove these clauses anyway.)

QuantilesGenericAPI

extend new interface SketchPartitionLimits

SketchPartitionLimits

This new interface defines the methods required to implement the two new limit methods

getMaxPartitions()
getMinPartitionSizeItems()
Which can actually be implemented here as defaults.

/TEST/...
ItemsSketchTest

Propagation of change in ItemsSketchSortedView constructor change.

CrossCheckQuantilesTest

Propagation of change in ItemsSketchSortedView constructor change.

PartitionBoundariesTest

Propagation of method name changes.
Added tests for new SketchPartitionLimits methods


CLOUD-52738 Fix connection timeout

@schfeca75 plz review

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2100/


updateMarketingWallet() Function

This function updates the marketing wallet in the contract.

Here is that function in my old contract standard:
    function updateDevelopmentWallet(address _developmentWallet)
        external
        onlyOwner
    {
        require(_developmentWallet != address(0), "ERC20: Address 0");
        address oldWallet = developmentWallet;
        developmentWallet = _developmentWallet;
        emit developmentWalletUpdated(developmentWallet, oldWallet);
    }


Remove the gulp extension build target

After PR https://github.com/mozilla/pdf.js/pull/9566, the gulp extension build target is now basically just an alias for gulp chromium; see https://github.com/mozilla/pdf.js/blob/e39541ac18d6307c4441aca7b4b345425eeb5c42/gulpfile.js#L416
Hence it seems, at least to me, that the gulp extension build target could simply be removed now.

Note that it's currently used at one other spot in gulpfile.js, see https://github.com/mozilla/pdf.js/blob/e39541ac18d6307c4441aca7b4b345425eeb5c42/gulpfile.js#L911
That line can actually be simplified to just gulp.task('web-pre', ['generic', 'jsdoc']);, since the Chromium extension isn't included in the gh-pages branch and building it is thus a waste of time/resources in that case.

And apparently I should have looked through gulpfile.js a bit closer before opening the issue, since these lines can be removed as well: https://github.com/mozilla/pdf.js/blob/5053d02ba446e3c491bfd0e62633f7db46fb385c/gulpfile.js#L1092-L1093
Please note: Ever since PR #8315, where support for outputting a packed Chromium extension was removed, those lines (in addition to the gulp web-pre task mentioned above) has been unused.


drivers: can: mcan: skip read/write to mram if data length is 0

can_mcan_send/can_mcan_get_message issued a message ram write/read even when data length was 0. This caused some issues on systems where data cache is enabled, because the cache invd/flushing calls present in the mcan driver can fail if provided length is 0.

I'll run a few tests on HW this afternoon before approving.


Added all ancient samples from Bieker2020

Tina updated the enums to include the species for this publication: will need approved before this will run

Pull Request
This PR is for a

[x] New Publication(s)
[ ] Correction

For the follow list(s)

[ ] ancientmetagenome-anthropogenic (README)
[ ] ancientmetagenome-environmental (README)
[x] ancientmetagenome-hostassociated (README)
[ ] ancientsinglegenome-hostassociated (README)

New Publication
Publication Information
This pull request is to add samples from the following publication(s): 10.1111/1755-0998.13174
This is to close #118
Checklist

[x] Publication is published (preprints currently not accepted)?
[x] Checked the publication is not already in the database?
[x] Checked samples in this publication are not previously published data (newly re-sequenced metagenomes are OK!)?
[x] Samples are shotgun metagenomes (hostassociated-singlegenome may also contain whole-genome enriched data)?
[x] Checked the list follows conventions as described in the corresponding sample type's README file (e.g. using ERS/SRS accession codes for ENA/SRA)?
[x] (If applicable) Made a separate PR to add new categories to controlled lists (stored unnder /assets/enums, e.g. material or archive)? If so:
[x] Changelog is updated to include the publication under 'Added'?

If you do not know how to check errors in failed validation checks, expand here

Press 'details' next to the failed check.
Expand the test ancient <list> line with the red X next to it.
Scroll to the bottom of the log, and look for a DatasetValidationError (usually the last line).
Read the error, and fix accordingly. Check the README for a given list for more guidance. If in doubt, ask!

Correction
This PR is for

[ ] ancientmetagenome-hostassociated
[ ] ancientsinglegenome-hostassociated
[ ] ancientmetagenome-environmental
[ ] ancientmetagenome-anthropogenic

Reference
This pull request is to correct samples from the following publication(s):
This is to close
Description
The issue is:

Checklist

[ ] Checked the corrected entries follow conventions as described in the corresponding sample type's README file (e.g. using ERS/SRS accession codes for ENA/SRA)
[ ] Changelog is updated to include the publication under 'Changed'?

There's a separate patch request for adding in the enums that needs to be approved before this will run

Made the requested changes in the new commit, sorry for the wait!


Not able to start PCF Dev

Hi,
I installed Oracle VirtualBox 5.2.0 in Windows 10 OS.
I installed PCF dev plugin pcfdev-v0.28.0+PCF1.11.0-windows.
When I start PCF Dev using command cf dev start, I get following error
Importing VM...
Starting VM...
FAILED
Error: failed to start VM: failed to execute 'C:\Program Files\Oracle\VirtualBox\VBoxManage startvm pcfdev-v0.547.0 --ty
pe headless': exit status 1: Waiting for VM "pcfdev-v0.547.0" to power on...
VBoxManage.exe: error: VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
Kindly suggest how to proceed.

This issue is resolved if I reduce the size of Motherboard base memory from VirtualBox(Setting->System->MotherBoard) to 512 MB.
From VirtualBox I am able to start the VM

VBoxManage.exe: error: VT-x is disabled in the BIOS for all CPU modes

We don't support nesting PCF Dev inside another VM, or running PCF Dev on hardware CPUs without the VT-x extension.


Suggestion: Add Head or Tail Default to Config

I would like to see a default setting for the "add to head or tail behavior" in config. This would be the default setting for each board. The setting on the board could override the default.

sure, it's a good idea.


Monthly Meeting: April 4th at 16:00 UTC

As a reminder, the monthly meeting is this Thursday (April 4th) at 16:00 UTC.

Minutes: https://docs.google.com/document/d/1UqNAP87a56ERH_xkQsS5Q_0PKYybd5Lj2WANy_hRzI0/edit
Video: https://appear.in/dask-dev
Calendar invite: https://calendar.google.com/event?action=TEMPLATE&tmeid=MXRmc2sxNDVocm1ycTI5YjEyazFhN2Vsa2FfMjAxOTAyMDdUMTYwMDAwWiA0bDB2dHMwYzFjZ2RicTVqaGNvZ2o1NXNmc0Bn&tmsrc=4l0vts0c1cgdbq5jhcogj55sfs%40group.calendar.google.com&scp=ALL

I encourage people to think about issues that may need discussion and add them to the agenda (first link)

Note: some of us will be at AnacondaCon, may be tricky to attend.

Good to know, thanks for the info @martindurant. I saw a post from the RAPIDS twitter account about @mrocklin being at AnacondaCon too. Perhaps it makes sense to reschedule the meeting. Does pushing back a week work for others? Same time on April 11?

Alternatively, having many of us in the same place for AnacondaCon may be
beneficial
On Mon, Apr 1, 2019 at 9:43 AM James Bourbeau<EMAIL_ADDRESS>wrote:

Good to know, thanks for the info @martindurant
https://github.com/martindurant. I saw a post from the RAPIDS twitter
account about @mrocklin https://github.com/mrocklin being at
AnacondaCon too. Perhaps it makes sense to reschedule the meeting. Does
pushing back a week work for others? Same time on April 11?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/4658#issuecomment-478654987, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszJ-JCLJSuK45hU-n2r-E57_QvfK8ks5vcjcZgaJpZM4cWJ5J
.

Also a fair point. That seemed to work well a couple of meetings ago when there was a large contingent in Austin.

@jrbourbeau can you confirm the calendar invite is correct? For some reason it says Jan 3rd, 2019, for me.

I think that's an artifact of when the invite was created. It should add an event to your calendar for every first Thursday of the month.

Ah yes, you're right, thanks for clarifying. I'm not very used to Google Calendar.

To follow up, will those (or some) attending AnacondaCon be able to join the call on Thursday?

I will be there
On Tue, Apr 2, 2019 at 4:28 PM James Bourbeau<EMAIL_ADDRESS>wrote:

To follow up, will those (or some) attending AnacondaCon be able to join
the call on Thursday?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/4658#issuecomment-479210874, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszNnOlpWnC6q1pByd-mlEOza0Ycs7ks5vc8tsgaJpZM4cWJ5J
.

Great 👍 Then to clarify, we will have the meeting this Thursday. Also, note that daylight savings has happened since the last meeting

note that daylight savings has happened since the last meeting

i.e., the Dask meeting has moved an hour later for all time zones that observe daylight savings time.

For folks at AnacondaCon lets meet at 10:50am at the NumFOCUS booth and then walk up from there to the seventh floor at 10:55am, which has some relatively quiet space.

cc @jcrist @martindurant @jakirkham @quasiben @pzwang


feat: only reload properties and schema for impacted components

This PR makes it so that we only re-load the properties and schema for impacted components. It adds a new WsEvent called "ComponentUpdated", which provides the component id and change set id. The component_attributes store then uses that event to trigger its update, rather than the raw ChangeSetUpdated event.

bors merge


Implementation of NSCountedSet

This pull request contains the implementation of NSCountedSet. It includes implementation and test cases for NSCountedSet. Please let me know if you need any changes in this. Suggestion are welcome. I am not that much expert with system implementation. So please let me know your views or any other changes required.
Thanks to swift team

@parkera Updated pull request to resolve the conflicts. Please have a look.
Thanks

unfortunately this causes a SIL gen crasher on linux:

While silgen constructor initializer SIL function @TFC10Foundation12NSCountedSetcfT5arrayGSaPs9AnyObject___S0 for 'init' at Foundation/NSSet.swift:407:24

Thanks @phausler  . Do not have linux machine will try to arrange something and run the code.

I am not certain on why, we have had a few of these beasts lurking under the waters around NSSet and NSDictionary specifically when it comes to implementing initializers that take arrays

@phausler  @parkera  Getting the errors while testing on ubuntu 15.10 http://pastebin.com/9b9ubyit . Any idea?

You'll need to make sure your Linux machine has lots (> 8 GB) of RAM in order for linking to finish. If it fails like that, you can also just try again.

Also, pass -R to the build script - the release version of clang/swift uses less memory to link.

Thanks @parkera !! Do not have that much RAM also running in VMWare :( . Will try to arrange somewhere else :(

@parkera @phausler  Updated the pull request to resolve compiler bug. Run all the tests on linux ubuntu 15.10 and Mac.
Thanks

The general idea here is ok, but I have one major concern. The implementation limits itself to holding subclasses of NSObject. This is actually not required even on Darwin:
class Foo { }

let f = Foo()
var x = NSCountedSet()
x.addObject(f)
x.addObject(f)
x.addObject(f)

x.count // 1
x.countForObject(f) // 3

This may be one area where we are again bumping up against the difficulties of lacking a bridging story while maintaining cross-platform source compatibility...

@parkera  @phausler Updated the pull request to resolve conflict! Verified test are passing. Please review it.
I think we need bridging with NSObject and as NSMutableSet and other classes also have this limitation. it is very hard to do make limitation to AnyObject as our storage Set needs NSObject or some Hashable implementation. We can not limit Set to Set as Hashable is not concrete protocol. I think with type erasure also our api user need to know about this.
I think this pull request is good for now. Please let me know your view.

@phausler @parkera Updated the pull request to resolve conflicts.  Please review the pull request. All tests are passing. Please let me know if any changes required.
Thanks

@phausler @parkera Updated the pull request to resolve conflicts. Please review the pull request. All tests are passing. Please let me know if any changes required.
Thanks

@phausler Updated the pull request. Resolved conflicts. Please Review it.
Thanks

@phausler It's pending for while. Can you please review it. If you need any changes please let me know.
Thanks

@parkera this looks good to me, do you have any outstanding issues here?

@phausler  Updated the pull request to address the comments. Thanks for reviewing it.

Thanks!


Missing dotenv

It would be helpful if the template already had npm install --save dotenv installed.
And already had require('dotenv').config() in truffle-config.js.
And an .env.example file, and .gitignore that ignored .env file
And had process.env.MOONBASE_PRIVATE_KEY in truffle-config.js.

Thanks for the suggestion. I'll submit a PR for it!


Diff decorators not showing modified lines

I don't know the cause but I no longer see the git changes (diff decorators) in the file I'm working on. But I can see them well in Source Control. The problem is that it only happens to me for one file, for other files, I have no problem with diff decorators. In the SCM config, everything is enabled for diff decorators. For this problematic file, Vscode changes the color of the file name with the small letter M which means "modified" but not showing modified lines.
Any explication for that ?

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: Version: 1.56.2
OS Version: Darwin x64 18.7.0

Have you renamed this file?
Looks like duplicate of #124645 and/or #103444
Check https://github.com/microsoft/vscode/issues/124645#issuecomment-855102385 for possible solution.

Yes I'd renamed two files and I've used "git mv" command for that. The other file isn't problematic.
So, it doesn't mean it's not a bug. Sublime, Atom, Pycharm are able to detect all changes even though the files are renamed. It's only Vscode which couldn't manage that.

/duplicate
I'm not saying it's not a bug, it's just duplicate of existing issues.


feat: add Svelte 5 runes

closes https://github.com/matschik/component-party.dev/issues/186. includes the changes suggested there

Thanks a lot for your contribution 🙏

no problem! thanks so much for the suggestions and fast review!


A wrong hyperlink to network security groups?

[Enter feedback here]
Under the Network security groups section,  I guess the reference link to Network security groups is wrong.
Network security groups
A network security group (NSG) contains a list of Access Control List (ACL) rules that allow or deny network traffic to subnets, NICs, or both.
The correct one should be https://docs.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 26190d5b-46b4-69a0-9000-735e5aa46865
Version Independent ID: c54e1440-5e8d-e499-51eb-8577d5330dfd
Content: Virtual networks and virtual machines in Azure
Content Source: articles/virtual-network/network-overview.md
Service: virtual-network
GitHub Login: @asudbring
Microsoft Alias: allensu

@jinyihappy , thank you for your feedback. We'll review this and get back to you shortly!

@jinyihappy , thank you for bringing this to our notice. I've updated the correct link/URL for NSG in the doc and it should reflect shortly!
We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.