fix: the conflict of cache-min-ttl and cache-max-negative-ttl

cache-min-ttl/cache-max-ttl与cache-max-negative-ttl相互独立。

Hi @ShipeiXu, I believe the current logic is correct:

Check if the minimum SOA TTL needs to be used;
Constrain the TTL value between the global cache-min-ttl and cache-max-ttl configuration values if any;
Make sure cache-max-negative-ttl is honored for negative answers.

With the proposed changes, the global cache-min-ttl and cache-max-ttl options would not apply to negative answers.
With the current configuration options (and I assume you have configured cache-min-ttl already, thus your issue) do I understand correctly that you would like to instruct the cache to not cache for lower values than cache-min-ttl but you would like an exception for negative answers?

You can do whatever you want without considering RFC 2308. However, RFC 2308 requires that negative caching be cached according to the minimum ttl of the authorization zone in the authoritative response. Therefore cache-max-negative-ttl should not be affected by other parameters.

Your understanding is correct, I did set cache-min-ttl. But for negative caching, this is not my expected result. Regardless of whether you modify it or not, I will use my logic in my own version

Hi @ShipeiXu, I put this on the side while prioritizing other stuff but now I came back to it with #1027. I believe by introducing cache-min-negative-ttl both this PR and the initial issue #970 are addressed.

#1027 is now merged, which replaces this PR with the new cache-min-negative-ttl option that can be used to affect the minimum TTL for negative answers. Thanks for bringing this up!
Closing.


Consider Sprockets hashed filenames during build

Sprockets has the ability to rename files to include a timestamp of their last computed change. This allows caching services which ignore query strings (used by the cache_buster feature) to cache files.
There are a handful of issues.

Timestamps need to be against files in source, not build. Cache buster also has this problem. Files/Assets are copied into the build folder on build, which gives an erroneous modified date. The "real" modified date is that of the file in source/

The asset_url helper needs to be overwritten to write out newly hashed paths in build mode. Using the helpers will be required to use this feature (image_tag, javascript_include_tag, etc).

Should integrate with "middleman build --clean" which removes unused files. Generating hashed file names will create lots of extra files over time. We need to be able to clean them up.

It MIGHT be better to implement this hashing ourselves in the cache_buster feature. Simply copy all assets on build, rename them with the current timestamp and overwrite asset_url. Might actually be simpler than integrating with Sprockets.

Why use a time stamp? If we do a md5 of the file that would always be the same unless the file content changed, no messing around with modified dates.

Good point.

I think the content hash is what's used in Rails.

Rails also has a trick of copying both the unique-named file (which it also pre-gzips at highest compression so you can serve it directly with no server CPU hit) and the regularly-named file into the assets directory. That way if you forget to use an asset helper, you can still reference the file.

I'm unclear as to the value of middleman build --clean being "smart" vs. just having it blow away the whole build directory every time.

One of the questions I had was whether this modification would be better as a preference, as the new default, or as an extension. Done correctly, I think this could be the default, except if we pre-gzipped stuff it would mean some server configuration for people.

s/Rails/Sprockets/ where necessary - I'm still not completely clear from looking at the Sprockets source which parts are handled by Sprockets and which are handled by Rails.

At first when I wrote the build --clean option it did just that, blow away the directory and rebuild it every time. The way it is now provides more useful feedback regarding the changes made and how they impact the final output, it's helped me track something down more then once.
A nice side benefit of not creating all new files (and altering the modification/creation times) is when I do a ftp sync to a staging server with Transmit (http://panic.com/transmit) it's faster only needing to transfer newer files.
I wrote a gem (not published yet) called middleman-transmitsync that's called after the build is run and uses MacRuby to script Transmit and preform the sync automatically provided the correct "Favorite" tab is already open in one of Transmit's document windows.

Rough middleman-transmitsync gist.
https://gist.github.com/1413073

I think this functionality is the flip-side of normal cache busting. I wouldn't replace that functionality, because "cache busting == query string" is a very well known feature. So let's say we have a new feature, called "asset hash". Basically, it's optimized for HTTP caches (varnish) and CDNs. It should be in core. I think we could also have a sister feature called "gzip assets" which could be combined or used individually.
Make sense?

That makes sense to me, though I'm not sure who would choose to use the query string cache busting in the place of asset hash since asset hashing is more stable and works with more browsers, proxies, and CDNs.

I agree that hashing is a better solution, but it "feels" like the backend version of the query string hack. If I had to guess, I'd think backend devs would be familiar with CDNs and hashing, but designers and frontend dev will probably be more familiar with query string (tons of articles about it).
Additionally, hashing requires the use of ruby functions for all asset references (image_tag, etc). So missing one and just tossing in an , or referencing assets from javascript, would break if all assets were hashed. Rails suggest you do something like "application.js.coffee.erb" where the erb portion calls <%= asset_url("img.png") %> to get the hashed url.

I think cache-busting with query parameters if falling out of fashion all around. Paul Irish even removed it from html5 BP.
https://github.com/h5bp/html5-boilerplate/commit/bb22ca6
I don't think it will confuse designers much.

If your worried about the use of ruby functions for all asset references. Couldn't a middleware just rewrite all the paths? I thought that's how cache_buster feature worked anyway. (didn't look)

Sounds good; I would love to take a shot at it. When are you looking to release 3.0?

Not before the end of the year. Probably spend the next few weeks polishing up the core and bringing the extensions up to compatibility. Then do a beta early Jan.

Ok good. Because I need to finish up some things before I can jump on it. I haven't had a chance to checkout 3.0 yet; only been watching the commits. So it should be fun, I'm looking forward to it.
Arron
Sent from my iPhone
On Dec 1, 2011, at 11:49 PM, Thomas<EMAIL_ADDRESS>wrote:

Not before the end of the year. Probably spend the next few weeks polishing up the core and bringing the extensions up to compatibility. Then do a beta early Jan.

Reply to this email directly or view it on GitHub:
https://github.com/tdreyno/middleman/issues/174#issuecomment-2986302

This is something I hate about the Rails 3.1 implementation. Would love to avoid this.
Feels like a cheat.

Let's see how the first implementation looks, then decide about any backup options.

I'm hoping to try and get something out once I have a bit of time and have succeeded in moving my blog to middleman.

I'm going to poke around tonight and see if I can come up with anything.

Any luck?

Yes, finally just started writing something tonight, turns out the football joke was not too far off :-)
Here is the branch I'm working on.
https://github.com/middleman/middleman/tree/feature/asset_hash
It's still very rough, but I decided I had to push something up before I went to sleep, so beware it defiantly needs some refactoring and there are still notes to myself and debug code littered around.
I don't have any real tests yet, just been visually checking some text strings in a index.html file (inside the asset-hash-app)
I through up a quick gist of the before and after so you don't have to dig in and run it just yet.

before https://gist.github.com/1519152/721777e44778e66f0fa2c40050203b79dd81c132
after    https://gist.github.com/1519152/4ad743ef5f21dd37651aeaee40ced5084bd36c6c

Hopefully you can easily make out the pattern of what's getting processed and what's not, if not let me know and I will explane my reasoning.
While I only ran it against the index file it should work against the css and javascript, right now I have a quick hard coded check to run against these files htm|html|php|css|js. It could probably be configurable.
I did run into 2 issues.

after I rerouted the hashed path to the asset path reroute(hashed_asset_path, asset_path) I ignored the asset path ignore(asset_path) but it's still being created in the build. Any ideas?

from what I could tell we hav't not implemented the activate function to pass config data to extensions activate :asset_hash, :ext => %w(ico manifest jpg png) or have we?

Thats about all I have bandwidth for tonight I'm going to go crash.

Test files look robust, nice.
Still not sure where this makes sense to implement. Takes some sitemap gymnastics for it to work everywhere (proxy, ignore). Or if it can just be a ton of Ruby in an after_build hook.
Haven't implemented that activation code yet, but shouldn't take me more than a few minutes.

Done, see here:
https://github.com/middleman/middleman/commit/7e86ed058ffc417bd05b3e3ea1c7f82024f8d6cb#diff-9

Time to rebase you gits, just moved a bunch of stuff around. This feature should end up in middleman-more

By the way, reading through the Sprockets source, it looks like just naming the output file with a ".gz" extension causes Sprockets to gzip the output. It'd be really nice if there were an option to, while rewriting the assets to have hashes in the filename, it also added a ".gz" extension so people could serve pre-gzipped files.

I've merged all the changes from master into the feature/asset_hash branch and moved the extension into middleman-more. I'd like to finish up this extension before 3.0 releases. As I see it, this is what needs to be done:

All asset-type paths need to output to their hashed path as part of the build. I don't know enough about how reroutes work to do this yet, but I'll be reading the source. Right now the reroute is happening in the middleware, but I think that's too late. Any suggestions on how to do this would be appreciated. For sure, a reroute will be necessary somewhere if we want this to work in the preview server as well.
The middleware can then be simplified to just rewrite any asset paths it finds to match whatever the built hashed paths would be. I wonder if the sitemap page should be extended to somehow keep track of the original-to-hashed paths?
The set of extensions considered "assets" needs to be a setting.
As a separate extension, output paths could be rerouted to include .gz extensions so Sprockets will Gzip them.

BTW, would it be a good idea to have reroute work differently? Right now it just calls proxy, and then you have to ignore the regular path, but it seems like it'd be better for Sitemap::Page to just have an original and result path, with reroute changing the result path. I guess build_reroute works sorta like that, but I'm confused as to why there's both.

I think better support for changing the "result path" to be different from the "original path" would also help out with https://github.com/middleman/middleman-blog/issues/15

build_reroute exists entirely to support the Directory Indexes feature in 2.x where the input (page.html) was different than the output (page/index.html). With 3.x's Sitemap, this should be easier to do. The outstanding issue is that build_reroute, and now ignore, support callbacks which make them very flexible. We should merge reroute and build_reroute into a single callback-enabled proxy method.

I'll see if I can't do something like that this weekend, if I can eke out some time.

Made a bit of progress tonight on replacing reroute, but I've got a long way to go before things are simplified to the level I'd like.

The rabbit hole is very rabbit hole-y :(

OK, I've just pushed a new commit to feature/asset_hash that should have the asset hashing extension working pretty well. There are still a couple bugs around relative path handling that I'd like to fix, and of course the whole thing is devoid of tests which I'd absolutely want before merging into master. @arronmabrey, interested in trying to put some of those together?

I pushed another change that should make relative paths work correctly and fix a problem where some relative paths would get hash-ified even though they didn't resolve to an actual file.

Killer. If you can send a pull request, we'll track this issue and add tests there. This ticket is a mess.

Closing in favor of pull request #269.


chore: upgrade Adapter Library to v0.7.0

Description
This PR fixes #
Notes for Reviewers
Signed commits

[ ] Yes, I signed my commits.

Upgraded in separate PR already.


When downloading targets metadata, allow snapshot metadata to constrain the download size

According to the TUF spec, the snapshot can define optional lengths for target metadata files: https://theupdateframework.github.io/specification/latest/#metapath-length.

An integer length in bytes of the metadata file at METAPATH. It is OPTIONAL and can be omitted to reduce the snapshot metadata file size. In that case the client MUST use a custom download limit for the listed metadata.

Right now, we don't support this. We always (implicitly) constrain the download size of targets metadata, and any delegated roles, to Updater::MAXIMUM_DOWNLOAD_BYTES. Instead, we should default to that only if the snapshot doesn't define a length.

This blocks #258.

Closing in favor of #258.


Add TTS Mode

TTS Mode will allow the user, and if enabled, the Twitch Chat via redeems or commands, to make the puppet speak with text of their choice. A requested feature by a beta user that fits a lot of streaming use cases (see Ludicrous Lime's adorable TTS cat (https://discord.com/channels/@me/303934626190196736/1113698588200009738) as an example of this.)

Completed in https://github.com/Didymos-IO/sock/releases/tag/v0.7.0


[RFC] content: Make ingest directory unique to the current machine

What is the problem you're trying to solve
I would like to mount a network share to the content directory (/var/lib/containerd/io.containerd.content.v1.content).
This would save bandwidth and disk space for images/layers shared by multiple containerd hosts in a LAN. One practical example is a k8s cluster, where nodes can be using the same content directory to avoid re-download of images/layers previously downloaded by other nodes.
This cannot currently work reliably, since two machines using the same content share can be concurrently writing to the same ingest directory (which is deterministic).
Describe the solution you'd like
A simple solution would be to use a machine unique id when computing the ingest directory, which would prevent two machines from writing to the same directory concurrently.
While it is still possible that two machines are downloading the same image concurrently, they would be writing to different directories, and the filesystem rename semantics used during the commit phase would ensure no conflicts can occur.
I've written a local proof of concept using the machineid module and verified that all tests pass, here's a diff of the implementation:
diff --git a/content/local/store.go b/content/local/store.go
index 10b2f0a04..19a11c4b7 100644
--- a/content/local/store.go
+++ b/content/local/store.go
@@ -32,6 +32,7 @@ import (
        "github.com/containerd/containerd/filters"
        "github.com/containerd/containerd/log"
        "github.com/containerd/containerd/pkg/randutil"
+       "github.com/denisbrodbeck/machineid"
        "github.com/sirupsen/logrus"

        "github.com/opencontainers/go-digest"
@@ -64,8 +65,9 @@ type LabelStore interface {
 // Store can generally support multi-reader, single-writer ingest of data,
 // including resumable ingest.
 type store struct {
-       root string
-       ls   LabelStore
+       root     string
+       ls       LabelStore
+       ingestId string
 }

 // NewStore returns a local content store
@@ -83,9 +85,12 @@ func NewLabeledStore(root string, ls LabelStore) (content.Store, error) {
                return nil, err
        }

+       ingestId, _ := machineid.ID()
+
        return &store{
-               root: root,
-               ls:   ls,
+               root:     root,
+               ls:       ls,
+               ingestId: ingestId,
        }, nil
 }

@@ -633,7 +638,7 @@ func (s *store) blobPath(dgst digest.Digest) (string, error) {
 func (s *store) ingestRoot(ref string) string {
        // we take a digest of the ref to keep the ingest paths constant length.
        // Note that this is not the current or potential digest of incoming content.
-       dgst := digest.FromString(ref)
+       dgst := digest.FromString(ref + s.ingestId)
        return filepath.Join(s.root, "ingest", dgst.Encoded())
 }

Additional context
Creating this issue for discussion, and can open a PR if the suggestion is accepted.

Are you sure you wanna run all containers on a network share (thus having lots of permanent traffic between your worker node and the fileserver) ?
Anyways, I wouldn't like to rely on such obscure things like desktop-bus' id file - and so introduce new (undocumented) dependency on it ?
(my workers happen to not have this at all, since there's also no desktop-bus there)
Why aren't you just mounting this directory locally according to your needs ?

Are you sure you wanna run all containers on a network share (thus having lots of permanent traffic between your worker node and the fileserver) ?

The network share is used only for image download/cache (content plugin), container images are still unpacked to a local filesystem. So the traffic between worker nodes and file server is only happening during download and unpack of images

Anyways, I wouldn't like to rely on such obscure things like desktop-bus' id file - and so introduce new (undocumented) dependency on it ?
(my workers happen to not have this at all, since there's also no desktop-bus there)

I was not aware that the machine-id is tied to desktop bus. For me it is just the /etc/machine-id  file https://man7.org/linux/man-pages/man5/machine-id.5.html . And the dependency is not necessary, it is possible to simply read the file directly.

Why aren't you just mounting this directory locally according to your needs ?

It can work right now, just not reliably since two concurrent downloads of the same layer might corrupt it (two separate machines writing to the same ingest file).

The network share is used only for image download/cache (content plugin), container images are still unpacked to a local filesystem. So the traffic between worker nodes and file server is only happening during download and unpack of images

Okay, so you area already mounting specific subdirs ? Why not mouting this dir separately per node ?
Actually, from a security perspective I wouldn't feel well w/ all nodes having rw access to the same cache. I'd prefer using a local registry/proxy for the caching. Might feel a bit unconfortable, but in those scenarios I'd like to have it as quality gate as well as local backup (in case remote/upstream registry going broke).

I was not aware that the machine-id is tied to desktop bus. For me it is just the /etc/machine-id file https://man7.org/linux/man-pages/man5/machine-id.5.html . And the dependency is not necessary, it is possible to simply read the file directly.

Well, it originally came from desktop-bus. Later systemd picked it up and used in it it's - as usual - hard to understand - ways. Don't recall exactly, who of them put it into /etc ...
Nevertheless, that's something you'll usually just find on systemd-based installations. (other distros later picked it up as optional thing, but rarely used in practice w/o systemd). That manpage is coming from systemd.
Note that the manpage also warns you really shouldn't expose it to other hosts - that's what you're about to do.

Why aren't you just mounting this directory locally according to your needs ?

It can work right now, just not reliably since two concurrent downloads of the same layer might corrupt it (two separate machines writing to the same ingest file).

Mounting the just download dir separately ?
OTOH, maybe we should think about declaring this download dir a temp dir, possibly moving it under $TMPDIR, maybe w/ some random (subdir) name. Unless I'm missing somthing, this one doesn't need to survive host reboots or daemon restarts.

Note that the manpage also warns you really shouldn't expose it to other hosts - that's what you're about to do.

It is not being exposed, it is used to compute the ingest directory using a cryptographic hash (AFAIK it is not possible revert cryptographic hashes). And any uuid can be used, I've only chosen the machine id because it is already persisted and machine-specific. It would also be possible to use an in-memory uuid, but the ingest directory would be different if the daemon restarts (so it wouldn't be able to resume downloads later).

Mounting the just download dir separately ?

It is the content plugin directory, which includes download and image directories (before images are unpacked).

OTOH, maybe we should think about declaring this download dir a temp dir, possibly moving it under $TMPDIR, maybe w/ some random (subdir) name. Unless I'm missing somthing, this one doesn't need to survive host reboots or daemon restarts.

If you move download directory to a separate filesystem, then atomic commits is no longer possible. Both download(ingest) directory and image directory must reside in the same filesystem.

It is not being exposed, it is used to compute the ingest directory using a cryptographic hash (AFAIK it is not possible revert cryptographic hashes).

If you use only a hash of it, that's okay. Just don't use clear text.

And any uuid can be used, I've only chosen the machine id because it is already persisted and machine-specific. It would also be possible to use an in-memory uuid, but the ingest directory would be different if the daemon restarts (so it wouldn't be able to resume downloads later).

Is resuming after daemon restarts really necessary ?
I'd assume that killing it while in the middle of unpack and restarting from there later isn't exactly robust.
(never tried it, actually)

Mounting the just download dir separately ?

It is the content plugin directory, which includes download and image directories (before images are unpacked).

And this one cannot be mounted separately ?

If you move download directory to a separate filesystem, then atomic commits is no longer possible. Both download(ingest) directory and image directory must reside in the same filesystem.

hmm, I can image that this requirement isn't quite optimal. Having two separate spindles probably isn't nice for performance, but having download dir in tmpfs shouldn't cost much, and could be considered more gentle to storages, IMHO.


Update allinone.md

What type of PR is this?
/kind documentation
What this PR does / why we need it:

Update the information architecture, prioritize the "Quick Start" section, and move "Release" to the bottom
Decompose the "install.md" document to reduce user cognitive load. In the future, accelerator mode, pure offline mode, and SSH key mode will be added as separate documents.

rm install.md
add all-in-one-install.md
add helm-install-kubean.md

Special notes for your reviewer:
@ErikJiang

/kind documentation

how do you think about this request:https://github.com/kubean-io/kubean/issues/750

/lgtm


Bump vagrant boxes to fedora37

Signed-off-by: Derek Nola<EMAIL_ADDRESS>

Proposed Changes

Bump to fedora37 for vagrant boxes
Disable rootless sonobuoy testing, will be enabled in a future PR.

Types of Changes
Testing Bump

User-Facing Change

Further Comments

Fedora has proven too volatile for cgroups and rootless testing. I would like to move to Ubuntu for this testing and will be opeing a PR to add that within the week.

Also needs backporting to release-1.23


Create Django application named splitfile

https://github.com/zuri-training/Chunk-File-Generator-Team-50/tree/main/Backend/chunkfile/split_file


[99] BigQuery integration

Context
We want to be able to track the usage of our service. Using BigQuery is an established pattern across DfE.
It needs to be explicitly in development as you need a key from the Google Cloud console in order to use it.
Follow the instructions in the README for more detail.
Changes proposed in this pull request
Add event tracking with BiqQuery / dfe-analytics
Link to Trello card
https://trello.com/c/d4lqiMQJ/99-add-bigquery-integration
Checklist

[x] Attach to Trello card
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally

 Add BigQuery integration


Feature: Confluent message consuming refactoring

Current ConfluentConsumer implementation is pretty dirty - https://github.com/airtai/faststream/blob/main/faststream/confluent/client.py#L219
It uses sync_to_async everywhere, that can leads to race conditions and segmentation faults in C code.
We should refactor it to use separated thread as synchronous consumer flow and requeue messages from in-memory to asynchronous code. I can suggest use something like that
import threading
from queue import Queue, Empty
from typing import Optional, Any, List
from types import TracebackType

import anyio
from typing_extensions import Self

from faststream._internal.utils.functions import run_in_threadpool

class EventSource:
    def __init__(self) -> None:
        self.thread = threading.Thread(target=self._put_task)

        self._queue = Queue(maxsize=3)
        self.__stop_signal = threading.Event()

    @property
    def completed(self) -> bool:
        return self._queue.empty()

    async def get_one(self, timeout: Optional[float] = 3.0) -> Optional[Any]:
        try:
            return await run_in_threadpool(self._queue.get, True, timeout)
        except Empty:
            return None

    async def get_many(
        self,
        timeout: float = 0.1,
        max_records: Optional[int] = 10,
    ) -> List[Any]:
        data = []
        with anyio.move_on_after(delay=timeout):
            while len(data) < max_records:
                if msg := await self.get_one(timeout=timeout):
                    data.append(msg)
        return data

    def start(self) -> None:
        self.thread.start()

    def stop_nowait(self) -> None:
        self.__stop_signal.set()

    def stop(self) -> None:
        self.stop_nowait()
        self.thread.join()

    def __enter__(self) -> Self:
        self.start()
        return self

    def __exit__(
        self,
        exc_type: Optional[type[BaseException]] = None,
        exc_val: Optional[BaseException] = None,
        exc_tb: Optional[TracebackType] = None,
    ) -> None:
        self.stop()

    def _put_task(self) -> None:
        # TODO: implement messages consuming here
        import time
        import random
        while not self.__stop_signal.is_set():
            print("put msg")
            time.sleep(random.randint(5, 20) / 10)
            self._queue.put("CONFLUENT MESSAGE")

async def main():
    with EventSource() as source:
        while True:
            msg = await source.get_many(timeout=3)
            print(len(msg), msg)

anyio.run(main)

We've noticed segfaults and some kind of deadlock behaviour in our code where a close and a consume operation on the confluent_kafka lib occur simultaneously. We had to do some locking to ensure that didn't happen.

@joncourt it is a good point, thank you!


FEATURE REQUEST: link to daily note on hover

It would be nice to be able to jump to a specific note when hovering over a square

@ka1tzyu, here is simple solution:
calendarData.entries.push({
        date: page.file.name,
        intensity: intensity,
        content: await dv.span(`[](${page.file.name})`)
})

and custom css to expand clickable area on entire a square:
.heatmap-calendar-boxes li {
    position: relative;
}
.heatmap-calendar-boxes li:not(.task-list-item)::before {
    content: unset;
}
.heatmap-calendar-boxes .internal-link {
    text-decoration: none;
    position: absolute;
    width: 100%;
    height: 100%;
}

Hi, when I add
content: await dv.span(`[](${page.file.name})`)

I see this and the cells are not clickable.

I've ensured Preview core plugin is enabled and I added that custom css to Obsidian's css snippet section (not sure if that's where it's supposed to go).
Here is my Dataview snippet
let metric = "caffeine"
dv.span(metric)
const calendarData = { entries: [], }
	for (let page of dv.pages('"Daily"').where(p => [p.metric])) {
//		dv.span("<br>" + page.file.name)      // uncomment for troubleshooting
		// Title is required to be YYYY-MM-DD
		// Converting to ll (Mon dd, YYYY)
		let date          = moment(page.file.name, "ll");
		let formattedDate = date.format('YYYY-MM-DD');

		calendarData.entries.push({
			date     : formattedDate,         // (required) Format YYYY-MM-DD
			intensity: [page.metric],         // (required) the data you want to track, auto-maps colors
			content  : await dv.span(`[](${page.file.name})`), //for hover preview
			color    : "obsidian",
		})
	}
	renderHeatmapCalendar(this.container, calendarData)

front-matter
---
alias:
tags: daily
outlook: neutral
exercise:
- tricep-push-down
- squat
- seated-row
- pull-ups
- seated-leg-press
- deltoid-circles
calories: 0
caffeine: 200
alcohol: 0
weight: 162.5
thc: 0
---

If I remove that line then it looks like a proper calendar.
New to JS and obsidian so would appreciate a hand!

Hi @Woodams,
The problem
I just stumbled across the same problem. It is caused by how your settings define the link formatting. The one in the example is a classic markdown link, while you probably have the wikilinks format enabled in the Obsidian settings.

Markdown link format: display text
Wikilinks format: [[name-of-file|display test]]

The solution
Swap this line: content  : await dv.span(), //for hover preview
With this one: content: await dv.span([[${page.file.name}|]]), //for hover preview


2.0: build fails with latest glibc 2.33

[tkloczko@barrel liburing-liburing-2.0]$ make
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/liburing-liburing-2.0/src'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/liburing-liburing-2.0/src'
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/liburing-liburing-2.0/test'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/liburing-liburing-2.0/test'
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/liburing-liburing-2.0/examples'
     CC ucontext-cp
ucontext-cp.c:31:23: error: variably modified ‘stack_buf’ at file scope
   31 |         unsigned char stack_buf[SIGSTKSZ];
      |                       ^~~~~~~~~
make[1]: *** [Makefile:26: ucontext-cp] Error 1
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/liburing-liburing-2.0/examples'
make: *** [Makefile:14: all] Error 2

What is SIGSTKSZ in your system?

Fixed proposed here: https://www.spinics.net/lists/linux-block/msg67077.html

I see that fix for that issue already has been committd in 8aac320a.
Is it possible to make 2.0.1 release soon?
Closing.
If may I ask as well change tagging convention from current liburing-<version> to just <version>?
This could make easier generate list of patches since last verion.


chore: backports for leanprover/lean4#4814 (part 13)

see https://github.com/leanprover-community/mathlib4/pull/15245

bors r+


CR-LF in the codebase

Is there a good reason for using CRLF for the source? I ask since CRLF can cause issues with git.

+1 to LF, I prefer LF.

I was sure .gitattributes keep us safe. Any example of how it could go wrong?

For OpenWrt, we have separate patch files that get applied to the main package.
Using git diff > .patch works with git config core.autocrlf true
When it comes time to commit to the repository though, core.autocrlf must be enabled as well. Otherwise git will change the line endings to LF. No amount of configure changes and git commit --amend will help after that.

that option does not help ?
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/.gitattributes
btw, what are those patches ? can you provide a link ?

@neheb , do you mean https://github.com/neheb/packages/tree/master/net/softethervpn5 ?

No. https://github.com/neheb/packages/tree/soft5/net/softethervpn5/patches
Last two

so, I have several questions

the last two looks like they might be included in upstream, @davidebeatrici  ?
if you are talking about CR-LF, you mean only limited number of files ? do you mind to open a PR ?
we definetly will appreciate some help to setup openwrt build in our travis-ci matrix (or maybe openwrt uses some other kind of CI)

Well, I'm only asking why CRLF is used in the codebase at all. My guess is for Windows development. I would guess that with Windows 10, Visual Studio supports LF just fine, given that Notepad does.
Travis used to be used. But it had hard to debug build failures (was using an old Ubuntu LTS). OpenWrt uses CircleCI. The configuration file is in the root directory.
Since I got this to build, I noticed it does not compile with OpenSSL lacking deprecated APIs. I might whip up a patch to fix.

A year ago or so this issue was also noted by me and while the .gitattributes was changed, the conclusion was that "someone" would have to recommit the whole project with LF endings, which never happened.
So yes while you create diffs/patches, the result has mixed endings. This works fine unless some form of auto conversion happens either via texteditor or on commit. So you need to take extra care not to modify the patches.

I figured out that vi does not mess with the line endings. Everything else does.

if you feel better about line ending conversion, please provide such patch

Meh this is a minor point. It's only really relevant to the OpenWrt workflow where GNU patch and git differ. Closing.


[Question/Help] Color only the current value of the slider

Hi @jonhull , this is a cool library. Thanks for this! I have one question though, I hope you get this and you have some time to respond to this:
Is it possible to just color the current value of the slider? Like in the image below. With your library, I can only color the min up to the max which is already a cool thing.

Thanks!

Hi,
It isn't possible using the built in functionality (though I will consider adding it in the future).  It should be fairly easy to add yourself (if you don't want to wait for me) by adding a layer on top of the track layer with the gray and then setting it's position as the thumb is moved (in layoutSublayersOfLayer(layer:)).

I need too.
Thanks.

Hi, any updates?
Thanks


You can't use Multiple clients at once

Issue description
I have private bots for my private server, I'm using<EMAIL_ADDRESS>I'm willing to upgrade to<EMAIL_ADDRESS>One of the key things I love to have is having multiple clients at multiple voice channels to let people enjoy music.
But I found a Bug in The joinVoiceChannel method from @discordjs/voice.
Explain:
When you use joinVoiceChannel Always the first client that login is the one who join the channel, you can't make the rest of the clients join.
Code sample
import { Client } from 'discord.js';
import { joinVoiceChannel } from '@discordjs/voice';

const tokens = [
    "TOKEN1",
    "TOKEN2"
];

for (const token of tokens) {
    const client = new Client({ intents: ['GUILD_VOICE_STATES', 'GUILD_MESSAGES', 'GUILDS'] });

    client.on('ready', () => console.log(`${client.user.username} is ready!`));

    client.on('messageCreate', async (message) => {

        if (message.content === '1') {
            const channel = message.member.voice.channel;
            joinVoiceChannel({
                channelId: channel.id,
                guildId: channel.guild.id,
                adapterCreator: channel.guild.voiceAdapterCreator,
            });
        }

    });

    client.login(token);
}

@discordjs/voice version
0.7.2
Node.js version
node: v16.6.1, typescript: 4.2.4
Operating system
Tried it on Linux Debian, Linux Ubuntu, WSL Debian, Windows 11
Priority this issue should have
Medium (should be fixed soon)

I have the same problem, I think the problem is from the package

This issue is already addressed back in days, you can assign group field in your joinVoiceChannel config. That will resolve the issue.

This issue is already addressed back in days, you can assign a custom value to group field in your joinVoiceChannel config. That will resolve the issue.

Thank you!, Could you give me an example please because I tried this, but it didn't work!

This issue is already addressed back in days, you can assign a custom value to group field in your joinVoiceChannel config. That will resolve the issue.

Thank you!, Could you give me an example please because I tried this, but it didn't work!

    const _voiceConnection = joinVoiceChannel({
      adapterCreator: <adapter>,
      channelId: channel.id,
      group: "<your custom group id>",
      guildId: channel.guild.id,
    });
    ```

using discord.js 13 and voice 0.7.5, group thing did not change anything. I don't understand why one voice connection should have any effect on others for other client instances; seems like the module is storing state in itself or globally and violating common sense. Instances should have nothing to do with each-other.

The question is more like, why are you running multiple bots within the same process, violating the single-purpose software principle many places follow?
Run your bots in separate threads or processes, and this problem will be solved.


Add index regen if config server has force-pull

jGit may fail with 'JGitInternalException: Short read of block.'
Due to a truncated git index, which may happen due to external
reasons.
The index can be regenerated easily by deleting it and resetting
git working directory. For a pull force, resetting to HEAD is
more convenient since the info that may have been lost in the
index is the diff in a dirty copy that we are discarding in
any way.
This commits adds automates those steps when git-status fails
and force-pull flag is set for a given git config server.
Please see:

https://github.com/spinnaker/spinnaker/issues/5153
https://bugs.eclipse.org/bugs/show_bug.cgi?id=531807
https://www.devguerrilla.com/notes/2015/07/fuse-for-the-idle-fellow-short-read-of-block-errors-when-starting-a-container/

@nhtzr Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@nhtzr Thank you for signing the Contributor License Agreement!

Also this should be submitted against the 2.2.x branch

@ryanjbaxter I've retargeted and added some tests.
Please let me know if there's anything I missed that I should add.

Any updates on this? We also encountered this issue. :(


How do I use -- set gateways. istio - ingress gateway. nodeSelector

Bug description
How do I use
-- set gateways.istio-ingressgateway.nodeSelector

Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ X] Docs
[ X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Specify ingressgateway scheduling on nodes labeled ingressgateway = true
Steps to reproduce the bug
Error: render error in "istio/charts/gateways/templates/deployment.yaml": template: istio/charts/gateways/templates/deployment.yaml:306:10: executing "istio/charts/gateways/templates/deployment.yaml" at <include "gatewaynodeaffinity" (dict "root" $ "nodeSelector" $spec.nodeSelector)>: error calling include: template: istio/charts/gateways/templates/_affinity.tpl:6:8: executing "gatewaynodeaffinity" at <include "gatewayNodeAffinityRequiredDuringScheduling" .>: error calling include: template: istio/charts/gateways/templates/_affinity.tpl:23:32: executing "gatewayNodeAffinityRequiredDuringScheduling" at <$nodeSelector>: range can't iterate over test:

Version (include the output of istioctl version --remote and kubectl version)
kubernetes:"v1.13.5"
istio:v1.2.2
How was Istio installed?
helm template
Environment where bug was observed (cloud vendor, OS, etc)
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

Looks like it worked. Thank you @howardjohn

Great to hear!


Log object for eth_newfilter

eth_newfilter is defined as (not possible to copy text #66)

But there is no any link about this 'log', I guess it is object returned in notification.

correct eth_newFilter only returns the filter identifier, then calling eth_getFilterChanges gives you the return log objects:

Looks like this question is answered.


SCT-1268 Add logging system

Still to do: add logging to idmapper core system

Pull Request Test Coverage Report for Build 229

72 of 73 (98.63%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.2%) to 95.331%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/jgikbase/idmapping/builder.py
1
2
50.0%

Files with Coverage Reduction
New Missed Lines
%

src/jgikbase/idmapping/builder.py
2
62.12%

Totals

Change from base Build 228:
0.2%

Covered Lines:
1123

Relevant Lines:
1178

💛  - Coveralls


home-assistant: 2021.8.3 -> 2021.8.4

Motivation for this change
https://github.com/home-assistant/core/releases/tag/2021.8.4
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

@ofborg test home-assistant


Scam Account Submission

Duplicate Submissions

[X] Yes, I checked that the account name is not currently in the list
[X] I read the wiki explaining each different categories and examples before submitting

(Required) Spam Comment Direct Link
https://www.youtube.com/watch?v=oTyM9LQBfR8&lc=Ugy5WEYKw5JDn4M-7wV4AaABAg.9rJs0CMCD1-9rKGcmEixJc
https://www.youtube.com/watch?v=oTyM9LQBfR8&lc=UgyE0531OXwAaHZjom54AaABAg.9rJrwzqx3LW9rKGhf4AeBe
https://www.youtube.com/watch?v=oTyM9LQBfR8&lc=UgznbjMGKHGFcqKUYNN4AaABAg.9rJzON_7fOZ9rKH0OJsFH1
(Optional) Screenshot of comments referencing the scam account

(Required) List of the scam account names
@clashofclan9469 OR David [DOND wii?! More like Chipmunk PooPoo WII!]

Unfortunately this is not something that would come under a scam (no matter how... subjectively wrong they are) and so not suitable to be added to the list imo.


Reenable stop away mode

This is disabled in the current code, with a comment saying the API does not work this way
However, this seems to work for me. Maybe it was fixed after changing the way the id's are found

Fixes lukas-clarke/eight_sleep#46

Looks like they changed the API back. Thanks @akaplan07 for adding these fixes


fix typo "contens" -> "contents"

Coverage remained the same at 77.941% when pulling 41dba81b329645573b2357f2eca27dd192a4384b on StoneCypher:patch-1 into 6c779c3ea62a4b9f6ac2b383f7c4db455b7bca19 on pat310:master.


refactoring & update dependencies

Updated Gradle version
migrate dependency versions to version catalog
refactoring GitHub Actions
refactoring Gradle configuration
Update dependency versions
refactoring code

Interesting to see this version catalog thing


Write Tests for API Example of form.0.dart

Write Tests for API Example of form.0.dart.
Part of #130459
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

removed my version of text_button_0_test.dart as it is already added in #142644

LGTM, you should probably rebase to fix the failing tests, they seem unrelated. Thanks for the contribution!

sure, done. seems flaky, same checks are failing in my other pr.

LGTM! Thank you for putting this together.

LGTM, you should probably rebase to fix the failing tests, they seem unrelated. Thanks for the contribution!

thanks a lot for the review!
i'll raise a single pr with a bunch of tests in future for this particular issue, was running short on time yesterday hence smol PR


[Bug]: .'Paddle' is not exported from '@paddle/paddle-js' (imported as 'Paddle').

What happened?
was working with paddle js client in nextjs javascript app router version
when ever I go to the payment page it is showing error on the backend. Thought things are working properly on the fronten. I want to make sure Everything is working as expected in prouduction without an issue.
Steps to reproduce
'use client';

import { useAuth } from '@/Context/auth';
import PricingGrid from '@/components/Pricing/PricingGrid';
import PricingToggle from '@/components/Pricing/PricingToggle';
import { initializePaddle } from '@paddle/paddle-js';
import { useEffect, useState } from 'react';

const PaymentPageClient = () => {
    let promise;
    const [yearly, setYearly] = useState(true);
    const [loading, setLoading] = useState({});
    const { session: supabaseSession } = useAuth();
    // const router = useRouter();
    // router.prefetch('/thank-you');

    const customerEmail = supabaseSession?.user?.email;
    const userId = supabaseSession?.user?.id;
    let [paddle, setPaddle] = useState(null);

    console.log("PaymentPageClient paddle: ", paddle);

    // Download and initialize Paddle instance from CDN
    useEffect(() => {

        const clientSideToken = process.env.NEXT_PUBLIC_CLIENT_SIDE_TOKEN;

        initializePaddle({
            environment: 'sandbox',
            token: clientSideToken,
            vendor: Number(process.env.NEXT_PUBLIC_PADDLE_VENDOR_ID),
            checkout: {
                settings: {
                    displayMode: "overlay",
                    theme: "light",
                    locale: "en",
                    allowLogout: false,
                    showAddDiscounts: false,
                },
            },
            eventCallback: function (data) {
                console.log("data: ", data);
                if (data?.name === "checkout.closed") {
                    setLoading({});
                }
            }
        }).then(
            (paddleInstance) => {
                if (paddleInstance) {
                    setPaddle(paddleInstance);
                }
            },
        );
    }, []);

    return (
        <div className=''>
            <PricingToggle yearly={yearly} setYearly={setYearly} />
            <PricingGrid yearly={yearly} paddle={paddle} customerEmail={customerEmail}
                userId={userId} loading={loading} setLoading={setLoading} />
        </div>
    )
}

export default PaymentPageClient;

above is client page in nextjs
I am importing it in server page & rendering it on the frontend.
So similiar thing can be implemente for reproducing
What did you expect to happen?
The error shouldn't be there. I am not sure why we are importing Paddle if we are not using it
How are you integrating?
Nextjs app router  "next": "^13.4.12",
Logs
./app/(route)/payment/page-client.jsx
Attempted import error: 'Paddle' is not exported from '@paddle/paddle-js' (imported as 'Paddle').

Import trace for requested module:
./app/(route)/payment/page-client.jsx

Thank you for taking the time to raise this issue.
I've tried creating a new next app and used your code but I couldn't recreate the error on the server or client side.

I am importing it in server page & rendering it on the frontend.
I am not sure what you mean by this, can you please share a repository where we can reproduce this error?

Thank you.

Closed as no response and unable to replicate. Reach out if we can still help.

Try
Keeping paddle outside of curly braces. They may be exporting it as default

There is no default exports


Cookbook V1

Build out some simple cookbook 'recipes' to potentially get folks at VTS designing and executing their own simulations rapidly.

Addressed by #11


use the new hosts search endpoint

From the Datadog API reference:
The prefix host: is also supported for the query to seach over host names, but it is deprecated, use the host search endpoint instead.
This PR updates the library to use the host search endpoint for hosts search.

I have re-added the old function.

Ping @bkabrda

Ping @bkabrda

@jirikuncar any luck?


Upgrade to CometD 3.0

Any plans to
update the current Objective-C client library to CometD 3.0
add remote procedure call to send messages

No, this is only for Faye (http://faye.jcoglan.com) which also based on Bayeux


Web App Client deploy fails from Github Actions

Client, Server, DB all deploys correctly from local machine. But client deployment fails when running from Github actions.
Nothing fancy on the deployment script, same command used to deploy from local machine.
steps:
  - name: Checkout the repo
    uses: actions/checkout@v4

  - name: Setup Node.js
    id: setup-node
    uses: actions/setup-node@v4
    with:
      node-version: '20'

  - name: Docker setup
    uses: docker/setup-buildx-action@v3

  - name: Install Wasp
    run: curl -sSL https://get.wasp-lang.dev/installer.sh | sh -s -- -v ${{ env.WASP_VERSION }}

  - name: Setup flyctl
    uses: superfly/flyctl-actions/setup-flyctl@master

  - name: Cache global node modules
    uses: actions/cache@v4
    with:
      path: ~/.npm
      key: node-modules-${{ runner.os }}-${{ hashFiles('app/package-lock.json') }}-${{ hashFiles('e2e-tests/package-lock.json') }}-wasp${{ env.WASP_VERSION }}-node${{ steps.setup-node.outputs.node-version }}
      restore-keys: |
        node-modules-${{ runner.os }}-

  - name: Deploy
    working-directory: .
    run: |
      cd app
      wasp deploy fly deploy
    env:
      FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}

`
Any idea why the server deployment succeeds but the client fails?
Excerpt from the github actions log below
🚀  Server has been deployed!
🚀  Deploying your client now...
🚀  Building web client for production...
$ cd /home/runner/work/framework/framework/app/.wasp/build/web-app
$ npm install
added 1 package, and audited 111 packages in 569ms
14 packages are looking for funding
run npm fund for details
found 0 vulnerabilities
$ REACT_APP_API_URL=https://optimizer-buddy-app-server.fly.dev/ npm run build
<EMAIL_ADDRESS>build
npm run validate-env && tsc && vite build
<EMAIL_ADDRESS>validate-env
node -r dotenv/config ./scripts/validate-env.mjs
🔍 Validating environment variables...
vite v5.4.8 building for production...
transforming...
./images/icon/icon-calendar.svg referenced in ./images/icon/icon-calendar.svg didn't resolve at build time, it will remain unchanged to be resolved at runtime
./images/icon/icon-arrow-down.svg referenced in ./images/icon/icon-arrow-down.svg didn't resolve at build time, it will remain unchanged to be resolved at runtime
✓ 392 modules transformed.
rendering chunks...
computing gzip size...
build/index.html                                  2.02 kB │ gzip:   0.80 kB
build/assets/avatar-placeholder-BDh590iI.png      9.43 kB
build/assets/logo-MxRiw5HA.png                   10.97 kB
build/assets/banner-C6HNWtzi.png              1,173.15 kB
build/assets/index-BXqiiJ0D.css                 100.01 kB │ gzip:  17.00 kB
build/assets/index-dw-nNt9B.js                1,178.28 kB │ gzip: 331.55 kB
(!) Some chunks are larger than 500 kB after minification. Consider:

Using dynamic import() to code-split the application
Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 8.04s
$ flyctl deploy --remote-only
==> Verifying app config
--> Verified app config
Validating /home/runner/work/framework/framework/app/.wasp/build/web-app/fly.toml
✓ Configuration is valid
Error: Could not find App "optimizer-buddy-app-client"
file:///home/runner/.local/share/wasp-lang/0.14.0/data/packages/deploy/node_modules/zx/build/core.js:146
let output = new ProcessOutput(code, signal, stdout, stderr, combined, message);
^

Error: Output [Error]: ==> Verifying app config
--> Verified app config
Error: Could not find App "optimizer-buddy-app-client"
at deployClient (file:///home/runner/.local/share/wasp-lang/0.14.0/data/packages/deploy/dist/providers/fly/deploy/deploy.js:92:13)
exit code: 1
at ChildProcess. (file:///home/runner/.local/share/wasp-lang/0.14.0/data/packages/deploy/node_modules/zx/build/core.js:146:26)
at ChildProcess.emit (node:events:519:28)
at maybeClose (node:internal/child_process:1105:16)
at ChildProcess._handle.onexit (node:internal/child_process:305:5)
at Process.callbackTrampoline (node:internal/async_hooks:130:17) {
_code: 1,
_signal: null,
_stdout: 'Validating /home/runner/work/framework/framework/app/.wasp/build/web-app/fly.toml\n' +
'\x1B[32m✓\x1B[0m Configuration is valid\n',
_stderr: '==> Verifying app config\n' +
'--> Verified app config\n' +
'Error: Could not find App "optimizer-buddy-app-client"\n',
_combined: '==> Verifying app config\n' +
'--> Verified app config\n' +
'Validating /home/runner/work/framework/framework/app/.wasp/build/web-app/fly.toml\n' +
'\x1B[32m✓\x1B[0m Configuration is valid\n' +
'Error: Could not find App "optimizer-buddy-app-client"\n'
}
Node.js v20.17.0
Error: Error] Deploy command failed: ---------------------------------------------
Deploy command failed with exit code: 1
Error: Process completed with exit code 1.

@optimizerbuddy thanks on detailed error logs!
Error seems to be:

Error: Could not find App "optimizer-buddy-app-client"

Meaning, if I am correct, that Fly couldn't find the app with that name up there on Fly.
Can you check what is the name you app uses on Fly? If it is this same name, than that would be very weird, but if it is somewhat different name, then we can look into why the names are different.
I am guessing it might be connected to this issue https://github.com/wasp-lang/wasp/issues/1588, and the difference between your local usage and cloud (GH Actions) might be due to different flycli versions (can you check their versions also?).

closing this for now. @optimizerbuddy let us know if you need more help and we can reopen.


Replace the binary Wsk with REST interface WskRest

All the non-CLI related tests should sunset the wsk, and re-implement them with wskrest.
import common.wsk
val wsk = new Wsk

need to be changed to
import common.rest.WskRest
val wsk = new WskRest

plus there may be changes to the rest of the tests as well, since the response result may have been changed.

There is one test case:
JiraTests

Closing issue as project is being archived.


feat(remix-node): add getFilePath& remove methods to NodeOnDiskFile

Closes: #3021

[ ] Docs
[x] Tests

Testing Strategy:

One unit test for each new function, added in the remix-node package.
This is basically the same PR as #3034, but it got closed by its author before being merged. I believe this is a useful feature and would very much like to see it added.

Nice copy pasta :D

Indeed. I'm not trying to hide that fact, it's actually mentioned in the description above.
The main difference with your PR is that this one is still open. I need that feature in my project and would like to see it merged. I was disappointed when you closed yours, and as I cannot reopen a PR, I recreated it.

Is there something more that should be done for this to be able to make it in one of the next releases?
I guess with the whole react-router/remix stuff happening it was quite tricky, but now that 1.10 wraps it up and has landed, maybe there could be a little slot for this one :)


version 0.0.4 to pypi?

Plz. if possible, release the latest version to pypi! We'r trying to use an external plugin for disk usage alarms. With 0.0.3 we have an exception. With The latest master version everything looks fine.

Done!


Add documentation for router listener

Add documentation for router listener.
See:

https://github.com/nanojsx/nano/blob/router-dev-1/src/dev/dev.tsx
https://github.com/nanojsx/nano/blob/router-listener-example/src/dev/dev.tsx

It would be awesome if the documentation is ready soon. I tried setting it up but I don't know how to work with the uncompiled source code and couldn't get it running.

I wrote a real world example for you here.
The docs will follow soon.
Basically;

<Switch /> will only trigger a re-render if the <Route /> component changes.
If <Route /> has a dynamic path like <Route exact path="/blog/:id"> and the user navigates from /blog/584 to /blog/219, <Switch /> will NOT trigger a re-render and the user will never see /blog/219.
Solution: You can use the Router Listener inside <Blog /> to listen for route changes. This will allow you to fetch the new blog post (based on the new id in "/blog/:id") and update the component.

Btw, thanks a lot for your huge donation :heart_eyes:

No problem man. Awesome this is exactly what I'm looking for since days. I'll test it later today.

There is now a video available about the Router Listener:
https://youtu.be/eUBuFORqPdo


sudden build error: !!! CustomerError: Can't find required-server-files.json in build output directory

Before opening, please confirm:

[X] I have searched for duplicate or closed issues and discussions.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

JavaScript Framework
Next.js
Amplify APIs
REST API, GraphQL API
Amplify Version
v5
Amplify Categories
function, api
Backend
Amplify CLI
Environment information

  System:
    OS: macOS 14.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 461.95 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 21.2.0 - ~/.nvm/versions/node/v21.2.0/bin/node
    npm: 10.2.3 - ~/.nvm/versions/node/v21.2.0/bin/npm
  Browsers:
    Chrome: 123.0.6312.107
    Safari: 17.1
    Safari Technology Preview: 17.4
  npmPackages:
    @ampproject/toolbox-optimizer:  undefined ()
    @apollo/client: ^3.8.9 => 3.8.9
    @apollo/client/cache:  undefined ()
    @apollo/client/core:  undefined ()
    @apollo/client/dev:  undefined ()
    @apollo/client/errors:  undefined ()
    @apollo/client/link/batch:  undefined ()
    @apollo/client/link/batch-http:  undefined ()
    @apollo/client/link/context:  undefined ()
    @apollo/client/link/core:  undefined ()
    @apollo/client/link/error:  undefined ()
    @apollo/client/link/http:  undefined ()
    @apollo/client/link/persisted-queries:  undefined ()
    @apollo/client/link/remove-typename:  undefined ()
    @apollo/client/link/retry:  undefined ()
    @apollo/client/link/schema:  undefined ()
    @apollo/client/link/subscriptions:  undefined ()
    @apollo/client/link/utils:  undefined ()
    @apollo/client/link/ws:  undefined ()
    @apollo/client/react:  undefined ()
    @apollo/client/react/components:  undefined ()
    @apollo/client/react/context:  undefined ()
    @apollo/client/react/hoc:  undefined ()
    @apollo/client/react/hooks:  undefined ()
    @apollo/client/react/parser:  undefined ()
    @apollo/client/react/ssr:  undefined ()
    @apollo/client/testing:  undefined ()
    @apollo/client/testing/core:  undefined ()
    @apollo/client/utilities:  undefined ()
    @apollo/client/utilities/globals:  undefined ()
    @arcgis/core: ^4.28.10 => 4.28.10
    @babel/core:  undefined ()
    @babel/runtime:  7.22.5
    @dnd-kit/sortable: ^8.0.0 => 8.0.0
    @edge-runtime/cookies:  4.0.2
    @edge-runtime/ponyfill:  2.4.1
    @edge-runtime/primitives:  4.0.2
    @hapi/accept:  undefined ()
    @mswjs/interceptors:  undefined ()
    @napi-rs/triples:  undefined ()
    @next/font:  undefined ()
    @next/react-dev-overlay:  undefined ()
    @opentelemetry/api:  undefined ()
    @perennia/utilities-and-defaults: ^1.0.20 => 1.0.20
    @react-three/drei: ^9.93.0 => 9.93.0
    @react-three/fiber: ^8.15.13 => 8.15.13
    @react-three/postprocessing: ^2.15.11 => 2.15.11
    @segment/ajv-human-errors:  undefined ()
    @tanstack/react-table: ^8.11.7 => 8.11.7
    @types/aws-sdk: ^2.7.0 => 2.7.0
    @types/chart.js: ^2.9.41 => 2.9.41
    @types/chartjs-plugin-annotation: ^0.5.5 => 0.5.5
    @types/leaflet: ^1.9.8 => 1.9.8
    @types/luxon: ^3.4.0 => 3.4.0
    @types/node: ^20 => 20.10.8
    @types/react: ^18 => 18.2.47
    @types/react-dom: ^18 => 18.2.18
    @types/react-gauge-chart: ^0.4.3 => 0.4.3
    @types/three: ^0.160.0 => 0.160.0
    @types/uuid: ^9.0.7 => 9.0.7
    @vercel/nft:  undefined ()
    @vercel/og:  0.5.15
    acorn:  undefined ()
    amphtml-validator:  undefined ()
    anser:  undefined ()
    arg:  undefined ()
    assert:  undefined ()
    async-retry:  undefined ()
    async-sema:  undefined ()
    aws-amplify: ^5.0.22 => 5.0.22
    aws-appsync-auth-link: ^3.0.7 => 3.0.7
    aws-appsync-subscription-link: ^3.1.2 => 3.1.2
    aws-sdk: ^2.1532.0 => 2.1532.0
    axios: ^1.6.7 => 1.6.7 (0.26.0)
    babel-packages:  undefined ()
    browserify-zlib:  undefined ()
    browserslist:  undefined ()
    buffer:  undefined ()
    bytes:  undefined ()
    chart.js: ^4.4.1 => 4.4.1
    chart.js-auto:  undefined ()
    chart.js-helpers:  undefined ()
    chartjs-plugin-annotation: ^3.0.1 => 3.0.1
    chartjs-plugin-zoom: ^2.0.1 => 2.0.1
    ci-info:  undefined ()
    cli-select:  undefined ()
    client-only:  0.0.1
    comment-json:  undefined ()
    compression:  undefined ()
    conf:  undefined ()
    constants-browserify:  undefined ()
    content-disposition:  undefined ()
    content-type:  undefined ()
    cookie:  undefined ()
    cross-spawn:  undefined ()
    crypto-browserify:  undefined ()
    css.escape:  undefined ()
    data-uri-to-buffer:  undefined ()
    debug:  undefined ()
    devalue:  undefined ()
    domain-browser:  undefined ()
    edge-runtime:  undefined ()
    env-cmd: ^10.1.0 => 10.1.0
    eslint: ^8 => 8.56.0
    eslint-config-next: 14.0.4 => 14.0.4
    events:  undefined ()
    faker: ^6.6.6 => 6.6.6
    find-cache-dir:  undefined ()
    find-up:  undefined ()
    framer-motion: ^10.18.0 => 10.18.0
    fresh:  undefined ()
    get-orientation:  undefined ()
    glob:  undefined ()
    graphql: ^16.8.1 => 16.8.1 (15.8.0)
    gzip-size:  undefined ()
    http-proxy:  undefined ()
    http-proxy-agent:  undefined ()
    https-browserify:  undefined ()
    https-proxy-agent:  undefined ()
    icss-utils:  undefined ()
    ignore-loader:  undefined ()
    image-size:  undefined ()
    is-animated:  undefined ()
    is-docker:  undefined ()
    is-wsl:  undefined ()
    jest-worker:  undefined ()
    json5:  undefined ()
    jsonwebtoken:  undefined ()
    jspdf: ^2.5.1 => 2.5.1
    leaflet: ^1.9.4 => 1.9.4
    loader-runner:  undefined ()
    loader-utils:  undefined ()
    lodash: ^4.17.21 => 4.17.21
    lodash.curry:  undefined ()
    lru-cache:  undefined ()
    luxon: ^3.4.4 => 3.4.4
    micromatch:  undefined ()
    mini-css-extract-plugin:  undefined ()
    moment-timezone: ^0.5.44 => 0.5.44
    nanoid:  undefined ()
    native-url:  undefined ()
    neo-async:  undefined ()
    next: 14.0.4 => 14.0.4
    node-fetch:  undefined ()
    node-html-parser:  undefined ()
    ora:  undefined ()
    os-browserify:  undefined ()
    p-limit:  undefined ()
    path-browserify:  undefined ()
    platform:  undefined ()
    postcss-flexbugs-fixes:  undefined ()
    postcss-modules-extract-imports:  undefined ()
    postcss-modules-local-by-default:  undefined ()
    postcss-modules-scope:  undefined ()
    postcss-modules-values:  undefined ()
    postcss-preset-env:  undefined ()
    postcss-safe-parser:  undefined ()
    postcss-scss:  undefined ()
    postcss-value-parser:  undefined ()
    postprocessing: ^6.34.1 => 6.34.1
    process:  undefined ()
    punycode:  undefined ()
    querystring-es3:  undefined ()
    raw-body:  undefined ()
    react: ^18 => 18.2.0
    react-builtin:  undefined ()
    react-chartjs-2: ^5.2.0 => 5.2.0
    react-dom: ^18 => 18.2.0
    react-dom-builtin:  undefined ()
    react-dom-experimental-builtin:  undefined ()
    react-experimental-builtin:  undefined ()
    react-ga: ^3.3.1 => 3.3.1
    react-gauge-component: ^1.2.0 => 1.2.0
    react-icons: ^5.0.0 => 5.0.0
    react-is:  18.2.0
    react-leaflet: ^4.2.1 => 4.2.1
    react-refresh:  0.12.0
    react-select: ^5.8.0 => 5.8.0
    react-server-dom-turbopack-builtin:  undefined ()
    react-server-dom-turbopack-experimental-builtin:  undefined ()
    react-server-dom-webpack-builtin:  undefined ()
    react-server-dom-webpack-experimental-builtin:  undefined ()
    react-toastify: ^9.1.3 => 9.1.3
    regenerator-runtime:  0.13.4
    sass: ^1.69.7 => 1.69.7
    sass-loader:  undefined ()
    scheduler-builtin:  undefined ()
    scheduler-experimental-builtin:  undefined ()
    schema-utils:  undefined ()
    scroller-motion: ^1.2.3 => 1.2.3
    semver:  undefined ()
    send:  undefined ()
    server-only:  0.0.1
    setimmediate:  undefined ()
    sharp: ^0.33.1 => 0.33.1
    shell-quote:  undefined ()
    source-map:  undefined ()
    stacktrace-parser:  undefined ()
    stream-browserify:  undefined ()
    stream-http:  undefined ()
    string-hash:  undefined ()
    string_decoder:  undefined ()
    strip-ansi:  undefined ()
    superstruct:  undefined ()
    tar:  undefined ()
    terser:  undefined ()
    text-table:  undefined ()
    three: ^0.160.0 => 0.160.0
    timers-browserify:  undefined ()
    tty-browserify:  undefined ()
    typescript: ^5.0.2 => 5.0.2
    ua-parser-js:  undefined ()
    unistore:  undefined ()
    util:  undefined ()
    uuid: ^9.0.1 => 9.0.1 (3.4.0, 8.3.2, 8.0.0)
    vm-browserify:  undefined ()
    watchpack:  undefined ()
    web-vitals:  undefined ()
    webpack:  undefined ()
    webpack-sources:  undefined ()
    ws:  undefined ()
    xlsx: ^0.18.5 => 0.18.5
    yup: ^1.3.3 => 1.3.3
    zod:  undefined ()
  npmGlobalPackages:
    @microsoft/rush: 5.112.2
    corepack: 0.23.0
    npm: 10.2.3

Describe the bug
All of a sudden i am getting a failed build on the frontend with the error

!!! CustomerError: Can't find required-server-files.json in build output directory

Expected behavior
build and deploy
Reproduction steps

deploy

Code Snippet
// Put your code below this line.

Log output

// Put your logs below this line

aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response
Additional information and screenshots
build script:
version: 1
applications:

frontend:
phases:
preBuild:
commands:
- export NODE_OPTIONS=--max_old_space_size=4096
- npm ci
build:
commands:
- npm run build
artifacts:
baseDirectory: .next
files:
- '**/*'
  This is the same build script used in ~20 different apps without issue.

Hello -- are you able to open a support case if you are still experiencing this issue?


Adding Teachable Machine Node Js project

Hey there, thank you for the pull request! Can you leave a brief note about the change you've made before we merge it?

Sure.
I just added the project:  https://github.com/rafyzg/teachable-machine
to the Libs section.


Research Adaper vs Repo options

We ended up choosing an approach where Dayron replaces the entire Ecto.Repo. A few points about that choice:

simplest solution, because we don't need queries support
we just need to allow sending params directly to the api request, such Repo.get(User, %{query_params})
the repo itself does not need everything a DB Repo provides, like transactions, connections, etc
we can use a custom Rest Model to work together with Ecto.Schema to define the struct, allow override callbacks to custom validate the api response before assigning to the stuct
our adapters are http clients, and we're going to start with HTTPoison
there is the possibility to make it ecto indepent
take some ideas from ruby her gem


apa102: add support for APA102 SPI controlled LEDs

This PR adds support for APA102 SPI controlled LEDs, such as the Adafruit dotStar and other similar devices. Here is a sample program that creates a holiday lights display using a strip of 60 LEDS:
// Connects to an APA102 SPI RGB LEDs.
package main

import (
	"image/color"
	"machine"
	"time"

	"github.com/aykevl/tinygo-drivers/apa102"
)

func main() {
	machine.SPI0.Configure(machine.SPIConfig{
		Frequency: 500000,
		Mode:      0})

	a := apa102.New(machine.SPI0, 60)
	leds := make([]color.RGBA, 60)
	rg := false

	for {
		rg = !rg
		for i := range leds {
			rg = !rg
			if rg {
				leds[i] = color.RGBA{R: 0xff, G: 0x00, B: 0x00, A: 0x77}
			} else {
				leds[i] = color.RGBA{R: 0x00, G: 0xff, B: 0x00, A: 0x77}
			}
		}

		a.WriteColors(leds)
		time.Sleep(100 * time.Millisecond)
	}
}

Unfortunately, the interface of this LED strip is not the same as the one of the ws2812 driver. I'm now trying to unify them: using color.RGBA is a good idea.

Please see updates to accommodate suggested changes.

Thank you! Merged in 773b01e911bc8883459b4ec0afb113a5a3748910.

I'm afraid I missed one thing: WriteColors returns (int, error) in this PR while the ws2812 WriteColors only returns error. This makes it impossible to use the same interface.
I think returning the number of written bytes doesn't make a lot of sense, it either succeeds or it fails. Also, in many cases there is not much you can do when it fails anyway: how would you recover from a partially-written LED strip? The only sane thing would be to just send it again, possibly resetting it first if needed.
What do you think about changing the method signature slightly?

That is probably also true with the Write() method but we still comply with the interface. I do not have a strong opinion either way on this one. Do you want another PR that changes that signature?


CSS import problem, classes renamed

I have a very annoying problem, I try to integrate Reactstrap and as the documentation says, the css of the bootstrap package must be imported from node_modules. When doing this, the application does not render any css tag so I imagine that webpack is configured to ignore the css files in the node_modules folder. For this reason, I create an assets folder and import the code in the following way from the "client.js" file.
import" ./assets/styles/bootstrap.css ";
In doing so, a css file is compiled and added to the head of the page but the styles do not work, all classes are renamed as follows
.src-assets-styles-bootstrap__btn
In this case the original class is ".btn"

Well I will need to check why the node_modules are not working, but for a short fix:
Please place the CSS that is not supposed to be named in the folder:
src/resources/assets/styles/boostrap.css
Any CSS from resources folder is not custom named and stays as it is.
and include it in src/client.js as below:
import "./resources/assets/styles/bootstrap.css";
// ..other code

Re-opening as still need to check the node_modules 's Issue!

@Stunext Yes that was it’s sole purpose! I should better get it documented :) apologies.


Investigate inconsistent casting inside functional_tensor.py

The operators in functional_tensor.py perform casting in two ways:

Using the tensor.to(dtype=dtype) PyTorch method
Using the convert_image_dtype() Transformation method

The first method does direct casting from one type to the other. The latter method has more complex logic that handles corner-cases and performs rescaling. Sometimes both are used on the same operator, for example:
https://github.com/pytorch/vision/blob/9e71fdafd871e3de9e72a6022291b49100945e29/torchvision/transforms/functional_tensor.py#L397-L406
We should investigate if the use of the two different approaches across operators is justified and fix any potential inconsistencies.
cc @vfdev-5

@vfdev-5 Thanks for the reply.
I agree with you that some cases can be handled only by one or the other. As you said, the main focus of this ticket is to investigate the current uses and simplify the code where necessary. :)

@datumbox I'd like to contribute to this.
I tried to run the code and check. I first removed the line no. 405 :
result = result.to(dtype)
and later removed line no. 404 and keeping the line 405:
result = convert_image_dtype(result, dtype)
Both the times, the images gets successfully converted to the tensor type. I tried with double tensor, float tensor, uint8 image and float32 image.
Also, I tried by removing both the lines and check. Since the image provided is already in a tensor type, so maybe we don't need to convert it at all.
Besides, I also check by converting the img to a uint8 tensor and pass to the function, it also gets successfully converted by the line no. 400.
result = convert_image_dtype(result, torch.float32)
I'd like to know if further cases need to be tried to validate more on this.
Thanks.

@sanketsans I believe only 405 needs to be removed. Line 404 is necessary to convert the image back to its original type (in case someone passed a uint8). @vfdev-5 Could you confirm?
It might be worth sending a PR with all the proposed clean ups. Any simplification of the current logic is useful I think.

@datumbox I tried by sending a uint8 image. But then it is taken care by the line 400.
 if not torch.is_floating_point(img):
     result = convert_image_dtype(result, torch.float32)

That makes it back to a tensor type.

Looking again to the code, I'd do the following:
    result = img
    dtype = img.dtype
    if not torch.is_floating_point(img):
        result = convert_image_dtype(result, torch.float32)

    result = (gain * result ** gamma).clamp(0, 1)

    if result.dtype != dtype:
        result = convert_image_dtype(result, dtype)
    return result

What do you think @datumbox ?

@vfdev-5 Yeah that works fine.
Could any of you send a PR that fixes this?


Implementing abs for SeriesView object

What do these changes do?

Related issue number
Resolves #372

[x] passes git diff upstream/master -u -- "*.py" | flake8 --diff
[x] passes black --check modin/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/225/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/286/
Test PASSed.


Update MLIR again

This updates to MLIR from last week.  Major change is the split of numerical operations from std dialect into the arith dialect and math dialect (just std.absf -> math.abs).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

91 of 93 (97.85%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 84.844%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

mlir_graphblas/ops.py
18
20
90.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
3079

Relevant Lines:
3629

💛  - Coveralls


Enhancement: let uv use pips global packages if present

This might be out of scope for this package manager, but I noticed that uv won't use the global packages with pip when installing something. For example, I installed my own package (from PyPI) in a virtual environment, both with pip and uv to see the difference. Pip noticed that the package, along with all its dependencies, were already present in the global packages (pip installed outside venv), and thus used those to only need to install them, but not download anymore. Uv did not use them, it downloaded everything from the internet.
This could be a nice improvement, but I understand if this is not something you'd want.
(btw, nice work, this is already a nice tool that's a bit faster then pip on uncached packages!)

I'm glad to hear you like it!
Interesting idea. I'm not sure how challenging it would be to support reading other site-packages.


Realism Pack integration

I've been wanting to put this in the Realism Pack, but I'd need to move the livery selector tab (that opens the menu) in the aircraft menu for conflicting/page construction reasons that I can explain further on request. I'd also need to remove all the excess liveries from the CC aircraft menu and figure out how it's going to mesh with the addon aircraft (since the F-18 and Su-27 are based on pre-existing liveries of the Su-35). Do you have any interest in this idea?

I'm also working on this problem. The only bug I have noticed is around the the su35 liveries "went" back to the list. I think there will be no problems if the addon aircraft code will be loaded after liveryselector.


Use lifetime elision in impl headers for generated impls

Fixes #22
Said feature was finally stabilized in Rust 2015 as well and should be in the next nightly. This change makes the generated impls simpler to read (in the docs). However, this PR bumps the minimal Rust version required to use this crate. However, I think this is not a huge problem since we bump the minimum Rust version with the next release anyway.
Maybe we can still sneak this in for the 0.3 release.
Additionally, I made Travis compile the examples on beta as well. This is unrelated, but I'm bad at atomic PRs :P
But regarding Travis, I noticed something: we test all our examples and tests with Rust 2018. But it might be useful to also test them all compiled as Rust 2015? In particular in this situation where a feature was stabilized in Rust 2018 for some time already but is stabilized in Rust 2015 only later. However, I don't think the idea behind editions is that we all start testing all our crates for all editions (?). I'm not sure...

Playground to reproduce the CI failure. So for beta:2018 we get this error. For nightly:2018 it works fine. For *:2015 it still complains about the missing lifetime (as the lifetime elision feature is not stabilized there yet).
Since I'm not really sure if this error is here to stay, I would just wait for the next beta release and test again then. So this is PR is blocked until we figured that out.

Maybe we can still sneak this in for the 0.3 release.

Sounds good! I'm pretty comfortable pushing the minimal rustc version right up to the latest stable for our next release.

But regarding Travis, I noticed something: we test all our examples and tests with Rust 2018. But it might be useful to also test them all compiled as Rust 2015?

I think we should be ok just testing against the 2018 edition, since a 2015 edition crate should be able to depend on a 2018 edition one without knowing what edition it came from. If we want to start out cautious to start with, and maybe catch any errors for upstream Rust then we could add a dummy 2015 crate for tests that depends on auto_impl?

It looks like lifetime elision has stabilized for 1.31, so we should be a few hours away from a new beta that supports it :)

I think we should be ok just testing against the 2018 edition, since a 2015 edition crate should be able to depend on a 2018 edition one without knowing what edition it came from.

Yeah this is true for most crates, but since we are generating code that will be compiled as (potentially) 2015 edition, we need to make sure the code we generate works on both editions. Right? For example now, the Travis-CI error has nothing to do with the missing lifetime elision feature. As far as I understand it, all our examples are compiled with edition 2018, so the lifetime elision code we generate works there (for many weeks already).

add a dummy 2015 crate for tests that depends on auto_impl?

That sounds good. Maybe I'll still add this to this PR. I think I can just create a folder in the examples folder with a Cargo.toml in it... in the back of my head I remember something about a feature like that :D

I just merged #43 and wanted to rebase this PR on those changes, not expecting anything bad to happen. But actually, both changes together lead to problems (and btw: huzzaa, our test suite saved us =D). Specifically:
trait Supi {}

#[auto_impl(&)]
trait Foo: Supi {}

... generates:
impl<T: Foo> Foo for &T where &T: Supi {}

And this is not allowed. sigh.
So we could:

Just not merge this and always have lifetime parameters in impl blocks.
Only generate lifetime parameters when the trait has a super trait.

And to be honest, right now, I tend to just not merge this PR and keep it the way it is. If we go with the second solution, we end up with more code than before (we can't delete any of the "find a lifetime name" code, but we need to add code for checking). And that only for the benefit of slightly more readable impl blocks for & and &mut proxy types. I'm not sure if that's worth it.
What do you think?

Yeh, I think this nice in-so-far-as it reduces complexity in our implementation, so if we have to work harder than before then I think it loses its value a bit.

This PR is already quite old and I don't think it's worth adding this. So I will close it for now.


Page error / TypeError: Cannot read property 'pathname' of undefined

After some manipulation with API,
i see this error every time page rendering.
Error disappear after clear page cache.

This is critical bug. Please fix.


QR Code generator in Python

@debrajrout please assign me this issue under hacktoberfest 2023

@debrajrout please assign me this issue under hacktoberfest 2023.


get_issues for all projects at once

There is a feature that works in official pyyoutrack: in case of passing '' to project_id request is build in way to select issues for all projects. It is very useful feature and I need it.
It would be great for me if you add this code to master.

@vlasov-y can you try use get_all_issues for this?

Alright! It fix the problem! So there is no need in Pull Request after that...

Thank you very much!


Temporary use rector dev-main to fix rector CI error

while wait for new rector release, dev-main can be used.

@alexander-schranz here should fix the rector issue while wait for new release :)

@samsonasik Thank you for the pull request. As we don't expect lot of changes in ths repository its fine to keep the ^1.0 and wait for the rector release for the fix.


Add dockerfile

This is a working implementation of the docker build.
I used https://github.com/agora-org/agora/pull/257 as a starting point, and changed a few things.
I also got the integration with Umbrel working, and opened a PR here (feel free to change it): https://github.com/getumbrel/umbrel/pull/1282

Nice, merged. Thanks so much for tackling this!


Llava v1.6 support

Which Llava models are supported? The mlx-examples repo supports only v1.5. Does this one support v1.6?  Does it generate keywords for an image , for example?

Hey
As I mentioned earlier, Llava 1.6 (Next) support will be added soon.
At the moment we only support Llava 1.5.
Here is the list of models we plan to add soon:
https://github.com/Blaizzy/mlx-vlm/issues/39

Could you elaborate on this keyword generation feature?
I couldn't find any information about it.


Add optional verbose debug printing

Example:
mankey spawned at 5, 5, 5
nearby players: 0
conclusion: no nearby players
pidgey spawned at 6, 6, 6
nearby players: 1
nearby players with synchronize: 0
conclusion: no nearby synchronize
magikarp spawned at 7, 7, 7
nearby players: 3
nearby players with synchronize: 2 (mild, rash)
nature roll: mild
conclusion: set magikarp's nature to mild

Already in Unchained. Moving Synchronized Natures to maintenance-only.


Handle Boolean literals as enum raw values.

Fixes rdar://problem/55384273.

@swift-ci please smoke test

Is the depth map stuff supposed to be attached?

Is the depth map stuff supposed to be attached?

I got lazy, sorry; it's also in the more purposeful https://github.com/apple/swift/pull/28276

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge


feat(core): build constant file for contract addresses

Check this PR for the modified Deployer cli
https://github.com/ArkProjectNFTs/ark-project/pull/237
Also since with that one we deploy based on the file we need to keep the content for the goerli network & mainnet
so the clean contract function should remove only the targeted network ?
https://github.com/ArkProjectNFTs/ark-project/pull/235/files#diff-c15c473cfbf4be252f0f80fca0ac854307b232ee5c300a2a8b8af2936290e8d7


⚠ Turnos 24x7 has degraded performance

In 7cac4d4, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 830 ms

Resolved: Turnos 24x7 performance has improved in 1d231f8.


Update file.proto to use FileID type instead of long for file identification

Change long file_number to FileID file_id in file.proto
Related issue(s):
This is in support of issue #7098 in the hedera-services repo
Notes for reviewer:
file.proto is not part of any previous releases. Therefore there is no need to ensure backwards compatibility.

Note, Issue 7207 must merge before this.


RichTextBox example error Fix issue #592

Pull request type

[ ] Update
[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes

What is the current behavior?

fix : #592


Spear charge doubling damage twice

Spear charge is doubling damage twice.  The base weapon damage die is doubled (labeled spear charge), then added damage is doubled (labeled spear charge), then all damage is doubled (including critical damage and additional 2x damage from Spirited Charge) without noting source (just x2).
Basic spear charge:

Spear charge critical:

Spear charge with Spirited Charge feat:

Compare to Spirited Charge with a non-spear weapon:

I know this was noted as a previously fixed issue, but this is in latest release of the mod with 2.6.0n game patch.

Seems this is likely an interaction with the implementation of spear charge by Owlcat.  Playing without mod, it looks like they are (incorrectly, I think) just multiplying all damage by 2x for spear charge, 3x for spear charge with spirited charge.
Disabling "Fix Mounted Longspear Modifier" in the mod menu removes the correctly added and typed spear charge damage and leaves the x2 multiplier for damage when charging with spears:


Cmake mingw

Hi !
I'm sorry. This maybe better.
I installed CLion and CMake (it is good, but the best is that one don't need admin password to install it, the same with MinGW) with MinGW and make. I think I clean-up old things all around, making it more consistent. I concentrated all the info into config.h, which one can also configure manually or automatically with CMakelist. I managed to compile libnana.a - no errors.
If something is not clear please ask...

Significant improvements. Thank you!

I removed the check of NANA_WINDOW, NANA_LINUX and NANA_MACOS at the beginning of platform_spec.cpp, because these flags may not be defined at that point.

I see. You are right.
I propose to use the check but not at the beginning of the file platform_spec.cpp but rigth after
#include <nana/detail/platform_spec_selector.hpp>
#if defined(NANA_WINDOWS)

this way we can eliminate the platform_spec_selector.cpp
Another less conventional solution, but very simple is to move both platform_spec.cpp files to the include directory, together with the platform_spec.hpp files and keep the platform_spec_selector.cpp. This way the automatic project generator will not include the cpp files in the build. Of course, only if the tool scan only the source dir and not the whole nana base dir with the include dir.

Yes, I did not take account automatic generator. BTW, I updated the config.hpp for detection of flags on GCC.


Feature/tableview filter

Hi again, good day! I would like to update the TableView filter implementation. This time, using multiple filters is now supported and code for filtering is simplified.

support for multiple filters (this would update the filtering method in the handler, currently trying to have a filter class to store different filters selected by the user)
implement in sample app (for this repo only)
code cleanup (for this feature only)
update README (I think it would be best if the author should be the one who will update the README)
currently I am trying to implement handling of dataset pagination so that the TableView will not be crowded with too much data

NOTES:

Since sorting and filtering implementations uses the same data source (the adapters), both features can be used without conflict, but sorting will be lost after filtering considering that the data set was sorted first. It works fine when the data set is filtered first then sorted. I will look into it, since the data set used for filtering is the original table view adapters, therefore any sorting will not be stored before filtering.

Hi @jeremy-ingenuity,

Since sorting and filtering implementations uses the same data source (the adapters), both features can be used without conflict, but sorting will be lost after filtering considering that the data set was sorted first. It works fine when the data set is filtered first then sorted. I will look into it, since the data set used for filtering is the original table view adapters, therefore any sorting will not be stored before filtering.

Okey. I will also check it out today 👍

(I think it would be best if the author should be the one who will update the README)

Okey. Tonight a new version will be released. Therefore, I am gonna edit the README  as well. I will make a new topic for Filtering feature on "Table of Contents". You can update the README after that time or you can send me the notes for usage. It's up to you.
Co

currently I am trying to implement handling of dataset pagination so that the TableView will not be crowded with too much data

Sounds good! :)
During the day, I think about working on optimization, which is related to the calculation of the width of the columns. And I also create a CONTRIBUTORS.md file  in order to honor the contributors like you :)
Thank you so much again for your collobration @jeremy-ingenuity .

Ok noted, thanks. I'm really glad I contributed. I've tried other tableview libraries before but this one is the best implementation. Kindly review my codes carefully and tell if if something needs to be revised, or just change it in your end, especially method and variable names. Good luck!

Btw, I tried finding a workaround for sorting -> filtering scenario and tried this:

the problem is, once the tableview is in sorted state and filtered, there is no way to set the sort state to unsorted and use the original dataset. Current implementation for filtering always uses the original adapter dataset.

Kindly review my codes carefully and tell if if something needs to be revised, or just change it in your end, especially method and variable names. Good luck!

Sure! Tonight, I'm going to review the code. And if necessary, I will give you some feedback.
So, I will release the new version tomorrow night.
Thanks again also for kind words 👍


Added validation for string typeof string for latinize init function

Hello there i was having a problem with one migration and i found out that this little library doesn't check if the value provided is a string.
Now it is! :+1:

Sure, thanks!


If WaitForInstanceSignal has a SerialOutput parameter, then even if the
machine is STOPPED, it should keep trying to grab the SerialOutput (or
until timeout occurs).
This is not the case if the parameter Stopped is used.

@adjackura follow up of https://github.com/GoogleCloudPlatform/compute-image-tools/pull/450#issuecomment-398536916

/ok-to-test

lint failure fixed


Seems like the help command was updated

Dupe of #3159. Please search before submitting a PR.

Closing as a dupe, but thank you for taking the time to fix it!


Provide securityContext at container level in values.yaml

Currently, securityContext in values.yaml is only available at the pod level.
Please provide containerSecurityContext (or any other appropriate name) in values.yaml to define security context at container level.

Hello,
I am not sure which Chart you refer to. In any case, feel free to open a PR!

Sure, PR accepted for this feature!

Please review: https://github.com/wiremind/wiremind-helm-charts/pull/237

Solved by https://github.com/wiremind/wiremind-helm-charts/pull/237, closing.


enhancement sync rocksdb by default to protect data

If performance of user's disks is low, users can change the config to false, this way users know what would happen if a kernel panic.
Proposed changes
Issue Number: close #xxx

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

run buildall


v3 Update

app name is made configurable by setting env variable app_name

fixes #500

@iamareebjamal please review.

@mejariamol Please also update coverage label to development branch

@iamareebjamal please review.

will update the doc in a separate PR.

@iamareebjamal please review.

@niranjan94 Please approve


Expose the publishAllOutstanding() method as public

So that external systems that need to ensure that all messages have been published can clear a batch.   We need this because out system checkpoints every so often and we'd like to ensure that there aren't messages stuck in a batch buffer.

This looks good to me. @mdietz94 do you have an opinion?

Why can't users just check whether messages have been published already via the callbacks? That's meant to be the method by which users handle flow control / checkpointing.

I might have misunderstood @j256 . My understanding is that we want "we're checkpointing, so let's just publish whatever we have right now".
@j256 Could you explain your use case a little more. Sorry I should have done this earlier.

So my use case is as follows.  We are streaming some large amount of data through the publisher so we want to have generous batch sizes for throughput reasons.  But every so often our system emits checkpoints so that the system synchronizes to a certain moment in time for recovery purposes.  This allows our various processing blocks to persist state information to disk for roll back reasons.
I could use the callback to know that messages have yet to be published but if they aren't then it's a failure in our processing and I'd need to rollback to the previous checkpoint because the publish was not acknowledged.
How do I know the difference between a message lost because of a protocol stack error versus to a message waiting for the batch time or size triggers?  I could always put small batch timeouts or sync them with our checkpoint times but exposing the ability to flush the batch (like any stream.flush() call) made more sense to me.

What is your batch timeout? For even large batching we usually use 50ms, which does not seem to be too high to wait on, especially since the actual time to make the RPC to the server is >100ms at 99%ile.

Right now we've been using record-count or request-byte thresholds and setting the batch timeout to be higher to ensure throughput.
  It's the 1% we worry about.
Frankly I'm surprised about the pushback from effectively a flush call?  Isn't that the point of bufferedOutputStream.flush()?  You have a buffer with limits but every so often you need to ensure that the bytes are written to the wire?

Done.