createReadStream didn't returns all data when stream is pause and resumed

Hello,
I have an issue regarding createReadStream method in nodejs bigtable client, in may situation I need to have a way to get only one item from the stream and do some process on it then get the next and so on, and I  don't want to store all the data in memory, and bigtable client in nodejs didn't provide any thing to do it, I use the createReadStream and pause the stream once I get an Item/Row from the table.
This worked fine for small data, but when I tried to do it on large data about 500k rows I didn't retrieve all the rows that I have in the table for the query I made (the 'end' event is emitted before I get all the result from the table).
My code use class similar to this code, the class is supposed to return promise resolves to the next item from the stream or undefined if the stream is finished
export default class Iterable {
    stream: any;
    buffer: any[] = [];
    public cnt: number = 0;
    id = 0;

    constructor(id: number, stream: any) {
        this.id = id;
        this.stream = stream;

        this.stream.on('end', () => {
            console.log('end', this.cnt, this.buffer.length);
            this.buffer.push(undefined);
        });
        this.stream.once('data', (d: any) => {
            this.buffer.push(d);
            this.stream.pause();
        });
    }

    async next(): Promise<any> {
        this.stream.resume();
        return new Promise(resolve => {
            if(this.cnt < this.buffer.length) {
                resolve(this.buffer[this.cnt++]);
            } else {
                let id = setInterval(() => {
                    if (this.cnt < this.buffer.length) {
                        clearInterval(id);
                        resolve(this.buffer[this.cnt++]);
                    }
                }, 1);
            }
        });
    }
}

I also try to use once to only listen on data event on time each time I call next() but I still also didn't get all the data that I should get.
I really hope you solve this issue or create another way to get only one item from the bigtable at each step.
Environment details

OS: Ubuntu 19.10
Node.js version: 10.15.2
npm version: 6.12.0
@google-cloud/bigtable version: 2.3.1

I also use bigtable emulator
Steps to reproduce

Have a big table with large number of rows
Try to use the above class to get all the data

Thanks!

Hello
This might be helpful, I will try to use it and let you know if it works
What I want is to do the same behavior as the iterator in Java that's why I wrote the mentioned class

Hello
@stephenplusplus, I tried what we told me and I tried multiple ways including (pipe/unpine, cork/uncork and pause/resume) and I still didn't successfully able to pause and resume the stream and get the correct data
What I am try to Implement is iterator and when I want the row I will call function next (this behavior already implemented in java API for bigtable), so I need the item to be returned by calling next() in mentioned class
thanks

I am facing the same issue with the results being inconsistent. Most of the times the rows retrieved match the expected rows, but critically not always and not for all the streams that are running at the time.
I have tried pull / push variations of the stream, as well as simple pull only (readable) stream implementation, all with the same results.
Not sure if this is related but it happens when retrieving multiple streams, of more than 50K rows each, with the total processing running for more than 5 minutes. Also, the emulator is used, instead of an actual Bigtable instance.
Any ideas on whether this is related to the client library or some other dependency (grpc?)?
Thanks

@stephenplusplus Here is log based on above snippet given by you with timeout of 1 ms.
Execution Time is in mm:ss format.
With Emulator :
With 50k Records
Attempt-1
Total Rows Received: 49378
Execution Time: 01:5.792
Attempt-2
Total Rows Received: 49378
Execution Time: 01:7.204
Attempt-3
Total Rows Received: 49378
Execution Time: 01:7.769
With 100k Records
Attempt-1
Total Rows Received: 99426
Execution Time: 02:20.165
Attempt-2
Total Rows Received: 99425
Execution Time: 02:50.432
Attempt-3
Total Rows Received: 99426
Execution Time: 02:36.44
Without Emulator:
With 50k Records
Attempt-1
Total Rows Received: 50000
Execution Time: 01:38.239
Attempt-2
Total Rows Received: 50000
Execution Time: 01:17.978
Attempt-3
Total Rows Received: 50000
Execution Time: 01:30.748
With 100k Records
Attempt-1
Total Rows Received: 100000
Execution Time: 03:7.178
Attempt-2
Total Rows Received: 100000
Execution Time: 02:51.23
Attempt-3
Total Rows Received: 100000
Execution Time: 02:23.271
It seems like issue with Emulator but working fine with live data.
Above Result varies based on the size of the data specially for the Emulator, currently I have below formatted data:
const rowsToInsert = [];
for (let index = 0; index < 50000; index++) {
    rowsToInsert.push({
        key: `tablet#a0b81f74#${index}`,
        data: {
            stats_summary: {
                name: `name-${index}`,
                value: index
            }
        }
    })
}

We found this behavior today while developing a new system on with BigTable. Using the most recent client, on a Live BigTable instance (our staging instance), when I try and stream a key range with 66,003 rows I have found that the stream stops at 66,000 rows if the consumer is async, but returns all 66,003 rows if its immediate.
I have been able to replicate with this basic setup:
const startTime = Date.now();
let rowCount = 0;
const transformer = new Transform({
  objectMode: true,
  transform(chunk: any, _encoding, callback) {
    rowCount++;

    if (process.env.DELAY_TRANSFORM === 'true') {
      setTimeout(() => {
        callback(null, chunk);
      }, 0);
    } else {
      callback(null, chunk);
    }
  },
});
const output = new Writable({
  objectMode: true,
  write(_chunk, _encoding, callback) {
    callback();
  },
});

const readStream = await eventsTable.createReadStream({
  decode: false,
  filter: [{ family: 'metadata', column: { cellLimit: 1 } }],
  start: `${sessionKey}|`,
  end: `${sessionKey}||`,
});

await new Promise<void>((resolve, reject) => {
  pipeline(
    readStream,
    transformer,
    output,
    err => {
      if (err) {
        reject(err);
      } else {
        resolve();
      }
    },
  );
});

const elapsed = Date.now() - startTime;
console.info(`Finished reading ${rowCount} rows in ${elapsed}ms`);

When executing with DELAY_TRANSFORM=false I get this:
Finished reading 66003 rows in 7900ms

But with DELAY_TRANSFORM=true I get this:
Finished reading 66000 rows in 89192ms

First, note the missing three rows. Second, the execution takes 10 times longer! I was expecting a bit more time since the stream does a pause for (presumably) back pressure in the transformer, but 10x seems a bit excessive for what is nearly an instance pass-through of each row.
But, we can ignore the excessive slow down for now (fortunately this system is not in a performance critical path). What we are having trouble understanding how to resolve is the three missing rows (for this example).
Could there be a pause happening after the 66,000 row is received that never gets resumed to finish the stream completely?

Did a bit more testing this morning, when I use a key range that is a nice even number of rows (e.g. 60,000 or 20,000) all rows are returned. More irregular expected row counts (like 60,003, or 20,050) result in missing data.

https://github.com/nodejs/node/issues/34274
I was just forwarded this, and it appears to be the issue we're observing. Sounds like fixed in newer Node  (which we are working towards), and may have a work-around from that. I will test this and report back.

We're doing final validation that the node upgrade resolves this problem over the next two days, but at this point it seems safe to say it is that Node issue and that the only resolution is to upgrade to at least 15.x to pick up the streaming fixes.
I will follow back up after we are confident in the resolution. We appreciate the attention this received (on the support side, presumably what lead to the label shifts) while we continued investigation and found the true cause.

We are working on a fix for in the client library. We have been able to reproduce this issue and are working on fix for this

@jlogsdon Thank you for the workaround update! As we will likely drop Node 12 (but continue to support Node 14+) we'll still have to address this in the library (as per @igorbernstein2's comment) but it's great to know there's an interim solution for users who are able to upgrade.

That's good to hear, as it seems like upgrading to Node 15 did not completely resolve this issue. We were able to get our validator shipped and run some testing today and found we're still frequently missing rows from the end of streams (upwards of 50% of the time!).
I noticed something while testing this out against one of the specific stream ranges that failed. First, a bit of background about our data: we have an events table with two families: metadata and event. The former is a pretty light set of string or numeric values that briefly describe the event, and the event family stores a single binary blob which can range from 10 bytes to (in the extreme cases) upwards of 10MB - but for the stream I tested the largest is ~150KB with the vast majority being closer to 100 bytes.
Now, when I create a read stream that filters down to just the metadata family I am able to receive every row, seemingly 100% of the time (over the 10 times I ran it). If I either remove that family filter or change it to event we start to miss rows at the end of the stream (how many varies).
Hopefully this context is useful for the team. Looking forward to seeing a potential fix here, but will be looking at alternate avenues on our side in the interim.

We have a potential fix in this pr:
https://github.com/googleapis/nodejs-bigtable/pull/1284/files
Would it be possible for you to confirm that it fixes your use case?

Yup! Here's a before test to show the issue still exists on release 4.5.1 (expected 66,003):
Finished reading 65999 rows in 89919ms

and then after pulling that PR in:
Finished reading 65990 rows in 86268ms

Doesn't look like it helped :(
I pulled that PR in by cloning the repo, running npm run compile, and replacing the build/ folder in my node_modules for the repo I'm working in. Compiled using latest Node 18.

Thanks for the quick response. We are having trouble reproducing the issue with the fix applied. Just to double check that we are running the same code. May I ask you to re-run your test, but this time to use a published version of the client?
Specifically:

rm -rf node_modules package-lock.json
install bigtable: npm install<EMAIL_ADDRESS>confirm that the only version of bigtable in package-lock.json is 4.5.2-pre.0 and please share the output of npm ls @google-cloud/bigtable
re-run your test

Thanks for helping us work through this

@jlogsdon friendly ping

Ah, missed that last reply! I should be able to try again today or tomorrow.

great to hear! We will cut a release, please let us know if you encounter any other issues


[spark] Fix select without the pushed-down partition when statistics are needed

Purpose
Fix select without the pushed-down partition when statistics are needed
Tests

API and Format

Documentation

+1


Failure to deploy on AL2022(aarch64)

Deployed on Amazon Linux 2022 (aarch64) (It's a Fedora clone if you've not used it). Get a blank page after deployment.
Docker logs for the lemmy container:

exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error
exec /app/lemmy: exec format error

deploy.sh completes successfully:

Setup complete! Lemmy version 0.17.4 deployed!

Any ideas?
Much appreciate any help!

Ah, sorry about this. I assumed Lemmy was pushing ARM images to Docker Hub, but it looks like they are not. They do have a separately tagged image for 0.17.3, but it looks like they don't consistently keep them up to date, since there's no ARM image for 0.17.4.
It also looks like I need some better health checks for that "success" message. It's nothing more than an echo, and I naively don't check the actual status of the deployment :p
You can still use my deployment script, but since you're on ARM, and Lemmy does not provide an ARM image, you'll have to compile Lemmy from source. This will greatly increase deploy time (builds can take 30+ minutes), but here is how you can do that:

Set BUILD_FROM_SOURCE to true in config.env
Run ./deploy.sh -f

In the future, I'll add a check that does this for you if the Docker Hub image doesn't support your arch, but for now, this should get you up and running.
Please let me know if this works!

I've added a somewhat graceful fallback for this type of issue. Please pull the latest version of Lemmy-Easy-Deploy and try your deployment again.
If Lemmy-Easy-Deploy detects you're not running an x86_64 system, it will override the config option in config.env and automatically build from source.
Until Lemmy manages their multiarch images on Docker Hub a bit better, this is the best I can do for the time being.
Let me know if this gets you up and running!


Install xmltodict 0.9.2 version

Coverage remained the same at 99.656% when pulling 6da8a168578d8b0372eae3b98a268ec4cccc656b on JorgeMartinezG:xmltodict into 101b4f02d4b7d27e921ebba03705d67890c0ff27 on boundlessgeo:master.

Now that we see it works with that version (tests passing) let's leave the one we had.


Aligning a pie/donut chart

Feature Proposal
I'd like to control the alignment of pie / donot charts inside the canvas. These charts are currently always drawn in the center.
When a legend is added it seems to be centered in the remaining space, while the legend seems to drawn al the way to the side.

I'd love to be able to control the position of these charts like we can control the legend using position and align properties. Ideally this also controls the position of the legend.
Feature Use Case

I'm trying to create a chart  a chart with a legend where the pie chart is close to the legend and the combination of the two is either center aligned or aligned to the left.
But currently I can't control how it takes up the available space. I could have more control my creating the legend using html, but I'm already drawing multiple charts in the same project using the build in one.
I'd love to be able to create layouts like:

I realize this partly has been raised before, but that was for v1 and all of the links that where referenced are now broken.
https://github.com/chartjs/Chart.js/issues/1266

Hi y'all, sorry to pop in here after so much time. Just wanted to express my interest in this feature too!

It would be a great feature, to be able to left-align a pie charts. In almost every project, I am facing this issue.


Improvement/enclave txnmgr

Codecov Report

Merging #485 into master will decrease coverage by 0.07%.
The diff coverage is 99.73%.

@@             Coverage Diff              @@
##             master     #485      +/-   ##
============================================
- Coverage     99.59%   99.51%   -0.08%
- Complexity     1197     1203       +6
============================================
  Files           192      206      +14
  Lines          3903     3936      +33
  Branches        204      203       -1
============================================
+ Hits           3887     3917      +30
- Partials         16       19       +3

Impacted Files
Coverage Δ
Complexity Δ

...sera/api/exception/KeyNotFoundExceptionMapper.java
100% <ø> (ø)
3 <0> (ø)
:arrow_down:

.../com/quorum/tessera/enclave/model/MessageHash.java
100% <ø> (ø)
9 <0> (ø)
:arrow_down:

...uorum/tessera/encryption/KeyNotFoundException.java
100% <ø> (ø)
1 <0> (?)

.../src/main/java/com/quorum/tessera/api/Tessera.java
100% <ø> (ø)
5 <0> (ø)
:arrow_down:

...ssera/transaction/EncryptedTransactionDAOImpl.java
100% <ø> (ø)
6 <0> (ø)
:arrow_down:

...main/java/com/quorum/tessera/nacl/jnacl/Jnacl.java
100% <100%> (ø)
16 <0> (ø)
:arrow_down:

...uorum/tessera/api/grpc/TransactionGrpcService.java
100% <100%> (ø)
15 <1> (ø)
:arrow_down:

...uorum/tessera/key/generation/KeyGeneratorImpl.java
100% <100%> (ø)
7 <0> (ø)
:arrow_down:

.../java/com/quorum/tessera/node/model/Recipient.java
91.66% <100%> (ø)
7 <1> (ø)
:arrow_down:

.../main/java/com/quorum/tessera/nacl/NaclFacade.java
100% <100%> (ø)
3 <3> (?)

... and 54 more

Continue to review full report at Codecov.

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


Creating a new host-only adapter produced an error: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe hostonlyif create failed:

Docker Version:           19.03.1
VirtualBox Graphical User Interface
Version 5.2.20 r125813 (Qt5.6.2)

Thanks for sharing the issue. If there's an issue in the docs, please let us know. For support, please try:

https://dockercommunity.slack.com/
https://forums.docker.com/


bevy_image not available with bevy default-features=false

Bevy version
0.15.0
What you did
I am using Image and TextureFormatPixelInfo from bevy_image (respective bevy::image) and I want to only include only the relevant bevy parts by depending on bevy and setting deafult-features=false. rust-analyzer is suggesting the following import bevy::image::Image, but I get this error message when building:
error[E0432]: unresolved import `bevy::image`
  --> src/asset_loader.rs:11:5
   |
11 |     image::{Image, TextureFormatPixelInfo},
   |     ^^^^^ could not find `image` in `bevy`

For more information about this error, try `rustc --explain E0432`.
error: could not compile `bevy_titan` (lib) due to 1 previous error

What went wrong
I am not sure. There is no bevy_image feature, but I would have expected bevy_sprite (which is a feature I enable) to pull in bevy_image (and obviously I can still functionally use Image, just not directly because I can not import it).
See https://github.com/KirmesBude/bevy_titan/commit/4c6477507261f9f4a746dbe030e648b3fea85576 for my specific reproducible issue.
Workaround: Enable any image feature e.g. "png"

+1, this blocks Hanabi.


user preference system plus two small fixes

The model I have for user preferences is similar to vhosts. The source of truth is the database; the API is that you supply a callback that transforms the document in the database. Down the line, this will be implemented as:

The current value of the document is fetched from the database and deserialized
The callback is applied, and the new value of the document is serialized
A compare-and-swap operation is attempted against the value in the database; if the database's value has not changed since step 1, it gets updated and the operation is a success

This kind of CAS is supported by Cassandra (see discussion on #357) and is also supported by ACID SQL databases (via a single UPDATE statement with a where clause).
The tricky part is synchronizing the data plane (server.accounts.accountToMethod and the various copies of the preference data in the Client objects) with these operations. Right now this is just racey, on the theory that if you go mashing a bunch of simultaneous updates to your preferences and the wrong one wins, it's your own fault. We could also put a Go mutex around each account (via the accountToClients map we maintain, tracking each account that has an active client).

Alright yeah let's see how this goes


disk space error

Disk usage is calculated only on root partition, so if you have an /home partiton or other, the disk space isn't good.
This is not a bug, but the value is wrong

I am seeing this too. @mseabold have you had any success on getting code together for a pull request?

I submitted a pull request for it 2 years ago and it was never merged. I'm sure the branch totally stale at this point.


Memory Leak: Phantomjs 2 checked out on 13th November 2014

Phantomjs version: Phantomjs 2 (built from source on 13th Nov 14 from master)
I wrote a script to scan websites using phantomjs. I open not more than 4 simultaneous pages at any point.
Some serious memory leak happens when i run it

page.settings.loadImages = false;

I run my script on an amazon linux ec2 server with a 1GB ram and a single core processor (its one of the lighter servers).
When not loading images my ram usage gradually increases to 99% as seen by the "top" command before phantom crashes.
However, when loading images it stabilizes at around 6-7%.

+1 have the same issue too

Can you build the tag 2.0.0 and try it again? If that still happens, I'll mark this as Regression.

@ariya ok will try again on 2.0.0

+1

This is WebKit related issue :
https://bugreports.qt.io/browse/QTBUG-34494 (https://codereview.qt-project.org/#/c/76934/)
https://bugreports.qt.io/browse/QTBUG-36530
https://bugreports.qt.io/browse/QTBUG-38857
Take a look at this test script, you'll see how memory usage grows up to 1GB with --load-images=false but with --load-images=true it doesn't grow more then 350MB:
var page = require('webpage').create(),
	u = ["http://www.google.com/","https://www.facebook.com/","https://www.youtube.com/","https://www.yahoo.com/","http://www.amazon.com/","http://www.bing.com/","http://www.ebay.com/","http://www.wikipedia.org/","http://detroit.craigslist.org/","https://www.linkedin.com/","https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=12&ct=1422984414&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fmail.live.com%2Fdefault.aspx%3Frru%3Dinbox&lc=1033&id=64855&mkt=en-us&cbcxt=mai","https://twitter.com/","https://accounts.google.com/ServiceLogin?service=blogger&passive=1209600&continue=https://www.blogger.com/home&followup=https://www.blogger.com/home&ltmpl=start","http://www.aol.com/","http://go.com/","https://www.pinterest.com/","http://www.msn.com/","https://www.tumblr.com/","http://www.cnn.com/","http://www.ask.com/","http://www.huffingtonpost.com/","https://www.netflix.com/us/","https://www.paypal.com/home","http://www.weather.com/","http://conduit.com/","http://espn.go.com/","http://instagram.com/","https://wordpress.com/","https://www.bankofamerica.com/","http://akamihd.net/","http://www.imdb.com/","https://www.chase.com/","http://www.microsoft.com/en-us/default.aspx","http://www.about.com/","http://www.avg.com/us-en/homepage","http://www.pornhub.com/","http://xfinity.comcast.net/tt2/?cid=BBI","http://www.foxnews.com/","http://www.apple.com/","http://www.walmart.com/","http://xhamster.com/","http://home.mywebsearch.com/index.jhtml","https://www.wellsfargo.com/","http://www.xvideos.com/","http://www.yelp.com/","http://imgur.com/","http://www.nytimes.com/","http://www.nbcnews.com/","http://www.cnet.com/","http://www.reddit.com/","http://www.adobe.com/","http://www.ehow.com/","http://www.pandora.com/","http://www.pch.com/","http://www.hulu.com/","http://www.zedo.com/","https://www.etsy.com/","https://www.flickr.com/","http://www.outbrain.com/","http://optmd.com/","http://www.indeed.com/","http://new.livejasmin.com/en/?showPreviousVersionLink=0","http://www.zillow.com/","http://www.target.com/","http://www.xnxx.com/","http://www.homedepot.com/","http://www.redtube.com/","http://www.answers.com/","http://www.att.com/","http://www.shopathome.com/","http://www.wikia.com/Wikia","http://www.dailymail.co.uk/ushome/index.html","https://www.usps.com/","http://www.babylon.com/","http://www.ups.com/","http://www.bestbuy.com/","http://www.youporn.com/","http://www.reference.com/","https://www.godaddy.com/","http://www.groupon.com/","http://www.deviantart.com/","http://www.usatoday.com/","http://www.pof.com/","https://www.capitalone.com/","http://www.bbc.co.uk/","http://www.washingtonpost.com/","http://www.match.com/","http://drudgereport.com/","http://mlb.mlb.com/home","http://www.tripadvisor.com/","http://www.pogo.com/","http://www.verizonwireless.com/","https://accounts.google.com/ServiceLogin?service=blogger&passive=1209600&continue=https://www.blogger.com/home&followup=https://www.blogger.com/home&ltmpl=start","http://www.buzzfeed.com/","http://doublepimp.com/Account/LogIn","http://inksr.com/","http://www.fedex.com/","http://inksdata.com/","http://www.aweber.com/","http://abcnews.go.com/","https://vimeo.com/","https://hootsuite.com/","http://bleacherreport.com/","http://www.lowes.com/","http://www.yellowpages.com/","https://www.americanexpress.com/","http://www.tube8.com/","https://www.salesforce.com/"]
	i = 0;
page.onError = function() {}
function open() {
	var url = u.shift();
	if (url) {
		page.open(url, function(x) {
			console.log(i++ + ' : ' + url + ' : ' + x);
			setTimeout(open, 2000);
		});
	} else {
		phantom.exit();
	}
}
open();

+1 here, any thoughts on a fix for this this?

+1 me too.

+1 same issue

+1 here

Any ETAs for a fix for this issue?

+1 please fix it

+1 please fix it

Guys, this is a QT bug it seems. If you want it fixed, please vote here: https://bugreports.qt.io/browse/QTBUG-38857

Voted.

Here's a workaround that was adequate for my purposes: set loadImages to true, then use onResourceRequested to abort requests for image urls. In my case, I'm using casper.on('resource.requested'). It seems to stop the leaks without other side effects.

@behrangsa voted

@mepard good idea!

+1 to fix it

@mepard I'm getting error: TypeError: Object # has no method 'abort'
on attempt to abort request. PhantomJS 2.0.

This is working for me (OS X 10.11 and Windows 10):
function ResourceRequested (request, networkRequest)
{
	if (options.workAroundLoadImagesLeak)
	{
		// Work around memory leak in WebKitQT in PhantomJS 2.0.0 when not loading images.
		// In initialize above we told PhantomJS to always load images, but here we'll suppress
		// the image resources.
		if (/\.(jpg|jpeg|png|gif|tif|tiff|mov)$/i.test(request.url))
		{
			if (options.trackResources)
			{
				console.log(moment().format() + ': Suppressing image #' + request.id + ': ' + request.url);
			}
			networkRequest.abort();
			return;
		}
	}
}

FWIW, https://codereview.qt-project.org/#/c/76934/2 claims to have fixed this, but it doesn't seem like it to me. The master branch currently has the change, but the leak still happens.

@mepard The bug is still open: https://bugreports.qt.io/browse/QTBUG-38857

Turns out it's a WebKit bug. I suspect it's the same as https://bugs.webkit.org/show_bug.cgi?id=17469 even though that report doesn't mention autoLoadImages.

+1

I just did a run where I visited around 330 pages with lots of images. Without this patch memory consumption hit around 2.5 GB, with the patch it was about 500 MB.

set option:load_image as True, resolve my problem

well, after 3 years it isn't still fixed. This issue is for all operating systems not only for windows. I tried on osx el capitan, windows 10 and ubuntu, in all operating systems I have been facing memory leak issue when I tried to disable images in all ways.

It has been 3 years without any fixes. 2.1.1 has still memory leak issue in all operating systems.

I appreciate that this is an open source project, but if you were an end user of your own project and had to eat your own dog's food, would you be happy with such an important bug to be left unfixed for three years?
At least start a campaign, ask for an amount of donation that you think would be enough to fix this problem, ask people to contribute and donate money, and then focus on this issue and fix it.
Goddamit ;) https://youtu.be/0ubcetW9-D8?t=4s

+1 fix please!

+1 ...

+1

+1

+1

...20 years later: +1

ahaha, yeah! old guys are still pressing the button "+1"

+1

+1

+1

+1

+1

+1

+1

+1 (please)

+1 please!!

+1 Please, this is still an issue 1 year later. :(

+1

Let's track this in https://github.com/ariya/phantomjs/issues/11390

+1

+1


SPF record for the High-risk Delivery Pool

Please publish an SPF record for the high-risk delivery pool so that receiving MTAs can make appropriate decisions on receipt of the mail.  e.g.  untrusted.spf.messaging.microsoft.com   TXT  "v=spf1 ip4:<IP_ADDRESS>/16 -all"

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: d2dee626-2897-aa19-46c9-8cbafa54035d
Version Independent ID: e69c5a66-6591-d1b8-9fcc-ad303b86b415
Content: Outbound delivery pools
Content Source: microsoft-365/security/office-365-security/outbound-spam-high-risk-delivery-pool-about.md
Service: microsoft-365-security
Sub-service: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@philhead, you should open a support ticket about this. All we do here is fix documentation.


import semantics and internal module APIs

Import semantics
The proposed semantics for import xyz are that:

xyz must be a constant and evaluate to a byte_view (current name for the type of a string literal)
xyz represents the name of a file to be compiled and imported. The interpretation of this string is implementation defined.
Any two import statements for which the interpretation of the strings refers to identical files shall only be compiled once, and all symbols exported from these to modules shall be deduplicated.

As for this particular implementation, I don't know if relative (to the importing file) paths makes sense. Perhaps relative to a path set as a compiler flag makes sense. For Bazel projects, this path would typically be something like the WORKSPACE directory.
Internal apis
Module importers are currently virtual only for the purposes of testing via GMock, so I only suspect we really need two (mock and real) implementations. We can add more for testing different implementations described above.
We also need a way to serialize module identifiers so that the intermediate representation can be passed across binary boundaries to support separate compilation. I think this means using some simple identifier and also, when serializing writing a table mapping that identifier to some canonical file name/handle. We do not need to support versioning or cross-machine canonicalization as we expect compilation to be done with a single version of the compiler on a single machine at the same time (for the forseeable future).
There are probably more things to think about here, but this is what I have off the top of my head.

This was complete in #17


websockets not working when compress = true in toml config.

What version of Traefik are you using (traefik version)?
traefik:v1.1.2-alpine
What is your environment & configuration (arguments, toml...)?
using docker
toml
logLevel = "DEBUG"
debug = true
defaultEntryPoints = ["http", "https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
      entryPoint = "https"
  [entryPoints.https]
  address = ":443"
  compress = true
    [entryPoints.https.tls]
      [[entryPoints.https.tls.certificates]]
      CertFile = "/ssl/cert.pem"
      KeyFile = "/ssl/cert.key"

[docker]
  domain = "local.awesome.jsmentor.se"
  endpoint = "unix:///var/run/docker.sock"
  exposedbydefault = false

docker-compose
version: '2'
services:
  ws:
    networks:
      - awesome
    environment:
      - TZ=Europe/Stockholm
      - PORT=5000
    build:
      context: ./src/ws
    labels:
      - "traefik.enable=true"
      - "traefik.backend=machine-ws"
      - "traefik.frontend.rule=Host:local.awesome.jsmentor.se;PathPrefix:/ws"
      - "traefik.frontend.passHostHeader=true"

  proxy:
    networks:
      - awesome
    environment:
      - TZ=Europe/Stockholm
    command: --web
    image: traefik:v1.1.2-alpine
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./src/proxy/traefik-dev.toml:/traefik.toml
      - ./src/proxy/ssl/dev:/ssl
    labels:
      - "traefik.frontend.rule=Host:local.awesome.jsmentor.se;PathPrefixStrip:/dashboard"
    ports:
      - "80:80"
      - "443:443"
      - "9443:9443"

networks:
  awesome:
    driver: bridge

What did you do?
var ws = new WebSocket('wss://local.awesome.jsmentor.se/ws')

What did you expect to see?
a succesful update and working websocket connection.
What did you see instead?
WebSocket {url: "wss://local.awesome.jsmentor.se/ws", readyState: 0, bufferedAmount: 0, onopen: null, onerror: null…}
VM234:1 WebSocket connection to 'wss://local.awesome.jsmentor.se/ws' failed: Error during WebSocket handshake: Unexpected response code: 500

proxy_1    | time="2017-01-23T16:54:44Z" level=warning msg="Unable to hijack the connection: *negroni.responseWriter the ResponseWriter doesn't support the Hijacker interface"

If I turn compression off in my toml file everything works. But I want compression :)
My guess is that the gzip middleware processes http upgrade which it shouldn't.
I have been unable to verify if this problem persists using the latest code in master.
New to go, would like to submit a PR if a fix is needed, but need some pointers to get me started.

I can confirm the latest master at this moment in time also has this bug.
I ran master with an updated gziphandler
This commit in gziphandler has fixed the issue.

Just removed wss from issue title.
Websockets currently don't work when compression is enabled.


Tests are not found in mill project

After an experimental migration of a Java project from Maven (Polyglot Scala) to mill, LambdaTest test cases were ignored. Those tests were using the testng.FreeSpec base class.
Mill uses the sbt.testing abstraction with a dedicated adapter for TestNG mill.testng.TestNGFramework. See https://github.com/lihaoyi/mill/issues/553.

Wrong project


Scripts and configs should be moved inside the repository and made installable in preparation for pip installability

[ ] Move inside config files
[ ] Fix config references to use importlib.files
[ ] Move inside scripts files.

This partially blocks #14

Completed in #29


Unable tu build on ubuntu 15.04

I got this message when making.
{standard input}: Assembler messages:
{standard input}:107377: Warning: end of file not at end of a line; newline inserted
{standard input}:108704: Error: no such instruction: `j'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,

So compiling stopped, and no build.
I need to use casperJs on top of phantomJs so I really really really need an help to build it.
Edit: I found this: https://bugs.gentoo.org/show_bug.cgi?id=256766
It tell me to remove -pipe  switch but I really don't understand which file to modify

g++: internal compiler error: Killed (program cc1plus)

This error message almost always means "your computer does not have enough RAM to compile this program".  Try adding at least 10GB more swap, and be prepared for the compile to take a very long time.

I'm upgrading my VM to have a min of 2 core and 1 GB of RAM. I'll retry and let you know the esit. Please, keep this issue opened.

@realtebo you need at least 4 GB of RAM to build PhantomJS.

Actually, the point where the build previously stopped has been passed succesfully. Using htop I see memory occupied a 767/1024 MB. I'm hoping you're wrong, but I'm thinking you're right.
Please, add a note to the documentation about the huge memory amount needed.

Actually, the point where the build previously stopped has been passed succesfully. Using htop I see memory occupied a 767/1024 MB. I'm hoping you're wrong, but I'm thinking you're right.

The link phase may require even more memory.

please, prepare an ubuntu package!

They won't take it, because of the embedded copy of both Qt and Webkit
and associated issues with keeping up to date with security patches.
Maybe someday if we ever don't need that anymore.

You're right. Crashed when compilink svg/SVGAllInOne.cpp.
I cannot afford 30$ right now for VPS upgrade, just for compile this package. I'll find another way.
Thanks. I close.

@realtebo If you have a capable desktop/laptop, install VirtualBox and run Ubuntu.


[4.0.0] Unity crashing when realtime reflection is enabled

Unity crashes when realtime reflection is enabled.

I'm using Unity 2020.3.14f1 with the steam ray tracer settings scene type set to unity.
Baked reflections appear to work but real-time always crashes.
There is a single audio geometry object between the sound and the listener

If you need any more info feel free to ask.

Duplicate of #158


chore: update file package

Changes made

group related features into same package for easier maintenance

@lurldgbodex Conflicts, check this


Download xcode from GCS

I don't know who is the owner of this bucket, but here you can find some versions of xcode and download without authentication.
https://storage.googleapis.com/xcodes-cache/

PSA: Please don't download Xcode from anywhere but Apple's servers. Just search for XcodeGhost for some history.

Please don't download Xcode from anywhere but Apple's servers

If their SHA256 (or whatever) matches originals - why not?


Update warning and error language in logs

Update each error and warning message that ends up in our logs (or in the CLI if running a TTY session) to match the formatting (wording only, not color for this story) the CLI style guide. See attached images for the general formatting. UX will support and help write any messages as needed.
Acceptance Criteria:

Errors and warnings follow the structure outlined in the CLI style guide

Superceded by structured logging


Updated MATS image in the CoRL 2020 blog post

Hi! I was the one who originally uploaded the MATS image in the CoRL 2020 blog post, but didn't like it and so I'm changing it to this one. Hope that's alright!!

@nelson-liu, you originally merged the CoRL 2020 pull request. Could you please also merge this one?
Thanks!


UTC bootstrapping fix

See attached Trello card for more details

 Apply UTC Bootstrapping Fix for Invalid Timezone Offset to new data

Merging this one into master first, to be deployed to production as part of v2.6.2


Add the function of cross latitude transmission

I hope you can add various items that can be transmitted across dimensions in this module. The reason is that while playing your mod and the mod developed by other authors: Create Ore Elevation, I want to mine ancient mineral veins in the lower realm and use a speed of 256 revolutions per minute for mining. However, the mining of this ore vein requires over 500000 yuan in stress, which is almost impossible to achieve in the lower bound because in the Create module, the device with the highest production stress is the boiler, which requires a continuous water source, but the lower bound does not allow the presence of water. So I want the stress generated by the boiler in the main world to be transmitted to the lower realm through the Void Motor, but I encountered a difficulty: your module does not have the ability to transmit across dimensions. I hope you can add this feature.
I am a Chinese, and I translated this passage using Baidu. If you have any questions, please contact me. Email<EMAIL_ADDRESS>

My memory is not good. My game version is Minecraft 1.20.1 Fabric 0.15.11. I hope you can listen to my advice!


Error setting up entry  SmartThings Find for smartthings_find

error showing after restart
Logger: homeassistant.config_entries
Source: config_entries.py:584
First occurred: 12:22:16 AM (3 occurrences)
Last logged: 12:23:15 AM
Error setting up entry LAI SmartThings Find for smartthings_find
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 584, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/smartthings_find/init.py", line 33, in async_setup_entry
await fetch_csrf(hass, session)
File "/config/custom_components/smartthings_find/utils.py", line 215, in fetch_csrf
hass.data[DOMAIN]["_csrf"] = csrf_token
~~~~~~~~~^^^^^^^^
KeyError: 'smartthings_find'

Hi,
I need some more info as I can't reprocuce this.

Could you ever set the integration up or did this already happen the first time you set this integration up?
Was it a one-time problem or does it happen after every restart?
Did you try deleting the integration and adding it again?
What version of Home Assistant are you using?

Could you ever set the integration up or did this already happen the first time you set this integration up?
-yes the intergration is set up and work,but after restart core,the error showing
Was it a one-time problem or does it happen after every restart?
-one time problem
Did you try deleting the integration and adding it again?
-yes deleted the intergration and restart.
What version of Home Assistant are you using?
2024.5.5
but now the integration since automatically work and the entity is working now,i got no clue what causing tihs

👍
I'm not sure either, to be honest I have no clue what the error could mean...
Glad it's working fine now for you, let me know if you have any other problems.

I have this same error following a restart. I've just update to 2024.6.1.
Tired all the above steps and now i get no devices at all where previously I had 4, including a smart tag.


GH-8: Shared KafkaProducer

Resovles #8

Pushed.

Merged as https://github.com/spring-projects/spring-kafka/commit/c8b723fa072d0cc10cee46d825b3bc206dd00c64


⚠ Bofrost.at has degraded performance

In 569817d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1001 ms

Resolved: Bofrost.at performance has improved in 26ac8e2 after 6 minutes.


fix(json-schema-form): use items instead of prefixItems

To Reviewers

[ ] Skipping review is not a problem (style, chore ONLY)
[ ] Not that difficult

Type of Change

[ ] New feature
[x] Bug fixes
[ ] Feature improvement

[ ] These changes require a usage change

[ ] Others (performance improvement, refactoring, CI/CD, etc.)

Checklist

[x] Updated Storybook documents
[ ] Tested with console(if usages are changed)

Description
SSIA

Things to Talk About

:tada: This PR is included in version 1.1.0-beta.474 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixes incorrect column count on page load

I only observed this bug on chrome for android.
During the mounted handler, window.innerWidth was
being reported incorrectly causing the wrong
number of columns to render.  Moving the
calulation into the next tick resolved the
problem. The approach was taken from
https://github.com/vuejs/Discussion/issues/394

Thanks for the fix @zevdg, and apologies I'm only just seeing it now


Where to add an onClick event?

I'm not too great with javascript, let alone the canvas element, and have been unable to add links to the nodes. I suspect I can do some magic inside the drawnode function in springyui.js, but I'm at a loss as to what, exactly.
An onClick event attached to ctx doesn't seem to work, but what would?
Also, it appears that I can't access canvas elements using jQuery (searching for any IDs of elements on the page), which I suppose shows my ignorance in relation to the canvas element.
Some help, or a pointer in the right direction would be much appreciated. Thanks in advance. And thanks for a small js library that's easy to implement :)

Yeah, you can't access elements in the canvas element.
To figure out what the user has clicked on you'll need to figure it out yourself. Luckily springy has a little bit of code to help out. :-)
Take a look at how I've implemented drag and drop in springyui.js for an example:
var p = fromScreen({x: e.pageX - pos.left, y: e.pageY - pos.top});
selected = nearest = dragged = layout.nearest(p);

See how I'm using the nearest method to figure out which node is closest to where the user clicked?
Hopefully that's enough to get you started. Let me know how it goes. Cheers! :-)

Wow. That was not very hard at all. I changed the code directly after your excerpt, above to...
	if (selected.node !== null) {
		// Part of the same bug mentioned later. Store the previous mass
		// before upscaling it for dragging.
		dragged.point.m = 10000.0;

		window.location = nearest.node.data.link;

	}

Of course, I added 'link' to the definition of each node.
This works, though I now no longer have the ability to drag nodes around. The above is tied to the mousedown event, which is why, I suppose. However, linking it to the mouseup event only would allow dragging until the mouse button is released, which still sort of defies the purpose of dragging.
I suppose what could work is that I set a variable in mousemove and then not redirect if that variable is set upon mouseup. Thoughts?

Well. It certainly ain't elegant, but it works. This is what I did:
In springyui.js, directly after the function is declared:
var xs = 0;
var ys = 0;
Then, in the function recording the mousdown:
xs = e.pageX;
ys = e.pageY;
And, when recording the mouseup:
if (xs - e.pageX < 5 && ys - e.pageY < 5)
window.location = nearest.node.data.link;
Many thanks for pointing me in the right direction!

 ;-)
Go with what works and have fun. :-)

Thank you very much! It's helpful


Fixes Psych::DisallowedClass exception when updating MongoId models.

Fix for #2723 .

Add some tests, please.

@matekb did you get a chance to add the tests?

Please reopen on update.


Adding custom chat params

It would be great to able to manually override or add chat params.
Currently, there's no way to do that in the chat_with_llm method.

Fixed


Fix: Dialog PluginOptions defaults taking precedence over component dialogOptions

Previous to this fix, using defaults.dialog.component:
app.use(Vuetify3Dialog, {
  vuetify: vuetifyInstance,
  defaults: {
    dialog: {
      component: { width: 'auto' },
    },
  }
})

Would take precedence over dialogOptions:
createDialog({
  customComponent: {
    component: MyCustomComponent,
  },
  dialogOptions: {
    width: "600px",
    persistent: true
  }
})

Hi, thanks for PR. I will prevent you when release will be published !

Hi! New version 1.4.8 includes your fix !


For my setup the slashes are opposite direction on generation

Windows 11
Flutter 3.7.12 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 4d9e56e694 (3 weeks ago) • 2023-04-17 21:47:46 -0400
Engine • revision 1a65d409c7
Tools • Dart 2.19.6 • DevTools 2.20.1

=)

Would you like to fix bugs for windows? I'd be glad to see your contribution

I can try

Uploaded 1.0.2 https://pub.dev/packages/asset_fill


Introduce new intermediate representation and register allocator

As #79 mentioned, the stack-based virtual machine uses the available registers inefficiently in RISC-like architecture. The newly two-phase IR replaces the origin one which was coupled with the the register allocation and made the optimization harder.
The first phase IR uses the three-address code (3AC) to simplify the complex expression of C. The register allocator could use these information to generate the more efficient instructions, using the algorithm that supports the register-base virtual machine. It use the linear-scan algorithm in this implementation.
The second phase IR is going to locate the symbol which is used in branch/jump instruction. Once the amount of the other instructions is confirmed, the offset/address would be correct.
The new ARM backend uses register r0 ~ r7 for general purposes, and register r8 as the temporary storage for some instructions. Register r12 is as the global stack pointer for the convenience.
The new RISC-V backend uses register a0 ~ a7 for general purposes, and register t0 as the temporary storage for some instructions.

Is it feasible to close #22 with register allocation?

Is it feasible to close #22 with register allocation?

Yes. I update the limitation of the operand stack size in b41e76c . It can pass the test now.

@vacantron, Use git rebase -i to rework these git commits, including updating the commit messages, which may include statements like Close #22. I am preparing to merge this pull request.

Thank @vacantron for contributing!


New label with odd webpage reqs

Here is the software label, which is an emulator for the TN3270 IBM terminal:
mochatn3270)
    name="Mocha TN3270 IBM Terminal Emulator"
    type="appInDmgInZip"
    downloadURL="https://mochasoft.dk/tn3270.dmg.zip"
    expectedTeamID="RR9F5EPNVW"
    blockingProcesses=( "Mocha TN3270" )
    ;;

The problem is that in my exp. curling the software download is that it has very specific header requirements to get any data back, and as such when running buildLabel.sh produces an error.
sh utils/buildLabel.sh mochatn3270
Changing directory to /Users/admin/Documents/git/Installomator/2021-11-07-23-12-25
Working dir: /Users/admin/Documents/git/Installomator/2021-11-07-23-12-25
Downloading mochatn3270
mochatn3270
Redirecting to (maybe this can help us with version):

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: mochatn3270
error downloading mochatn3270 using standard headers.
result:
mochatn3270
Trying all headers…
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: mochatn3270
error downloading mochatn3270 using all headers.
result:
mochatn3270
Trying output of this…
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: mochatn3270
error downloading mochatn3270 using previous output.
result:
mochatn3270
No more tries. Cannot continue.

I put this in a recent autopkg recipe and wanted to bring it here as well: https://github.com/autopkg/apizz-recipes/commit/b87776f81b60ee5a9a3b454731e11f5bdeceec71#diff-a09b9dccfced983eab5c2b72424be2efb1b0cbb1c7c9939f1f3565a2287e5a10
<key>ACCEPT</key
<string>text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9</string>
<key>ACCEPT_ENCODING</key>
<string>gzip, deflate, br</string>
<key>USER_AGENT</key>
<string>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36</string>

buildLabels.sh can only work with URLs, it cannot be used as is done here.
But it looks like the site requires special headers, but if your label is working, please submit it as a PR, and preferable with appNewVersion.
Thank you!

I have improved buildLabel.sh to handle the headers that was needed (had to remove one from the "all headers").
So I have build all the mocha-software but I had to put them in disabled, as Installomator is not ready for adding various headers in order to be able to download.
See this PR: https://github.com/Installomator/Installomator/pull/359

Still fails for me.  Not sure why it's trying to go to http://mactn3270 instead of the specified downloadURLf?
sh utils/buildLabel.sh mochatn3270
Changing directory to /Users/installomator/Documents/git/Installomator/2022-01-08-21-49-31
Working dir: /Users/installomator/Documents/git/Installomator/2022-01-08-21-49-31
Downloading mochatn3270
mochatn3270
Redirecting to (maybe this can help us with version):

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: mochatn3270
error downloading mochatn3270 using standard headers.
result:
http://mochatn3270/
Trying all headers…
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: mochatn3270
Trying almost all headers…
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: mochatn3270
error downloading mochatn3270 using two different sets of headers.
result:
http://mochatn3270/
Trying output of this…
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: mochatn3270
error downloading http://mochatn3270/ using previous output.
result:
http://mochatn3270/
No more tries. Cannot continue.

buildLabel.sh should have an URL, not "mochatn3270".

I have made a PR that added different header combinations to the download in Installomator as well as buildLabel.sh. With that all mocha-software is working.


[Automation] Generate Fluent Lite from confluent#package-2023-08-22

[Automation] Generate Fluent Lite from confluent#package-2023-08-22

/azp run ci

/azp

/azp run java - confluent - ci

API change check
API changes are not detected in this pull request.


Feature emergency contact

Add default emergency contacts to the address book

Codecov Report

Merging #135 (cdb012d) into master (467d20f) will increase coverage by 0.42%.
The diff coverage is 83.33%.

@@             Coverage Diff              @@
##             master     #135      +/-   ##
============================================
+ Coverage     58.44%   58.86%   +0.42%
- Complexity      477      485       +8
============================================
  Files            90       92       +2
  Lines          1800     1816      +16
  Branches        201      205       +4
============================================
+ Hits           1052     1069      +17
+ Misses          674      673       -1
  Partials         74       74

Impacted Files
Coverage Δ

...ess/logic/commands/delete/DeletePersonCommand.java
59.09% <0.00%> (-5.91%)
:arrow_down:

.../address/model/util/EmergencyContactsDataUtil.java
50.00% <50.00%> (ø)

...java/seedu/address/logic/commands/EditCommand.java
95.77% <100.00%> (+0.12%)
:arrow_up:

src/main/java/seedu/address/model/AddressBook.java
85.71% <100.00%> (+1.09%)
:arrow_up:

...ain/java/seedu/address/model/EmergencyContact.java
100.00% <100.00%> (ø)

...a/seedu/address/model/person/UniquePersonList.java
84.61% <100.00%> (+0.94%)
:arrow_up:

...u/address/storage/JsonSerializableAddressBook.java
100.00% <100.00%> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
98.30% <0.00%> (+3.38%)
:arrow_up:

.../java/seedu/address/model/util/SampleDataUtil.java
35.71% <0.00%> (+7.14%)
:arrow_up:

Continue to review full report at Codecov.

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


Update LogValidator interfaces and optimisation

PR for code optimization and centralizing interface around Log calls.

Code review: @danoswaltCL

@RidhamShah can you please check the branch conflicts


Styling frontend fixes

Summary
This diff is the first step for fixing most of the frontend issues that were reported on Monday.com
I implemented

ability to edit semester
fixed styling on the new semester dropdown
warning for duplicate semesters
added better draggability for a course with no cards by adding the first-bag field to the + course  div.
Added emoji pictures instead of inbuilt into code base.
PE 1100 semesters offered wraps to new line - give it triple dots like course name
Prevents having duplicate courses in a semester by automatically deleting one if attempted

Test Plan
Played tested the app. Nothing seems to break now.
Remaining issues
When I try to change the last semester the courses somethings do not change accordingly. The issue is most likely in the compare function I call when sorting the semester since when I don't include that it seems to work.

I believe I fixed the problem with the dependencies that stopped this pull request from working completely. However there are unresolved things like past comments and editing semesters help you wanted from me. Can we work through all of this after the meeting Saturday?


Remove Invalidated Badges

Requirements

Filling out the template is required.

All new code requires tests to ensure against regressions.

However, if your PR contains zero code changes, feel free to select the checkmark below to indicate so.

[ ] Have you ran tests against this code?

[ ] This PR contains zero code changes.

Description of the Change
DRAFT PR
This PR works to automatically invalidate badges.
Such that we have a list of known badges that need to be invalidated after a new version publish. Such as Outdated or Broken. So that after a new version is published, if these badges are present, they will be automatically removed.
Being notified of this event would be very nice, but may have to opt to saving a special JSON log in the cloud, or see if this would be appropriate as a backend notification. Just to ensure docs are properly updated on the admin actions log.

After determining this behavior would take effect automatically, this PR is no longer needed


cmd/portable-package: add missing requires.

These were no longer required by default in Homebrew/brew for speed.

Needs rerun after https://github.com/Homebrew/brew/pull/17739 is merged.


Change TraceEnrichingFilter to Include traceId on the initial request

Per discussions with @gracew, right now what can happen on a simple request is:
a web client makes a request to a backend service without a X-B3-TraceId header -> in the backend service, TraceEnrichingFilter generates a TraceId but does not add it to the request -> request completes -> request is logged without a X-B3-TraceId header
We would like to change TraceEnrichingFilter in this example so the backend service also has the traceId generated
Therefore, when searching on traceId, you will also get the originating service

What do you mean by "add it to the request"? Today, we do this:
        MDC.put(MDC_KEY, Tracer.getTraceId());

        // Give asynchronous downstream handlers access to the trace id
        requestContext.setProperty("com.palantir.remoting2.traceId", Tracer.getTraceId());

Root cause of this was unrelated to the TraceEnrichingFilter


compatibility with lua 5.1

I used your library for scripting in fceux emulator, which use lua 5.1 and found little bug with bool serialization. Hope this fix helps others.

Assuming I understand what you meant correctly, lua 5.1.5 doesn't seem to exhibit this problem — would you be able to provide an example that demonstrates the problem, and the exact version number of lua you are using?
In regard to the commit message itself: you should try to keep the first line as a very brief summary, followed by an empty line and an optional detailed description.

print(_VERSION)
json = require("json")
local a = json.encode({"test", true})
print(a)

-- Lua 5.1
-- ["test",true {[{'test', true}]=true}]

Is there any way you can find out the x.x.x version of lua? I want to determine whether this is behaviour is exhibited in a normal, unmodified version of lua, and if it is, which versions are effected. If you're getting this behaviour from the standalone lua interpreter you can run lua -v to get the x.x.x version. Thanks.

It's not modified Lua, I provide you link to sources, you can check yourself. I haven't standalone interpreter for this version.
print(tostring({123}))
--{123}

But read your code, in your case you call:
print(tostring(true, {123}))
--true {123}

difference here.

The result you pasted is not standard tostring() behaviour — if you look at the source in the repo you linked you can see the tostring() function only handles one argument and does not print tables in the form from your example.
The tostring() function you are calling seems to have been changed and is not the standard lua version. For comparison the lua 5.1.5 interpreter gives the following:
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print(tostring({123}))
table: 0x9fca568
> print(tostring(true, {123}))
true
>


Error closing lessmsi-gui - permission issue

Describe the bug:
Heya, since updating to v1.11.0, closing lessmsi is causing an error as it tries to write to lessmsi-gui.exe.config in the "install" directory, which fails as it's write protected.
To Reproduce:
Steps to reproduce the behavior:

Open lessmsi-gui
Move / Resize window
Close lessmsi-gui

Expected behavior:
Save the window size / position settings under C:\Users\~\AppData\Local\LessMsi like other settings.
Screenshot:

Desktop:

OS: Windows 10 - 22H2

@Nurple Thank you for reporting and sorry about the trouble. We'll get it fixed up!
@mega5800 Can you please investigate. I should have thought more about the location of saving. You can see how other settings are saved in the LoadPreferences and SavePreferences method at https://github.com/activescott/lessmsi/blob/83e57cf400bc2b6fe2727907304e3641e01293a4/src/LessMsi.Gui/MruMenuStripManager.cs#L67 Can you please change to using that general technique for persisting settings?

@activescott @Nurple
Thank you for bringing this matter to my attention, and sorry for any inconvenience caused.
I will investigate this issue during the weekend, and hopefully will have a fix by Monday.

Thanks @mega5800 - Not super urgent from my side. If you feel like it's taking you too long or you want a hand let me know! Thanks again!!

:tada: This issue has been resolved in version 1.11.3 :tada:
The release is available on:

v1.11.3
GitHub release

Your semantic-release bot :package::rocket:

Thanks for the fix.


feat: language translation layer

Is your feature request related to a problem? Please describe.
The problem with many models is that they are good only in english language.
Describe the solution you'd like
There could be additional layers for translation:
INPUT: Translation model from any language to English
MIDDLE: Intent model (eg. ChatGpt, ollama models)
OUTPUT: Translation model from English to any language
This would be groundbreaking functionality because many models have trouble with other languages than english.
For example this model could be used for translation:
https://huggingface.co/facebook/mbart-large-50-many-to-many-mmt
Describe alternatives you've considered
No alternatives for now.
Additional context
Add any other context or screenshots about the feature request here.

This is some kind like a middleware in fastapi/django

@tcztzy pipeline filter type has been added to exactly allow this.

@tcztzy pipeline filter type has been added to exactly allow this. Compatible with Open WebUI latest dev!

I am working on paper writing recently, will have time to realize it early june.

Implemented with filter pipeline using inlet, and outlet hooks!
https://github.com/open-webui/pipelines/assets/25473318/4f818d72-adca-4ed0-a2e7-c5d061236f2d
https://github.com/open-webui/pipelines/blob/main/pipelines/examples/libretranlsate_filter_pipeline.py

That's look amazing - will test it right away :)

I've installed libretranslate - working fine.
I made a docker for pipelines - working fine on port 9099.

But I don't have pipelines in Admin settings.

Open webui Version seems to be the latest - v0.1.125 (latest)
How to activate pipelines options in open webui?
P.S. if someone need a dockerfile for pipelines I've attached one.
pipelines-docker.zip

@rvsh2 Pipelines support in the UI is only in dev branch right now, pull the dev Docker image tag.

OK, I managed it to work. It looks very nice. I will try to test it more.

Ok It works very good. No bugs :)  but I'm thinking about the concept and do you think there is a possiblity that libretranslate will only translate relevant information for example:
let's ask llama3: Write a simple python script that counts from 1 to 100 (no more than 4 sentences)
USER: Napisz prosty skrypt w python liczacy od 1 do 100 (nie więcej niż 4 zdania(
ASSISTANT WITH TRANSLATED OUTPUT TO POLISH:
llama3:latest 6:00 PM
Oto prosty skrypt Pythona, który liczy się od 1 do 100:
"'
dla i w zakresie (1, 101):
druk (i)
"'

I don't know libre translate well, for example can it decide to not translate code section somehow?


[FLOC-1720] Fix intermittent buildbot failures

There are failing tests like:
[ERROR]
Traceback (most recent call last):
  File "/srv/buildslave/flocker-acceptance-rackspace-fedora-20-distro-testing/venv/lib/python2.7/site-packages/flocker/acceptance/test_moving_data.py", line 54, in test_moving_data
    u"external", 27018]))
  File "/srv/buildslave/flocker-acceptance-rackspace-fedora-20-distro-testing/venv/lib/python2.7/site-packages/pyrsistent.py", line 934, in transform
    return _transform(self, transformations)
  File "/srv/buildslave/flocker-acceptance-rackspace-fedora-20-distro-testing/venv/lib/python2.7/site-packages/pyrsistent.py", line 2635, in _transform
    for path, command in _chunks(transformations, 2):
exceptions.ValueError: need more than 1 value to unpack

flocker.acceptance.test_moving_data.MovingDataTests.test_moving_data
===============================================================================
[ERROR]
Traceback (most recent call last):
Failure: twisted.trial.util.DirtyReactorAggregateError: Reactor was unclean.
DelayedCalls: (set twisted.internet.base.DelayedCall.debug = True to debug)
<DelayedCall 0x45ace60 [29.9972560406s] called=0 cancelled=0 Client.failIfNotConnected(TimeoutError('',))>

flocker.acceptance.test_moving_data.MovingDataTests.test_moving_data
===============================================================================
[ERROR]
Traceback (most recent call last):
Failure: twisted.trial.util.DirtyReactorAggregateError: Reactor was unclean.
Selectables:
<<class 'twisted.internet.tcp.Client'> to ('<IP_ADDRESS>', 4523) at 45a3590>

flocker.acceptance.test_moving_data.MovingDataTests.test_moving_data

This is due to transform taking 2 arguments, not one. I've pushed the trivial fix.

All acceptance tests are green, for once.

Change the docstrings which refer to parts of the documentation to explain the differences between the docs and the tests.

Thanks @itamarst please address the comments and resubmit.

Thanks @itamarst , address the comment about maybe raiseing if the details are incorrect and merge.


[DO NOT MERGE] Auto PR to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
288d49504b943a155160d754d7d5414e2c59ad62
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Formula for tools package

I mean http://download.oracle.com/otn/mac/instantclient/122010/instantclient-tools-macos.x64-<IP_ADDRESS>.0-2.zip .
It's useful at least for the command sqlldr which allows to load files into the db.

I would consider merging a PR if you could prepare one mimicking the existing ones.

@kaukas I've created a PR for this - https://github.com/InstantClientTap/homebrew-instantclient/pull/23.

Thank you for the contribution, @meezaan!


个人博客配置全解 - Chen的博客 | Chen Blog

https://chen3283891376.github.io/2024/07/09/个人博客配置全解/
Every failure is leading towards success.

Chrome无法登录（悲


Question about the implementation of saliency score.

Thanks for your great work!
I notice that the gradient is first summed across the head dimension, and then applied to absolute calculation, which may not be consistent with Formula (1) in the paper. Is it intended?
https://github.com/lancopku/label-words-are-anchors/blob/eba87afbd5115f7e70df31de9821254e3d74421f/icl/analysis/attentioner_for_attribution.py#L94-L99

sorry for this, this is a typo in our paper, and I will update it in arxiv.
But we also tried first to apply abs and then use grad.sum(1), the results are similar. (so this choice is just arbitary)

Thanks for the explanation!


Paperless wrong documentID type

Hello,
Thanks for sharing your library.
I have an issue calling the "paperlessdocuments/v1/upload" endpoint
Seems like your library is using the wrong type for the value "DocumentId" to denormalize the response, "string" instead of "array"

vendor/shipstream/ups-rest-php-sdk/src/Api/Normalizer/UploadResponseFormsHistoryDocumentIDNormalizer.php
UploadResponseFormsHistoryDocumentID

function : setDocumentID(string $documentID)
Here is the error :
TypeError: Argument 1 passed to ShipStream\Ups\Api\Model\UploadResponseFormsHistoryDocumentID::setDocumentID() must be of the type string, array given
But UPS send an array (as is it said in the UPS documentation) :
"FormsHistoryDocumentID": {
            "DocumentID": [
                "2013-12-04-<IP_ADDRESS>814"
            ]
        }

Thanks, Michel.

Hey, thanks for the report!
Yeah it seems UPS updated their API specs recently, I'll have a fix ready soon.

Thanks,
I keep an eye on it then ;)


Integer filter values result in error for Boxplot visualizations

Make sure these boxes are checked before submitting your issue - thank you!

[x] I have checked the caravel logs for python stacktraces and included it here as text if any

2016-10-27 00:05:55,609:ERROR:root:argument of type 'int' is not iterable
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/caravel/views.py", line 1183, in explore
viz_obj.get_json(),
File "/usr/local/lib/python2.7/dist-packages/caravel/viz.py", line 318, in get_json
'data': self.get_data(),
File "/usr/local/lib/python2.7/dist-packages/caravel/viz.py", line 816, in get_data
df = self.get_df()
File "/usr/local/lib/python2.7/dist-packages/caravel/viz.py", line 737, in get_df
df = super(BoxPlotViz, self).get_df(query_obj)
File "/usr/local/lib/python2.7/dist-packages/caravel/viz.py", line 153, in get_df
query_obj = self.query_obj()
File "/usr/local/lib/python2.7/dist-packages/caravel/viz.py", line 271, in query_obj
'filter': self.query_filters(),
File "/usr/local/lib/python2.7/dist-packages/caravel/viz.py", line 225, in query_filters
vals = ["'{}'".format(x) if "," in x else x for x in vals]
TypeError: argument of type 'int' is not iterable

[x] I have reproduced the issue with at least the latest released version of caravel
[x] I have checked the issue tracker for the same issue and I haven't found one similar

Caravel version
0.11.0
Expected results
After selecting an INTEGER type value from a Filter box dropdown selector, any Boxplot type slice to be impacted by that filter is correctly filtered.
Actual results
After selecting an INTEGER type value from a Filter box dropdown selector, any Boxplot type slice to be impacted by that filter errors out with "TypeError: argument of type 'int' is not iterable".
Steps to reproduce

Set up a datasource and table with at least 1 INTEGER typed column
Create Boxplot visualization and Filter box slices using the INTEGER column, and create a dashboard from these slices
Attempt to use integer filter. Encounter error

I am having these same issue with 0.11.0.
Is there a workaround?

@mwullink Workaround I've been using so far is to cast the integer column as another type such as varchar in the table configuration. Works just fine for filtering purposes.

Notice: this issue has been closed because it has been inactive for 536 days. Feel free to comment and request for this issue to be reopened.


Add shortcuts for frame scrubbing

In addition to right click + drag for frame scrubbing, it would also be nice to have:
Ctrl key + mouse wheel
Ctrl key + drag

Pushing to the next milestone...


[vscode/editor] in editor view of specific proposed changes

When we are presenting the user with the response we got from the kai/rpc-server, one thing that would be really helpful is if the user could gain additional context on the proposed change by, clicking the filename for the codeblock or clicking the codeblock itself, opening that file in the editor where the proposed change is to be made. Additionally, we may elect to show the change in the editor with the option to accept/reject.

Now that we have removed #69 from the minimum demoable thing, the scope of this effort has increased along with https://github.com/konveyor/editor-extensions/issues/67 , specifically this comment https://github.com/konveyor/editor-extensions/issues/67#issuecomment-2443145629.
The important notes about how this effort has changed:

The webview will message the diff viewer with the proposed solution after kai/rpc-server has responded to our solution request and we have performed any necessary post processing.
The webview will be "disabled", preventing user input while the user works through the proposed solution.
The diff-viewer must notify the webview when the user has "finished" reconciling the proposed solution.

Most of the scope implemented in https://github.com/konveyor/editor-extensions/pull/79
The missing part is implementing the accept/reject buttons in the editor itself (i.e. code lense style). Right now it's implemented in the Konveyor Resolution view (native VS Code tree view).

Missing parts implemented in #102

I think this is done. Can we close this @rszwajko ?


[BUG]: docker build cuda extension error

Is there an existing issue for this bug?

[X] I have searched the existing issues

🐛 Describe the bug
when docker build run follow command
RUN BUILD_EXT=1   pip install colossalai-nightly
RuntimeError: [extension] Could not find any kernel compatible with the current environment.
but if I run this command in a container (with gpu flag to use GPU cards) then It suceed
base image
FROM nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu20.04
Environment
No response

RUN BUILD_EXT=1   pip install colossalai-nightly:
#0 7.666 Collecting colossalai-nightly
#0 12.99   Downloading colossalai-nightly-2024.5.18.tar.gz (1.2 MB)
#0 13.69      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 1.7 MB/s eta 0:00:00
#0 14.21   Preparing metadata (setup.py): started
#0 17.77   Preparing metadata (setup.py): finished with status 'error'
#0 17.78   error: subprocess-exited-with-error
#0 17.78
#0 17.78   × python setup.py egg_info did not run successfully.
#0 17.78   │ exit code: 1
#0 17.78   ╰─> [7 lines of output]
#0 17.78       No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
#0 17.78       Traceback (most recent call last):
#0 17.78         File "", line 2, in
#0 17.78         File "", line 34, in
#0 17.78         File "/tmp/pip-install-4b2qtsp_/colossalai-nightly_41088cca51d34a4e95a34fd3ef65987c/setup.py", line 90, in
#0 17.78           raise RuntimeError("[extension] Could not find any kernel compatible with the current environment.")
#0 17.78       RuntimeError: [extension] Could not find any kernel compatible with the current environment.
#0 17.78       [end of output]
#0 17.78

one
Created wheel for colossalai-nightly: filename=colossalai_nightly-2024.5.18-cp310-cp310-linux_x86_64.whl size=23673844 sha256=0a0bb55154c1ce9758ff8f9dd4b38e4b462647ad38e9714d9a4b2de6153b163e
Stored in directory: /root/.cache/pip/wheels/ef/39/0e/39263ec364cb9d67240001279c9bcb1808b102252ea4ecaf33
Building wheel for contexttimer (setup.py) ... done
Created wheel for contexttimer: filename=contexttimer-0.3.3-py3-none-any.whl size=5804 sha256=877270da42acb2811b2b5fbb097ce315895a4f6ed3b4da34aa5318a60c758006
Stored in directory: /root/.cache/pip/wheels/72/1c/da/cfd97201d88ccce214427fa84a5caeb91fef7c5a1b4c4312b4
Successfully built colossalai-nightly contexttimer
Installing collected packages: ninja, distlib, contexttimer, wrapt, virtualenv, pydantic-core, nodeenv, msgpack, invoke, identify, cfgv, bcrypt, annotated-types, pynacl, pydantic, pre-commit, google, deprecated, cryptography, tokenizers, paramiko, transformers, ray, fabric, galore_torch, colossalai-nightly
Attempting uninstall: tokenizers
Found existing installation: tokenizers 0.19.1
Uninstalling tokenizers-0.19.1:
Successfully uninstalled tokenizers-0.19.1
Attempting uninstall: transformers
Found existing installation: transformers 4.42.0.dev0
Uninstalling transformers-4.42.0.dev0:
Successfully uninstalled transformers-4.42.0.dev0
Successfully installed annotated-types-0.6.0 bcrypt-4.1.3 cfgv-3.4.0 colossalai-nightly-2024.5.18 contexttimer-0.3.3 cryptography-42.0.7 deprecated-1.2.14 distlib-0.3.8 fabric-3.2.2 galore_torch-1.0 google-3.0.0 identify-2.5.36 invoke-2.2.0 msgpack-1.0.8 ninja-<IP_ADDRESS> nodeenv-1.8.0 paramiko-3.4.0 pre-commit-3.7.1 pydantic-2.7.1 pydantic-core-2.18.2 pynacl-1.5.0 ray-2.22.0 tokenizers-0.15.2 transformers-4.36.2 virtualenv-20.26.2 wrapt-1.16.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
root@71c5383a668b:/app#
root@71c5383a668b:/app#
run in container with gpu device param

workaround
Install ColossalAI from a specific commit
ARG VERSION=main
RUN git clone -b ${VERSION} https://github.com/hpcaitech/ColossalAI.git &&
cd ColossalAI &&
git checkout 3e05c07bb8921f2a8f9736b6f6673d4e9f1697d0 &&
BUILD_EXT=1 pip install -v --no-cache-dir . &&
cd .. &&
rm -rf ColossalA

thanks

This is because docker buildkit is not compatible with current cuda extension. You can set export FORCE_CUDA=1 before install colossalai in docker. Or you can disable docker buildkit by setting export DOCKER_BUILDKIT=0


Made changes to deploy autotune only once to reduce the test execution time

Made changes to deploy autotune only once to reduce the test execution time
Signed-off-by: Chandrakala Subramanyam<EMAIL_ADDRESS>

@chandrams need to fix conflicts

@dinogun - I have resolved the conflicts, thanks.


File meta data in JSON

In GitLab by @pdamme on Mar 8, 2022, 17:46
DAPHNE stores some essential meta data about a file in a meta data file (see src/runtime/local/io/FileMetaData.h). Those meta data files have a very simple text-based format. However, its semantics is still somewhat cryptic. It would be great to make it more explicit and user-friendly by using a simple JSON-based format.
For instance, the following current meta data file:
2,2,0,si64,f64,foo,bar

Could become something like:
{
  "numRows": 2,
  "numCols": 2,
  "columns": [
    {"name": "foo", "valueType": "si64"},
    {"name": "bar", "valueType": "f64"}
  ]
}

A JSON parser library should soon be added via #141.

Hello. I would like to work on this issue. :-)

For clarification: Since FileMetaData can represent both matrix and frame meta data (which are slightly different), it's not so trivial how to design the JSON-based format. I propose the following:
Schema of a meta data JSON file
The JSON file should always contain the following keys:

numRows: integer
numCols: integer

The JSON file should always contain exactly one of the following keys:

either: valueType: string
Then, FileMetaData::schema has one element, FileMetaData::labels is empty, and FileMetaData::isSingleValueType is true.
or: schema: array of objects (label: string, valueType: string)
Then, FileMetaData::schema and FileMetaData::labels are filled with the provided value types/labels, and FileMetaData::isSingleValueType is false.

The JSON file may optionally contain the following key:

numNonZeros: integer (default: -1)

Examples
Matrix meta data:
{
  "numRows": 7,
  "numCols": 5,
  "valueType": "f64",
  "numNonZeros": 29
}

Frame meta data:
{
  "numRows": 5,
  "numCols": 3,
  "schema": [
    {"label": "foo", "valueType": "si64"},
    {"label": "bar", "valueType": "f64"},
    {"label": "baz", "valueType": "f32"}
  ]
}


UI Squished in the About - Manage Settings menu

Description
The UI is really squished and the buttons are really hard to press.
Steps To Reproduce

Go to the settings menu
Go to the about menu
Click the "Manage Settings"

Expected behavior
The UI showed up properly.
Files Version
<IP_ADDRESS>
Windows Version
Windows 11 21H2 22000.282
Relevant Assets

Thanks for the report. Not an issue with the new UI on main.


Google Tag manager / Analytics on EPP client

Related: https://github.com/elifesciences/enhanced-preprints-server/issues/9
The EPP client does not have google analytics enabled.
Definition of Done

[ ] GTM is appearing in the EPP HTML
[ ] Data for EPP staging and prod is appearing in GA
[ ] Hotjar can record a session

Manual installation instructons:

Below is the Google tag for this account. Copy and paste it in the code of every page of your website, immediately after the <head> element. Don’t add more than one Google tag to each page.

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CTCHX4ZQV5"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-CTCHX4ZQV5');
</script>

Note: updated the above comment

@BlueReZZ @de-code This should be live for both environments now.

Excellent, thank you.
@de-code is going to work on ensuring it is measuring correctly then look at specific measures detailed in https://github.com/elifesciences/data-hub-issues/issues/525

Sure - https://staging--epp.elifesciences.org/ and https://prod--epp.elifesciences.org/

Hi @scottaubrey could you please remind me of the URLs for staging and production?

Paul shared the links with me.

For Cookiebot (not sure if you want to create it as a separate ticket), it seems to be just adding the following line as the very first script element:
<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="0a5c50d8-fcf9-47b1-8f4f-1eaadb13941b" type="text/javascript"></script>

In this case staging and production seem to be using the same id (0a5c50d8-fcf9-47b1-8f4f-1eaadb13941b).
For more context, this is from the Cookiebot Help:

1. Cookie consent banner and widget: Copy the top script and insert it as the very first script within the HEAD-tag of your website. Inserting it as the very first script ensures that no cookies or trackers escape our automatic cookie blocking. This script will guarantee that the banner is shown for consent collection and the widget is shown for consent changes and withdrawal. The Cookiebot CMP widget allows the user to withdraw (or change) their consent at any time – as required under e.g. GDPR.
Example:
<html>
<head>
  <script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="00000000-0000-0000-0000-000000000000" type="text/javascript". data-blockingmode="auto"></script>
</head>
<body>
  ...
</body>
</html>

Thank you. I am looking at it now.
I believe you may still need to enable Cookiebot in the deployment config?

It seems to be fixed in staging, but not yet in production? Was there a deployment issue?

Currently production isn't automated. I'll do the update there for you too

Update: it's now rolling out to prod. Also, cookiebot is in both.

GTM seem to be working fine now.
For Cookiebot we would need to add the two domains as testing domains to the Cookiebot configuration.
@scottaubrey do you have access to do that?

I can, but I'm not sure how to handle it - I think we're expecting this to just come through the journal proxy, on elifesciences.org (and related domains). Does it work OK when accessed that way?
If not, should it be handled as an alias of elifesciences.org  or as a separate domain to the journal (like reviewer is)?
Any thoughts @BlueReZZ ?

If it's already set up for elifesiences.org and preview.elifesciences.org then it should be okay. I presume there's another testing.elifesciences.org or similar though (looking at GA) that might be needed.
It'll mean that @de-code needs to access it via those URLs rather than staging-- as he will have been doing.
Also, no harm in adding staging-- and prod-- as testing domains if the setting of the cookie and analytics still wire themselves up correctly for the testing required.

🤦 Sorry - here's the comment again:
I've added them as aliases (with the correct domain this time):

Thank you. This is mainly for me to test, that the integration works as intended before we publish it.
I am still getting Cookiebot complaining that the domain is not enabled. Has the change been published?

Not sure whether elifesciences.org is maybe closer match (in terms of cookies used)? Although probably doesn't make much of a difference for this purpose.

Yeah, you're right, it should be an Ali's for elifesciences.org. I'll get it sorted pronto

Have, after all that I hadn't pressed save anyway! Should be there this time, I've refreshed cookiebot settings page to make sure this time!

That is working well now. GTM still working with Cookiebot. I will do more testing and add more tracking. Chris can test Hotjar tomorrow too.

Not to self:
For some reasons, Cookiebot's blocking of scripts does not seem to work. Not sure if it is due to being test version.
Cookies are removed after rejection. After reload I can still see Hotjar Cookies and Network requests for both Hotjar and GA.
For https://continuumtest--journal.elifesciences.org/ the Hotjar cookies stay absent after rejection as expected and I do not see GA collect requests.


tests: userspace: Support RT 3 digit

RT 3 digit ran out of mpu regions to do this test, so add board overlays to disable the USB SRAM MPU region definition because it is not needed for this test.
Also add a comment to the board dts making it clear that this is possible.
Fixes #58222

Maybe change test: userspace: Support RT 3 digit to something like "tests: userspace: support rt595 and rt685"? "RT 3 digit" is not very clear for someone looking through the git log.


Update to more recent phase3 release.

Coverage remained the same at 61.29% when pulling defbca6c8e47ad7db95d04f575e6fa9e70f39d89 on deflaux:master into 46f9189c8c5caa8621d06b6139d0847001321911 on googlegenomics:master.

LGTM


Ooptimization

Codecov Report
Attention: Patch coverage is 93.33333% with 1 line in your changes missing coverage. Please review.

Project coverage is 70.90%. Comparing base (f4d40d1) to head (37039dc).

Files with missing lines
Patch %
Lines

...ental_experiment/xoptim/patterns_ort/activation.py
93.33%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #314      +/-   ##
==========================================
+ Coverage   70.88%   70.90%   +0.01%
==========================================
  Files         182      182
  Lines       31171    31186      +15
==========================================
+ Hits        22097    22111      +14
- Misses       9074     9075       +1

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


YAML editor; integration into /dashboard/<name>/edit

Checklist

[x] Manual verification
[x] Unit test coverage
[x] E2E test coverage
[x] Manual QA

Summary
Issue addressed:
Integrates a new YAML editor, which is essentially a handful of codemirror plugins. This work isn't perfect but it's a big step in the right direction.
Concretely, this PR:

adds in web-common/src/components/editor, which maintains the codemirror plugins.
adds a line status system, a means of adding line-specific errors and having the line color change. This system includes a custom gutter to display an error icon.
adds in indent guides a la VSCode.
adds a metrics editor in YAML, which (1) utilizes a simple inspector (2) places file errors additionally as a bottom component that slides up and (3) implements a placeholder that handles guiding the user to either bootstrap off an existing model or give a skeleton.

Steps to Verify

use the "autogenerate" functionality from anywhere in the app
try to make a blank dashboard and go through the different provided paths in the placeholder
edit the config and see the changes in the dash

Just did a QA. Overall, I'm a huge fan. I especially like that we can now reorder measures and dimensions from the app, and I like the colors for syntax highlighting.
I ran into various warnings/nits/bugs that I'll leave in individual comments.

There's a warning when building the application:

I keep seeing these warnings in the browser console:

It looks like we don't get line-specific errors for certain dimension and measure errors. Backend or frontend issue?

When I delete the "s" in "measures" I get a flashing line error:
https://github.com/rilldata/rill/assets/14206386/55e44b16-5453-4fe8-acad-34ee1b49f92b

On a dashboard, I ...

toggled the time range or time grain away from the default
navigated to the metrics editor
edited the default_time_range or smallest_time_grain
navigated back to the dashboard and my previous state was still applied
was confused because I expected to see the new defaults that I had just set.

@ericpgreen – thanks for the review.

I'll fix the warnings, good catches there.
will look into the flickering error.
re: changing defaults, the expected behavior in the dashboard today is to maintain the last-picked selections. I don't think this is actually ideal but is coincident with existing behavior. I would prefer we don't change that in this PR but address it afterward.
one thing this PR is surfacing is that we'll probably need to do some refinement of the error messages from the runtime. Adding more is straightforward once we can actually parse the line number out.


cap formatter conflicts with base alphabet letter c

I noticed that the cap formatter conflicts with the base alphabet letter c. Should the formatter be renamed?
Specifically it affects dictation and mixed modes. You cannot say cap on its own, it does nothing.
https://github.com/knausj85/knausj_talon/blob/796df6df17654cae040fc7567b6e68ec7dc25800/core/modes/dictation_mode.talon#L6-L14
possible alternative is capit
edit: add context

escape cap should work for inserting the word "cap" in dictation mode. In mixed mode, if you want to press c, you can probably say press cap, but I agree this is annoying. @wolfmanstout thoughts?

Dumb question: do we want to worry about mixed mode currently? It is a beta-only feature, and I sorta hesitate to change the grammar for the folks currently on public talon. Perhaps this is best left to folks forks for the time being?

Yeah, I would also hesitate to change cap here without some consideration. However, when possible it would be nice to avoid things that cause problems in mixed mode, because it seems very popular and useful for those on the beta, so it may eventually hit public in some form. It is also possibly annoying that bare "cap" does not work in dictation mode? How does Dragon work here? Can you really not say "cap" in a sentence, eg "I took off my cap period" / "His cap blew away period"?

Sounds reasonable.
Using cap for capitalizing words in dictation mode was actually borrowed from dragon.

Thanks for flagging this, I never would have noticed because I use a different alphabet (that preceded Talon). Dragon does have the exact issue described here, so it is consistent with Dragon in that sense.
I guess we could change the default to something like "cap next"? I am personally going to keep mine the way it is because there is no conflict.

To clarify my perspective:

The default/base alphabet that was tuned for speed having letters in conflict is my main concern.

If I have to spell out something it is generally an exception. Having to worry about basic letters not working makes it a bit jarring.

I am not really concerned about the word cap being in conflict. To me, it is expected that I would need to be prefix/escape various keywords with word to avoid clashes occasionally.

I'm having trouble replicating your issue. I am able to do the following in mixed mode:

say the word cap individually which inserts a lowercase c
say the word cap prior to a word to capitalize the next word
say "word cap" to insert the word cap

Can you give an example of an input which in mixed mode does not produce the expected results?


Admin - change XML2Dict namespace separator

The default separator, ':',  broke the underlying parser after a security update.
Source: https://bugs.launchpad.net/ubuntu/+source/python-xmltodict/+bug/1961800
Proposed fix to xmltodict: https://github.com/martinblech/xmltodict/pull/290
As far as I can tell, this is the only place where it affects Moto, as no other services use XML namespaces.
This PR should remove the need to wait for any upstream/downstream fixes that may or may not happen.
@thrau FYI, as it looks like were bitten by this first here: https://github.com/localstack/localstack/pull/5585

Yes, we already went through the obligatory rants about XML!


Introduce detailed_trace macro, use in TrackedRenderPass

Profiles show that in extremely hot loops, like the draw loops in the renderer, invoking the trace! macro has noticeable overhead, even if the trace log level is not enabled.
Solve this by introduce a 'wrapper' detailed_trace macro around trace, that wraps the trace! log statement in a trivially false if statement unless a cargo feature is enabled
Objective

Eliminate significant overhead observed with trace-level logging in render hot loops, even when trace log level is not enabled.
This is an alternative solution to the one proposed in #7223

Solution

Introduce a wrapper around the trace! macro called detailed_trace!. This macro wraps the trace! macro with an if statement that is conditional on a new cargo feature, detailed_trace. When the feature is not enabled (the default), then the if statement is trivially false and should be optimized away at compile time.
Convert the observed hot occurrences of trace logging in TrackedRenderPass with this new macro.

Testing the results of
cargo run --profile stress-test --features bevy/trace_tracy --example many_cubes -- spheres

shows significant improvement of the main_opaque_pass_3d  of the renderer, a median time decrease from 6.0ms to 3.5ms.

Changelog

For performance reasons, some detailed renderer trace logs now require the use of cargo feature detailed_trace in addition to setting the log level to TRACE in order to be shown.

Migration Guide

Some detailed bevy trace events now require the use of the cargo feature detailed_trace in addition to enabling TRACE level logging to view. Should you wish to see these logs, please compile your code with the bevy feature detailed_trace.

The migration guide should be a bit more explicit as to what the current use cases for those trace logs are.

I wrote it this way so that mistakes in using the macros (or bitrot from surrounding code changes) are caught even if the feature is not activated

I'm fine with this choice.
bors r+


Support for installing Kubernetes using non-root accounts with sudo

Issue Description
Type: feature request
Describe what feature you want
Support for installing Kubernetes using non-root accounts with sudo
Additional context
The server root account provided by our customer is disabled, but can be used as a normal user to claim rights through Sudo

@kakaZhou719 Is this feature already supported in main branch or latest version of sealer?

@yanruogu @allencloud , we are not support this feature yet, but will do it at the next version.

OK，thank you! @kakaZhou719

When installing an environment with non-root user, I think we only need to wrap the command into the sudo /bin/sh shell.


Fixed typos

This should fix all your issues with StyleCI.

@GrahamCampbell Cool thanks! :) What was the problem?

That missing brace was causing the fixed file to have a syntax error.

Ah! Is there (in general) any way to debug such problems without needing your assistance?

I manually disabled our linting process to highlight that issue. I'm about to ship that feature to production though, so soon you'll be able to just add linting: false to your config to highlight the exact issue.

Ok :) Will there be a way to manually trigger a scan with a changed config? I don't really want to push two commits (linting: false, linting: true) every time there is a problem.

Ok :) Will there be a way to manually trigger a scan with a changed config? I don't really want to push two commits (linting: false, linting: true) every time there is a problem.

Absolutely. You can actually modify the config from in your browser you you don't have to push any commits. Just update the config in browser, then hit the analyze now button.

Ah! I hadn't seen that, cool :) Thanks a lot!

We shipped that feature yesterday with our redesign. :)