go get needs some way to set missing user.email (maybe user.name) information in repos it pulls

What version of Go are you using (go version)?
go version go1.6.2 windows/amd64

What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=E:\src\Go
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GO15VENDOREXPERIMENT=1
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1

What did you do?

Global .gitconfig has user.name set and user.useConfigOnly = true, while user.email is purposefully unset.

This is to support using a personal address for personal repos, and a work address for work repos.

What did you expect to see?

Some mechanism for setting the missing information ahead of time

What did you see instead?

go get pulls from git remotes (e.g. github) fail because their individual repo configs require user.email to be set

Especially annoying when another tool is trying to do this for you (e.g. vscode)

Why does the pull fail? Can you please provide the exact output of the command? The Git documentation says that user.useConfigOnly affects only commits, so it shouldn't interfere with the clone that go get is doing.

(Github went down for a few minutes, I replied to the e-mail after that but I don't know if it will go anywhere or show up here later or what)
Sure. It seems to let you clone but not pull updates. I can't really explain (based on the documentation) why it does this, but it does. Perhaps the note about commits is just intended as an example, I don't know.
It is easiest to replicate without involving go directly (I'll use this repo). In any case, the error is identical:
$ git clone https://github.com/golang/go.git
Cloning into 'go'...
remote: Counting objects: 264675, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 264675 (delta 2), reused 1 (delta 1), pack-reused 264663
Receiving objects: 100% (264675/264675), 104.84 MiB | 23.51 MiB/s, done.
Resolving deltas: 100% (210291/210291), done.
Checking connectivity... done.

Run

  git config --global user.email<EMAIL_ADDRESS>  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: no email was given and auto-detection is disabled
You need to set your committer info first

In this specific case it's not repos I want to look at or contribute to, just ones vscode's golang extension wants to update to provide its IDE functionality. To do this it tries to go get them. I'm not really in the loop, except to say "sure install/update those things" and then to observe the failures.
Presumably anything else trying to use go get to pull in updates to dependencies would be susceptible to the same thing, and so in this case it would be nice to at least be able to tell go what I'd like that default to be in repos it clones, or to have it work around that requirement somehow.

Ah ha!
This is because I have pull set to rebase by default:
[pull]
        rebase = preserve

git pull --rebase=false doesn't ask for credentials.
Still, that's a sensible setting for my day to day git use, and I'm not going to turn it off in my global config (like I'm not going to set my e-mail in my global config).
If go is going to do pulls for me, perhaps it should turn rebase off for them.

I'm afraid this feels like somewhere between WAI and a big in Git to me. You have configured Git is such a way that it can't make commits, and then you're asking go get to do a thing that might involve making commits. It's not up togo get to fix your broken configuration. If there were a reasonable default value for user.email that go get could set, you would have it in your global config already.
That said, the bug in Git is that it would treat them differently. Both rebase=true and rebase=false can make commits, and IIUC in the same situations.
I'm going to close this issue as WAI as far as Go is concerned. If you think there is some specific behavior Go could have to make this better, please comment, but AFAICT there isn't.

It may be that it is a bug in Git, though while I can't think of a great reason for it to behave that way I'd suspect it's for some valid reason.
Either way, it's absolutely not a "broken configuration". Those two settings are the way that they are for good reason, and in working directly with a git repo it's no problem (in fact it's preferable) to set whichever email I need to set in the local config. It's probably somewhat common to do that with this setting -- I don't want to accidentally commit to a personal or public repo with my work e-mail address and I similarly don't want to commit to work repos with my personal address. So, if it works as intended then it wasn't intended to work very well.
I think there are at least four different ways Go could behave to make this better:

It could make sure it knows user.name and user.email prior to attempting operations that may require them, and request whatever is missing ahead of time interactively, or
It could alter the way it pulls code to enforce the default configuration it's currently just expecting to exist (--rebase=false for pull and I think --checkout for submodule update), or
It could behave more or less like it does now but provide preferences (environment variables, I guess?) that users could set that would then be set in local git configs after an initial clone, or
It could just look for a "template" config file in $GOPATH to merge into local configs

If Go is just going to run git commands on my behalf, and (compounding the issue) if things that work with Go are going to run those commands that run the git commands on my behalf, it's just extra annoying due to the additional steps I'm removed from using git directly.
I'm not saying none of those options have potential downsides, but I think we could probably find one with more net positives than negatives.
It's also obviously not a critical problem and it has (annoying) workarounds, but at the moment it doesn't make using Go very pleasant some of the time, and I think it would be a shame if the consensus was that that's the intent.
At the very least I think it would be worth mentioning this in the docs somewhere if we've identified a (valid) git configuration that doesn't work seamlessly with Go's usage of git.

Bonus 5th way, if it's not possible already, would be to somehow allow relatively easy overriding of the vcs commands as a preference, similar to picking up an optional config template but perhaps more generic.

Wouldn't it be easier to make a local .gitconfig in somewhere like your $GOPATH and just run go get from there so you don't have to worry about your global .gitconfig interfering?   I don't think that's an annoying workaround.
We already do submodule update (https://github.com/golang/go/blob/master/src/cmd/go/vcs.go#L136).
If you'd like to add a comment to the go get, that's fine, but I think go get does not need more complicated vcs support.

It would be easier to do that, but I don't think git will just walk up the directory tree until it finds one (or at least the docs say it doesn't): https://git-scm.com/docs/git-config#FILES
With respect to submodules, my point is that like pull you can configure submodule update to rebase by default, however re-reading that part of the git-config doc it looks like that might have to be specified in the per-specific-submodule, in which case I think it would be OK here. If that's not the case for whatever reason adding --checkout to the submodule update command would force it to use its default behavior and should override your config setting:

This option is only valid for the update command. Checkout the commit recorded in the superproject on a detached HEAD in the submodule. This is the default behavior, the main use of this option is to override submodule.$name.update when set to a value other than checkout. If the key submodule.$name.update is either not explicitly set or set to checkout, this option is implicit.

It sounds like your goal is to have different Git configuration in the repositories that go get clones, compared to the other Git repositories on your system. I've tried to explain below why that's not a typical case, but in any event, I think it should be doable by writing a post-checkout hook:
git config --global core.hooksPath E:\hooks

#!/bin/sh
if [[ "$GIT_DIR" = E:\src\Go* ]]; then
git config user.email<EMAIL_ADDRESS>fi

It could make sure it knows user.name and user.email prior to attempting operations that may require them, and request whatever is missing ahead of time interactively, or

Git is already doing this check, as you pointed out by showing the output of "git pull". I don't think it's worth duplicating this check in go get. There are probably a hundred other configurations that cause errors too, should we duplicate all of Git's logic in go get?

It could alter the way it pulls code to enforce the default configuration it's currently just expecting to exist (--rebase=false for pull and I think --checkout for submodule update), or

Setting --rebase=false doesn't prevent a commit from being created, and even if it did, people have preferences for rebase vs. merge. (You yourself, even, since you have pull.rebase set.) I think perhaps there's a disconnect in what go get is for. If you think of it solely as a package manager, then yeah, it makes a lot of sense to enforce a single, working, Git configuration. But go get is not just a package manager - it's a tool for managing your GOPATH, where user-written code also lives. Consider, for instance, if a user go gets a package, edits the code and commits locally, and then tries to update. Clearly, we should be using the user's preference for rebase vs. merge here - we shouldn't force them to use a merge (by passing --rebase=false). It is very common for users to directly manipulate the Git repositories in GOPATH.

It could behave more or less like it does now but provide preferences (environment variables, I guess?) that users could set that would then be set in local git configs after an initial clone, or

I don't see why those preferences need to be anywhere other than where they are now, .git/config. As I tried to explain above, the Git repositories that go clones are not special in any way.

It could just look for a "template" config file in $GOPATH to merge into local configs

Ditto, this is already the purpose of .git/config, why invent another config file?

I think it should be doable by writing a post-checkout hook

That's actually a really good idea, I'll see if it works!

Git is already doing this check, as you pointed out by showing the output of "git pull". I don't think it's worth duplicating this check in go get. There are probably a hundred other configurations that cause errors too, should we duplicate all of Git's logic in go get?

My argument that it might be worth it is go keeps those repos pretty deeply nested, likely inconveniently far away from whatever your cwd is or whatever you're trying to actually work on (again, even worse if it's something else running go get outside of a terminal, but that's not go's fault). It's an annoying context switch, and I think it would be reasonably easy to avoid in this case.

Setting --rebase=false doesn't prevent a commit from being created, and even if it did, people have preferences for rebase vs. merge.

Agreed, what it does do is let you fast-forward if that's possible, and you can do that without becoming an author or committer. If I only got this failure when fast-forward wasn't possible in package repos, it probably wouldn't have bothered me enough to think about it.

If you think of it solely as a package manager, then yeah, it makes a lot of sense to enforce a single, working, Git configuration. But go get is not just a package manager - it's a tool for managing your GOPATH, where user-written code also lives.

Sure, I understand that. This problem just happens to be with the packages for me. For a repo I'm developing in I'm just using git like normal, and it's unlikely anything would trigger a pull on that except for me doing it manually because I want to pull it. I'm much less aware of what's pulling which package when, where, and why. They're third-party packages, something requires them, I'd prefer they just worked however they need to work. I admit I do not know (being new to go) if there is any distinction made in go between working repos and dependencies that get pulled to act as packages. Either way would probably seem reasonable to me, for different reasons.

I don't see why those preferences need to be anywhere other than where they are now, .git/config. As I tried to explain above, the Git repositories that go clones are not special in any way.

Yeah I like that idea the least. They're not special, they're just (packages anyway) far removed from whatever somebody is actually trying to work on when one gets cloned or updated.

Ditto, this is already the purpose of .git/config, why invent another config file?

This would not be my first choice either, but if you have something that wants to clone or update a bunch of packages, it's annoying to go update a bunch of .git/config files every time.
If go is trying to manage this work behind the scenes on behalf of the user, which it is, I don't think it's a good idea for it to assume that everybody's global git config by itself will allow go manage clone/pull/whatever on a bunch of repositories. I don't think it's a good idea precisely because git is designed to have tiered configurations. The global one is settings that apply to all of your user's repos machine-wide, the local one is for settings that need to be different in different repositories. If go wants to more-or-less-seamlessly manage some git repos, it should let me help it do that somehow.
So, I think beyond the scope of this specific problem, it's not great that go doesn't provide some way to say "hey, here's how I want the repositories you go get configured, please."
With regards to this specific issue, I've also pinged the git mailing list to ask why rebase doesn't avoid this check when it should know it won't make new commits, and/or why it doesn't detect this and fast-forward instead of rebasing in this case since the end-result should be identical AFAIK. If and when they respond, I'll let you guys know what they say in case you're interested.

They started responding, and they seem to mostly agree that an early ident check could probably (and should probably) be avoided in this specific case, but they are not sure why the line responsible for it exists since it was added along with the whole of the interactive rebase feature.


MaterialMenuStrip is not showing in Visual Studio Toolbar!

@IgnaceMaes  I see it in your github repository but it's not available in the toolbar. I used Nuget Package Manager to install MaterialSkin v0.2.1 along with MaterialSkin.Updated v0.2.2. Please help!

Yeah, same. :-(


MobThing, updating walking force doesn't go to the exact max speed value

Note that this behavior was refactored to be in Mobility. The issue is now fixed from, a rework to movement with abstracting the system to work for both 2D and 3D.


BUG: HDF5Plugin.stage() ignores lazy_open attribute

In the HDF5Plugin.stage() method, there is a check to verify that the HDF5 file writing plugin has had an image frame pushed to the file writing plugin to initialise dimensions and possibly NDAttribute list before opening the file:
https://github.com/bluesky/ophyd/blob/11d5ff5418b5171fbc377283f52dd9ea17bddf38/ophyd/areadetector/plugins.py#L923-L927
This logic ignores the additional attribute lazy_open (since AD v2.1) that removes the concern about whether the file writing plugin has been primed (a.k.a warmed up).
If the lazy_open attribute exists and if its value is 1, then the existing check (if np.array(self.array_size.get()).sum() == 0) can be skipped .

For reference, search for LazyOpen in the AD docs here: https://cars.uchicago.edu/software/epics/areaDetectorDoc.html

For reference, search for LazyOpen in the AD docs here: https://cars.uchicago.edu/software/epics/areaDetectorDoc.html


Support Java 9 and Java 10

Right now, there is no release of NetBeans that really supports JDK9. However, I was able to make a few small changes to the GUI's configuration files and could then build the GUI using NetBeans 8.2 and JDK 9. However, the GUI didn't really launch properly:

Some issues:

[ ] JDK9 drops support for 1.5; so we must bump the module java versions to 1.6.
[ ] The JRE is much bigger (500 MB), and we cannot afford to copy all of that into our application! The application ends up being 1 GB. How do we trim down what we copy into our distribution?

Related: #931


500 internal server error

i'm hosting it on an apache2 webserver and I keep getting the 500 error. Unlike this issue (https://github.com/Xenthys/ShareXen/issues/5), I don't get any response from the api, just this:

also the webserver does work correctly

in the error log, i get:
[Wed Mar 03 15:36:15.069317 2021] [php7:error] [pid 3567] [client <IP_ADDRESS>:63555] PHP Parse error:  syntax error, unexpected 'SALT' (T_STRING), expecting ']' in /var/www/html/sharexen.php on line 37 [Wed Mar 03 15:40:11.154191 2021] [php7:error] [pid 3566] [client <IP_ADDRESS>:63579] PHP Parse error:  syntax error, unexpected 'SALT' (T_STRING), expecting ']' in /var/www/html/sharexen.php on line 37 [Wed Mar 03 15:40:15.712425 2021] [php7:error] [pid 3565] [client <IP_ADDRESS>:63580] PHP Parse error:  syntax error, unexpected 'SALT' (T_STRING), expecting ']' in /var/www/html/sharexen.php on line 37 [Wed Mar 03 15:41:57.406423 2021] [php7:error] [pid 3568] [client <IP_ADDRESS>:63605] PHP Parse error:  syntax error, unexpected 'SALT' (T_STRING), expecting ']' in /var/www/html/sharexen.php on line 37

bruh, i accidentally deleted a quote.


TestDescribe flake

https://prow.istio.io/view/gs/istio-prow/logs/integ-k8s-116_istio_postsubmit/1371955227472695296
I've seen it fail other times as well

The message indicated it timed out after 1 attempt.  The first attempt failed because the DestinationRule info did not appear in the output.  The timeout period is 5 seconds.
I am surprised that it only managed one iteration in 5 seconds.  I am tempted to merely increase the timeout to 10 seconds....

SGTM

Well, the actual attempt may be hanging for some reason, maybe that needs a timeout?


The page for downloading to host is down

Yeah... not much to add, the two links are down

I updated the manual install instructions, thanks

Thanks!
El vie, 28 jun 2024 a las 21:42, Davi Rodrigues @.***>)
escribió:

I updated the manual install instructions, thanks
—
Reply to this email directly, view it on GitHub
https://github.com/daviirodrig/EternalJukebox/issues/6#issuecomment-2197800529,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAE3WDCCIMLPJ5P3HLRJ2UTZJX7ITAVCNFSM6AAAAABJXZDE56VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJXHAYDANJSHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Alternative mlp with emptytest

pull request only, do not accept yet

don't Merge yet.
@MonZop it would be great if you could test this branch vs the current BioBlender-master. If there are features broken from this branch compared to the Master, please describe them in detail so I can focus on those.
I would like to push this branch to master soon, but not until it is at least on par with the features of Master ( so if something is broken in Master.. and also broken in this branch..thats OK). My point here is find any regressions ( something being worse than before ) . You know this App better than I.

I cannot get this version in Blender

(i admit I am still using the inefficient way of downloading the zip file, change name, remove all BioBlender old stuff etc.)

I am tempted to make a script to automate some of this process, it is needlessly convoluted for the end user who doesn't use Git.

If this is what you're doing, that's OK, you probably need to

untick the addon from preferences
ctrl+U,  (to save this in your default .blend)
close blender
open blender
retick addon
ctrl+U to store again.
test

What you suggest is what I do. I repeated several times.
I also unzipped the packet, renamed BioBlender and re-zipped.
For what i can understand (i may be wrong) the error seems to be inside : it cannot find some modules

@MonZop I have no immediate solution to that, I run the same code here. very frustrating. 0_o

@MonZop when you open blender, open into the Python Console (Not the Text Editor) and enter
bpy.utils.script_paths()

will look like:

any of the locations listed might contain a BioBlender folder, make sure you only have one BioBlender folder, if there are more then this can lead to a source of confusion for Python.

The branch should now be gone, it can be revived using Restore Branch, if the code ever needs to be looked at. It almost worked..

Good catch @MonZop , I restored the branch.
I'll be less active for a while. it's perhaps too hectic here at home :)


Enable/Disable arrows not working

v9.0.0
Windows 10
Using mouse to click arrows
https://zefoy.github.io/ngx-swiper-wrapper/

the problem is [hiden], which is { display: none} is not active..
A easy way to solve this, in the component css, use following style
:host ::ng-deep [hidden] {   display: none !important }

..and also breakpoints works in other way. let me know if this unintroduced as breaking change or a bug.
angular v9.0.2
lib v9.0.1 (ngx-swiper-wrapper)

@peterennis "Enable/disable arrows" means disabling "arrow key on the keyboard". Look on code:

{{config.keyboard ? "Disable arrow keys" : "Enable arrow keys"}}

public toggleKeyboardControl(): void {
    this.config.keyboard = !this.config.keyboard;
  }

In order to disable arrow buttons you should  use [disabled] attribute or set config.allowSlidePrev config.allowSlideNext to false.
<swiper [disabled]="true|false">

..and also breakpoints works in other way. let me know if this unintroduced as breaking change or a bug.
angular v9.0.2
lib v9.0.1 (ngx-swiper-wrapper)

@fahrulalwan swipers breakpoints changed to mobile-first since swiper 5.


BHBC-900: Use management page + accesss request list

Overview
Links to jira tickets
https://quartech.atlassian.net/browse/BHBC-990
This PR contains the following changes
Add user management page
Add access request list
This PR contains the following types of changes

[ ] New feature (change which adds functionality)
[ ] Enhancement (improvements to existing functionality)
[ ] Bug fix (change which fixes an issue)
[ ] Misc cleanup / Refactoring / Documentation
[ ] Version change

Checklist
A list of items that are good to consider when making any changes.
Note: this list is not exhaustive, and not all items are always applicable.
General

[ ] I have performed a self-review of my own code

Code

[ ] New files/classes/functions have appropriately descriptive names and comment blocks to describe their use/behaviour
[ ] I have avoided duplicating code when possible, moving re-usable pieces into functions
[ ] I have avoided hard-coding values where possible and moved any re-usable constants to a constants file
[ ] My code is as flat as possible (avoids deeply nested if/else blocks, promise chains, etc)
[ ] My code changes account for null/undefined values and handle errors appropriately
[ ] My code uses types/interfaces to help describe values/parameters/etc, help ensure type safety, and improve readability

Style

[ ] My code follows the established style conventions
[ ] My code uses native material-ui components/icons/conventions when possible

Documentation

[ ] I have commented my code sufficiently, such that an unfamiliar developer could understand my code
[ ] I have added/updated README's and related documentation, as needed

Tests

[ ] I have added/updated unit tests for any code I've added/updated
[ ] I have added/updated the Postman requests/tests to account for any API endpoints I've added/updated

Linting/Formatting

[ ] I have run the linter and fixed any issues, as needed
See the lint commands in package.json
[ ] I have run the formatter and fixed any issues, as needed
See the format commands in package.json

SonarCloud

[ ] I have addressed all SonarCloud Bugs, Vulnerabilities, Security Hotspots, and Code Smells

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Screenshots
Please add any relevant UI screenshots, if applicable.

You'll need to update your snapshots and tests should pass.


[Python] Add rename_columns to DataSet

Describe the enhancement requested
Dataset has fewer methods than Table, which is fine, of course. However we often use rename_columns on Table and it would be really handy for us to have it on Dataset, too. I think it could easily be implemented using replace_schema
https://arrow.apache.org/docs/python/generated/pyarrow.dataset.Dataset.html#pyarrow.dataset.Dataset
Component(s)
Python

Seems using replace_schema does not work. The dataset always uses those column names to query the parquet, meaning the column names must match the ones in physical files. What really is needed is a separation between physical column name and logical column name. This would be really great, especially since parquet is a bit limited in what column names are allowed.
The best would be to have a "column mapping" in the fragment  which would map the schema column names to physical column names. This would allow making queries with parquets with different physical column for the same logical column name. I guess that's a bit complex regarding the filters... but still would be great.
If we'd want to abstract Apache Iceberg oder Delta Lake Tables with the dataset, this would be needed (both support such column mapping stuff)

Shouldn't dataset() just take the same parameters as to_table()? The difference is that to_table() produces a materialized view while dataset() creates a logical view.. This would include columns whether they are a subset or computed/renamed from the original dataset..
I also not sure why there is a dataset.scanner class.. It looks logical, but you can't perform a join with it against another dataset.

@wjones127 do you think this is something that can be added?


View unchanged when I save my code

when I change my code and save in vscode, the console show Reloaded 0 of 436 libraries in 892ms., but the view not change at phone.
Steps to Reproduce
It seems appear when I split my route page to some smaller widget.

Logs

Run flutter analyze and attach any output of that command below
info - The method '_buildThemeData' isn't used - lib\src\app.dart:7:13 - unused_element
   info - The value of the local variable '_screenWidth' isn't used - lib\src\routes\home\index.dart:15:11 - unused_local_variable

2 issues found. (ran in 2.2s)

the output of running flutter doctor -v here
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.17134.648], locale zh-CN)
    • Flutter version 1.2.1 at D:\flutter
    • Framework revision 8661d8aecd (6 weeks ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at D:\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = D:\Android\Sdk
    • Java binary at: D:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.3)
    • Android Studio at D:\Program Files\Android\Android Studio
    • Flutter plugin version 33.3.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[√] Connected device (1 available)
    • STF AL10 • 5JPDU17712006976 • android-arm64 • Android 9 (API 28)

• No issues found!

I found if import dart files use import 'package:party_house/src/routes/home/index.dart'; it works well .
when I use import './src/routes/home/index.dart'; it doesn't work. is there some different in the two ways ?


option to start at startup

https://theswiftdev.com/how-to-launch-a-macos-app-at-login/

Or better yet! https://github.com/sindresorhus/LaunchAtLogin

This works for me as of b5c9b80 (I think built locally? but I'm not sure) on my personal laptop.

It does not work for me as of 339ecf6 built on GH.

It does not work with 339ecf6 built locally, either.

b5c9b80 does not work for me when built on GH (run 403021097). I just re-tried it with a local build, and that doesn't work either. I'm not sure if it matters, but for my attempt above that did work, it was my first attempt at start-on-login since upgrading my Mac. Maybe something is conflicting?

I hadn't verified the app, though. I'll do that next -- right now, Apple's login API is busted (yay apple).

I'm releasing b5c9b80 locally again, but instead of "copy app" distribution, I'm doing "developer id" with uploading to Apple.

Okay, but it does work if I do "Distribute App > Developer ID", upload it to Apple, and then export the notarized version. And that works with main (339ecf6), too.

I built locally using the same steps as in the script, and that worked.

Ok, so I took a copy of the app that I built locally and where launch-on-login worked, then uploaded it to dropbox, then downloaded back. Lo and behold, launch-on-login didn't work anymore!
So I think this is just that the "developer id" + download-from-website combo doesn't work.

Ah! But then if I take that same one and cp -R it, it does work.


Fix bottom tab bar icon layout on ipad

Add style for horizontal Icon with label.
Motivation
Without fix this container not have width and can't properly layout inner icon.
Test plan
Check icon layout on tablets when label is not empty.

can you show me a before and after screenshot for comparison?


code sample table update

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingAds/guides/code-examples.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Adding instructions for Typescript/Babel 7 setup

Currently this framework does not work with Babel 7 and @babel/preset-typescript setup, the reasons are:
1- Parameter decorators is not supported by @babel/plugin-proposal-decorators
2- Babel strips type information thus Reflect.getMetadata() returns undefined, more explanation url
After spending few hours to come to this conclusion i solved these issues by installing this babel plugin babel-plugin-transform-typescript-metadata url
I liked this framework and i almost gave up on it because of these issues,
It will be good to include this in the installation guide, to make it easy for developers with Babel 7 and @babel/preset-typescript setup which is a common setup.
Thanks

With #296 TypeGraphQL will turn more toward TypeScript compiler, so you will miss a lot new goodness by sticking to babel.
And feel free to create a PR with a new doc page in Others section with info how to setup Typescript/Babel correctly, maybe even with an example in the repository.

Great work on #296
Since i am not using babel heavily on backend projects it will be reasonable to switch to Typescript compiler.
Thanks

Use this plugin: https://github.com/leonardfactory/babel-plugin-transform-typescript-metadata#readme
Also see bug in https://github.com/19majkel94/type-graphql/issues/323


Removed unused pngs

This PR doesn't merge into "main", it merges into the branch for PR https://github.com/MicrosoftDocs/edge-developer/pull/2156.
Changes made in this PR:

Incorp'd my review comments, which the destination PR's owner approved offline:

Removed 2 light mode images.
Renamed an image to match UI (per one of the light mode filenames), and updated .md accordingly.

Also: Polished wording/tagging more, in the Quick Fix section.

Docs Build status updates of commit 7a4cffb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension.md
:white_check_mark:Succeeded
View

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension-images/light-bulb-light.png
:white_check_mark:Succeeded
n/a (file deleted)

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension-images/quick-fix-options.png
:white_check_mark:Succeeded
View

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension-images/quick-fix-options-light.png
:white_check_mark:Succeeded
n/a (file deleted)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 91f228e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension.md
:white_check_mark:Succeeded
View

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension-images/light-bulb-light.png
:white_check_mark:Succeeded
n/a (file deleted)

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension-images/quick-fix-options.png
:white_check_mark:Succeeded
View

microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension-images/quick-fix-options-light.png
:white_check_mark:Succeeded
n/a (file deleted)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Check existence of start and stop jobs before creation

Feature Description
It's common to see the following lines in k6-operator logs during test runs:
2023-10-13T19:32:16Z    ERROR   controllers.TestRun     Failed to launch k6 test starter        {"namespace": "default", "name": "k6-sample", "reconcileID": "a04a3862-895c-4b66-985d-f98d558c66c6", "error": "jobs.batch \"k6-sample-starter\" already exists"}

Both for start and stop job. This happens because there's no check for existence of those jobs prior to creating them and the state of TestRun hasn't caught up yet.
Suggested Solution (optional)
Unless something else comes up, it should be a straight-forward addition.
Already existing or connected issues / PRs (optional)
No response

Hey @yorugac , Would like to work on this. Possible to any more details or point me to code from where I can start?


Exposure date

If we always initialize ENTemporaryExposureKey with the same rollingStartNumber of 0,  do we get the actual timestamp of contact?

I don't know exactly how this works. The documentation states:
@property ENIntervalNumber rollingStartNumber;
This property contains the interval number when the key's TKRollingPeriod started.

But it doesn't describe what ENIntervalNumber nor what TKRollingPeriod is.

It's explained in the crypto spec on page 6.
See https://github.com/dstotijn/exp-notif-crypto/blob/master/crypto.go#L64-L68 and https://github.com/dstotijn/exp-notif-crypto/blob/master/doc_test.go#L10-L20 for an example implementation in Go.

Thanks, this is all fixed in #49 and is now merged.


Can't overwrite ORDER when using distinct

Environment

Elixir version (elixir -v): Elixir 1.3.2
Database and version: PostgreSQL 9.5.4
Ecto version (mix deps): 2.0.3 and 042aa92c62883572917477b2acaad3297590775c (master)
Database adapter and version (mix deps): postgrex 0.11.2
Operating system: Mac OS X 10.11.5

Current behavior
When using distinct and order_by fields listed in DISTINCT part
correctly show up in ORDER BY clause
Post |> distinct(:created_at) |> order_by(desc: :id)
# SELECT DISTINCT ON (p0."created_at") p0."id", p0."created_at"
# FROM "posts" AS p0
# ORDER BY p0."created_at", p0."id" DESC

However, when field is used both in distinct and order_by it gets added
twice to ORDER BY clause, which makes it impossible to alter the ordering
(in this example to change default ASC to DESC)
Post |> distinct(:created_at) |> order_by(desc: :created_at, desc: :id)
# SELECT DISTINCT ON (p0."created_at") p0."id", p0."created_at"
# FROM "posts" AS p0
# ORDER BY p0."created_at", p0."created_at" DESC, p0."id

Expected behavior
The expected behaviour would be to overwrite order placed by distinct
with one set by order_by
# ...
# ORDER BY p0."created_at" DESC, p0."id

Adding order_by on default when using distinct is a very bad idea. There is no possible way to change the order to descending. Maybe add it ONLY when there is no other order by. I also see no point in adding it automatically since postgresql will provide a proper message for this error. Better be explicit and avoid any magic, especially when you can't overwrite it.
Pull request that changed it:
https://github.com/elixir-ecto/ecto/pull/504

Yes, I agree. We can change this for 2.1.

Alternatively we should support :asc and :desc inside distinct, since the fields given to distinct need to be the first in order_by anyway.

If you want to make it even smarter, I'd suggest something like this:
# no order
Post |> distinct(:id, :created_at)
# => DISTINCT ON (id, created_at) ...

# existing field, different sort
Post |> distinct(:id, :created_at) |> order(desc: :id)
# => DISTINCT ON (id, created_at) ... ORDER BY id DESC, created_at

# additional field
Post |> distinct(:id, :created_at) |> order(desc: :name)
# => DISTINCT ON (id, created_at) ... ORDER BY id, created_at, name DESC

# existing field, requires reordering
Post |> distinct(:id, :created_at) |> order(desc: :created_at)
# => DISTINCT ON (created_at, id) ... ORDER BY created_at DESC, id

Not sure though if the last one isn't too much magic.

The problem is that the order in order by matters (although not in distinct). So our options is to make it behave exactly as in order_by, keeping distinct with higher priority, or force users to do it manually.

@josevalim the fields given to distinct don't need to be in order by. It's the opposite, fields used in order by need to be in distinct.
This is a correct query, there is no need to order by ID:
SELECT DISTINCT ON (p.id, p.created_at) p.* FROM "posts" AS p ORDER BY p.created_at
btw. thanks for your great work on Elixir and the whole ecosystem, we are migrating whole company from Ruby/Rails and loving it! :)

Fields used in DISTINCT ON do need to be in ORDER BY, it's specified in the postgres docs:

The DISTINCT ON expression(s) must match the leftmost ORDER BY expression(s).


ManagedResource controller should re-create immutable ConfigMaps/Secrets when update is denied

How to categorize this issue?

/area ops-productivity
/kind enhancement
What would you like to be added:
gardenlet and extensions create immutable ConfigMaps/Secrets via ManagedResources in the shoot cluster. Sometimes, end-users delete and re-create them while modifying their content. Eventually, gardener-resource-manager fails to reconcile those, e.g.
error during apply of object "v1/ConfigMap/kube-system/node-local-dns-835fb0a6": ConfigMap "node-local-dns-835fb0a6" is invalid: data: Forbidden: field is immutable when `immutable` is set

This situation does not self-heal today.
Instead, gardener-resource-manager should re-create such resources so that it can reconcile its desired state.
Why is this needed:
Improve ops productivity.

/assign


[Request] camera control commands

Is there a way to being able to manipulate the camera with commands similar to the /camera command on bedrock edition.  I want to create cinematics for a Java server and I can't seem to find a different mod then will let me do this.

Is there a way to being able to manipulate the camera with commands

Not currently, but I can mark this as a feature request since that is an interesting idea.

I want to create cinematics for a Java server

The "standard" way to do this is with ReplayMod, which records everything that happens in a world allowing you to render cinematic scenes after the fact.


the file insert is rewritten, finish all the functions by design

including:

path could include the filename, then not use the name list in pod/files/?/name
user/group could be "root" or id, not those in host system
uri support http/https and file:
content could be empty

and the new implementation avoid writing multiple tmp files.
example pod:
{
	"id": "test-inject-file",
	"containers" : [{
	    "name": "file-tester",
	    "image": "ubuntu:latest",
	    "workdir": "/",
	    "command": ["/bin/bash"],
		"files": [{
			"path": "/root/test/",
			"filename": "resolv.conf",
			"perm": "0600"
		},{
			"path": "/root/test/logo.png",
			"filename": "logo",
			"perm": "0644",
			"user": "1000",
			"group": "1000"
		},{
			"path": "/root/test/t1",
			"filename": "data",
			"perm": "0644"
		},{
			"path": "/root/test/t2",
			"filename": "data2",
			"perm": "0755"
		},{
			"path": "/root/test/t3",
			"filename": "corrupt",
			"perm": "0000"
		}]
	}],
	"resource": {
	    "vcpu": 1,
	    "memory": 512
	},
	"files": [{
		"name": "resolv.conf",
		"encoding": "raw",
		"uri": "file:///etc/resolv.conf"
	},{
		"name": "logo",
		"encoding": "raw",
		"uri": "http://7xj84t.com1.z0.glb.clouddn.com/test/logo.png"
	},{
		"name": "data",
		"encoding": "raw",
		"content": ""
	},{
		"name": "data2",
		"encoding": "base64",
		"content": "aGVsbG8sDQpoeXBlciENCg=="
	},{
		"name": "corrupt",
		"encoding": "base64",
		"content": "VsbG8sDQpoeXBlciENCg="
	}],
	"volumes": [],
	"tty": true
}

Signed-off-by: Wang Xu<EMAIL_ADDRESS>

code LGTM


Add router with the proxy service for rolling node

Question: should IsRollingRedirection be in the BlockchainRepository interface ?
proxyBlockchainRepository -> implemented
lruBlockchainRepository -> not implemented

I wonder if we could rename environment variables to get something more constant :
ARCHIVE_NODES_URL -> ✅  OK
TEZOS_PORT -> ARCHIVE_NODES_PORT
ROLLING_NODES_URL -> ✅  OK
TEZOS_ROLLING_PORT -> ROLLING_NODES_PORT


Bower support

Why there is no Bower installation for this library?
Usually front-end library coming from Bower and back-end (NodeJS) library coming from NPM

bower install mdPickers


Limitations of external tables need to be pointed out

External tables uses a preview feature, and has a wide range of limitations. These need to be called out

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


Force unwrap CGImage for Swift 2.3 compatibility

Looks like there was one more optional-related issue preventing the file from compiling under Swift 2.3. Sorry for the spam!

Funny, I didn't see this error and Xcode didn't catch it either.


Webpack Error with @payloadcms/plugin-search (Beta 21)

Something (I believe depth) has changed with the search plugin from its 2.0 version to the latest 3.0 beta.
To reproduce, simply create a new Restaurant in the Restaurants collection - theoretically, the search plugin is supposed to create a zero-depth search-optimized collection representing that restaurant. While the plugin succeeds in creating an object, the searchOverrides appear to fail: the city and citySlug fields fail while also returning the above Webpack error (which shouldn't exist in 3.0). Additionally, trying to open any of the Search Results collection causes a crash.
The error below logs out constantly when navigating around the Admin Panel, but doesn't to seem cause any problems, so I've generally ignored it:
 ⨯ node_modules/.pnpm/@payloadcms+plugin-search@3.0.0-beta.21_@types+react@18.2.79_monaco-editor@0.48.0_next<EMAIL_ADDRESS>(5:30) @ LinkToDoc
 ⨯ TypeError: (0 , _payloadcms_ui_forms_Form__WEBPACK_IMPORTED_MODULE_0__.useWatchForm) is not a function
    at stringify (<anonymous>)
digest: "1307261427"
  3 | import React from 'react';
  4 | export const LinkToDoc = ()=>{
> 5 |     const form = useWatchForm();
    |                              ^
  6 |     const fields = form.fields;
  7 |     const { doc: { value: { relationTo, value: docId } } } = fields;
  8 |     const config = useConfig();

This is how I configure the search plugin in the payload config, which worked just fine in 2.0:
    search({
      collections: ['restaurants'],
      searchOverrides: {
        fields: [
          { name: 'city', type: 'text' },
          { name: 'citySlug', type: 'text' },
          { name: 'slug', type: 'text' },
        ],
      },
      beforeSync: ({ searchDoc, originalDoc }) => {
        console.log('searchDoc', searchDoc, 'originalDoc', originalDoc)
        const returnDoc = {
          ...searchDoc,
          city: originalDoc?.city?.name,
          citySlug: originalDoc?.city?.slug,
          title: originalDoc?.name,
          slug: originalDoc?.slug,
        }
        return returnDoc
      },
    }),

This is how it appears in the admin panel, where you can see the 2.0 entries that succeeded with the same config, and the failed 3.0beta21 entry

Doing an additional payload call on the assumption that the depth of the query changed fixes the searchOverrides issue:
search({
      collections: ['restaurants'],
      searchOverrides: {
        fields: [
          { name: 'city', type: 'text' },
          { name: 'citySlug', type: 'text' },
          { name: 'slug', type: 'text' },
        ],
      },
      beforeSync: async ({ searchDoc, originalDoc, payload }) => {
        console.log('searchDoc', searchDoc, 'originalDoc', originalDoc)
        const { slug: citySlug, name: cityName } = await payload.findByID({
          collection: 'cities',
          id: originalDoc?.city,
        })
        const returnDoc = {
          ...searchDoc,
          city: cityName,
          citySlug: citySlug,
          title: originalDoc?.name,
          slug: originalDoc?.slug,
        }
        return returnDoc
      },
    }),

Notably the webpack error persists despite the above fix, and clicking any search item causes the admin panel to crash with the console logging that same aforementioned webpack error  followed by this TypeError:
[20:23:49] ERROR: There was an error building form state
    err: {
      "type": "TypeError",
      "message": "Cannot destructure property 'collectionSlug' of 'reqData' as it is undefined.",
      "stack":
          TypeError: Cannot destructure property 'collectionSlug' of 'reqData' as it is undefined.
              at Object.buildFormState [as form-state] (webpack-internal:///(rsc)/./node_modules/.pnpm/@payloadcms+next@3.0.0-beta.21_@types+react@18.2.79_graphql@16.8.1_monaco-editor@0.48.0_next@_hkmzhwv2pfhwxpo272ueu2xx7e/node_modules/@payloadcms/next/dist/routes/rest/buildFormState.js:35:17)
              at eval (webpack-internal:///(rsc)/./node_modules/.pnpm/@payloadcms+next@3.0.0-beta.21_@types+react@18.2.79_graphql@16.8.1_monaco-editor@0.48.0_next@_hkmzhwv2pfhwxpo272ueu2xx7e/node_modules/@payloadcms/next/dist/routes/rest/index.js:537:55)
              at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
              at async /Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-route-experimental.runtime.dev.js:6:54186
              at async e_.execute (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-route-experimental.runtime.dev.js:6:45421)
              at async e_.handle (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-route-experimental.runtime.dev.js:6:55440)
              at async doRender (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.js:1364:42)
              at async cacheEntry.responseCache.get.routeKind (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.js:1578:40)
              at async DevServer.renderToResponseWithComponentsImpl (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.js:1498:28)
              at async DevServer.renderPageComponent (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.js:1915:24)
              at async DevServer.renderToResponseImpl (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.js:1953:32)
              at async DevServer.pipeImpl (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.js:900:25)
              at async NextNodeServer.handleCatchallRenderRequest (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/next-server.js:273:17)
              at async DevServer.handleRequestImpl (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.js:796:17)
              at async /Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/dev/next-dev-server.js:339:20
              at async Span.traceAsyncFn (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/trace/trace.js:157:20)
              at async DevServer.handleRequest (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
              at async invokeRender (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/router-server.js:174:21)
              at async handleRequest (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/router-server.js:353:24)
              at async requestHandlerImpl (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/router-server.js:377:13)
              at async Server.requestListener (/Users/wade/Git/payload-3.0-demo/node_modules/.pnpm/next@14.3.0-canary.34_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/start-server.js:142:13)
    }

I've sent @paulpopus the repro  and dm'd him the env file for reproduction.

Thanks Paul! Sadly I can't test this as a necessary package my in my project can't go React 15 yet. But, for future projects I'll be sure to report here if this issue stands! Thanks for following up and taking care of this!


Playing movies from another library

Noticed a small issue that I would like to check if it is possible to fix.
Since my kids are watching plex quiet a lot I have created a separate “children’s movie” library. It seems movies that I ask for are only able to parse my main movie library. Would it be possible for a fix to this or would it be too complicated to solve? Worst case scenario I will put back everything into one folder!

I'll see what I can do about custom libraries, thanks!

I would also very much like this feature.
I had HDD fail and am currently relying on a friends shared library.
None of these objects are scanned/available to plex_assistant?

Added in 0.0.4


Add support for markdown with glow

with reference to issue #40

Merged in 41507944c49c4bbbf8f3a21dde42243c6b4e1b79. Also added word-wrap. Thank you!

The word wrap feature is not working as intended. Is there something to be done from the user side?
I tried to test it on glow markdown preview, when I resize the terminal window and use glow (alone, without lf) it word wraps appropriately. But it doesnt do the word wrapping with ctpv. Could you recommend what other programs I should try it on...


Better 'why' for updating cacheName

Let's describe a bit better when the cacheName gets changed, and why that's important, and what's going on in the background if you don't update the cacheName.

+1, @Meggin are you referring to Step 6 on Beware of edge cases? I found the following line a bit confusing and had @petele explain it to me in better detail at the #PWARoadshow

Cache depends on updating the cache key for every change

Hi!
Thanks for the feedback. I've rewritten the codelab from scratch and believe I have fixed this issue. The code has been updated, and the new guide is now live.
If you find any issues with the new codelab, please let us know!
Thanks!


High cpu usage

I need help, i got 4 core i5 and this is what it consumed before

May you try the latest release?
Sorry I have been inactive for quite a while.


Fatal error

Compile this with 3166db52:
fun f<T: Movable>(src: sink T, target: set T) {
  &target = src
}
public fun main() {}

IR/Emitter.swift:2241: Fatal error: Unexpectedly found nil while unwrapping an Optional value

This issue has been fixed. A version of your reproducer is actually used in the standard library: https://github.com/hylo-lang/hylo/blob/92f2b6922769aa49ca0a4b7be408a4b7b19e1856/Library/Hylo/Core/PointerToMutable.hylo#L115-L120


Fix failing build due to tokio changes

@95th I am currently working on my own (async-await test program)[https://github.com/Byron/github-star-counter], and this PR worked perfectly for me. Is there a better way to get hyper to work now? Thank you!

I'd expect a bigger change there, not sure. Tokio switched from a poll function to an async-fn, so this patch now creates a future and discards it if it's not ready, which is technically a weird thing to do.
So do several other active PRs currently as far as I can tell. While it technically may work for many of these cases, it feels... wrong IMO.

@Blub Agree. and it would have perf implications as well in the real world. I asked Carl Lerche about it. We need to make a bigger change so that we can directly use async fns. I made an unsuccessful attempt at it.
@Byron I closed this PR because there were others like it.


Make undo keys for hint based modes configurable

I didn't open an issue first as I'm pretty sure that you intended to add this at some point anyway.

This was a semi deliberate omition given that backspace and C-u are near universal binds and I was loath to add to the ever proliferating sea of config options, but we are probably past that point anyway.


[Request] "GM Only" Option + Respect Entity Permissions?

This module is a godsend! The only downside I've encountered so far is that players have access to the "Bulk Tasks" button, and when they click it they can see the names of all entities — regardless of player permissions. They can't actually do anything to entities that they don't have permissions for, but you still run the risk of them seeing entities with names like "Surprise Goblin Boss", "Bedroom Hidden Treasure", etc.
It would be ideal if we had the option to hide the button from players, and also some way to ensure that players can only see entities that they have permissions for.

Will deffo add that with the next release.


Update GitHub Actions badge on readme

https://github.com/badges/shields/issues/8671

Thanks!

@zliu41 @ndmitchell this commit appears to have broken CI

Yeah. This commit is fine; https://github.com/ndmitchell/neil needs an update.

Yeah. This commit is fine; https://github.com/ndmitchell/neil needs an update.

https://github.com/ndmitchell/neil/pull/58

Merged that, so hopefully will work now


Adding Keyword Autohighlighting & hyperlinking & tooltipping

function that parses text and inserts colored hyperlinks for specific keywords
ALSO ADD TOOLTIPS FOR THIS

[ ] Add this for Conditions

It auto highlights!


[GLUTEN-2612][VL] Fix updateHdfsTokens double free or corruption

What changes were proposed in this pull request?
When multiple Cores execute tasks on an Executor at the same time, the following exception will occur.
*** Error in `/usr/jdk64/current/bin/java': double free or corruption (fasttop): 0x000055b1677232d0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81329)[0x7f9634f1d329]
/data04/hadoop/yarn/local/usercache/op/appcache/application_1685359810729_0140/gluten-daf0d89c-a915-4270-aaa2-a0dc27e7789f/jni/bb70bf12-76bb-4989-bfb2-5dd76859d4da/gluten-2748809769443381838/libhdfs3.so.1(hdfsSetDefautUserName+0x10d)[0x7f95f62ae99d]
/data04/hadoop/yarn/local/usercache/op/appcache/application_1685359810729_0140/gluten-daf0d89c-a915-4270-aaa2-a0dc27e7789f/jni/bb70bf12-76bb-4989-bfb2-5dd76859d4da/gluten-2748809769443381838/libvelox.so(_ZN6gluten24WholeStageResultIterator16updateHdfsTokensEv+0x65)[0x7f95eecf87c5]

(Fixes: #2612、#2447、#2093)
How was this patch tested?

centos 7 + gcc 4.8.5
TPCDS-5T
--conf spark.executor.cores=4

CC: @liujiayi771

have you tried to build gluten with GCC9 + _GLIBCXX_USE_CXX11_ABI=0 ?

Adding -DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 has no effect

@wang-zhun thanks for digging on this issue!
have you tried to build gluten with GCC9 + _GLIBCXX_USE_CXX11_ABI=0 ?
CC: @liujiayi771

I have tested this parameter and it has no effect.

@wang-zhun  Hello, I'm having a libvelox.so call issue-- undefined symbol: hdfsSetDefautUserName. This exception causes the executor to crash

@hailiang9615 You need use libhdfs in oap-project.


Notice required by MIT License can prove impractical

Many free software licenses require the license to be reproduced in full in all copies, such as the MIT License (Expat variant) currently used for Pently. This is why the NES Classic Edition's front end includes several pages of "Legal Notices". But then it can afford to do so because it has half a gigabyte of NAND flash for the Linux kernel, emulator, and game ROMs. NES games distributed on Game Paks, on the other hand, are in the tens to hundreds of kilobytes and may not have enough space to store a viewer for the entire software license in the binary. So the MIT License (Expat variant) alone might not be the best choice, as it requires the notice to be reproduced in all copies. This has already caused problems for use of Pently in ROM hacks.
There are a few other non-copyleft licenses. Before Pently moved to Git, I had been using a variant of the GNU All-Permissive License changed to limit the credit requirement to source code:

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved in all source code copies.
This file is offered as-is, without any warranty.

My project templates and the game RHDE: Furniture Fight still use this license.
If we find it useful to go with a better-known license, I was considering switching to the license of zlib, which similarly requires the full notice only in source code and encourages but does not require credit in object code. This license is also used by the Allegro 5 library, and it carries forth the spirit of the "giftware" license used by Allegro 4.
As the only contributor so far, I have the right to make this license change unilaterally, but I'm opening this to others' input because I'm nice.

We can also modify the conditions clause, too.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. This copyright notice may be provided nonadjacent to a binary representation of the Software (including, but not limited to, compiled source code and accompanying files, if any) if this copyright notice would otherwise become a hinderance within a space constrained environment; in such case this copyright notice must be provided in any provided documentation or legal notices provided alongside the Software, in whole and unobstructed.

Modifying an existing license will make it OSI-unapproved. In practice, it's easier to use an existing license with the conditions you want, which is why I'm thinking zlib.
And I agree that copyleft for a library like this would be counterproductive.

Looking back at this, zlib looks like a good choice.


detect/ipopts: IP option tests

Ticket
Redmine ticket: 6864
Add tests for IP options lacking coverage -- "extended security" is tested by ipopts-esec
From the README:
Test the IP options. There's already a test for the extended security option; the following IP options are
tested:

Record Route "rr"
Loose source route "lsrr"
EOL "eol"
NOP "nop"
Timestamp "ts"
Security "sec"
Strict source route "ssrr"
Stream id "satid"

The pcap was generated using ipopt.py

This requires https://github.com/OISF/suricata/pull/10688 right ?
Should the first SV PR only fail master ?

This PR failing on all branched currently blocks merge of https://github.com/OISF/suricata/pull/10859

This PR failing on all branched currently blocks merge of OISF/suricata#10859

I've added a version qualifier for the tests. It'll fail on unmodified master and will be skipped on main-7.0.x and master-6.0.x

Merged in #1780, thanks!


Failed assertion: line 1021 pos 12: 'activity!.isScrolling': is not true.

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Keep dragging the tabbar in nestedScrollView
Switch the tabbar to refresh widget
After finish refreshing, it will report the error.

Expected results
no showing error
Actual results
report: Failed assertion: line 1021 pos 12: 'activity!.isScrolling': is not true.
Code sample
Code sample

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final ScrollController topScrollController = ScrollController();
  final ScrollController nestedScrollController = ScrollController();

  int times = 10;
  Timer? timer;

  double get headerHeight =>
      MediaQuery.of(context).size.height -
      MediaQuery.of(context).padding.top -
      MediaQuery.of(context).padding.bottom -
      56 -
      100;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("NestedScrollView Demo")),
      body: NestedScrollView(
        controller: nestedScrollController,
        headerSliverBuilder: (context, innerBoxIsScrolled) {
          return [
            SliverToBoxAdapter(
              child: Listener(
                onPointerDown: (details) {
                  print("onPanStart");
                },
                onPointerUp: (details) {
                  print("onPanEnd");
                },
                onPointerMove: (details) {
                  print("onPointerMove: ${details.delta.dy}");
                  if (topScrollController.offset >=
                          topScrollController.position.maxScrollExtent &&
                      details.delta.dy < 0) {
                    nestedScrollController.animateTo(
                      headerHeight,
                      duration: const Duration(milliseconds: 200),
                      curve: Curves.easeInOut,
                    );
                  }
                },
                child: ConstrainedBox(
                  constraints: BoxConstraints(
                    maxHeight: headerHeight,
                  ),
                  child: ListView.builder(
                    controller: topScrollController,
                    itemBuilder: (context, index) {
                      return ListTile(
                        title: Text("Item $index"),
                      );
                    },
                    itemCount: 20,
                  ),
                ),
              ),
            ),
          ];
        },
        body: DefaultTabController(
          length: 2,
          child: Column(
            children: [
              TabBar(
                tabs: const [Tab(text: "Tab1"), Tab(text: "Tab2")],
                onTap: (index) {
                  times = 3;
                  setState(() {});
                  timer = Timer.periodic(
                    const Duration(milliseconds: 1000),
                    (_) {
                      print("times: $times");
                      if (--times <= 0) {
                        timer?.cancel();
                        setState(() {});
                      }
                    },
                  );
                },
              ),
              Expanded(
                child: times <= 0
                    ? ListView.builder(
                        shrinkWrap: true,
                        itemBuilder: (context, index) {
                          return ListTile(
                            title: Text("Item $index"),
                          );
                        },
                        itemCount: 20,
                      )
                    : Container(
                        width: double.infinity,
                        height: 1000,
                        color: Colors.grey.shade400,
                        alignment: Alignment.center,
                        child: const Text(
                          "Loading...",
                          style: TextStyle(
                            fontSize: 20,
                            color: Colors.white,
                          ),
                        ),
                      ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
Video

Logs
Logs
======== Exception caught by gesture ===============================================================
The following assertion was thrown while handling a gesture:
'package:flutter/src/widgets/scroll_position.dart': Failed assertion: line 1021 pos 12: 'activity!.isScrolling': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.yml

When the exception was thrown, this was the stack:
#2      ScrollPosition.didOverscrollBy (package:flutter/src/widgets/scroll_position.dart:1021:12)
#3      _NestedScrollPosition.applyFullDragUpdate (package:flutter/src/widgets/nested_scroll_view.dart:1318:7)
#4      _NestedScrollCoordinator.applyUserOffset (package:flutter/src/widgets/nested_scroll_view.dart:1105:31)
#5      ScrollDragController.update (package:flutter/src/widgets/scroll_activity.dart:385:14)
#6      ScrollableState._handleDragUpdate (package:flutter/src/widgets/scrollable.dart:811:12)
#7      DragGestureRecognizer._checkUpdate.<anonymous closure> (package:flutter/src/gestures/monodrag.dart:550:55)
#8      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24)
#9      DragGestureRecognizer._checkUpdate (package:flutter/src/gestures/monodrag.dart:550:7)
#10     DragGestureRecognizer.handleEvent (package:flutter/src/gestures/monodrag.dart:391:9)
#11     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:98:12)
#12     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9)
#13     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)
#14     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:141:18)
#15     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:127:7)
#16     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:488:19)
#17     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:468:22)
#18     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:333:11)
#19     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:413:7)
#20     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:376:5)
#21     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:323:7)
#22     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:292:9)
#23     _invoke1 (dart:ui/hooks.dart:186:13)
#24     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:424:7)
#25     _dispatchPointerDataPacket (dart:ui/hooks.dart:119:31)
(elided 2 frames from class _AssertionError)
Handler: "onUpdate"
Recognizer: VerticalDragGestureRecognizer#6a6bf
  start behavior: start
====================================================================================================

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.13.3, on macOS 13.2.1 22D68 darwin-arm64, locale zh-Hans-CN)
    • Flutter version 3.13.3 on channel stable at /Users/10733/fvm/versions/3.13.3
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (3 weeks ago), 2023-09-06 14:32:31 -0700
    • Engine revision b8d35810e9
    • Dart version 3.1.1
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/10733/Library/Android/sdk
    • Platform android-34, build-tools 33.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] IntelliJ IDEA Community Edition (version 2023.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.80.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (5 available)
    • MEIZU 18 (mobile)           • 181QGFYA225DE • android-arm64  • Android 13 (API 33)
    • Pixel 3 XL (mobile)         • 89SY0B6DE     • android-arm64  • Android 12 (API 31)
    • sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64  • Android 13 (API 33) (emulator)
    • macOS (desktop)             • macos         • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 117.0.5938.92

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Hi @windows7lake. Thanks for filing this. I tried reproducing this on the latest stable version but can't reproduce. Are you able to upgrade to the latest versions to check if this issue persists?
https://github.com/flutter/flutter/assets/53122008/81389c16-7029-4dba-a9b2-86efabeb163e
flutter doctor -v

[✓] Flutter (Channel stable, 3.13.5, on macOS 13.0 22A380 darwin-arm64, locale
    en-NG)
    • Flutter version 3.13.5 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 12fccda598 (6 days ago), 2023-09-19 13:56:11 -0700
    • Engine revision bd986c5ed2
    • Dart version 3.1.2
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.82.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile)     • emulator-5554                        •
      android-arm64  • Android 14 (API 34) (emulator)
    • iPhone 14 Pro Max (mobile)      • BB55E997-7F31-462D-B3B1-6B177D9B40C7 •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • iPad (10th generation) (mobile) • 5B1DA2B3-69EC-435B-95F8-550B7F3A9FBB •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)                 • macos                                •
      darwin-arm64   • macOS 13.0 22A380 darwin-arm64
    • Chrome (web)                    • chrome                               •
      web-javascript • Google Chrome 116.0.5845.187

[✓] Network resources
    • All expected network resources are available.

• No issues found!

@dam-ease I am on the latest version. The issue is with zooming, not scrolling as in your video.


SliverFillRemaining overscrolls when bottom padding is set

Steps to reproduce
Added sample code run on dartpad
Expected results
SliverFillRemaining needs to fill remaining screen size without padding, so not to create overscroll.
In the added sample I am getting a red box with padding of 30, only at the top and sides, fills up the screen with overscroll of 30, bottom padding.
Seems like that the only solution is to put the bottom padding inside SliverFillRemaining:
       SliverFillRemaining(
                          hasScrollBody: false,
                          child: Padding(
                            padding: const EdgeInsets.only(
                              bottom: 30,
                            ),
                            child: MyWidget(),
                          ),
                        ),

Which makes no sense as I dont always know what the padding is...
Actual results
SliverFillRemaining overscroll with the exact size of bottom padding.
In the added sample I would expect to get a red box with padding of 30 fills up the screen.
Code sample
Code sample

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
        home: Scaffold(
          body: SafeArea(
            child: CustomScrollView(
              slivers: [
                SliverPadding(
                  padding: const EdgeInsets.only(
                    top: 30,
                    left: 30,
                    right: 30,
                    bottom: 30, // comment and check overscroll
                  ),
                  sliver: MediaQuery.removePadding(
                    context: context,
                    removeBottom: true,
                    removeTop: true,
                    removeLeft: true,
                    removeRight: true,
                    child: SliverMainAxisGroup(
                      slivers: [
                        SliverFillRemaining(
                          hasScrollBody: false,
                          child: MyWidget(),
                        ),
                      ],
                    ),
                  ),
                ),
              ],
            ),
          ),
        ),
      );
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Container(
        color: Colors.red,
        child: Center(
          child: Text(
            'Hello, World!',
            style: Theme.of(context).textTheme.headlineMedium,
          ),
        ),
      );
}

Screenshots or Video

Screenshots / Video demonstration
Over scroll by 30 (bottom padding)

No over scroll

Logs
Logs
Running on [dartpad](https://dartpad.dev/)

Flutter Doctor output
Doctor output
Running on [dartpad](https://dartpad.dev/)

Do you mean MediaQueryData.padding? That means there is something "above" the current context which is obstructing the bottom 30 pixels of the screen. So it's intended to overscroll, so you can reveal which content is hidden below the obstruction. Or am I missing something?

I mean by top, left and right I can tell for sure that something is wrong here as the behaviour is not the same.
When setting top, left or right  sliver SliverFillRemaining is still filling only the remaining of the screen, but why when setting bottom it does not.
Check what happens when you set top to like 300, SliverFillRemaining is shrinking as it thinks the view port shrank, it will only be viewport.height - topPadding.

@shovelmn12
This is expected behavior. SliverFillRemaining fills the remaining space in the viewport and slivers are laid out top to bottom (in a vertical, non-reversed scroll view).
That means if you put padding around it, it will take up viewport.height - padding.top  starting at padding.top. Any bottom padding will be applied afterwards and cause the sliver content to exceed the viewport extent.
Do you have an actual use case that you cannot solve by putting a Padding inside the SliverFillRemaining instead?

@Jjagg
Hello, thanks for the explanation. And I think SliverFillRemaining is really confusing name and does not really help most of the time, ill try to explain my use case maybe I am using the wrong widgets.
What I am trying to create is a page that displays different widgets, depending on types from the server, and buttons at the bottom of the page, no matter what's widget size (it might need scrolling too).
Simplefied example:
class MyPage extends StatelessWidget {
  final String type;

  const MyPage({
    super.key,
    required this.type,
  });

  @override
  Widget build(BuildContext context) => Scaffold(
        body: SafeArea(
          child: CustomScrollView(
            slivers: [
              MyHeader(),
              if (type == "a") MyAWidget(),
              if (type == "b") MyBWidget(),
              if (type == "c") MyCWidget(),
              if (type == "d") MyDWidget(),
              MyButtons(),
              SomePadding(),
            ],
          ),
        ),
      );
}

Now I don't mind using SliverFillRemaining and do something in the lines:
class MyPage extends StatelessWidget {
  final String type;

  const MyPage({
    super.key,
    required this.type,
  });

  @override
  Widget build(BuildContext context) => Scaffold(
        body: SafeArea(
          child: CustomScrollView(
            slivers: [
              MyHeader(),
              SliverFillRemaining(
                hasScrollBody: false,
                child: Column(
                  children: [
                    if (type == "a") MyAWidget(),
                    if (type == "b") MyBWidget(),
                    if (type == "c") MyCWidget(),
                    if (type == "d") MyDWidget(),
                    MyButtons(),
                    SomePadding(),
                  ],
                ),
              ),
            ],
          ),
        ),
      );
}

But as I said I donnow what widget is going to display so do I set hasScrollBody to true or false?
And even if I set it to true how do I make sure it wont scroll if not needed?
It also ignores SafeArea as you stated it will add it at the bottom of the page...
I'd like to continue using slivers within MyXWidget and not like the workaround I wrote which uses Columns in all MyXWidget.
What I'd like to have is RealSliverFillRemaining that would always expaned to fill remaining of space in the screen regardless to where it's positioned. I know it's almost impossible due to the nature of flutter (I might be wrong here) so of course it's must be positioned last.
I'd say it need to follow BoxConstraints(minHeight: viewPort - verticalPadding) so it will give it's child at least the size of remaining of the screen or their own size, then it will be easy to get the requested behaviour.
I hope it's understandable enough!

To clarify as I see it
HeaderWidget()
[some variable number of widgets]
FooterWidget()

And if the variable widgets are short, it should look like this:
HeaderWidget()
MyWidget1()
// vertical padding
FooterWidget()

But once variable widgets get tall enough, there will be no more padding in the middle, and actually we should inject the MediaQuery padding at the bottom to make it fully scrollable.
May need to write a custom Sliver, but it's certainly doable, let me think about it.

Yeah but footer must stick to the bottom of the page regardless of the MyWidgetX size between header and footer.
Also MyWidgetX might be long so it would make sense to be able it to be a sliver
Thanks for your help

I don't know if I fully understood correctly what your goal is with SliverFillRemaining, but you may mean something like this:
        // You could apply outer padding inside the Scrollview by wrapping all your root slivers below in SliverSafeArea(bottom: false, sliver: SliverMainAxisGroup(slivers: [ ... ])) instead of this SafeArea.
        SafeArea(
          bottom: false
          child: CustomScrollView(
            slivers: [
              MyHeader(),
              if (type == "a") MyAWidget(),
              if (type == "b") MyBWidget(),
              if (type == "c") MyCWidget(),
              if (type == "d") MyDWidget(),
              SliverFillRemaining(
                hasScrollBody: false,
                child: SafeArea(
                  top: false,
                  left: false,
                  right: false,
                  child: Align(
                    alignment: Alignment.bottomCenter,
                    child: Column(
                      mainAxisSixe: MainAxisSize.min,
                      children: [
                        MyButtons(),
                        SomePadding(),
                      ],
                    ),
                  ),
                ),
              ),
            ],
          ),

This aligns buttons to the bottom with padding and correctly uses SliverFillRemaining so it won't exceed the viewport if MyXWidgets don't take up too much space.
I wrote this on mobile so it may contain typos.
Key things:

you can split up SafeArea/Padding to apply bottom padding inside SliverFillRemaining
you should only apply SliverFillRemaining to the element that needs to grow to fill the viewport, most of the time this is only the last sliver in the list; docs have some good examples: https://api.flutter.dev/flutter/widgets/SliverFillRemaining-class.html.

Wait a sec, why can't you just use SafeArea above all the slivers? And just not draw at all under the MediaQuery.padding. Would be the simplest. Or is the thing above the slivers which causes the mediaquery padding transparent/semi-transparent?

@Jjagg
Ok, I just starting testing your idea and it hit me why it wont work.
I just have one widget (video player) which I want it to fill the space exactly all others can be whatever size they want. This one probably creates all the issues, otherwise your solution would work!!
Any ideas on how to solve that?
Thanks for the help BTW :)

@shovelmn12 If you are looking for a working solution, StackOverflow would be place to look for it.
If you think there's currently a framework limitation for your case, then we can make the issue actionable here.

Yes I think there is an issue with SliverFillRemaining as specified above!

@shovelmn12 I think you're expecting SliverFillRemaining to do something it's not designed for. It's intended to be the last sliver in a list. I fills the remaining space in the viewport or defers to its child for sizing if the viewport is already full, i.e. the slivers before it + its child take up more space than the viewport extent.
As is, I don't think this is actionable and i do think there are other ways to achieve the behavior you want, but it's still not 100% clear to me what that behavior is exactly.

I just have one widget (video player) which I want it to fill the space exactly all others can be whatever size they want.

If you want a sliver's height to match the viewport height you can use LayoutBuilder:
LayoutBuilder(
  builder: (context, constraints) => CustomScrollView(slivers: [
    VideoPlayer(height: constraints.maxHeight),
  ]),
);

Yeah but that would fill up the whole screen, I have more widgets around there so we will get scrollable page

Yes, you would add those in the slivers list:
LayoutBuilder(
  builder: (context, constraints) => CustomScrollView(slivers: [
    SliverOtherWidget1(),
    SliverToBoxAdapter(child: SizedBox(height: constraints.maxHeight, child: VideoPlayer())),
    SliverOtherWidget2(),
  ]),
);


feat: Certificate completion page

Notion ticket link

Certificates: End of Module Page

Implementation description

Implements the certificate/[toolId] page, uses dynamic data
Hooks up the following buttons/links

Toolkit > Tool breadcrumb
Exit and Save Progress
Download
Back to Toolkit
Remaining button: Share

Adds top bar (with HUG logo linked to home) to Module page and this certificate page
Final slide ('next' button forced to 'finish') links to Certificate page

https://www.loom.com/share/e26f328b6b374d228b14f5c44ee2c705

Steps to test

Visit http://localhost:3000/
Ensure you are logged in, if not log in at http://localhost:3000/login
Ensure a tool with a module exists, if not create one at http://localhost:3000/admin/dashboard/modules
Click into a module and go to final slide
Click Finish, check if the certificate page pops up with correct info
Test the buttons listed above, see if they work as intended

What should reviewers focus on?

Make sure the page is styled correctly and functional in terms of its buttons

Checklist

[ ] My PR name is descriptive and in imperative tense
[ ] My commit messages are descriptive and in imperative tense. My commits are atomic and trivial commits are squashed or fixup'd into non-trivial commits
[ ] I have run the appropriate linter(s)
[ ] I have requested a review from the PL, as well as other devs who have background knowledge on this PR or who will be building on top of this PR

Note that the Share button has been hidden in the recent commits.


Two period suffix looks out of place

This plugin is great! Thank you so much for the work on it. After I installed it, I thought the .. suffix for most statuses was some bug with joining things into the status bar, but after looking at the source code, I see it is intentional: https://github.com/denolehov/obsidian-git/blob/master/main.ts#L477-L500
I was curious why you chose to add that. It felt a bit out of place on my status bar.

I figured I'd ask before sending you a PR 😀

Hey @skalnik, it's just a personal preference :D

Fair enough! Thanks for the info. I'll leave it as be since it's on purpose 😀


Add proper config file error messages.

Would be good to write a test for that, but it's tricky, you'll need to redirect output somewhere and find required message in it.

Ok, let's merge it for now since we have tests to check that config is required and add tests to check error message later.


Passing ensemble predictions to MD engines

Given #648, I thought it was a good idea to open an issue for the forwarding of ensemble predictions to MD engines, which we will need relatively soon.
The design could be as simple as having a new optional property name (something like ensemble_member) for any registered property in metatensor.torch.atomistic, and then passing this to the metatensor interface to the MD engine, which can decide how to handle it.
i-PI should be well-equipped for this. ASE is also very customizable so we should be able to make the ensemble predictions available to the user relatively easily. I don't know LAMMPS very well, but perhaps we could code something in the wrapper, or perhaps leave it alone and error out if ensemble predictions are received.
@Luthaf @ceriottm

In i-PI this should be implemented at the level of the metatensor driver, but yes should be feasible. Davide and Matthias are best positioned to help.

The design could be as simple as having a new optional property name (something like ensemble_member) for any registered property in metatensor.torch.atomistic, and then passing this to the metatensor interface to the MD engine, which can decide how to handle it.

I'm not sure I understand what you mean here. If we are adding a new property name to the output, this might have to be a different output. I would also not do something where the behavior changes on the property names, since this makes the whole thing more complex to explain to users and engine developers alike.

My favorite solution here would be to do another output name alltogether, with its own specification. So for example ensemble_energy, which is similar to energy except it has multiple properties per sample. For maximal compatibility, we should also encourage any model that can do ensemble_energy to also have a energy output, that will be used by any engine that don't know or don't care about ensembles.

In general, what's the use case for this? Do we actually need to full ensemble of predictions, or will this always be used to compute the mean and standard deviation for uncertainty quantification purposes?

@ceriottm can expand, but passing all the individual predictions is necessary.
And yes, I meant an optional property that may or may not be there. It's more complicated, but it would give us ensembles for free on any property that we might register later on

Should we keep this open to track implementation in the relevant engines?


Ship .NET Aspire preview 7

Describe the issue or suggestion

Create ".NET Aspire Preview 7" article

Calculate deltas and document diffs between v6 and v7

Update TOC entry and hub page listing
Add release note links
Update all versions to new preview 7 bit and verify builds are green
Update all .NET Aspire API docs

Closed by #802 and https://github.com/dotnet/aspire-api-docs/pull/22


[JAVA-12183] Upgraded restx to latest version(1.0.0-rc3) and moved it…

… to jdk9-and-above profile

retest this please


Add note about installing watchman

This is a new version of https://github.com/facebookincubator/create-react-app/pull/1933 with new commit base. Now it is targeted at 0.9.x branch

Thanks!


Changes to the project.dsl so nebula-release can tag repos

NetflixOSS-Testing » netflixoss-build-infrastructure » netflixoss-build-infrastructure-pull-requests #1 FAILURE
Looks like there's a problem with this pull request

NetflixOSS-Testing » netflixoss-build-infrastructure » netflixoss-build-infrastructure-pull-requests #2 FAILURE
Looks like there's a problem with this pull request

NetflixOSS-Testing » netflixoss-build-infrastructure » netflixoss-build-infrastructure-pull-requests #3 FAILURE
Looks like there's a problem with this pull request

NetflixOSS-Testing » netflixoss-build-infrastructure » netflixoss-build-infrastructure-pull-requests #4 FAILURE
Looks like there's a problem with this pull request

NetflixOSS-Testing » netflixoss-build-infrastructure » netflixoss-build-infrastructure-pull-requests #5 SUCCESS
This pull request looks good

NetflixOSS-Testing » netflixoss-build-infrastructure » netflixoss-build-infrastructure-pull-requests #6 SUCCESS
This pull request looks good


ability to overwrite default response counter limit (10)

Description
Library returns error "zookeeper_process returned no response too many times: 11".
We wanted to add a flag using which will be possible to overwrite the default response counter limit (10).
Motivation and Context
We have nodes in ZK with a lot of data and the server responds after a couple more tries than 10, about ~40.
How Has This Been Tested?
Changed value of a new flag "response_counter_limit" to "100" and data was received.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] I have read the code of conduct.
[x] I have read the contributing guide.
[x] I have updated the documentation accordingly (if applicable).

Very nice @wareczek, thank you for this PR!
I'll have a look as soon as possible.

@DavidVujic thanks for merge! When could you release this to npm? :)

@wareczek v4.10.0 is out! 😄


requestAnimationFrame support

Support accessing the requestAnimationFrame concepts from blank canvas.

http://creativejs.com/resources/requestanimationframe/
http://www.html5rocks.com/en/tutorials/speed/animations/
http://updates.html5rocks.com/2012/05/requestAnimationFrame-API-now-with-sub-millisecond-precision

I could use this function for my current project.


Rename resource fields and add read/delete hooks

Description of changes:

Rename any <Resource>Name field to simply Name
Point Key delete to ScheduleKeyDeletion operation

Support for the kms.services.k8s.aws/pending-window-in-days annotation for overriding

Add hook for filtering Aliases by Name
Add integration tests for Key and Alias

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing in favour of #5, #6 and #7 (Split by resource type)


chore: release main

:robot: I have created a release beep boop
logger: 1.2.1
1.2.1 (2023-07-17)
Bug Fixes

bump prod dependencies to latest (07f1a5e)

parser: 2.2.2
2.2.2 (2023-07-17)
Bug Fixes

bump prod dependencies to latest (07f1a5e)

perf: 1.0.3
1.0.3 (2023-07-17)
Bug Fixes

bump prod dependencies to latest (07f1a5e)

search: 1.0.2
1.0.2 (2023-07-17)
Bug Fixes

bump prod dependencies to latest (07f1a5e)

secret: 1.0.1
1.0.1 (2023-07-17)
Bug Fixes

bump prod dependencies to latest (07f1a5e)

static-server: 2.1.1
2.1.1 (2023-07-17)
Bug Fixes

bump prod dependencies to latest (07f1a5e)

timer: 1.0.1
1.0.1 (2023-07-17)
Bug Fixes

bump prod dependencies to latest (07f1a5e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aversini/node-cli/releases/tag/logger-v1.2.1 :sunflower:

:robot: Release is at https://github.com/aversini/node-cli/releases/tag/secret-v1.0.1 :sunflower:

:robot: Release is at https://github.com/aversini/node-cli/releases/tag/static-server-v2.1.1 :sunflower:

:robot: Release is at https://github.com/aversini/node-cli/releases/tag/timer-v1.0.1 :sunflower:


Allow log history access without successful websocket connection

It would be beneficial if users could view log history even without a successful WebSocket connection. The webapp already obtain the log history, but without  successful WebSocket connection, it is not displaying them. It will disable live update but this would ensure that users can access crucial information at all times.

If you've experienced websocket related issues recently, while using k8s with OIDC, we've just fixed this issue in version 0.19.1.


Modal on Date Clicked

Bug description / Feature request:
vm.dateClicked Override.
Is there a way to place a button on each day that when clicked will alert the date regardless of if there are events in that day or not.
My want is to use this calendar allowing uses to click a day and be presented with a modal depending on the day selected.
Upon clicking the Add Event button, I would be able to ascertain the date that the button was click on and from that date display an add modal with that date set. While also returning a set of data to populate on that screen.
Link to minimally-working plunker that reproduces the issue
http://plnkr.co/edit/hdqsfwjrJTsvqA2xNXLh?p=preview
Versions
Angular: 1.5.0
Calendar directive: angular.module('UserCal', ['mwl.calendar', 'ui.bootstrap', 'ngAnimate'])
Browser name and version: Chrome

You can use a custom template to do this, then on your button place this ng-click="vm.dayClicked(day, false, $event)" and it will call the on-timespan-click callback with the date that was clicked and then you can add whatever logic you'd like to display a modal etc.