Add Volumes support to Alertmanager

Follow up to https://github.com/coreos/prometheus-operator/pull/2734
cc @brancz @s-urbaniak

lgtm on green

ok ... lgtm :-D


fix: Uncaught RangeError when FluentCard inside div

🐛 Bug Report
FluentCard inside a div inside a FluentCard produces:
web-components.js:18348  Uncaught RangeError: Maximum call stack size exceeded
    at pr (web-components.js:18348:10)
    at pr (web-components.js:18355:57)
    at pr (web-components.js:18355:57)
    at pr (web-components.js:18355:57)
    at pr (web-components.js:18355:130)
    at pr (web-components.js:18355:130)
    at i.colorContrast (web-components.js:18440:12)
    at ki (web-components.js:18787:52)
    at yp (web-components.js:18800:12)
    at Object.evaluate (web-components.js:19223:37)

This is related to/the same as https://github.com/microsoft/fluentui-blazor/issues/2317 but this issue never stated what the actual issue is, why it occurs or how it can be prevented without changing all occurences of FluentCard in an existing app.
Background: I've upgraded from a 4.5.0. to 4.10.3 and now I get these stack overflows all over my application.
💻 Repro or Code Sample
@* AppPageLayout renders us inside a <FluentCard> *@
@layout AppPageLayout
@page "/"

Dashboard

@* no issue *@
<FluentCard>
	<FluentLabel<EMAIL_ADDRESS>Card</FluentLabel>
</FluentCard>

@* no issue (MinimalStyle) *@

	<FluentCard MinimalStyle>
		<FluentLabel<EMAIL_ADDRESS>Card</FluentLabel>
	</FluentCard>

@* produces JS Range Error *@

	<FluentCard>
		<FluentLabel<EMAIL_ADDRESS>Card</FluentLabel>
	</FluentCard>

🤔 Expected Behavior
No exception.
😯 Current Behavior
see above
💁 Possible Solution
Go through the whole app, add MinimalStyle to all FluentCard instances as well as all styles still wanted (e.g. spacing) 🤯
🔦 Context
Started to appear after update to 4.10.3
🌍 Your Environment

OS & Device: Windows Server 2019
Browser Microsoft Edge
.NET and Fluent UI Blazor library Version: 9-rc2, 4.10.3

Goes back all the way to #948. It is a bug in the we components script and can't be fixed by us.
When using MinimalStyle, we render a div. So you'll get a div in a div. You should be able to prevent that by using the Style parameter of the Card. Even if you are not using the parameter, nesting a card in a div is not a good approach and you should also be able to prevent that by using standard CSS.
Closing this as it is a duplicate of issues mentioned.


"mist list installer Ventura" misses 13.2 and below versions

:beetle: Description
While executing mist list installer Ventura or mist list installer, macOS versions 13.2 and below are missing.
:clipboard: Steps to Reproduce

Run mist list installer Ventura
observe macOS versions above 13.2 only

┌─────────┬────────────┬───────┬───────┬───────┬─────────┬──────────┐
│ IDENTIFIER │ NAME          │ VERSION │ BUILD   │ SIZE     │ DATE       │ COMPATIBLE │
├─────────┼────────────┼───────┼───────┼───────┼─────────┼──────────┤
│ 032-69593  │ macOS Ventura │ 13.5    │ 22G74   │ 11.95 GB │ 2023-07-24 │ True       │
│ 042-01917  │ macOS Ventura │ 13.4.1  │ 22F82   │ 11.80 GB │ 2023-06-28 │ True       │
│ 042-01860  │ macOS Ventura │ 13.4.1  │ 22F2083 │ 10.40 GB │ 2023-06-21 │ False      │
│ 032-84608  │ macOS Ventura │ 13.4    │ 22F2073 │ 10.40 GB │ 2023-06-05 │ False      │
│ 032-84910  │ macOS Ventura │ 13.4    │ 22F66   │ 11.80 GB │ 2023-05-18 │ True       │
│ 002-75541  │ macOS Ventura │ 13.3    │ 22E252  │ 11.79 GB │ 2023-03-27 │ True       │
└─────────┴────────────┴───────┴───────┴───────┴─────────┴──────────┘
:white_check_mark: Expected Behaviour
Get all available installers using  mist list installer command.
:computer: Environment

mist version (mist --version): 1.14
macOS Version (sw_vers): 13.3.1 (22E261)
Hardware (system_profiler SPHardwareDataType):

Model Identifier: Macmini9,1
Chip : Apple M1

:camera: Screenshots
n/a
:information_source: Additional context
Not sure if is it really a bug or a feature, but I would like to understand why it is missing and what should we wait for.
Will other old versions also disappear or not?

The list of macOS Installers is populated from the Apple Software Update Catalogs (SUCatalog), which are maintained by Apple. By default, mist list installer retrieves the following SUCatalogs:
https://github.com/ninxsoft/mist-cli/blob/d15c9c5ec8513bb8d8e909fad4cfdb1eda92a49f/Mist/Model/Catalog.swift#L18-L30
To answer your question, Apple may remove older versions of macOS installers - most likely ones that have known security vulnerabilities and/or exploits.
Did you have a specific use case for downloading macOS Ventura 13.2 or older?

Yes, @ninxsoft. We have some reason to generate images based on the 13.2 macOS version. And we are using installers and cannot use firmware, unfortunately.

@Alexey-Ayupov I understand, unfortunately since mist relies on the Apple SUCatalog, we do not currently have a way to offer macOS 13.2 as an installer option.
Your best bet might be to reach out on the MacAdmins Slack, or search via the internet, but YMMV.
I'll close the issue for now, and we can re-open if we discover another path forward 👍


TouchEffect seems to be broken in .NET 8

I implemented the touch effect as described in your README in a .NET 8 project (Android only), but it doesn't seem to work. I don't get any building or binding errors and the sound when I tap on an element with the TouchEffect attached plays as expected, but the Command isn't executed and no ripple animation is shown either (the latter could be related to this issue and therefore is okay if not currently working). Any idea on what the problem could be, and how to fix it?

I haven't tested on net8 with any of this so I can't say. Have you tried debugging through and seeing if the RaiseCompleted method gets invoked?

I've updated the library recently to fix an issue with input transparency, it might be worth running the sample and trying to reproduce the issues you are seeing in your app. I have also updated everything to .NET 8 so hopefully building it locally should work.


[Feature][LOG] Recording the data obtained in each of the E, T, and L processes separately

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
Hi, all! Does Seatunnel support recording the data obtained in each of the E, T, and L processes separately?
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Can you give an example?

Can you give an example?

For example, save the extracted raw data and the cleaned data obtained after transformation as log records in Excel or CSV format. If any issues occur during the ETL process, this can help quickly identify the problem.


Add a README to the Flutter sample

The crashy repo was archived and points to the Flutter example in this repository.
We could add to this README some information about running the sample and what to expect from it. Some images or gif are also great resources.
Some examples:

log4net
AWS Lambda

We could also link to the Flutter example which is hosted via GitHub pages: https://getsentry.github.io/sentry-dart/

The link could be nice but the readme for a sample can be more educational (check the links in the description of this issue).
Very often ppl come to this repo without knowing what Sentry is, or just browse the sample trying to figure out what it does. A readme clarifying that and actually show casing the result of the sample (not just a stack of buttons) is a great way to get ppl interested in trying Sentry further, passed the passive browsing of this GH repo.


Align font scales optically based on x-height

General objective:
Following the structure proposed for spacing: Selectables, Containers and Pages, we need to align the font scales for Equinor font and Inter font based on x-height. Currently the Equinor font has a much more little x-height what results on different optical results when we have different texts on the same font-size in Equinor and Inter font.

Both texts has a 16px font-size, but the one on the left looks much bigger.
This brings collisions when we try to make definitions for vertical spacing between Heading + Body, or Body + Body.
Specific objectives:

To build an harmonic visual rhythm
To align everything following a proportion
To define how density will affect selectable items

Outcome:
A file with the font scale aligned for Equinor font and Inter font based on x-height.

Inter font:

X-height: 1536
Em size: 2816

Equinor font:

X-height: 480
Em size: 1000

Observations:

The fonts are aligned in the font-size scale, so if the user switch from Inter font to Equinor font on SM font-size for example, the result will be switching from Inter 12px font-size to Equinor 10px font-size but these will have the same x-height. The font-size scales were aligned to reach the same x-height visual result.
We were searching an optical alignment but in the result we can see that even with the same x-height, the Equinor font looks bigger but weaker, and the Inter font looks more little but stronger. Maybe working on their font-weight we will reach the optical alignment that we want.

The Primitives were aligned based on:

Inter 16px = Equinor 16 * 1.136 = 18.18px
Formula for the typographic scale using the Inter font = 0.5rint(162^(0/5)/0.5)
Formula for the typographic scale using the Equinor font = 0.5rint(18.182^(0/5)/0.5)


⚠ Bofrost.lu has degraded performance

In 025d11f, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1878 ms

Resolved: Bofrost.lu performance has improved in 8b68cf3 after 41 minutes.


Input omitting characters on mobile

I was using one-way-controls on an app that I was building with ember-cordova.  Specifically we were using the following implementation:
{{one-way-textarea
  update=(action (mut model.value))
  value=model.value}}

When typing into this field on ios and android, it removes about 50% of the characters.

Can you setup a simple github project to recreate this and I can try and look at it?


Make these constants private

These constants aren't useful outside these files and are cause noise in the
dartdoc.

LGTM


vertices and indices out param support

So my usecase is currently a semi-realtime meshing of fluids from salva; for around 1k particles, I'm able to mesh about every 30-60ms.
As apart of perf investigations, I'm wondering if we can reduce some of this overhead by providing a vertices and indices out param, perhaps something like:
splashsurf_lib::reconstruct_surface_with(&positions, &params, &mut vertices, &mut indices)

This should reduce some pressure on the allocator?

So your idea would be to basically call .clear() on them and just reuse the reserved capacity? Maybe you can try it out to see how this affects performance in your case. I would be open to merge it.

I have a patch doing this which does not change the current api; i can push it. Yea so with out params like that the idea is that you only get the allocation hit once or twice so memory use becomes stable after running for a while (it keeps writing into same heap storage)

done in #7


New Feature Requests

What follows is a lit of features already ready for addition or requested by the community. Drop a 👍 if you'd use, and a 👎 if you wouldn't use it.
UPDATE

Features that the spotDL team think are worth adding will be moved to #912. Please vote over there.
As to the features requested before 23/10/2020, they will be considered purely on the basis of votes received.
Feel free to start conversations in this Issue/thread.

Quite Mode (#865)
Doesn't display a progress bar.

Lyrics added if available (#859)
Adds Lyrics to metadata if available.
As of now pulls Lyrics form genius, there might be a change of providers to MusicMatch.

The VPN support is a really important but I'm worried it's too much work to maintain. Let users just download and use their preferred VPN

Download podcast from spotify

I don't think that podcasts can be downloaded unless they're available on youtube.

we could download podcasts from google podcasts but that might be too much work, we don't have the equivalent of pytube for podcasts

Download by Artist URL would be cool to have.

option to normalize / equalize volume on downloaded songs / albums

option to normalize / equalize volume on downloaded songs / albums

Volume is normalized on v3.

we could download podcasts from google podcasts but that might be too much work, we don't have the equivalent of pytube for podcasts

We can download from stitcher

Maybe you ensure a minium audio quality. I am not sure. Maybe by giving a desired format, a min bitrate (and stereo? lol) ?

As alexg-k tried to suggest, being able to decide a preferred download quality. Maybe in the configuration file, if you are going to add it in v3 (Since I read in another post there isn't one yet)
For example, downloading a song in v2 gives me a 192 kbps file, the same song in v3 gives me a 124 kbps file.
Note: Thanks a lot for adding youtube music support!

@Greenylie noted but you should not discuss the suggestions here, make a separate issue if u really need to discuss...
@Mikhail-Zex will be deleting both our comments

Choosing download format (#877)
Ability to choose format download from YouTube.

Add metadata to pre-existing local file (#843)
e.g. For if you have a high-quality local file that you want to add metadata/artwork to.
Could be implemented via a flag to specify the local file, which skips the track search and download process.

Spotify URI support, download songs from URI links like spotify:track:4jVBIpuOiMj1crqd8LoCrJ and spotify:album:4Bp7LKA5Afo1PRoXuQe8qZ just like in Spotdl v2

Save song links in a playlist as an .m3u file (referencing local paths)- allows users to import playlists easily to other programs (eg. iTunes)
(#599, #663, #598)

An optional interactive prompt eg spotdl -i --interactive (or whatever argument we wanna give it) that prompts the user for each option as they go (good for those that aren't comfortable with the command line).

An option to preserve the order of the tracks when downloading a playlist

[Feature] Integrate downloading albums from YouTube Music
Could be implemented by having a list that appends the YouTube Music URL with the Spotify URL.
i.e. Add the spotify album link and the Youtube Music link as parameters and download?

We're reconsidering our feature suggestion system. Give us a day or two. This thread will be locked till then.

Would be great if you could add the Spotify id's as meta data to track(s) (artist + song)

Ability to use Youtube-Urls for direct download without Spotify.
I loved that feature and now it's gone with v2.

Ability to use Youtube-Urls for direct download without Spotify.
I loved that feature and now it's gone with v2.

Yep, sometimes spotdl grabs the wrong file from YouTube so I need to manually download the mp3 with the YouTube link then copy metadata onto it with MP3Tag. I suppose I could use youtube-dl but when I'm already in spotdl it's easier to just use that.

@Amekyras yep we realized, so we'll be adding the metadata application feature to spotdl

Are there any plans for reimplementing the --trim-silence and --manual options to v3?

No not really. Plan to add a --apply-metadata instead. You get the mp3, we apply the metadata. The idea isn't final. There might be changes.

Option to disable multiprocessing should that still cause issues for users in the future.

Maybe not, disabling multiprocessing will almost make each download run 5 times slower. Not a compromise we are willing to make

Maybe not, disabling multiprocessing will almost make each download run 5 times slower. Not a compromise we are willing to make

Did you try asyncio? It is very lightweight so it should be even faster than multiprocessing as it doesn't have the startup overhead. Also easier to debug.

nope. ffmpeg take a lot of CPU power. approx. 20-30%, when you use multiprocessing you can use nearly100% CPU power instead on just 30%. The download conversion process has to run across multiple CPU Cores. hence the need for multiprocessing

But it seems that you run ffmpeg as a subprocess, so it doesn't matter if you call the os.system() from a thread, process, or a coroutine - it should release GIL anyway.

Actually, could you make a mock implementation of what your talking about. I'll test it out.

Store some sort of a state such that when the tool is run the next time, it only downloads songs that haven't already been downloaded.

Store some sort of a state such that when the tool is run the next time, it only downloads songs that haven't already been downloaded.

It already does this

Actually, could you make a mock implementation of what your talking about. I'll test it out.

@Mikhail-Zex - see #994 - it seems to have no impact on performance.

Feature request: have a flag to return the YouTube link and stop. This would be useful for piping to other programs.

Ability to make .m3u files from spotify playlists
.m3u being a "playlist file".

Ability to make .m3u files from spotify playlists
.m3u being a "playlist file".

Why don't you work on this?

Feature request: have a flag to return the YouTube link and stop. This would be useful for piping to other programs.

Well, use spotdl as a library to do that. Just create a SongObj or use the search_for_song from search.utils.

Ability to make .m3u files from spotify playlists
.m3u being a "playlist file".

Why don't you work on this?

okey i will try haha - not the best at programming
https://github.com/Silverarmor/spotifyPL-DL

Just a quick idea, Spotify has a huge database of info on songs, maybe SpotDL could use the bpm data and other things of the sort.

I mean download the song, and then apply spotify's metadata to it afterwards

Also customisable output dir? (without running in a different directory)

Also customisable output dir? (without running in a different directory)

I also think that would be nice feature. I think it could be implemented after utilizing some decent argument parser. I think we can pull some changes from #895 and then work on adding some extra arguments.

I mean download the song, and then apply spotify's metadata to it afterwards

We do this already.

Also customisable output dir? (without running in a different directory)

I also think that would be nice feature. I think it could be implemented after utilizing some decent argument parser. I think we can pull some changes from #895 and then work on adding some extra arguments.

There's already a way to do this using spotdl as a library. The input just isn't exposed in the cli

Convert songs from spotify to deezer and download them from deezer.
It will be solve some problems:

Downloading the wrong track with the same name
Downloading song with intro sound

Deprecating this feature request method.
If you want to request a feature, make a new issue and use the FEATURE REQUEST template.

Deprecating this feature request method.
If you want to request a feature, make a new issue and use the FEATURE REQUEST template.


Sparse tree

Only structures for dense trees, supporting fast serialization/deserialization were implemented so far.

Generic tree, various children count allowed
Nodes linked together directly (no backing arrays) (is linking both ways a necessity ?)

Done


chore: use nouns for leading word in function description tags

Same style as node docs for functions

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
479

Relevant Lines:
479

💛  - Coveralls


Will you add a xbox 360 core???

i have been wanting to play sonic unleashed but i have only a chromebook so i can't play emulators like Xenia

Btw does is support ps2 roms

Probably not.
As of right now it doesn't support PS2 ISO's

saw this and:
360 emulation is barely working on good laptop specs. good luck in a chromebook web browser. ps2 emulation is also too powerful for a chromebook. you might be able to run ps1/n64 and behind, but thats pushing physical limits very hard. if i recall correctly, my chromebook would overheat and crash consistently when playing snes games for too long. it is simply not feasible.

saw this and: 360 emulation is barely working on good laptop specs. good luck in a chromebook web browser. ps2 emulation is also too powerful for a chromebook. you might be able to run ps1/n64 and behind, but thats pushing physical limits very hard. if i recall correctly, my chromebook would overheat and crash consistently when playing snes games for too long. it is simply not feasible.

It's probably your Chromebook. On mine, I can play snes games just fine, but when it comes to n64 and nds games, My frames go away.


Add support for nested source files

First, the documentation sidebar needs to be refactored to use the routing system. And possibly also extend/utilize the navigation menu service.


Is ValidationContext#addClassChecks thread safe?

see: https://github.com/oblac/jodd/blob/v4.1.5/jodd-vtor/src/main/java/jodd/vtor/ValidationContext.java#L98
as we can use Vtor.create().validate(instance), it will call ValidationContext#addClassChecks,
which use HashMap for cache?

True @GregoryParks, you are right!
But note that this kind of cache is resistant on synchronization issues. In the worst case what could happen is that the input target class gets scanned more than once. And the data would be stored more than once in the cache map, but since the key is the same it would not hurt anything.
Actually, the bigger issue is that this is a Class cache, to be honest: we need sort of weak set here that would allow records to disappear once when they become "weak".
I try to be pragmatic here: not to put more code if this does not hurt the functionality.
Nevertheless - I will try to address this, we have cache package :)
What do you think?

From now on you can decide on your own which implementation you would use. Default one is synced but not weak.

Sorry had to rollback


plugins and themes directories #99

@xyu this is the better solution, i think

@chrisbutler thanks for the PR and suggestions I think I'll merge #100 instead of this PR right now because this PR moves some "drop in" plugins which are actually special and words differently then normal WordPress plugins. See:
https://github.com/WordPress/WordPress/blob/327a11ad/wp-admin/includes/plugin.php#L407-L435
Adding a .gitignore for force both theme and plugins dirs to show up is an interesting idea, let's open another PR for that based on the latest master and discuss that approach and if we should force any other folders to show up as well.


Drag/drop file overlay stays

Describe the bug
When you drag a file across your monitor and it happens to go over the yata window sometimes it will keep the 'drop file here' overlay and not properly hide.
To Reproduce
Here's a clip from adam to see the repro: https://clips.twitch.tv/SteamyEndearingStarArsonNoSexy
Expected behavior
Expected that the overlay will go away.
Screenshots
Clip above
Environment (please complete the following information)

Software
Version

YaTA
Public (v1.11.0)

Browser
Chrome 77.0.3865.90

Operating System
Windows

Even after trying to drag a file more than a 100 times over the application, no matter the drag speed, I couldn't reproduce. I wonder if this could be OS-specific based on how dragging is implemented on each OS.
As a workaround, I added a close button to the drag overlay so people hitting this issue can easily close the overlay.

Might've been either OS or being right on the edge on monitor 1 while dragging the file over to monitor 2. But the x definitely works, thanks!


Support Lifecycle Hooks

Capturing requirements for Lifecycle hooks discussed during the summit.
Lifecycle hooks was agreed to be a useful feature and support for a few basic hooks is expected to be in place. Specifically, PreStart, PreStop and PostStop hooks will be introduced to start with. Supporting hooks might require separating the lifetime of namespaces from that of the processes in the container.
Hooks will be binaries that will be exec'ed. The Spec and current State of the container will be provided as arguments to the hook (via fds?). Are the exec hooks executed synchronously?
This issue is meant to define the Spec for Hooks and discuss the hooks that are necessary to begin with.

I think makes sense to add PreCheckpoint, PostCheckpoint, PreRestore, PostRestore at least for linux extension. ping @boucher @avagin
I think hooks must be synchronous and receive state as json to stdout.

On Thu, Jun 25, 2015 at 11:06:52AM -0700, Alexander Morozov wrote:

I think makes sense to add PreCheckpoint, PostCheckpoint,
PreRestore, PostRestore at least for linux extension…

Hmm, do we even have checkpoint/restore lifecycle actions 1?  Maybe
that should be a separate issue before we talk about hooks for them
;).

It would definitely be useful to have pre/post checkpoint/restore.

@wking @LK4D4 @boucher Lets concentrate on what we know we must do: prestart and poststop before defining hooks for other stuff first.
@vishh What is a prestop hook used for in your mind? We had a debate on pre-stop and just held off on defining one in appc: https://github.com/appc/spec/issues/188#issuecomment-73999312

I agree that prestart and poststop are what we call agree on as useful and can start with adding those.

Should also we define what arguments are passed to these hooks as well? On Linux, we will have to pass the pid of the container process.

@mrunalp I thought we will pass whole state to all hooks.

@LK4D4 We could do that but wouldn't the state be implementation specific?

@mrunalp But it still will be a string, right?

Yes, that is one way to make it work; let the hooks interpret whatever is passed down. If we do decide to pass the whole state then it might be better to send it over a pipe rather than as an argument.

Totally agree on pipe(maybe stdin). Dunno how it will work in windows, probably the same.

@crosbymichael and I discussed opening the statefile and passing it to the hook as an fd if it wants to read it

@philips The description in #34 should suffice then, right?
The state of the container is passed to the hooks over a well-known fd...

@mrunalp ack, yes, I will delete the noise from the record.

I think we also should draw out a timeline of the container life cycle i.e
namespace created -> pre-start -> user process launched -> process stopped -> post-stop -> cleanup
One reason is that I imagine there will be more hooks, since from a Mesos perspective we have more stages that requires more hooks for us to integrate, and it gets a bit more confusing as you need to read the description to figure out what each hook meant.

Also can we name pre-start to something like pre-start-user-process and post-stop to post-stop-user-process to be more precise?

On Wed, Aug 26, 2015 at 11:04:32PM -0700, Timothy Chen wrote:

I think we also should draw out a timeline of the container life cycle i.e
namespace created -> pre-start -> user process launched -> process stopped -> post-stop -> cleanup

+1

On Wed, Aug 26, 2015 at 11:05:12PM -0700, Timothy Chen wrote:

Also can we name pre-start to something like pre-start-user-process
and post-stop to post-stop-user-process to be more precise?

With an explicit timeline (or graph, since it doesn't have to be
linear) early in the docs, I think the current names should be clear
enough (until we get more pre-start-something-else hooks).

We are essentially talking about an explicit container state machine. Once we have the state machine, it might be easier to give names and to add hooks.

@tnachen Yes, it makes sense to add such a timeline. I will make a PR for what we have right now in relation to the hooks. I think we probably don't want to rename these till there are concrete proposals for other pre/post hooks.

Sounds good, I'll be creating more proposals as we're investigating how we can integrate Mesos with the runtime spec.

On Thu, Aug 27, 2015 at 10:09:38AM -0700, Mrunal Patel wrote:

Yes, it makes sense to add such a timeline. I will make a PR for
what we have right now in relation to the hooks.

I didn't see a PR like that, and I wanted the timeline so I could link
from the lifecycle to the hook documentation as part of my
filename-consolidation (#126).  So I added a more detailed version of
@tnachen's timeline as part of #126.

Should we define a priority In the 'pre-start' or 'post-stop'?
There might be multiply hooks, which should run first?
In appC, there is only one hook for 'pre-start' or 'post-stop'.

On Mon, Sep 07, 2015 at 04:09:52AM -0700, 梁辰晔 (Liang Chenye) wrote:

Should we define a priority In the 'pre-start' or 'post-stop'?
There might be multiply hooks, which should run first?

The hook entries are arrays, so I think we should just execute them in
the listed order.  More explicit wording in this regard would help
avoid confusion, although the current “remaining hooks” phrasing is a
start 1.
For a similar problem (explicitly linking mount order to the listed
array order), see #142.

Yes, similar.
I just 'copied' your word (listed order) and added a pull request.
https://github.com/opencontainers/specs/pull/156

We have basic hooks in now. This issue is largely a "tracker" for future hooks, like needed for CRIU.

So, I discovered that probably post-start hook is good idea too. Because caller need to know when real application started.
@vbatts @mrunalp wdyt?

@LK4D4 :+1: from me.

On Fri, Sep 25, 2015 at 03:29:24PM -0700, Alexander Morozov wrote:

So, I discovered that probably post-start hook is good idea
too. Because caller need to know when real application started.

See the “How do we know when the process is up” entry in the
2015-09-16 minutes for some alternative solutions to this problem, but
I imagine @julz will take any method for this he can get ;).

+1 for post-start.
On Fri, Sep 25, 2015 at 3:40 PM, W. Trevor King<EMAIL_ADDRESS>wrote:

On Fri, Sep 25, 2015 at 03:29:24PM -0700, Alexander Morozov wrote:

So, I discovered that probably post-start hook is good idea
too. Because caller need to know when real application started.

See the “How do we know when the process is up” entry in the
2015-09-16 minutes for some alternative solutions to this problem, but
I imagine @julz will take any method for this he can get ;).
—
Reply to this email directly or view it on GitHub
https://github.com/opencontainers/specs/issues/20#issuecomment-143369318
.

Maybe spin off a post-start hook to the list?  Stick it in the
lifecycle thread 1?  Or a new one?  Some of the alternative
approaches (start --daemon) also help with the logging issue raised in
2.  So I'd like to see some sort of breakdown of possible approaches
and a comparison of their technical merits to make it more likely that
we're not revisiting this same question again in another month ;).

@wking There was a discussion on IRC and 2 maintainers have given a thumbs up so we will just wait for @LK4D4 to open a PR.

I thought 'pre-start' was missing too. (Although I have it in the lifecycle
diagram (
https://docs.google.com/document/d/1kqo2MpPEZHQL3XhBxz0sNBntDIgoZ2dKHb5iWzRz9G8/edit#)
)
To complement the pre-start, we need a pre-stop hook (see diagram for the
symmetry).
-Jojy
On Fri, Sep 25, 2015 at 4:01 PM, Mrunal Patel<EMAIL_ADDRESS>wrote:

@wking https://github.com/wking There was a discussion on IRC and 2
maintainers have given a thumbs up so we will just wait for @LK4D4
https://github.com/LK4D4 to open a PR.
—
Reply to this email directly or view it on GitHub
https://github.com/opencontainers/specs/issues/20#issuecomment-143372093
.

--
Jojy G Varghese

On Fri, Sep 25, 2015 at 04:00:59PM -0700, Mrunal Patel wrote:

@wking There was a discussion on IRC…

Ah, good :).  Can you point me to the right day?
$ grep -ir post-start irclogs/2015/freenode/#opencontainers.*
isn't turning up anything…

On Fri, Sep 25, 2015 at 04:10:32PM -0700, Jojy George Varghese wrote:

To complement the pre-start, we need a pre-stop hook (see diagram
for the symmetry).

The problem with pre-stop is that the stop is not necessarily being
triggered by the host-process managing the container.  For example,
the process may just exit on its own.  But as long as folks are clear
that these hooks only fire on ‘funC stop ’ (or whatever
triggers a host-initiated stop), I'm ok with them.

One more use case that we see while working with hooks is having pre/post mount hooks. These could be run before and after the new mount namespace is setup. WDYT?

On Fri, Dec 04, 2015 at 04:22:27PM -0800, Mrunal Patel wrote:

One more use case that we see while working with hooks is having
pre/post mount hooks. These could be run before and after the new
mount namespace is setup. WDYT?

Is there a distinction between post-mount and pre-start?  #231 doesn't
mention mounts at all, but I'd guess they'd fall under 7713efc1's step
2.  If so, the only difference between post-mount and pre-start would
be step 3, where the state.json gets written.  That doesn't seem like
a useful enough distinction to me (but then, the distinction between
pre-start and post-start didn't seem useful enough to me either, #202,
1).
Pre-mount may be more useful, but if it's going to be a thing I think
we need to add enough detail to the lifecycle that we know what
pre-mount is coming after.  And we need to figure out what is going to
go into its state JSON (do we require a container PID on Linux by that
point or not?).

I really need post-mount.  I want a hook that is going to mount additional mount points to /sys.  Currently if I use prestart, /sys gets mounted over my mount points.

On Sun, Jan 17, 2016 at 06:07:08AM -0800, Daniel J Walsh wrote:

I really need post-mount.  I want a hook that is going to mount
additional mount points to /sys.  Currently if I use prestart, /sys
gets mounted over my mount points.

I think “more hooks” is the wrong solution.  If you've provided /sys,
I don't think the runtime should be clobbering it (see points two and
three here 1).  Of course, those points aren't currently spelled out
in the spec, which is pretty vague about the timing and clobbering
details of runtime-provided devices and mount points.
And I'd have expected pre-start to be run after the mount setup anyway
(it happens later in ccon 2).
But regardless of how this should be handled now, separate create/exec
actions (#299) should get you out of this problem, because /sys-level
mount tweaking should not be happening in the exec phase.  That lets
you fix any broken start-phase functionality before calling exec.  And
the only mount-tweaking done by exec will probably be mounting a new
/proc if the exec creates a new PID namespace 3.  And the only thing
that will clobber (on my system anyway) is 4.
 See “/proc and PID namespaces”

If the start hooks happened after the mount then that would also fix my problem.  I am trying to get additional kernel file systems mounted onto /sys.  /sys/fs/cgroup to be exact.  I don't want to take over the mounting of /sys or any other kernel file systems except for the cgroup hierarchy.
Currently /sys gets mounted after I mount /sys/fs/cgroup, so that my mounts disappear.

@vishh suggested that I shift some discussion of hooks and a separate
create / (start or exec) over here [1,2].  See also #299 for more
background in splitting sandbox creation from process execution.
Linux runtimes launching a container process [3,4] will usually do an
IPC dance like 5 so the runtime process can spawn the pre-start
hooks after the container namespaces have been setup but before the
user-specified code is exec'ed (this may be an implemention detail
6, but I don't see how to avoid it 7).  With the split proposed in
#299, the PID namespace will be created at start time (step (2) in
8), which means that any actions that need access to the container
PID (e.g. custom cgroup injection or state registration) will still
have to happen at start-time.  So while splittiing create from start
will make some things possible without hooks (e.g. manipulating the
mount namespace created by ‘create’), we won't be able to drop
pre-start hooks entirely 8.

(e.g. custom cgroup injection or state registration)

I don't get how running hooks between pid ns creation and user process startup is a necessity for either of these use cases. Can you elaborate more?

On Fri, Mar 18, 2016 at 10:40:10AM -0700, Vish Kannan wrote:

(e.g. custom cgroup injection or state registration)

I don't get how running hooks between pid ns creation and user
process startup is a necessity for either of these use cases. Can
you elaborate more?

You can't add the container process to a cgroup until you have a PID,
and you can't get that PID (in the runtime namespace 1) until you
create the PID namespace.
More generally, if the ‘start’ call kicks off the process tree that
gives you the container process, it should be pretty clear that any
manipulation of that process has to happen after the ‘start’ call ;).
And things like cgroup injection and resource limits should be set
before you exec user-configured code, so that puts them after ‘start’
and before start's execvp (or whatever) in some sort of hook.

Why does one add a cgroup with a hook when the Spec already provides
ability to define cgroups?
On Fri, Mar 18, 2016 at 10:50 AM, W. Trevor King<EMAIL_ADDRESS>wrote:

On Fri, Mar 18, 2016 at 10:40:10AM -0700, Vish Kannan wrote:

(e.g. custom cgroup injection or state registration)

I don't get how running hooks between pid ns creation and user
process startup is a necessity for either of these use cases. Can
you elaborate more?

You can't add the container process to a cgroup until you have a PID,
and you can't get that PID (in the runtime namespace 1) until you
create the PID namespace.
More generally, if the ‘start’ call kicks off the process tree that
gives you the container process, it should be pretty clear that any
manipulation of that process has to happen after the ‘start’ call ;).
And things like cgroup injection and resource limits should be set
before you exec user-configured code, so that puts them after ‘start’
and before start's execvp (or whatever) in some sort of hook.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/opencontainers/specs/issues/20#issuecomment-198468994

On Fri, Mar 18, 2016 at 11:33:51AM -0700, Vish Kannan wrote:

Why does one add a cgroup with a hook when the Spec already provides
ability to define cgroups?

Maybe you want to use an alternative cgroup manager that's built on
higher level abstractions 1.  Or maybe you want to use a new kernel
feature that hasn't landed in your runtime yet 2.
But is motivating the cgroups use case really that important?  I find
it hard to imagine folks never needing access to the container PID
before user-specified code is exec'ed.  The cgroups and
state-registration (e.g. if you want to maintain a cluster-wide
registry, but your runtime's builtin-registry doesn't handle that) are
just the most obvious cases I can think of, not an attempt at an
exhaustive list.
 Subject: Re: removal of cgroups from the OCI Linux spec
 Date: Thu, 29 Oct 2015 11:28:41 -0700
 Message-ID<EMAIL_ADDRESS>

I'd prefer not considering such scenarios unless it cannot be solved
through other means.
On Fri, Mar 18, 2016 at 11:45 AM, W. Trevor King<EMAIL_ADDRESS>wrote:

On Fri, Mar 18, 2016 at 11:33:51AM -0700, Vish Kannan wrote:

Why does one add a cgroup with a hook when the Spec already provides
ability to define cgroups?

Maybe you want to use an alternative cgroup manager that's built on
higher level abstractions 1. Or maybe you want to use a new kernel
feature that hasn't landed in your runtime yet [2].
But is motivating the cgroups use case really that important? I find
it hard to imagine folks never needing access to the container PID
before user-specified code is exec'ed. The cgroups and
state-registration (e.g. if you want to maintain a cluster-wide
registry, but your runtime's builtin-registry doesn't handle that) are
just the most obvious cases I can think of, not an attempt at an
exhaustive list.
Subject: Re: removal of cgroups from the OCI Linux spec
Date: Thu, 29 Oct 2015 11:28:41 -0700
Message-ID: <CAA_vbqSCEg+ByohgfR6Pqnzvy+j60=
<EMAIL_ADDRESS>[2]: https://github.com/opencontainers/specs/pull/267
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/opencontainers/specs/issues/20#issuecomment-198490906

On Fri, Mar 18, 2016 at 12:11:12PM -0700, Vish Kannan wrote:

I'd prefer not considering such scenarios unless it cannot be solved
through other means.

Ok, so we just need to get to the bottom of a particular use-case.
How do you see attachment to an experimental cgroup (e.g. #267)
working before support lands in your chosen runtime?  You could
solve that by using v2 cgroups 1 and letting the runtime join one
you'd already setup, but that seems like a major change if you're
already using v1 cgroups.  How does the runtime distinguish between v1
and v2 cgroup users anyway?  Is the logic for joining cgroups:
If a v2 cgroup at cgroupsPath exists, add the container process to
it.  Otherwise add the container process to any v1 cgroups whose
path relative to their cgroup mount point exists.
Or are runtimes supposed to be hard-coded to always use v1 or v2
cgroups?  Or are v1 runtimes supposed to limit attachments to cgroups
that are defined under linux.resources?

Why not run a custom runtime or move the process after it gets spawned?
On Fri, Mar 18, 2016 at 12:33 PM, W. Trevor King<EMAIL_ADDRESS>wrote:

On Fri, Mar 18, 2016 at 12:11:12PM -0700, Vish Kannan wrote:

I'd prefer not considering such scenarios unless it cannot be solved
through other means.

Ok, so we just need to get to the bottom of a particular use-case.
How do you see attachment to an experimental cgroup (e.g. #267)
working before support lands in your chosen runtime? You could
solve that by using v2 cgroups 1 and letting the runtime join one
you'd already setup, but that seems like a major change if you're
already using v1 cgroups. How does the runtime distinguish between v1
and v2 cgroup users anyway? Is the logic for joining cgroups:
If a v2 cgroup at cgroupsPath exists, add the container process to
it. Otherwise add the container process to any v1 cgroups whose
path relative to their cgroup mount point exists.
Or are runtimes supposed to be hard-coded to always use v1 or v2
cgroups? Or are v1 runtimes supposed to limit attachments to cgroups
that are defined under linux.resources?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/opencontainers/specs/issues/20#issuecomment-198512331

On Fri, Mar 18, 2016 at 12:35:19PM -0700, Vish Kannan wrote:

Why not run a custom runtime…

Because that's a moderately large change when all you want is:
$ echo $PID >/sys/fs/cgroup/a/b/c/tasks
And “you could fork the runtime and add support for that” is an
argument that applies to everything.  If we go that route, where do
you draw the line?  It it only stuff that would need pre-start hooks
that doesn't get supported in the spec?

… or move the process after it gets spawned?

I am suggesting we move the process after it's spawned (because you
need a PID to assign it).  I'm just suggesting we assign it to cgroups
before we execvp (or whatever) the user-specified code.  Assigning
resource limits before exec'ing the user-specified code seems like the
only safe approach to me, since you want to avoid an unconstrained
time window at the beginning of the user-specified codes's execution.

I think this is closable.  The current spec position is to split create/start (#384) and keep hooks (closing #483), so callers have two ways to handle any hook-like things they need to do.  Skimming the tail of this discussion, I don't see anything that isn't currently supported.  And if there are unsupported use-cases, I think a more productive approach would be to open per-case issues with “the current hooks or create/start split don't support …”, and we can hash out whether additional hooks are needed.  For example, see #644, where pre-/post-mount hooks were proposed, discussed, and rejected.

Agreed


mysql-connector-python-feedstock 8.0.33

Fixes #81

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge/mysql-connector-python This is ready for review/merge.


Reinvent the wheel

In NPM repo there are a lot of ready to use servers like the command line https://www.npmjs.com/package/http-server
If already supports many features and has a lot of contributors (but many PRs are still opened since 2016).
I don't know if it depends on NodeJS and it's http package but anyway.
Maybe you can just use it and turn this app into UI to it with a friendly installer?
I see that you have a size concerns and this is great that you care about it.
But if something is written in JS it simply can't be small and fast. But can be popular.
In my case I'm looking for an easy to install server for self-hosting that I can explain to my friend on a phone how to install. And it needs for some UI with visualization of what happens.
The 200 Ok Chrome app was ideal candidate but it doesn't work anymore.

The original version of this program was actually based on an npm package called send. I think I also looked into that package you linked, which has more features. Ultimately I think it was a better idea to write a custom solution because it has enabled us to implement additional features. We have complete control over the web server. We also needed to support security-scoped bookmarks on macOS, which is a security feature for apps on the Mac App Store. We wouldn't have been able to do that without a custom solution.
When it comes to size, Electron + Node isn't great. A better long term solution for this project would be to switch to Tauri for the UI (which doesn't require bundling Chromium like Electron does), and rewriting the web server code in something like C++. That would make the program faster/more efficient, use less energy, and make the installer much much smaller. This is something we've discussed in #52.

I want to clarify two things about this project:
The purpose of this project is to fill the void left by the deprecation of Web Server for Chrome. The scope of this project is in its name: "Simple".
While I would like this program to be able to support hosting public websites, it is primarily intended for local development or LAN web servers.
Now I'll take a moment to briefly address some of your comments and suggestions:

Just using an existing code makes contribution easier. That library already have 70 contributors who knows it's code. It's better tested but what is more important just safer. Having a simpler and modular code is more important for open source product because it allows more people to adopt for their needs, extend or contribute.

I agree, and this is a good point. There are certainly advantages and disadvantages to either approach. That said, as it is right now, I don't think we'd be able to switch because there are several things that we may not be able to implement without deeper control of the web server and filesystem functions. I think we should reconsider the idea of relying on other projects if we decide to move away from Node.js. For now though, I think we'll stick to a custom solution. I welcome comments @ethanaobrien if you have any.

While the SWP will get more users you'll receive more and more feature requests that aren't easy to implement like partial PUT requests or support of sendfile syscall on Linux, UPnP, or pre-gzipped content.
Instead you can delegate that to that server but instead focus on UI, configuration wizards and documentation.
For example add some analytics or WAF are also something that users will ask you soon.

This is another good point. However, I'm not sure how many of these advanced features we will support. These aren't features that Web Server for Chrome supported, and we may decide that they're out of scope for the simple nature of this project. We have also provided a way for users to write plugins to implement custom features that aren't a part of the program, which is designed to let others implement features that are beyond the scope of this project.

Correct me if I'm wrong: main target audience are Junior developers?
Or a power users who wants to host their own site.

Simple Web Server is for anyone looking for just that, a basic web server. We imagine that many users are developers, but we've also heard from users who just needed a way of hosting files via a web server. I think many power users may also benefit from the ease of use. That said, power users are not a primary consideration.

Using the C++ will just kill the main advantage of the project.
We already have weborf web server that is simple, written in C and has a nice GUI. But even for me it would be easier to contribute to SWP instead of the webborf and it's QT interface.

The program you linked appears to only be available on Linux, so I fail to see the comparison. I don't see how the programming language we use has any effect on the simplified user experience, which is what I see as the main advantage to this project.

Yes, the 90mb of installer is a lot but... it's the same size of a simple TODO app on Android.
You can try to minimize it's size but anyway it will be too big. And you'll never make it smaller than 8kb of BusyBox http.

I'm not sure what exactly you're advocating for here. If we can provide the same simplified user experience with a much smaller download size and reduced resource consumption, then I think we should. That said, it's not our primary focus.

I agree, and this is a good point. There are certainly advantages and disadvantages to either approach. That said, as it is right now, I don't think we'd be able to switch because there are several things that we may not be able to implement without deeper control of the web server and filesystem functions. I think we should reconsider the idea of relying on other projects if we decide to move away from Node.js. For now though, I think we'll stick to a custom solution. I welcome comments @ethanaobrien if you have any.

Yes, while we were implementing the server I started running into several incompatibilities between our code and the send package that caused many things to not function as intended. Our implementation does the same thing, but is just dumbed down to be more simple.

This is another good point. However, I'm not sure how many of these advanced features we will support. These aren't features that Web Server for Chrome supported, and we may decide that they're out of scope for the simple nature of this project.

Upnp actually was supported in web server for Chrome, it's just not supported because we assume the people looking to put their website on the internet have the knowledge to do it themselves
Using another language like C++ would also take away the cross compatibility, sine the system APIs are different on each OS

There is a popular webserver HFS. It's Windows only and written in Delphi. But now it's author switched to TypeScript and created a thord version  https://github.com/rejetto/hfs
It looks impressive, have a look.


fix(@angular/cli): fix package manager warnings when running temporary install

Related to: #16205

Merged to patch branch 9.0.x: https://github.com/angular/angular-cli/commits/9.0.x


Update UserSearch.php

Fixes syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM).

Q
A

Is bugfix?
yes/no

New feature?
yes/no

Breaks BC?
yes/no

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

tableName() should be static.


cannot import name 'sk_function' from 'semantic_kernel.plugin_definition'

I'm following this post below and getting the error in the screenshot.
python=3.9
semantic-kernel=0.5.1.dev0
https://learn.microsoft.com/en-us/semantic-kernel/agents/planners/evaluate-and-deploy-planners/create-a-prompt-flow-with-semantic-kernel

Any idea where I can start investigate from?

i have the same problem

change sk_function to kernel_function, i find that the sample code is not update

Hi @y00281951 are you still having an issue? If so, the repo where you've posted isn't monitored as frequently. Could you please post your question as an issue or start a discussion in our main repo? That way, it will get the attention it needs.
Thanks for understanding!


Allow to pass test command to the agent

Just like with /run, the /agent should accept a command that it will run to test changes.
Currently, it's not very useful as it always auto-selects the wrong way to test it.

You can tell the model which command to run in your prompt and it will generally respect it. I can see the value of having a place to explicitly put it to make it easier on the model though.

You can already do this! Just say no to the model suggested commands, and then enter your own commands.


⚠ Fortnite has degraded performance

In 5f71294, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1617 ms

Resolved: Fortnite performance has improved in a8990a6.


ci: remove arm32 builds

What's the reason for this change? @dschmidt mentioned Drone made some changes with regards to ARM support, but I have not looked into it yet.

Please see the internal chat for discussion. But you don't build multiarch images for this repo anyway?

Not at the moment, no. We'll need ARM images once we start building Linux stuff on ARM hosts, though, I guess. But I don't think anyone expects GUI tools on 32-bit ARM any more.


use a variable not string replace for $ in table filters

https://github.com/twosigma/beakerx/blob/c9b0dcd28d3e71cf7e3133e32cf543a829b1f02b/js/notebook/src/tableDisplay/dataGrid/column/ColumnFilter.ts#L129

Hello. I'm using beakerx for the first time (specifically intrigued by the table-filtering features for quick data processing), and no matter what I try, I cannot get the filters to apply. I've tried $, I've tried the variable name exactly, < and > , periods, quotes, hitting enter, hitting x, resetting, restarting, and just cannot get the table to filter out any of the data.
is this at all related to this issue?

Hi, welcome to BeakerX :)
Thank you for your question.
This issue is about the style of the code that implements filters.  The filters work fine as far as I know.  Here's a screenshot of an example from our tables tutorial, which you can run on Binder:

If you have an example where it doesn't work please file a new issue and describe how to reproduce it.  I would appreciate it.

is it supposed to run once I click out of the text area? I’ve been using the syntax I saw in the tutorial but the filter just didn’t seem to reduce the dataset no matter how I tried to do so. I didn’t want to open an issue until I could rule out that I did something wrong.
Thanks for your prompt reply and welcome! I appreciate it.

On May 31, 2018, at 7:14 AM, Scott Draves<EMAIL_ADDRESS>wrote:
Hi, welcome to BeakerX :)
Thank you for your question.
This issue is about the style of the code that implements filters. The filters work fine as far as I know. Here's a screenshot of an example from our tables tutorial, which you can run on Binder:
https://user-images.githubusercontent.com/963093/40784143-c1668d80-64b2-11e8-8c92-b706cb334efd.png
If you have an example where it doesn't work please file a new issue and describe how to reproduce it. I would appreciate it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/twosigma/beakerx/issues/7295#issuecomment-393525761, or mute the thread https://github.com/notifications/unsubscribe-auth/APidDiUkQsMOevsH53nI9EwN2y--4eV3ks5t3-yugaJpZM4Tvfhe.

it runs as you type.

@scottdraves
In current solution this issue cannot be solved as the expression is created once per row, not per column so there can not be many variables called $ as you can use the $ for each column.
Currently the expressions for each column are concatenated just before evaluation. The sample expression can look like:
"var index = row.index;var m3 = row.values[0];var y30 = row.values[1];var y1 = row.values[2];var m6 = row.values[3];var y2 = row.values[4];var y10 = row.values[5];var y3 = row.values[6];var time = row.values[7];var y5 = row.values[8];var y7 = row.values[9];var spread = row.values[10]; y30>8.5 && y2>8"

See the last instruction y30>8.5 && y2>8. With the $ variable it would end up with something like var $=9;var $=10; $>8.5 && $>8;


Server down for maintenance

During the 10th of February, there will be a downtime of what I expect to be two to three hours as I migrate the server to a new location.

Server relocation begins now.

Server relocation is now complete and the server is back online.


Print Button

Print should open a new tab and display a png... then users can print from the browser or copy-and-paste the picture.

got it to print a png... no tick labels though.  Now to format output a little better.

My print does not work in Firefox.  I need some help on this... I am at the end of my rope with print.


Form Messages are not using 100% of screen

Description of bug
form messages can only expand to 980px
Steps to reproduce
List the precise steps to reproduce the bug:

Go to a page that has administrator only form message

Current behavior
for high resolution screens this message is not expanding across the window.
Expected behavior
The message area uses all of the allowed space.
Screenshots
If applicable, provide screenshots to help explain the bug.

Error information
Provide any error information (console errors, error logs, etc.) related to this bug.
Additional context
Provide any additional context that may be helpful in understanding and/or resolving the bug.
Affected version

[ ] 10.0.0 alpha build
[ ] 9.5.0 alpha build
[ ] 9.4.3 latest supported release

Affected browser

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Internet Explorer
[ ] Edge

I think this is an intentional design decision to restrict the form messages from growing too large.  If you want them to be 100% in your site, you can override the styles via your theme or the site's stylesheet (i.e. portal.css).  My opinion would be that this is not a bug/defect and should remain as-is.

ok no worries just looked odd on the form.  Felt like it should use the full screen or space allowed in the skin template instead of cutting itself off.

Well, this is certainly an opiniated thing but I think the default of 100% and people can override it if they want is better than a fixed default and people can make it otherwise. 100% is certainly more consistent IMO Very ofter with css frameworks, the forms measure like around 1050px wide with the default 980px it looks like it is just missing a little bit... I marked is as an enhancements and approved the PR but if there is traction to not merge that, please comment...

PR merged


When a block-referenced task is made complete, it is completed after rewriting the contents of another task.

Expected Behavior
When a block-referenced task is made complete, the correct task is completed.
Current Behavior
When a block-referenced task is made complete, it is completed after rewriting the contents of another task.
Steps to Reproduce
Complete task2 referenced by ref task2 with Live Preview of the following Markdown
## Category1
- [ ] task1

## Category 2
- [ ] task2 ^ca47c7

---
- ref task2 ![[#^ca47c7]]

before

after

Context (Environment)

Obsidian version: 0.14.13
Tasks version: 1.5.1
[x] I have tried it with all other plugins disabled and the error still occurs

Possible Solution
No idea.

Thank you for the report @0skgc! We need to investigate further, but I assume that the indexes of lists and sections are different within the reference. If that's the case, a fix would be tricky, as that is done by obsidian.

This is brilliant @0skgc - Thank you very much indeed for reporting it.
I have very occasionally seen issues similar to this, where the completed task is written in the wrong file or wrong task, over-writing and losing another task.
I have been trying hard to reproduce it, when it happens, but never got a reproduction. So I assumed it was some weird timing thing.
With this setup:

the default theme
Tasks 1.5.1 as the only plugin
Obsidian 0.14.13 on Mac
Your exact file saved on my machine
And viewed both in Source Mode and Reading mode..

Then when I mark the task as complete via the footnote in Reading mode, I consistently completed task2 overwriting task1.

Then when I mark the task as complete via the footnote in Reading mode, I consistently completed task2 overwriting task1.

Here is a demo:
https://user-images.githubusercontent.com/4840096/170471988-fa53fa13-a9ce-49ad-8509-11afc92d791a.mov

I don't use footnotes, but this exactly matches my experience of what has happened, but for me it's rare and when I spot it, I have never been able to reproduce it.
So I am super happy there is a reproduction now!

Oh, it's not a footnote, it's a transclusion.

At first I thought it was a rare occurrence too, but I have confirmed that it is reproducible, so I am reporting it.
I'm glad to be able to contribute to obsidian-tasks, as I make the most use of it among the obsidian plugins.

No it's not a transclusion.

I thought it was a transclusion. Why is it not?

 Sorry!

I have been able to reproduce this with both these versions of Tasks:

1.5.1
1.6.0

Just to capture what I've done so far to investigate this, and some possible areas to look at.
Display of debug info about tasks
I wanted to be able to see the section and line numbers for tasks, especially those displayed at the bottom of the file.
In 220cbb42e940411e9f59b57b9893a0a24285b200 I adjusted the display of tasks to include:
[sectionStart/sectionIndex | path | precedingHeader]
Which are:
    /** Line number where the section starts that contains this task. */
    public readonly sectionStart: number;

    /** The index of the nth task in its section. */
    public readonly sectionIndex: number;

    public readonly path: string;

    public readonly precedingHeader: string | null;

It's very much experimental. It breaks the display
What the results seem to show

Task.sectionStart - the section line numbers are 1-based, whereas Task.sectionIndex is 0-based
When rendering tasks in Reading Mode, the task header is null
Don't worry about the ^ca47c7 being rendered wrongly, it's because of the extra text I appended after it
Note that in the embedded task does not have any information about location. (I experimented by adding some lines, and the 2 indices were always 0)
In the results of a tasks block, the two section numbers are valid ...
In the results of a tasks block, the heading is known too

I've confirmed that when I click on the block-referenced task to complete it, the code invoked is the call handler in Task.toLi() and both the section numbers for the task are zeroes.
There are a few calls to Task.fromLine() that look like this:
    const task = Task.fromLine({
        line,
        path,
        sectionStart: 0, // We don't need this to toggle it here in the editor.
        sectionIndex: 0, // We don't need this to toggle it here in the editor.
        precedingHeader: null, // We don't need this to toggle it here in the editor.
    });

I wonder if there any that I could adjust so that they pass in the line numbers, and then this might fix the finding of the correct task to complete.
I'm going to have a break now - will leave this for a while, in case anything that I've said so far prompts any suggestions from @schemar ...

If I recall correctly, Tasks used line numbers (instead of sections) at some point. I moved to sections in order to utilize the (then) new Obsidian API for the markdown post processor. If I remember right, it is more performant than going line-by-line. Or maybe it is more accurate. Or possibly both :sweat_smile:
Adding line numbers to tasks should be easy. Would they be available for block-referenced tasks? If it was the line number from the editor, it wouldn't be the line number in the file.
Potentially, this is something that should be discussed with lishid. Shouldn't Obsidian's API provide the correct section data?
However, I am not sure line numbers would solve the timing issue? They would still change while the user interacts if you add more than one task.

cc @lishid

I've confirmed that when I click on the block-referenced task to complete it, the code invoked is the call handler in Task.toLi() and both the section numbers for the task are zeroes.
There are a few calls to Task.fromLine() that look like this:
    const task = Task.fromLine({
        line,
        path,
        sectionStart: 0, // We don't need this to toggle it here in the editor.
        sectionIndex: 0, // We don't need this to toggle it here in the editor.
        precedingHeader: null, // We don't need this to toggle it here in the editor.
    });

I wonder if there any that I could adjust so that they pass in the line numbers, and then this might fix the finding of the correct task to complete.
I'm going to have a break now - will leave this for a while, in case anything that I've said so far prompts any suggestions from @schemar ...

hi, it seems still not work right? @schemar

@quanru Will you please stop pinging people.
Nothing has changed in Tasks, so I would expect this still to be broken.
Have you tested this and found it to work? If so, please add information like what version of Obsidian and Tasks you are using.

@claremacrae Sorry! I tested this and found it still to be broken. My version information:
Obsidian version: 1.1.9
Tasks version: 1.22.0
OS: mac os 13.1
before:

after:

Yes, that is expected. There is currently a lot of effort going in to Tasks right now, but not in this area.

OK, I found it's broken without Tasks plugin, too.

working on solving this right now and I admit I'm having a little bit of fun 😄
https://user-images.githubusercontent.com/38915815/218335057-c0a9daeb-c1a4-4e88-840b-25be3fb2c89c.mov

As schemar mentioned in a previous comment,

Shouldn't Obsidian's API provide the correct section data?

I'm afraid there may indeed be a shortcoming in what Ob API is offering us.
To summarize the issue:

The InlineRenderer class acts on some generated HTML from some .md. This rendering applies when in "Reading" mode or in an inline markdown block.
The inline markdown blocks can be created with ![[noteName]], ![[#someHeader]], and ![[^foo]].
InlineRenderer loops through all list items in the HTML to create a list of tasks (Task[]). The section Idx for each Task comes direct from a call to myMarkdownPostProcessorContext.getSectionInfo(taskHTMLelem).
the section information returned appears to be relative to the beginning of the inline markdown block, as opposed to the beginning of the source note from which the inline markdown block is sourcing its content.
All cases of ![[noteName]] work OK since the inline markdown block begins at the beginning of the source note.

Therefore the troublesome cases are ![[#someHeader]] and ![[^foo]].

Without adjustments to the Ob API (unless someone can ideate a workaround), I suggest it be documented as a "known issue" ...

I feel the solution to this is the issue elsewhere about not overwriting a task line whose content differs from the task being completed...
Then, at least the user's data will not be corrupted.
The other solution is to document an example carefully and log an issue in the Forum. Doing so well enough to get the issue implemented takes several hours of effort in my experience.

I do agree that documenting the issue would be OK too.
Thanks very much for investigating this!

One work around could be to ignore clicks if the task is within a referenced section, if it's possible to identify that. Or maybe show a warning instead of handling the task. 🤔

There is precedent for producing a warning.
https://obsidian-tasks-group.github.io/obsidian-tasks/getting-started/#limitations-and-warnings
The one beginning
Tasks can read tasks that are inside blockquotes or [Obsidian’s built-in callouts](https://help.obsidian.md/How+to/Use+callouts).

(There have been some grumbles from users, as it is obtrusive and cannot be disabled)

I feel the solution to this is the issue elsewhere about not overwriting a task line whose content differs from the task being completed
...
The other solution is to document an example carefully and log an issue in the Forum. Doing so well enough to get the issue implemented takes several hours of effort in my experience.
...
I do agree that documenting the issue would be OK too.

I think all three of these should be done?
The first is a fix right now to ensure no data loss. The latter is to let people know about the limitation. And the middle one is the long-term solution to "resolve" the limitation.
I'm hoping that in pursuit of the middle one - getting more information about the issue, will reveal some sort of workaround or in fact that the Ob API does have what is needed ...

One work around could be to ignore clicks if the task is within a referenced section

What I meant by workaround was a different way to implement the feature (mark a task that is rendered in an inline markdown view as done)

Hi @BluBloos, thanks very much for all your efforts on this. I am really happy to be guided by your recommendations.


tagged docker releases

It would be great if one could pin the docker release to do be able to run updates intentionally.
Could be as simple as a commit hash, date, or a semvar

Will release a v1.0.0 soon enough, now that the database schema has been stabilized. Keep in mind that there might be backwards incompatible changes.

That's great.
Tagging nightly latest (aka the newest git version) builds with a commit hash or date would be still be beneficial, for those who want to live on the edge or try out a feature with the option to go back just a bit.

Closing this now that v1.0.0 is out. From now on the project will have tagged releases along with the latest tag on every commit.


greatly improve close button style

No hover:

Hover:

Can you provide a screenshot to see what this great improvement looks like? :P

Done.


Update Filter Wording

I noticed that the Filters use -
'Greater than' and 'Lesser than' which isn't correct English. So I updated to use 'Less than' instead.
I noticed that when applying a filter -
the wording is 'Clear all Filter', so I updated to use 'Clear all Filters' instead.

@dbauszus-glx good shout! Added the dictionary definitions and updated 👍


[CHORE]: Refactor app.js and others to simplify adding functionality into htmx and slide over style html pages.

What is the chore?

@robinchew perhaps this may solve our problem, rather than listening for DOMContentLoaded to set up the CKE toolbars etc  we listen for the class or id  being settled and run the setup then.

@robinchew perhaps this may solve our problem, rather than listening for DOMContentLoaded to set up the CKE toolbars etc we listen for the class or id being settled and run the setup then.

yes, if by settled you mean immediately after the  there is a

completed in various other issues.


MullvadVPN.MullvadVPN version 2022.3.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.1 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Not sure why wingetcreate set the manifest version to 1.2.0...


Creating a GUI

necessary functions to be added

viewing gazebo worlds
perform slam
perform autonomous navigation
perform pick and drop for service

@CHEVULAHAARVISH Please check the code and let me know

This as not yet completed


Migrate aws/rapids_intro.ipynb to deployment docs

Migrate aws/rapids_intro.ipynb to deployment docs.
See https://github.com/rapidsai/cloud-ml-examples/issues/203#issuecomment-1410349915 for detailed migration instructions.
### Tasks
- [x] Decide if notebook should be migrated and add "migrate: X" label (if no also close this issue)
- [ ] Test if notebook works
- [ ] Fix up anything that needs changing
- [ ] Ensure notebook has good title, description and metadata tags in the first cell
- [ ] Replace deployment instructions with links to docs pages
- [ ] Copy notebook into a new folder into deployment docs examples
- [ ] Copy any supporting files to the folder
- [ ] Add notebook to examples toctree
- [ ] Make PR to deployment docs repo

This notebook is more along the lines of deployment docs than an example workflow so I've merged the content into the SageMaker deployment docs page instead of migrating the notebook. https://github.com/rapidsai/deployment/pull/126


Can not convert a pandas data frame to SFrame

If a pandas data frame has an object column that contains NaN value, we can not convert it to an SFrame, and we get an unhelpful error message.
Turicreate version: 4.3.2
Python version: 3.6.5 (this is likely a bug only in Python 3)
Simple repo code with stack trace:
In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: import turicreate as tc

In [4]: temp = pd.DataFrame({'a': ['test', np.NaN]})

In [5]: tc.SFrame(temp)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
turicreate/cython/cy_flexible_type.pyx in turicreate.cython.cy_flexible_type.infer_flex_type_of_sequence()

turicreate/cython/cy_flexible_type.pyx in turicreate.cython.cy_flexible_type.flex_type_from_array_typecode()

ValueError: Type 'O' does not appear to be a valid array type code.

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
~/anaconda3/lib/python3.6/site-packages/turicreate/data_structures/sframe.py in __init__(self, data, format, _proxy)
    771                     for c in data.columns.values:
--> 772                         self.add_column(SArray(data[c].values), str(c), inplace=True)
    773                 elif (_format == 'sframe_obj'):

~/anaconda3/lib/python3.6/site-packages/turicreate/data_structures/sarray.py in __init__(self, data, dtype, ignore_cast_failure, _proxy)
    354                         # we need to get a bit more fine grained than that
--> 355                         dtype = infer_type_of_sequence(data)
    356                     if len(data.shape) == 2:

turicreate/cython/cy_flexible_type.pyx in turicreate.cython.cy_flexible_type.infer_type_of_sequence()

turicreate/cython/cy_flexible_type.pyx in turicreate.cython.cy_flexible_type.infer_type_of_sequence()

turicreate/cython/cy_flexible_type.pyx in turicreate.cython.cy_flexible_type.infer_flex_type_of_sequence()

turicreate/cython/cy_flexible_type.pyx in turicreate.cython.cy_flexible_type._infer_common_type_of_listlike()

turicreate/cython/cy_flexible_type.pyx in turicreate.cython.cy_flexible_type.infer_common_type()

TypeError: sequence item 0: expected str instance, bytes found

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
<ipython-input-5-4164fbdc309e> in <module>()
----> 1 tc.SFrame(temp)

~/anaconda3/lib/python3.6/site-packages/turicreate/data_structures/sframe.py in __init__(self, data, format, _proxy)
    812                     pass
    813                 else:
--> 814                     raise ValueError('Unknown input type: ' + format)
    815
    816     @staticmethod

~/anaconda3/lib/python3.6/site-packages/turicreate/cython/context.py in __exit__(self, exc_type, exc_value, traceback)
     47             if not self.show_cython_trace:
     48                 # To hide cython trace, we re-raise from here
---> 49                 raise exc_type(exc_value)
     50             else:
     51                 # To show the full trace, we do nothing and let exception propagate

TypeError: sequence item 0: expected str instance, bytes found

Same problem here. I had to use df = df.replace({pd.np.nan: None}) to workaround this issue.

This is still an issue in TuriCreate 6.4

I had the same error but a different cause.  My pandas dataframe was the result of a groupby and aggregating with pd.Series.mode to find the most frequent value.  Even though running df.dtypes gave the expected output and there were no NaN values, somehow the dataframe from this operation was not accepted by SFrame.  I just explicitly converted every column to its proper datatype, and now all is good.


Upgrade YCSB version

YCSB version used in PKB is 0.3.0, it causes some issues when latency is under 1 ms.
The current YCSB (0.7.0) will fix the above problem.
Talked to @cmccoy  offline, newer version of YCSB moved to HDR histograms by default, instead of outputting the count in each 1ms bucket, so YCSB result parser will need to be updated as well.

We can do this in steps: 1) upgrade YCSB to 0.7 but keep using the old histogram so parsing code in PKB stays the same, 2) change parsing code and use HDR histogram by default.
After upgrading the YCSB version to 0.7, there are two follow-up issues we need to address too:

issue #872: use CQL YCSB binding for cassandra
issue #885: consider using raw measurement types in all applicable PKB-YCSB benchmarks

Done in pull request ... https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/897


[Feature Request]"decorator" support "SkipType"

It coulde be better support filter on type level if some class has a specify attribute.

Can you add some context to this feature request? Or better, some sample files similar to what we have under https://github.com/obfuscar/obfuscar/tree/master/Tests/Input so that I can investigate.


compressVerify fails on ARM

compressVerify from testHuf.cpp fails on ARMv7 and AAarch64:
verifying compressed checksum hash =<PHONE_NUMBER>
IlmImfTest: /tmp/guix-build-openexr-2.5.0.drv-0/openexr-2.5.0-checkout/OpenEXR/IlmImfTest/testHuf.cpp:213: void {anonymous}::compressVerify(const short unsigned int*, int, unsigned int): Assertion `compressedHash == dekHash' failed.

@arkellr do you have an opinion on this
PR #717 has a proposed fix. The issue appears to be that on the ARM, 8 bit signed values are not sign-extended when converting to 32 bit unsigned, but on x86 that does happen. The change should force all architectures to work the same way as the ARM, which might have been what is intended. The precomputed checksums have been updated to the new values.
It might also be possible to update the code so the ARM works the same way as the x86, but I don't know the best approach.
None of this effects the core operation of the library itself: the data was being compressed identically, it's only the test itself that was erroneously reporting an issue

That PR change looks reasonable.
The explicit “unsigned char” cast should ensure predictable behavior across archs.
Yes the intent was that checksum routine (i grabbed it from Knuths book) produce the same chksum across archs.

On May 9, 2020, at 19:02, peterhillman<EMAIL_ADDRESS>wrote:

@arkellr do you have an opinion on this
PR #717 has a proposed fix. The issue appears to be that on the ARM, 8 bit signed values are not sign-extended when converting to 32 bit unsigned, but on x86 that does happen. The change should force all architectures to work the same way as the ARM, which might have been what is intended. The precomputed checksums have been updated to the new values.
It might also be possible to update the code so the ARM works the same way as the x86, but I don't know the best approach.
None of this effects the core operation of the library itself: the data was being compressed identically, it's only the test itself that was erroneously reporting an issue
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

btw... ‘cptr’ could  be ‘const unsigned char *’ ie.
const unsigned char* cptr = reinterpret_cast<const unsigned char*>(uncompressed);
... which saves on hvin to cast in the loop?

On May 9, 2020, at 19:46, Arkell Rasiah<EMAIL_ADDRESS>wrote:

That PR change looks reasonable.
The explicit “unsigned char” cast should ensure predictable behavior across archs.
Yes the intent was that checksum routine (i grabbed it from Knuths book) produce the same chksum across archs.

On May 9, 2020, at 19:02, peterhillman<EMAIL_ADDRESS>wrote:

@arkellr do you have an opinion on this
PR #717 has a proposed fix. The issue appears to be that on the ARM, 8 bit signed values are not sign-extended when converting to 32 bit unsigned, but on x86 that does happen. The change should force all architectures to work the same way as the ARM, which might have been what is intended. The precomputed checksums have been updated to the new values.
It might also be possible to update the code so the ARM works the same way as the x86, but I don't know the best approach.
None of this effects the core operation of the library itself: the data was being compressed identically, it's only the test itself that was erroneously reporting an issue
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I've updated the PR as suggested. It's slightly messier because it needs to go through the user-defined conversion operator() from Array to const char* first.

awesome... thx for figuring it out.
btw not sure how feasible... but might be good if the jenkins ci did an ARM pass at some point.

On May 9, 2020, at 20:35, peterhillman<EMAIL_ADDRESS>wrote:

I've updated the PR as suggested. It's slightly messier because it needs to go through the user-defined conversion operator() from Array to const char* first.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

It would be good to have a CI test for ARM, though it took my raspberry pi more than five hours to run the full IlmImfTest, so it might not be possible to do that very often.
OpenEXR is built for a lot of different processors and OSes, more than could be supported by a single CI.  Perhaps folks who regularly build for more unusual systems do frequent build and tests of the master branch between releases. Flagging up any issues caused by the latest commits would mean they could be addressed before the next release.


bug: after LspRestart nvim spams method textDocument/documentHighlight is not supported by any of the servers registered for the current buffer

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.10.0
Operating system/version
MacOS 14.1
Describe the bug

After deleting several buffers, LspRestart causes nvim to spam method textDocument/documentHighlight is not supported by any of the servers registered for the current buffer.

Turning on vim-illuminate extra does not disable native LSP highlighting.
Only manually adding

document_highlight = {
      enabled = false,
}

into lsp config opts fixes the issue.
Seems to be related to https://github.com/LazyVim/LazyVim/commit/cc99b219ded16ec60120698d6e8f453c2f37132c.

Steps To Reproduce

open 5-10 buffers (tested on TS project)
close several buffers
:LspRestart
move cursor

Expected Behavior
no error messages appears
Repro
No response

Cannot reproduce with Lua LSP.
Screencast 2024-05-20 01:03:43.webm
Maybe it has something to do with tsserver?

This should be fixed now.
The document highlight stuff in LazyVim also didn't work for tsserver or any other lsp server that advertises the capability dynamically. Should work fine now.
The errors also cant happen since we now remove the handlers on LspDetach

I had the same error method textDocument/documentHighlight is not supported by any of the servers registered for the current buffer recently after I update my neovim and lazyvim, but only for qmd file, a kind of markdown file type, as indicated here.
My fork of lazyvim config is here.
Following suggestion of neovim users, I used autocmd CursorHold command, and the output is:

And this is where textDocument/documentHighlight is mentioned in lazyvim, but I don't know whether it is related to this error.

Would appreciate advice on the source of such error and how to solve it.
Thanks.

@hopezh can you please update LAzyVim and see if it still happens?
Shouldn't be possible, since we only start document highlights when we're certain an attached lsp server has support.

I can reproduce it using your config. Will check what's happening here

@hopezh fixed on main. Will make a new release in a bit

@hopezh fixed on main. Will make a new release in a bit

Thank you very much, @folke !!!
Yes, I updated lazyvim to v11.6.1,  and no such issue anymore.
https://github.com/LazyVim/LazyVim/assets/23435810/46b9fd3a-cc2e-4321-a2ca-eb5d0f94e7ef

Great!

Still getting the textDocument/documentHighlight error on Lazyvim 11.8.0:

NVIM v0.10.0
To reproduce I lspRestart to show the message.
It occasionally also shows;

My lspConfig below:
-- add tsserver and setup with typescript.nvim instead of lspconfig
local util = require "lspconfig.util"
return {
  "neovim/nvim-lspconfig",
  dependencies = {
    {
      "pmizio/typescript-tools.nvim",
      dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" },
    },
  },
  ---@class PluginLspOpts
  opts = {
    ---@type lspconfig.options
    servers = {
    ...
      tsserver = {
        filetypes = { "typescript" },
        root_dir = util.root_pattern("tsconfig.json"),
      },
      ...
    },
   ...
    ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
    setup = {
      tsserver = function(_, opts)
        require("typescript-tools").setup({ server = opts })
        return true
      end,
      -- ["*"] = function(server, opts) end,
    },
  },
}

Do you still get the error after restart? Or only during?

@folke,

Do you still get the error after restart? Or only during?
for me, it happens only once after calling :LspRestart.

I don't think you're setting up typescript-tools correctly. You don't need to specify tsserver at all in nvim-lspconfig as they also mention in their repo. I have it set up like this and I don't get the error about documentHighlight. I occasionally do get the error
LSP[typescript-tools]: Error ON_EXIT_CALLBACK_ERROR: ".../nightly/nvim-linux64/share/nvim/runtime/lua/vim/lsp.lua:394: attempt to index local 'client' (a nil value)"

after LspRestart.

That ON_EXIT error is probably not related to document highlights?

I don't think it is. I still get document highlights correctly. And I didn't get the error about documentHighlight is not supported.

@dpetka2001, for me it happens w/o typescript-tools as well.
my whole lsp config:
return {
  "neovim/nvim-lspconfig",
  opts = {
    inlay_hints = {
      enabled = false,
    },
  },
  keys = {
    {
      "<leader>ci",
      function()
        vim.lsp.buf.code_action({
          apply = true,
          context = {
            only = { "source.addMissingImports.ts" },
            diagnostics = {},
          },
        })
      end,
      desc = "Add Missing Imports",
    },
    {
      "<leader>cq",
      function()
        vim.lsp.buf.code_action({
          apply = true,
          context = {
            only = { "source.removeUnused.ts" },
            diagnostics = {},
          },
        })
      end,
      desc = "Fix All",
    },
  },
}

git clone git@github.com:fellipeutaka/ultimate-app.git
pnpm i
open app.module.ts
move cursor to some variable and restart lsp
https://github.com/LazyVim/LazyVim/assets/25556202/504f9891-5c3b-4d8e-86ef-248329bea4f7

I just added an extra check for when the lsp server was stopped.

@folke, appreciate your work man, the issue seems to be resolved. I can get some odd behavior if I spam :LspRestart, but it does not look like a real-world issue


[WIP]: Phase constraint tool

Currently struggling with reading in the default of the arg parse values. Could hard code it, but that seems less neat.

This is not ready to be merged yet, but I wanted to create the work in progress PR so that others know it's being worked on.

Hey @catherine-martlin! I am going to be in contact with someone in the archives branch sometime this week to get some information about how to use the ExoMAST python API to fetch the meta data and populate it in the webpage. I was going to work from this PR and write the def get_transit_details function, you okay with me working off your PR?

Yep! That’s perfect and why I set it up and pushed the branch - despite still working on the main function/dealing with the argparse stuff. The main function runs, but the if/else set up needs more work and is clunky. But I wanted you to have the general structure so you could get started too.
I’m planning to bring up some of my questions/ask for advice on the script layout at the meeting today and we can chat then about your function/ideas for that too hopefully.

From: Mees Fix<EMAIL_ADDRESS>Sent: Tuesday, November 20, 2018 8:59:28 AM
To: ExoCTK/exoctk
Cc: Catherine Martlin; Mention
Subject: Re: [ExoCTK/exoctk] [WIP]: First commit of the phase constraint tool, currently struggling with … (#158)
Hey @catherine-martlinhttps://github.com/catherine-martlin! I am going to be in contact with someone in the archives branch sometime this week to get some information about how to use the ExoMAST python API to fetch the meta data and populate it in the webpage. I was going to work from this PR and write the def get_transit_details function, you okay with me working off your PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ExoCTK/exoctk/pull/158#issuecomment-440282680, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMg6t7aSd4VNw-JLvS7pUxAn8rKuthxBks5uxArAgaJpZM4Yp78h.

Fantastic @mfixstsci! I'll get your updates and then do a pass through to update the main function/methods of parameter input later this week. I want to first check the current codes in use by other functions for similar types of input types that we'll use on our web app. If I do think there's a need or use for the docopt option then I'll definitely reach out to you about that!

@catherine-martlin, I am playing around with the tool and was thinking about doing some overhauling to the parser. I think that we should require the users to input data instead of providing defaults for a few of the parameters (target_name, period, t0, etc). What are your thoughts?

@mfixstsci  - I agree that for our uses providing defaults isn't what we need - I just removed the entirety of argparse as it doesn't work well for us. I set all the parameters to None, if someone provides an actual value then my plan is for the code to use that, otherwise if the value stays None then our code should find it and set that value.
Things I think to be done:

[ ] Error message if a Target name isn't provided by the user.
[ ] What form should our final output to the user be in? Will that be using t0 as we currently don't use that I think. (Should it be an addition of minphase/maxphase to the time of t0?)
[ ] Once we have input/output set we should think of what tests/errors we want to build in to provide users with guidance and support.

I added docopt as a way to parse arguments. We should discuss this with the team before moving forward or adding it as a dependency! I am still trying to figure out if you can declare a default datatype for the arguments because right now everything is passed in as strings :(


docs: Make it explicit that chat.zulip.org is a Zulip server.

It should be kind of obvious, but people tend to skim over
URLs.

Automated message from Dropbox CLA bot
@showell, it looks like you've already signed the Dropbox CLA. Thanks!