Local push is launching cached / old application version

Version

resin-cli 7.6.2
macOS 10.13.5 (17F77)
Raspberry Pi 3 B+ device

Description

I made first resin tests with resin-rust-hello-world, deployed as local-app (app name)
Then I created my application rust-thermometer and deployed it as local-rust-thermometer (app name)
Based on this comment and #912 I trashed .resin-sync.yml and removed --app-name, so local-app (app name) will be used
Deployed via local-push.sh script & resin-sync.yml

No matter what I do, it launches cached hello world example (I see Hello, world!) in logs ...
Current default time zone: 'Etc/UTC'
Local time is now:      Mon Jul  2 06:32:07 UTC 2018.
Universal Time is now:  Mon Jul  2 06:32:07 UTC 2018.

Hello, world!          <--------
sudo: unable to resolve host 3a2bbb8
xinit: connection to X server lost

... and it completely ignores my thermometer. When I ssh into container ...
root@3a2bbb8:/usr/src/app# ls src/
app  config.rs	error.rs  log.rs  main.rs  processing  state.rs  w1
root@3a2bbb8:/usr/src/app# cat src/main.rs
extern crate chrono;
extern crate clap;
extern crate find_folder;
extern crate futures;
#[macro_use]
extern crate lazy_static;
extern crate piston_window;
#[macro_use]
extern crate slog;
extern crate slog_async;
extern crate slog_term;
extern crate tokio;
extern crate tokio_codec;
extern crate tokio_fs;
extern crate tokio_timer;

mod app;
mod config;
mod error;
mod log;
mod processing;
mod state;
mod w1;

fn main() {
    let logger = log::create_root_logger();
    let shared_state = state::SharedState::new();

    info!(logger, "Spawning background thread for processing");
    processing::spawn_background_thread(shared_state.clone(), logger.clone());

    // TODO: Add some shutdown logic (SIGTERM), especially for Docker image on resinOS
    info!(logger, "Launching UI");
    app::run(shared_state);
}
root@3a2bbb8:/usr/src/app#

... it contains correct app source code, there's no println!("Hello, world!"), etc.
SSHed into the device and removed all images via balena. Pushed locally again and Hello, world!.
Decided to try again with --app-name local-rust-thermometer, pushed locally and Hello, world!.
I thought, okay, I probably messed the device completely (forgot to enable local mode, ...) and I decided to remove it from my fleet, flash it and add it again. To my surprise, still Hello, world!. There's caching involved somehow where even --force-build doesn't help.
Is there a way how to really force rebuild of everything? Ignore caches? Still investigating, maybe you already saw something like this and there's an easy fix for this.

There isn't any caching in the CLI that I can think of that could cause anything like this I'm afraid. All the CLI does for local push is connect to the Docker server on the target device, tar & upload your source files, and ask it to build them. If you've replaced the device, you've replaced all the build state. I can't really think of anything in the CLI that could cause this, other than somehow deploying the wrong source code.
Do you currently have the Hello, world! code git pushed, and you're trying to local push the alternative source? It's plausible that there's something wrong in the supervisor on the device, which means it keeps starting up the wrong application somehow... You could try provisioning a new device in a new application, without that source, and that would rule that out entirely. If you do that and you're still seeing the Hello World message, it's definitely coming from your local source folder somehow.
This does sound very odd and confusing though. If you don't manage to get any further clues, enable support access to the device (there's a button on the actions page), post its dashboard URL here, and I'll take a closer look and see if I can work out what's going on.

Nope, Hello, world! was never pushed. resin origin master contains thermometer, older version, but no Hello, world!.
I've got additional devices here. Going to add them to the fleet. One in local development mode, another one in production mode. We'll see what happens.

@pimterry this is definitely weird ...

Device 3a2bbb818b7593944bcbad085e70705e (named local)

development & local mode

Hallo, world! no matter what I do.

New device d54b4cee8763ec270b8e60500a1f92df, named production

production, no local mode

Just flashed, added to the fleet (for the first time), first reboot, thermometer with UI, git push resin master, reboot and Hallo, world!.

New device 7120336ebbb87d2905f9cfbbc3fd1f28, named development

development, no local mode

Just flashed, added to the fleet (for the first time), first reboot, thermometer with UI, git push resin master (see 2), reboot and Hallo, world!.
Granted one week access to all these devices.
Origin resin branch master == https://github.com/zrzka/rust-thermometer master
main.rs history. There's no Hallo, world!.

This definitely looks like an issue in your build.
If I SSH into the running container on the local device (SSH into the OS, balena exec -it local-app /bin/bash), and run /usr/src/app/launch-app.sh, then it really does print Hello, world!, and running grep -R 'Hello, world', you'll see that target/debug/thermometer contains exactly that string. Looking at the history of that container (balena history local-app), every build step after the base image was run fresh today, so it's something in the source you're building that's causing this.
It's hard to say exactly why, but it really looks like something in your source is intentionally logging that message. Looking at your Dockerfile, it looks like you're building the dependencies stage including the Hello World code (you're building a totally fresh app), and then copying in your real source and rebuilding, and that's not correctly rebuilding as you're expecting. I'm no Rust expert, so I'm not really sure how Rust's incremental compilation & build caching etc are supposed to work there, but I'm fairly confident that's your problem.
You can test this fairly quickly either way - if you add a rm -r target/ before your last cargo build to make sure that builds from scratch, I bet everything will start working nicely.

Mea culpa, searching at the wrong place. I thought that the Hello, world! comes from example project which was deployed as a first thing to test. But I completely forget that I did add cargo new ..., which creates same file with the same output.
Sorry for this. I'll definitely have to buy you some 🍻 in Barcelona 😉

No worries, glad you've got it sorted!

Yep, running in all modes! Will post an update here when I solve dependencies build caching, so, others can learn as well.

In case anyone is going to read this issue and has same problem, here's the fixed version:

Dockerfile.template
local-push.sh

Works with local push and fleet deployment (git push resin master) as well. Cached dependencies, does not include build tools in the final image, source code, ...


typo in .pre-commit-hooks.yaml

An error has occurred: InvalidManifestError:
==> File /home/nir/.cache/pre-commit/repowg948lm5/.pre-commit-hooks.yaml
==> At Hook(id='clang-format')
==> At key: types_or
==> At index 9
=====> Type tag 'textproto' is not recognized.  Try upgrading identify and pre-commit?

did you try doing what the error message says? it's not wrong

Ok I can confirm it was identify, sorry... I wonder why won't you update the version of identify at pre-commit?

think about it a bit and I'm sure you can think of why that's not a good idea

think about it a bit and I'm sure you can think of why that's not a good idea

I'm not sure if it is a respectful or arrogant reply but thanks anyways.


jekyll_1  | /usr/jekyll/bin/entrypoint: line 34: /usr/local/bin/jekyll: No such file or directory

The below error popout after excuted "docker-compose up".
jekyll_1  | /usr/jekyll/bin/entrypoint: line 34: /usr/local/bin/jekyll: No such file or directory

This is a stale repo that was used for testing awhile. If you're having issues with training.play-with-docker.com, please file an issue here: https://github.com/play-with-docker/play-with-docker.github.io


Add exp push/pull to getting started guide

Adds dvc exp push and dvc exp pull examples to the getting started guide for experiments. This is a pretty artificial example, and it requires setting up artificial dvc and git remotes. Other suggestions welcome!

Hi 👋 I see this is a draft but a quick rec is to make the PR base experiments_reset for now so the diff is readable (if you want people to check it out while WIP) and change the base back to master once #2195 gets merged.

Still approved 🙂 please don't wait for me to merge, we can always re-edit on another PR. Thanks!


new features: thread_rng, impl_rng_core, and versioned glam

thread_rng adds support for thread local random number generation.
impl_rng_core implements the RngCore and SeedableRng traits from rand.
You can now choose which version of glam. you wish to use by using the glam_02x feature.

This pr was created because I wanted to use frand in a bevy game I'm working on, but I needed the thread_rng support.
I was originally going to just for the repo, but I thought I'd clean it up and open a PR to see what you thought.

Actually, I should update the readme and stuff, I'll reopen when I do that.

Oh, thanks for contributing. I haven't touched this project for long time, but now I have several new improvement ideas.


Chapter 15 - Ansible

In the book it says to use Ubuntu Server for the neptune host, but in the 15/LAB.md file it says to use Ubuntu Desktop. Just wondering if it matters which one we use.

It shouldn't really matter if it's Ubuntu Server or Desktop. The choice of using Ubuntu Desktop on the Ansible control node (neptune), as documented in 15/LAB.md, is purely semantic, suggesting that the control node can simply be a desktop system (not a server one). For the backend web-server nodes (web1, web2, db1, db2) we chose Ubuntu Server for the same (semantic) reason, to illustrate "real-world" server platforms subject to automation.
We're sorry for the mismatching information between the book and the hands-on lab documents.

Ok, great! Thank you!


increase limits and number of instances

increase limits and number of instances for better stability on high concurrency loads.
When i increase the number of concurrency requests, lambda start to gave errors, even if the remote server is able to sustain the requests. Increasing the number of instances in the lambda turns the service and requests more stable
With this change, i can get this:
  ./goad  -r eu-central-1,us-east-1,eu-west-1,ap-northeast-1,us-west-2 -c 120000  -n 600000    -u https://test.xxxxxx.com/favicon.ico

   TotReqs   TotBytes    AvgTime   AvgReq/s  AvgKbps/s
    599967     3.3 GB     0.853s  286248.47 1517898.75
   Slowest    Fastest   Timeouts  TotErrors
   14.911s     0.015s          1         27
HTTPStatus   Requests
       200     599940

where in the default limit, i get 50% of errors with the same parameters
The increase limit to 2 million is to be able to maintain a test longer for high concurrency tests

Thanks for this! Did you notice any throttled invocations though? Supposedly there's a default safety limit of 100 concurrent lambda invocations... I'm not sure how quickly it kicks in, as I've also been able to launch more for a short period of time without any throttling.
@matiaskorhonen what do you think?

i only notice some missing requests on very high values, but might also be related to hitting other limits and problems on other places  (i found several problems on my setup on my initial high values tests).
i usually make tests that last between 10s (more new sessions test)  to 60s (more "sustained" high concurrency test) , both to try to keep lambda requests under control, avoid DoS classification and do not kill the servers/network.
I read that amazon allow higher peak invocations before limiting to a low value, so short high concurrency tests seems to work fine
we can also add a new flag "--yes-i-know-what-i-am-doing" to reach this high values, with warning about using high values (DoS, reaching aws limits, risk of aws abuse, hitting rate limits on any place between amazon and the site, the requirement to talk/warn with hosting and ISP about the test, etc)
This way, we avoid accidental problems and only those that need to simulate a slashdot effect or a black friday event will try it
Anyway, this values are working fine for me

I think it would be great to print a warning about the potential AWS limit issues, but I'll merge this and the warning can be added in a separate PR…


Enhanced adjust commands

Our "buffer adjust" command could potentially use one or two extensions
Ideas for new operators include:

logical shift left/right
arithmetic shift left/right
multiply
random number

These operators are potentially tricky for their multi-byte variants so some care would need to be taken in their implementation

another potential enhanced command is to "reverse" a buffer, or a portion of a buffer
it's not clear at this point whether that should be part of the adjust command, or via a separate command
it almost feels like a variant of the "set" adjust command

a variety of reverse operations are being added in #61 as well as consolidate and split commands.


module 'cupy' has no attribute 'byte'[BUG]

Describe the bug
While importing
"from cucim.skimage.transform import resize", I am getting error as
"AttributeError: module 'cupy' has no attribute 'byte'"
Steps/Code to reproduce bug
I am running the RAPIDS container: nvcr.io/nvidia/rapidsai/rapidsai:21.08-cuda11.2-runtime-ubuntu20.04
I have my:
cucim: 21.8.1 version
cupy: 9.0.0 version
CUDA Version: 11.4
Expected behavior
I want to test out the difference between skimage and cucim from this website:
https://www.youtube.com/watch?v=G46kOOM9xbQ
Environment details (please complete the following information):

Environment location: Docker(20.10.8 version)
Method of cuCIM install: Docker RAPIDS 21.08 container

docker pull nvcr.io/nvidia/rapidsai/rapidsai:21.08-cuda11.2-runtime-ubuntu20.04

Additional context
Just need to resolve this error.

This sounds like something may be wrong with the CuPy installation in that container. cupy.byte is present in CuPy 9.0.0, so I am not sure why there would be an issue importing it.
Are you able to run a simple CuPy-only script such as:
import cupy
x = cupy.ones((32, 32))

I could not reproduce on my Ubuntu 20.04 system. The cucim.skimage.transform.resize functions imported and ran okay in an interactive session using:
docker pull nvcr.io/nvidia/rapidsai/rapidsai:21.08-cuda11.2-runtime-ubuntu20.04
docker run --runtime=nvidia -it nvcr.io/nvidia/rapidsai/rapidsai:21.08-cuda11.2-runtime-ubuntu20.04

In the container, I started python and ran
import cupy
from cucim.skimage import transform
transform.resize(cupy.ones((4, 4)), (16, 16))

and the output was a shape (16, 16) array of ones as expected

By re running the rapids container. It solved my problem.
And I checked all the code shared by you, they all are running fine now.
Thank you for your help.


Old many-to-many associations with "through" are not cleaned up after .update()  (i.e. after replacing collection)

Sails version: 0.12.12-1
Node version: v6.9.1
NPM version: 3.10.8
Operating system: Win7 Professional

The models are `api/models/Travels.js`, `api/models/Images.js` and `api/models/Images_to_Records.js`. Here is the simplified content:
Travels.js:
module.exports = {

	attributes: {
		type: {
			type: 'string',
			enum: ['INDEPENDENT', 'GROUP']
		},

		code: {
			type: 'string'
		},
		images: {
			collection: 'images',
			through: 'images_to_records'
		}
	}
}

Images.js:
module.exports = {

  attributes: {
		file: {
			model: 'Files'
		},

		title: {
			type: 'string'
		},

		position: {
			type: 'integer'
		}
  }
};

Images_to_Records.js:
module.exports = {

	attributes: {
		travels: {
			model: 'travels'
		},

		images: {
			model: 'images'
		}
	}
};

So, when I run the following statement:
		// First, we add the first image
		Travels.update({
			code: 'DE-16-001'
		}, {
			images: ['589b25db442382144083d612']
		}).exec(function () {
			// Then we add an additional image and keep the first image
			Travels.update({
				code: 'DE-16-001'
			}, {
				images: ['589b25db442382144083d612', '589b25f4442382144083d61a']
			}).exec(function () {});
		});

I expect two documents in my images_to_records collection. But there are three. For the first relation I set, the travels attribute is simply set to null:

I expect that this record will be deleted when I reassign associations, otherwise my database will get very huge ;)

@simonmilz Thanks for bringing this up!  I'll take a closer look asap at the behavior here specifically for through associations. (cc @particlebanana)

Just implemented through relationships on a project and ran into the same issue.  Would this be related to sails, waterline or the data adapter?  In my case, I am utilizing the sails-postgres adapter

Hey @simonmilz and @jcharrell we redid this logic in Sails V1 and it lives completely at the Waterline level now. I just confirmed it's fixed using the following model definitions. We are working hard to get Sails V1 and Waterline 0.13 out the door so I don't have spare time right now to dig into Sails 0.12 and try and find the logic responsible for this but can come back to it when time allows. If anyone wants to do a hotfix for Waterline 0.11 I would happily merge it!
// Images Model
module.exports = {
  attributes: {
    title: {
      type: 'string'
    },
    position: {
      type: 'number'
    },
    travels: {
      collection: 'travels',
      via: 'images',
      through: 'images_to_records'
    }
}

// Travels Model
module.exports = {
  attributes: {
    type: {
      type: 'string'
    },
    code: {
      type: 'string'
    },
    images: {
      collection: 'images',
      via: 'travels',
      through: 'images_to_records'
    }
}

// Images_To_Records Model
module.exports = {
  attributes: {
    travels: {
      model: 'travels'
    },
    images: {
      model: 'images'
    }
}

@particlebanana I will tackle this issue.  Should I create a new issue on the Waterline repo or can I submit a PR to the Waterline repo and reference it here within this issue?

I have a fix in place, but I couldn't figure out how to verify the solution in a unit test, which is required by the contribution guides.  If someone else would like to fork this and submit a PR with a test, I'd really appreciate it.

@jcharrell nice :+1:

@particlebanana Any suggestions for getting this into the Waterline 0.11 branch?

@simonmilz @jcharrell Hi ya'll we are currently cleaning Sails issues by closing older issues. This on appears to have been resolved with the publish of Sails V1.


Group claims disappears after input

Gitea Version
1.16.0
Git Version
No response
Operating System
No response
How are you running Gitea?
docker-compose
Database
PostgreSQL
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Description
I am using Azure AD to authenticate to Gitea. There are two concerns that should be addressed:

The userid Gitea picks up is the Azure AD object ID instead of the first part of the user principal name.
Entering data on the Authenticate Source screen for group claims disappears upon selecting Update Authentication Source.

Screenshots

I had the same issue.
This should be fixed by upgrading to 1.16.3.

Have you tried v1.16.3?


How can i set subdomains to apply boundary conditions?

Hi, I'm working with Stokes flow in porous medium. I'm using irregular porous medium so i tried to figure out how to tag properly the fields generated. The tag 1 correspond to porous space and 2 to inner solids.

however, when i write the .msh file there's a warning "Warning: Appending zeros to replace the missing physical tag data.
Warning: Appending zeros to replace the missing geometrical tag data." I supposed this data is important to differentiate the solids (where i tried to apply Non-Slip condition).
Thanks in advance.

Hi @MFV-PS , the warning is generated by meshio when writing to certain formats. gmsh requires the tag to be set, and if it is empty, it will simply put zeros to have something.
If you use the to_meshio method, you can work with the meshio mesh directly to tweak the tags (see here for more info).
Hope this helps.

Hi @stefsmeets, I have this doubt,

When I generated the contour of some irregular shapes two or more straight lines appear between the contours, how can i solve this issue?

It's likely a bug in the visualizer, it does not handle segments that span from one side to the other very well. The line mesh is a closed loop that goes from A->B->C->D->A, so it will draw a line from one side to the other. If it is for visualization, you may want to drop this segment from the mesh.

I'm going to close this issue, but feel free to re-open if you have any further questions!


Why starting from scratch?

Were you aware of https://github.com/loicortola/nodemcu-espress when you started this project? Maybe better to join forces?

Thanks for mentioning it, I wasn't aware of it. If nodemcu becomes fully compatible with the ESP32 I might actually continue the development. I actually stopped back then because the ESP8266 couldn't handle were I was goi ng.
If I continue developing this library it will probably only be compatible with the ESP32. But I will consider getting into contact with loicortola.

If you like discussing options then maybe take a quick look at https://github.com/nodemcu/nodemcu-firmware/issues/2968.


Adding custom includes/excludes makes updating complicated

Adding custom domains/ips to corresponding config files leads to conflicts on git pulls that need to be resolved.
Making a branch with additions and merging master into it on updates is a solution currently, but a better solution would be to add support for user-customizable config files that would not be touched by repository updates.

Yes, did not have time for proper solution. Will take a look after full refactoring of internals.

I cleaned config files and will not edit them in future.
https://github.com/xtrime-ru/antizapret-vpn-docker/releases/tag/v3.0.0


moveit: 1.1.4-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository moveit to 1.1.4-1:

upstream repository: https://github.com/ros-planning/moveit.git
release repository: https://github.com/ros-gbp/moveit-release.git
distro file: noetic/distribution.yaml
bloom version: 0.10.7
previous version for package: 1.1.3-1

chomp_motion_planner

No changes

moveit

No changes

moveit_chomp_optimizer_adapter

No changes

moveit_commander

No changes

moveit_core
* Lock the octomap/octree while collision checking (#2596 <https://github.com/ros-planning/moveit/issues/2596>)
* Add sphinx-rtd-theme for python docs as a dependency (#2645 <https://github.com/ros-planning/moveit/issues/2645>)
* Contributors: Peter Mitrano, Simon Schmeisser

moveit_fake_controller_manager

No changes

moveit_kinematics
* Fix ikfast script: install sympy 0.7.1 from git (#2650 <https://github.com/ros-planning/moveit/issues/2650>)
* Contributors: ags-dy

moveit_planners

No changes

moveit_planners_chomp

No changes

moveit_planners_ompl

No changes

moveit_plugins

No changes

moveit_ros

No changes

moveit_ros_benchmarks

No changes

moveit_ros_control_interface

No changes

moveit_ros_manipulation

No changes

moveit_ros_move_group

No changes

moveit_ros_occupancy_map_monitor
* Lock the octomap/octree while collision checking (#2596 <https://github.com/ros-planning/moveit/issues/2596>)
* Contributors: Simon Schmeisser

moveit_ros_perception
* Lock the octomap/octree while collision checking (#2596 <https://github.com/ros-planning/moveit/issues/2596>)
* Contributors: Simon Schmeisser

moveit_ros_planning
* Lock the octomap/octree while collision checking (#2596 <https://github.com/ros-planning/moveit/issues/2596>)
* Use private NodeHandle instead of child for PlanningPipeline topics (#2652 <https://github.com/ros-planning/moveit/issues/2652>)
* Print an error if the planning pipelines are empty (#2639 <https://github.com/ros-planning/moveit/issues/2639>)
* Simplify logic in PSM (#2632 <https://github.com/ros-planning/moveit/issues/2632>)
* Contributors: Henning Kayser, Luc Bettaieb, Michael Görner, Simon Schmeisser, Rojas Rafael

moveit_ros_planning_interface
* planning_interface: synchronize async interfaces in unit tests (#2640 <https://github.com/ros-planning/moveit/issues/2640>)
* Contributors: Michael Görner

moveit_ros_robot_interaction

No changes

moveit_ros_visualization

No changes

moveit_ros_warehouse

No changes

moveit_runtime

No changes

moveit_servo

No changes

moveit_setup_assistant

No changes

moveit_simple_controller_manager

No changes

pilz_industrial_motion_planner

No changes

pilz_industrial_motion_planner_testutils

No changes

This is a fixup release to address an apt update issue (https://github.com/ros-planning/moveit/issues/2648). Please merge, even if holding for sync.

This pull request has been mentioned on ROS Discourse. There might be relevant details there:
https://discourse.ros.org/t/preparing-for-noetic-sync-2021-04-30-actual-2021-05-04/20123/7


AddingPowerSupport_CI/Testing

Adding power support.
Adding power support ppc64le with Continues Integration/testing so that code remains architecture independent.
This is part of the Ubuntu distribution for ppc64le. This helps us simplify testing later when distributions are re-building and re-releasing. For more info tag @gerrith3.
The build is successful on both arch: amd64/ppc64le, please find the Travis Link below.
https://travis-ci.com/github/santosh653/sqlstruct
Please let me know if you need any further details? or if I am missing any.
Thank You !!

Can you Please check if all the checks are successful & approve this PR?


chore(package): update nyc to version 9.0.1

https://greenkeeper.io/

Coverage remained the same at 100.0% when pulling 63c26f64bdf4e7f7525b3f34a013c1fc5ef54352 on greenkeeper/nyc-9.0.1 into d9e1348cf66cd938b928ae2da69517f636294def on master.


allow beforSend to abort request

see comments on this issue https://github.com/Semantic-Org/Semantic-UI/commit/b2dd449f21bff1e4c07d510e8dbde17dbf95385e#diff-99afcbdc234be436aba08c940fbfaca4R729

Hi, this should already be fixed in 2.2. If you still experience issues, please comment again in here.


Seeking Guidance: Significant typecheck performance drop post migrating to TS Project References in large monorepo

Acknowledgement

[X] I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

Comment
Context
We recently implemented TypeScript's project references feature in our monorepo, which has led to significant performance issues compared to our previous TypeScript configuration.
The typecheck process has experienced a dramatic increase in execution time, rising from 469.24 seconds to 4,297.17 seconds when we don't utilize any TypeScript cache (existing .d.ts files). We are keen to identify the root cause of this performance degradation and explore ways to improve or diagnose the typecheck performance with project references.
We are currently using .d.ts cache files to accelerate the typecheck process. However, this solution presents challenges in our integrated development environment (IDE). Emitting these .d.ts on the fly is time-consuming, and the cache files generated on Unix-based systems are incompatible with macOS machines, and vice versa.
We are seeking guidance on:

Understanding the underlying reasons for the significant performance decline when using project references.
Identifying methods to improve typecheck performance in our monorepo setup.
Developing strategies to effectively use project references in our IDE without compromising development speed.
Finding a solution to the cross-platform incompatibility of cache files between Unix and macOS systems.
Any insights or recommendations on addressing these challenges would be greatly appreciated.

Setup
Typescript Version
We are using Typescript version 5.4.2
Base tsconfigs common between both tsconfigs with references and earlier typecheck
tsconfig.entry-points.json - This file is used to provide path resolution for custom entry points. Below is a snippet of the configuration; in total, it contains 2,769 paths.
{
  "compilerOptions": {
    "paths": {
      "@af/package-1": [
        "./package-1/src",
        "../package-1/src",
        "../../package-1/src",
        "../../../package-1/src",
        "../../../../package-1/src"
      ],
	  "@af/package-1/some-func": [
        "./package-1/src/some-func",
        "../package-1/src/some-func",
        "../../package-1/src/some-func",
        "../../../package-1/src/some-func",
        "../../../../package-1/src/some-func"
      ],
    }
  }
}

Base TypeScript Configuration tsconfig.base.json - This file serves as the foundational TypeScript configuration for all packages within our monorepo. It defines common compiler options and settings that are inherited by individual package configurations.
{
  "extends": "./tsconfig.entry-points.json",
  "compilerOptions": {
    "plugins": [
      {
        "name": "tsserver-metrics-plugin"
      }
    ],
    "baseUrl": ".",
    "allowJs": false,
    "strict": true,
    "allowSyntheticDefaultImports": true,
    "declaration": true,
    "emitDeclarationOnly": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "downlevelIteration": true,
    "importHelpers": true,
    "jsx": "react",
    "moduleResolution": "node",
    "noFallthroughCasesInSwitch": true,
    "noUnusedLocals": true,
    "sourceMap": true,
    "skipLibCheck": true,
    "isolatedModules": true,
    "target": "es2019",
    "module": "esnext",
    "lib": [
      "dom",
      "dom.iterable",
      "es5",
      "scripthost",
      "es2015.core",
      "es2015.collection",
      "es2015.symbol",
      "es2015.iterable",
      "es2015.promise",
      "es2016.array.include",
      "es2017"
    ]
  },
  "files": [
    // Global typings go here which are expected in most of the packages - we have 62 such files
    "./typings/json.d.ts",
        ...
  ],
  "ts-node": {
    "transpileOnly": true,
    "files": true,
    "compilerOptions": {
      "module": "CommonJS"
    }
  }
}

Typecheck with project references
To address circular dependency issues, we have split each package's TypeScript configuration into two separate files: one for application code and another for development-related code. Below are sample configurations for both:
tsconfig.app.json - This configuration is used for the main application code of each package.
{
  "extends": "../tsconfig.base.json",
  "include": [
    "./src/**/*.ts",
    "./src/**/*.tsx",
    "./scripts/**/*",
    "definitions.ts",
    "types.ts"
  ],
  "exclude": [
    "**/docs/**/*",
    "**/__tests__/**/*",
    "**/vr-tests/**/*",
    "**/__perf__/**/*",
    "**/*.test.*",
    "**/test.*",
    "**/test-*",
    "**/examples.ts",
    "**/examples.tsx",
    "**/examples/*.ts",
    "**/examples/*.tsx",
    "**/examples/**/*.ts",
    "**/examples/**/*.tsx",
    "**/storybook/**/*",
    "**/constellation/**/*",
    ".storybook/*",
    "./__fixtures__/**/*",
    "./__generated__/**/*",
    "./mocks/**/*",
    "./__mocks__/**/*",
    "**/mock.*",
    "**/codemods/**/*.ts",
    "**/codemods/**/*.tsx"
  ],
  "compilerOptions": {
    "composite": true,
    "lib": ["ES2021.String"],
    "outDir": "../tsDist/package-1/app"
  },
  "references": [
    {
      "path": "../folder-2/foo/bar/tsconfig.app.json"
    },
  ]
}

tsconfig.dev.json - This configuration is used for development-related code, such as tests, mocks and build scripts.
{
  "extends": "../tsconfig.base.json",
  "include": [
    "**/docs/**/*",
    "**/__tests__/**/*",
    "**/vr-tests/**/*",
    "**/__perf__/**/*",
    "**/*.test.*",
    "**/test.*",
    "**/test-*",
    "**/examples.ts",
    "**/examples.tsx",
    "**/examples/*.ts",
    "**/examples/*.tsx",
    "**/examples/**/*.ts",
    "**/examples/**/*.tsx",
    "**/storybook/**/*",
    "**/constellation/**/*",
    ".storybook/*",
    "./__fixtures__/**/*",
    "./__generated__/**/*",
    "./mocks/**/*",
    "./__mocks__/**/*",
    "**/mock.*",
    "**/codemods/**/*.ts",
    "**/codemods/**/*.tsx"
  ],
  "exclude": ["./dist/**/*", "./build/**/*", "./node_modules/**/*"],
  "compilerOptions": {
    "composite": true,
    "lib": ["ES2021.String"],
    "outDir": "../tsDist/package-1/dev"
  },
  "references": [
    {
      "path": "tsconfig.app.json"
    }
  ]
}

tsconfig.project-references.json - This configuration file serves as the central hub for TypeScript project references across our entire monorepo. Its primary purpose is to enable efficient typechecking using TypeScript's project references feature.
In all we have 1226 packages and their app and dev tsconfigs (2452 tsconfigs). We didnt add tsconfig.app.json's as they are already included in tsconfig.dev.json's references.
{
  "files": [],
  "references": [
    { "path": "./folder-1/package1/tsconfig.dev.json" },
    { "path": "./folder-2/package2/tsconfig.dev.json" },
    // ... additional 1,224 package references
  ]
}

Typecheck command
NODE_OPTIONS="--max-old-space-size=16384" tsc --build tsconfig.project-references.json

Extended Diagnostic with project references when we didnt used any existing Cache
Projects in scope:                         2423
Projects built:                            2315
Aggregate Files:                        4064060
Aggregate Lines of Library:            85984227
Aggregate Lines of Definitions:       902941654
Aggregate Lines of TypeScript:          5739519
Aggregate Lines of JavaScript:                0
Aggregate Lines of JSON:                  61189
Aggregate Lines of Other:                     0
Aggregate Identifiers:<PHONE_NUMBER>
Aggregate Symbols:                    710515971
Aggregate Types:                       36168921
Aggregate Instantiations:             216983900
Aggregate Memory used:                15641296K
Aggregate Assignability cache size:    12826627
Aggregate Identity cache size:           475304
Aggregate Subtype cache size:            586070
Aggregate Strict subtype cache size:     696811
Aggregate I/O Read time:                  4.28s
Aggregate Parse time:                    49.46s
Aggregate ResolveModule time:           223.61s
Aggregate ResolveTypeReference time:     33.39s
Aggregate ResolveLibrary time:            2.86s
Aggregate Program time:                 823.17s
Aggregate Bind time:                     28.12s
Aggregate Check time:                  1927.31s
Aggregate transformTime time:           735.72s
Aggregate commentTime time:               3.42s
Aggregate printTime time:              1023.13s
Aggregate Emit time:                   1023.78s
Aggregate I/O Write time:                 8.43s
Config file parsing time:                55.87s
Up-to-date check time:                    0.20s
Build time:                            4297.17s

Typehecking with TS Cache

We run a scheduled job which runs typecheck with references on stable master, then use the emitted .d.ts files as Cache with masters current commit hash as index.
On branch typecheck we fetch the nearest cache available based on commit history, also we update the file timestamps for files which are modified post the cache generation as to only typecheck them

Typecheck with --project mode
tsconfig.typecheck.json - This is the tsconfig for typecheck with --project mode
{
    {
  "extends": "./tsconfig",
  "include": [
    "./folder-1/**/*",
    "./folder-2/**/*",
    "./folder-3/**/*",
    "./folder-4/**/*",
    "./services/service-1/**/*",
    "./services/service-2/**/*",
    "./services/service-3/**/*",
    "./services/service-4/**/*",
    "./services/service-5/**/*",
    "./services/service-6/**/*",
    "./services/service-7/**/*",
    "./services/service-8/**/*",
    "./tools/**/*"
  ],
  "exclude": [
    "./folder-1/**/**/dist",
    "**/some.d.ts",
    "**/node_modules",
    "node_modules",
    "./services/node_modules",
    "./folder-3/foo/bar/",
    "./folder-3/foo/bar2/",
    "./folder-3/foo2/bar3/0-type.ts",
    "./folder-3/foo2/bar4/0-type.ts",
    "./folder-3/foo3/__generated__/globalTypes.ts"
  ],
  "compilerOptions": {
    "baseUrl": "./",
    "emitDeclarationOnly": false,
    /* Typechecking only, no code generation required */
    "noEmit": true,
    /* Set module to CJS rather than ES so that CJS-only modules that use
     * import/export assignment (export = require(...)) don't break
     */
    "module": "CommonJS"
  }
}

Typecheck command
NODE_OPTIONS="--max-old-space-size=16384" tsc --project tsconfig.typecheck.json

Extended Diagnostic with --project mode
Files:                         59890
Lines of Library:              40963
Lines of Definitions:        2185828
Lines of TypeScript:         4577662
Lines of JavaScript:               0
Lines of JSON:                     0
Lines of Other:                    0
Identifiers:                 7206749
Symbols:                    14278742
Types:                       4368428
Instantiations:             14365921
Memory used:               12876878K
Assignability cache size:    4615911
Identity cache size:          166448
Subtype cache size:           418129
Strict subtype cache size:    510959
I/O Read time:                 2.18s
Parse time:                   21.74s
ResolveModule time:           10.10s
ResolveTypeReference time:     0.05s
ResolveLibrary time:           0.02s
Program time:                 40.06s
Bind time:                    13.03s
Check time:                  416.12s
printTime time:                0.03s
Emit time:                     0.03s
Total time:                  469.24s

Observations

Compared to --project mode, typecheck with project references has nearly 60x (59890 vs 4064060) more files to typecheck, The number of files difference is mostly because of the way files are calculated (Basically files is aggregate number of files part of each tsconfig) not the files that are typechecked

These two lines point to the problem:

Aggregate Lines of Definitions:       902941654
Aggregate Lines of TypeScript:          5739519

You have a reasonable amount of TS code, but this configuration analyzes a total of 1 billion lines of definition file because every project is loading ~half a million lines of definition files.
The key takeaway is that every project has to load its definition files separately, so the more projects you have (2,200 is far too many to be optimal; you should be targeting something like 50), and the more definition files they load, the more time you're going to pay in overhead. The I/O parsing is shared, but there's still a lot of work to do a bit of up-front analysis of all these top-level files.
To make this faster, you need to either reduce the number of projects you have, reduce the number of definition files they're loading, or ideally both.
A likely culprit here is the lack of types array in your base config. What happens if there's no types array is that everything from node_modules/@types gets loaded automatically, and I'm guessing you have several hundred packages in there (let's call it 500), so you're loading 2,200 x 500 modules per project. A similar team at Microsoft encountered this misconfiguration; the most expedient fix is to put "types": [] in the base tsconfig, rebuild, add back the global types that are needed (usually this is just node and/or jest), and fix up any remaining projects. This should get you a huge win fairly quickly.
If you're spending 1,000s on emit, I would also recommend switching to something like esbuild for JS output. It's much faster and can handle almost all relevant TS configurations.

in total, it contains 2,769 paths.

To add to what Ryan said, I'll also mention that with recent nightly builds, #59048 may slightly improve issues around path mapping lookups. It's probably not the root cause of issues though.

Also, is there any reason why each path has to be mapped in multiple ways? What system are you using where it is possible for a path to map to any of the following?
        "./package-1/src",
        "../package-1/src",
        "../../package-1/src",
        "../../../package-1/src",
        "../../../../package-1/src"

Also, is there any reason why each path has to be mapped in multiple ways? What system are you using where it is possible for a path to map to all of the following?
        "./package-1/src",
        "../package-1/src",
        "../../package-1/src",
        "../../../package-1/src",
        "../../../../package-1/src"

In the monorepo, we have packages at varying depths so to accomodate it we had to add multiple depth paths. We know about this being bottleneck and it also degrades our IDE performance.
We attempted migrating to Bundler moduleResolution but had to revert as the IDE performance deteriorated.

These two lines point to the problem:

Aggregate Lines of Definitions:       902941654
Aggregate Lines of TypeScript:          5739519

You have a reasonable amount of TS code, but this configuration analyzes a total of 1 billion lines of definition file because every project is loading ~half a million lines of definition files.
The key takeaway is that every project has to load its definition files separately, so the more projects you have (2,200 is far too many to be optimal; you should be targeting something like 50), and the more definition files they load, the more time you're going to pay in overhead. The I/O parsing is shared, but there's still a lot of work to do a bit of up-front analysis of all these top-level files.
To make this faster, you need to either reduce the number of projects you have, reduce the number of definition files they're loading, or ideally both.
A likely culprit here is the lack of types array in your base config. What happens if there's no types array is that everything from node_modules/@types gets loaded automatically, and I'm guessing you have several hundred packages in there (let's call it 500), so you're loading 2,200 x 500 modules per project. A similar team at Microsoft encountered this misconfiguration; the most expedient fix is to put "types": [] in the base tsconfig, rebuild, add back the global types that are needed (usually this is just node and/or jest), and fix up any remaining projects. This should get you a huge win fairly quickly.
If you're spending 1,000s on emit, I would also recommend switching to something like esbuild for JS output. It's much faster and can handle almost all relevant TS configurations.

Thanks @RyanCavanaugh, we did the changes in tsconfig.base.json to include only few types by default "types": ["node", "jest", "@testing-library/jest-dom"], post this change and fixing missing the types the typecheck time has improved considerably from 70 mins to now nearly 33 mins.
Below is the updated diagnostic information
Projects in scope:                        2423
Projects built:                           2315
Aggregate Files:                       1535787
Aggregate Lines of Library:           85339821
Aggregate Lines of Definitions:      416501200
Aggregate Lines of TypeScript:         5739519
Aggregate Lines of JavaScript:               0
Aggregate Lines of JSON:                 61189
Aggregate Lines of Other:                    0
Aggregate Identifiers:               469412125
Aggregate Symbols:                   361212674
Aggregate Types:                      32278672
Aggregate Instantiations:            172315031
Aggregate Memory used:               11625463K
Aggregate Assignability cache size:   12221436
Aggregate Identity cache size:          473960
Aggregate Subtype cache size:           585216
Aggregate Strict subtype cache size:    696813
Aggregate I/O Read time:                 3.57s
Aggregate Parse time:                   32.53s
Aggregate ResolveModule time:           63.89s
Aggregate ResolveTypeReference time:     2.32s
Aggregate ResolveLibrary time:           1.80s
Aggregate Program time:                255.40s
Aggregate Bind time:                    16.57s
Aggregate Check time:                 1185.78s
Aggregate transformTime time:          329.86s
Aggregate commentTime time:              2.60s
Aggregate printTime time:              390.34s
Aggregate Emit time:                   390.75s
Aggregate I/O Write time:                4.69s
Config file parsing time:               37.30s
Up-to-date check time:                   0.15s
Build time:                           1985.91s

Regarding emit we have added emitDeclarationsOnly as we need the .d.ts cache to improve typecheck performance. We are currently using parcel / webpack to transpile code to js.

@sudesh-atlassian did you find improvements using the nightly builds of TypeScript at all?

@sudesh-atlassian did you find improvements using the nightly builds of TypeScript at all?

@DanielRosenwasser - We will spike TS5.6 this week and update findings here upon completion.
This week, we spiked moduleResolution Bundler to eliminate tsconfig.entry-points.json. Findings: CI typecheck time remained similar, but IDE performance regressed by nearly 2x for our team.

@sudesh-atlassian could you provide a bit more details around the .d.ts caching?
is that kind of caching documented somewhere / is it better than having tsbuildinfo cached?

@JCMais - Currently we are caching all emitted declarations with tsbuildinfo, and while re-running typecheck we fetch most recent available cache (using commit history), and mark all files which are not part of cache as new modified files. Typescript skips projects which were already built by comparing file modified time to respective emitted tsbuildinfo time.
I cannot find any documentation around our approach though, can you point me to tsbuildinfo cache documentation.


Roughness Sublayer Models

Purpose
Technical Notes on the implementation of Roughness Sublayer Models (RSLs) within the SurfaceFluxes.jl package. The goal is to design RSL model components and interfaces such that they may be used as an optional extension to the existing equations for the Monin-Obukhov Similarity Theory (MOST).
Cost/Benefits/Risks
Cost: Time for equation / documentation verification. No new research required for current scope of project - models for RSLs of varying complexity exist. The first step of this broader task is to incorporate those models into the SurfaceFluxes package, following which we can investigate their behaviour in the ClimaESM, and suggest improvements.
Benefits: Extended MOST for RSLs (useful for simulations where canopy interactions play an important role).
Risks: This is a necessary component of a complete package concerning surface fluxes so an implementation is required in any case. Few direct risks. Schedule risks with additional projects that contributors are involved in.
People and Personnel
(@ the personnel required/requested to implement the software solution)

Lead: @akshaysridhar
Collaborators: @LenkaNovak @szy21 @kmdeck (For content review, interface suggestions and general advice on test cases)
Reviewers: TBD.

Results and deliverables

Tested RSL models for use in simulations of canopy induced turbulence.

Task Breakdown And Tentative Due Date (TODO: Granular task descriptions)

[ ] Documentation for RSL models (specifically w.r.t current choice of interfaces in this package). This exists in part in our Overleaf design-docs but needs to be included in the software documentation.
[ ] Prototype RSL model (Physick and Garratt (1995)) https://link.springer.com/article/10.1007/BF00715710
[ ] Extension: Wang and Cionco (2007) https://apps.dtic.mil>sti>pdfs>ADA470616
[ ] Extension: Bonan et al. (2018) https://doi.org/10.5194/gmd-11-1467-2018
[ ] Tests for each of the above submodels.
TODO: Track through Github issues.

Proposed Delivery Date
(TBD) General target is for PG95 RSL to be in by Feb Sprint. Stretch to include the more complex versions by then.

Looks good.


install DO

Install DO rpm into bigip

Please help to review the diff and I am working on correcting the two UT cases now.


Upload progress bar?

Hi. I use a VPS as an IPFS Node and use SSH Port forwarding to access the WebUI, its difficult to know when a file has completed uploading, by any chance could a progress bar be added?

@nsuchy right now, the future of WebUI is being decided and we will probably do a complete revamp. Could you please take a look at https://github.com/ipfs-shipyard/pm-ipfs-gui/issues/9 and leave a comment there with this suggestion? 😄

I am quite sure upload progress bar will be added during the revamp :)
(Low level support for reporting upload progress was added to js-ipfs-api lib some time ago)
ps. make sure to check also:

Design: Pinning Content https://github.com/ipfs-shipyard/pm-ipfs-gui/issues/10
Design: Add files to IPFS https://github.com/ipfs-shipyard/pm-ipfs-gui/issues/35#issuecomment-373929197


[Fern's Documentation] Document the Postman generator

What can be improved
When a customer subscribes to the Fern Docs Starter plan, they get access to Fern's Postman integration. This allows a user to generate a Postman collection and publish it to their Postman workspace. Developers can therefore always have access to the latest Postman collection, automatically.
Config in generators.yml
generators:
  groups:
    postman:
     - name: fernapi/fern-postman
       version: 0.0.46
       output:
         location: postman
         api-key: ${POSTMAN_API_KEY}
         workspace-id: ${POSTMAN_WORKSPACE_ID}
       github:
         repository: imdb/imdb-postman

Open in Postman
This button is popular to embed near where SDKs are mentioned in an organization's docs.

Source code
https://github.com/fern-api/fern/tree/main/generators/postman

@minaelee fyi

I found https://github.com/fern-api/fern/blob/main/fern/docs/pages/sdks/postman-collection.mdx - but it is not linked anywhere.


[3|CBH- Schedule Page] Schedule a content

 🍰 Appetite 🍰

Property
Value

Points
15 points

Difficulty rating
★★★☆☆

Maximum Assignees
3 person

🤔 Problem Statement

Realize the feature where CBH can schedule a content. CBH should be able to pick a date, time, content that is sent, and target organizations. There is a cancel button that should also be realized.
🧪 Required Tests
Mainly screenshot tests, and some integration tests for Supabase.
Review the Code & Testing Guidelines for more info.
⚠ Careful about:
No major rabbit holes identified. But always be careful with scope creep!
🤖 Technologies focused on in this feature

React
Tailwind
Shadcn
NextJS
Supabase/PostGresQL

@puma I would like to work on this.

Hi, I am working on this.

@Sneezy-w @calmHeaven you've been added!

Hi, We are working on this. @shop2008  @Simonwmm

@khnatiuk Kevin, just want to clarify, I have talked to @Sneezy-w , now @Sneezy-w @shop2008 @Simonwmm will be working on this. Thank you.

We're working on this

i am working on this


update rating

in the process - can change all the ratings, artists, and songs. still need to work on avoiding duplicate songs.


Option for handling tests that intentionally produce no output file

An option that I'd find useful is to be able to declare a test passed (or failed) if it generates no output file.
I have a source code transformation plug-in that attempts not to touch the input file if the transformation turns out to be an identity (otherwise the modify date of the file is changed unnecessarily) and so generates no output file.
At present tasty-golden throws an IO error, as expected, and the test fails.
It is, of course, possible to just write a dummy test output file before running the test and make that the golden file, but it would not be hard to add a (non-default) option for tasty-golden that passed tests that had no golden file and produced no output.
I seem to remember reading somewhere that this was what the main tasty framework assumes that IO errors are just thrown, so there may be a way of doing this already but, if not, it would be good to have the facility to control the outcome of a test when there is no output file specifically (as distinct from permissions or other IO errors).

I think you can achieve this yourself by using goldenTest and playing with the "get the tested value" and "comparison function" components. (E.g. map the absent output file to Nothing, and make it always pass the test.)
This looks like an overly specialized to add an option for it.


[ENHANCEMENT] - Files tab accessibility

Problem
The Files tab is not accessible if no commit have been selected even though this tab is not directly related to the commits themself.
Moreover, when nothing is selected, there is a lot of empty space that doesn't communicate much.

Proposal(s)
(1 or 2, or both since I think they still make sense when combined but it should be splitted in two separate tickets in this case)

Always select the HEAD commit by default.
Since it doesn't really make sense to not have anything selected anyway (and because unselecting a commit is no possible either), it could be a good workaround.
Dissociate the Files tab from the commit selection.
By either :

Display only the Files tab when nothing is selected.
Change the Files tab from its actual position to the left panel, right under the already existing Histories, Changes and Stashes menus. It could make more room to display the file tree and the actual files content right away.

Mockups
Display only the Files tab when nothing is selected :

Change the Files tab from its actual position to the left panel :

In fact, the list of files displayed on the FILE page is depends on the selected commit - it shows all the files those contained in the selected revision.
Adding a Files page to display the list of files in the current worktree is very limited

For the changed files, there is already a "Changes" page to manage them
For the entire worktree files, if only the content of the selected file is displayed, why not open and manage it directly with an external editor (which is more powerful)?
For normal operations of file-system, why not use the Open in File Browser feature directly?

As mentioned in some previous issues, the left content display area is very crowded (sometimes even the LOCAL BRANCHES and REMOTES cannot be displayed completely in the same time), and there are currently no plans to add other display content
For suggestions for automatically selecting HEAD, please refer to the answer in #262

In fact, the list of files displayed on the FILE page is depends on the selected commit - it shows all the files those contained in the selected revision.

I didn't thought about that, that's indeed quite logical putting it like that. Thanks for the clarification !

* For suggestions for automatically selecting `HEAD`, please refer to the answer in [[FEATURE REQUEST] When a worktree is opened, auto locate the HEAD #262](https://github.com/sourcegit-scm/sourcegit/issues/262)

I don't know chinese so maybe I've miss read what have been said but I don't think that this is anything close to "trying to guess the user mind" to auto focus the logical thing to view in a Git GUI client.
Currently, the empty state (nothing selected) is accessible only once, when you open a repository. As soon as you have something selected, you cannot go back to this state, which is not really intuitive in a UX perspective > if you have a state at some point, this state should be accessible again at anytime (commit selected <-> commit unselected).
In my opinion, either a commit could be unseselected but there is currently no good reason to do so, or, there should always be something selected (HEAD by default for example).
All of this to say, I don't quite see the current logic of having nothing selected by default and so having to manually focus something when the most obvious behavior should be to view where your repository is looking at right now.
I understand the fact that this behavior may not suit some users but since this is a recurring request there should be, at least, an option to auto focus by default !

For most personal projects, after opening the repository, switching to the changes page to edit local changes is more frequent than checking the current HEAD. Because in most cases, we don't need to pay attention to what we committed last time.
Even for a multi-person collaborative project, after opening the repository, if we do not fetch the changes from remote first, why should we pay attention to the HEAD that has not changed? For example, for a repository that has not been updated, why should we select the HEAD first every time we open it?
Why not add the automatically selection? Because this action will create additional git processes to obtain the information we need, such as: completed commit messages (subject & body), all the changes contained in the commit, and the list of files contained in the current revision, etc. These operations will either slow down the opening time of the entire repository, or on some poorly configured computers, there will be too many git processes and they will get stuck.
In addition, this software already provides a number of functions for quickly locating the current HEAD, and it is not difficult to locate the current HEAD if necessary.

tips: you can hold ctrl to select multiple commits or unselect some commits

I guess that trying to fetch all the informations right at repository opening is quite like "trying to guess the user mind" actually.

Yes, you are right. So we do NOT add this feature. What I'm trying to say is that, since we do NOT know the behaviour after users open a repository, and auto-selection of HEAD right at repository opening will introduce additional overhead, this behavior will not be added.

I didn't know about the CTRL key tips, that's a great one, thanks a lot!

I'll try to add some tips to help users notice this.

Now the blank page has a concrete meaning: it prompts that the commits list can be multiple-selected.

Fair enough, thanks for making it clearer !


Allow 7zip as alternative to Zip in SDKMAN with git-bash.

Please allow the use of 7zip (with git-bash) too instead of just Zip.
7zip is compatible with Zip, and most users need to create a wrapper or link named "zip" to 7zip in order to make SDKMAN work with 7zip.
Simply allowing 7Zip too, would simplify the setup on Windows.
Thank you.

@marc0der if https://github.com/sdkman/sdkman-candidates-legacy is not used anymore:
("This is a retired service and is no longer in use!"),
where is https://github.com/sdkman/sdkman-candidates-legacy/blob/master/src/main/scripts/install.sh hosted (in what other repo?) ?
Since that install.sh  seems to be what gets downloaded under https://get.sdkman.io/ (and would need a PR to support 7Zip).

PRs welcome.

Is this issue still open? I'd like to help with this.

+1

Hmmm, as a workaround, I add the following file to the PATH and, well, it works:
#!/bin/bash

gzip "$@"

Obviously it should be named zip. So, maybe aliasing internally to use gzip as the zip commando could work?

@jeffque Even though that might get you across the line to install SDKMAN, it will break when installing any SDK version. I'd recommend not doing it that way.

@helpermethod @jeffque I guess what I was trying to say is that gzip is not compatible with the command line arguments of Info-Zip zip. When I attempt to install for instance Java, I get the following error:
Downloading: java 17.0.2-tem

In progress...

Repackaging Java 17.0.2-tem...
zip: invalid option -- 'y'
Try `zip --help' for more information.

The CLI switches for gzip are as follows:
$ gzip -h
Usage: gzip [OPTION]... [FILE]...
Compress or uncompress FILEs (by default, compress FILES in-place).

Mandatory arguments to long options are mandatory for short options too.

  -c, --stdout      write on standard output, keep original files unchanged
  -d, --decompress  decompress
  -f, --force       force overwrite of output file and compress links
  -h, --help        give this help
  -k, --keep        keep (don't delete) input files
  -l, --list        list compressed file contents
  -L, --license     display software license
  -n, --no-name     do not save or restore the original name and timestamp
  -N, --name        save or restore the original name and timestamp
  -q, --quiet       suppress all warnings
  -r, --recursive   operate recursively on directories
      --rsyncable   make rsync-friendly archive
  -S, --suffix=SUF  use suffix SUF on compressed files
      --synchronous synchronous output (safer if system crashes, but slower)
  -t, --test        test compressed file integrity
  -v, --verbose     verbose mode
  -V, --version     display version number
  -1, --fast        compress faster
  -9, --best        compress better

With no FILE, or when FILE is -, read standard input.

Report bugs to<EMAIL_ADDRESS>
But the switches for zip are:
$ zip -h
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -y   store symbolic links as the link instead of the referenced file
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help

Hope it makes more sense now.

I was reviewing this thread and was unable to find where in the sdkman-cli it uses the "zip" command is used. it appears to be from here:
https://api.sdkman.io/2/hooks/post/java/8.0.362-tem/linuxx64
#!/bin/bash
#Post Hook: linux-java-tarball
function __sdkman_post_installation_hook {
    __sdkman_echo_debug "A Linux 64bit post-install hook was found for Java 8.0.362-tem."

    __sdkman_validate_binary_input "$binary_input" || return 1

    local present_dir="$(pwd)"
    local work_dir="${SDKMAN_DIR}/tmp/out"

    echo ""
    echo "Repackaging Java 8.0.362-tem..."

    mkdir -p "$work_dir"
    /usr/bin/env tar zxf "$binary_input" -C "$work_dir"

    cd "$work_dir"
    /usr/bin/env zip -qyr "$zip_output" .
    cd "$present_dir"

    echo ""
    echo "Done repackaging..."

    __sdkman_echo_debug "Cleaning up residual files..."
    rm -f "$binary_input"
    rm -rf "$work_dir"
}

function __sdkman_validate_binary_input {
    if ! tar tzf "$1" &> /dev/null; then
        echo "Download has failed, aborting!"
        echo ""
        echo "Can not install java 8.0.362-tem at this time..."
        return 1
    fi
}

it appears as though it downloads a tar file, un tars it, zips it, then unzips it. Can you share the design goals of the system so that maybe someone can chip in with some contributions to address the issue raised here to the satisfaction of the project? thanks!

Hi @alexanderankin, the internals of SDKMAN currently rely on all archives being zips. The choice of having the convention of zip files was taken early on because:

there was no way of telling what resource curl is re-directing to, so we decided to standardise on zip files for simplicity.
most SDKs are distributed as zips, with only a small percentage as tarballs

When we later introduced the JDK, some platform distributions were not in zip format. To bridge the gap, we wrote serverside hooks executed on the fly, transforming the tarballs into the zip format we understand. This is where the zip command comes into play.
Since that time, @hgeraldino has done excellent work on our broker service to help infer the binary type. We now have a header returned as part of the binary redirect, which tells us if it is a zip, tarball (or something else). Unfortunately, this work hasn't progressed much further, and we still rely on the tarball -> zip hack to help with JDK installation. Hopefully, we will see this work progress at some point to extract tarballs directly when we infer it from the header.
I hope it all makes more sense now!

yep sure does, thanks!

how to resovle this problem? @marc0der
when i try to install a certen java vsersion, got pending like this:

see the temp download path, The temporary file size is skyrocketing. How should I resolve this?


make.height.mas_equalTo Issue

I want to make two views as my cell's separate line.So I code this make.height.mas_equalTo(0.5).However，the height of one line is 0.666667 and the height of the other line is 0.333333. I used the simulator is iPhone6s plus. When I use the iphone6s display is normal.When I set the constraint height to 0.6, the height of both lines is 0.666667. I would like to know why this is the end.

How did you solve the problem?

I have got the same problem, so what is the solvation?


Split buyers views into manageable chunks

The buyers.py views module is huge. Time for a quick refactor:
buyers.py now contains just creating/updating/publishing/deleting/withdrawing a Brief
download_responses.py for the CSV download view
outcome.py for the award, cancel and unsuccessful flows
supplier_questions.py for clarification questions
It was remarkably pain-free!

Definitely the same number of unit tests (295) on this branch and on master!
I've spotted a few duplicated bits that can be further consolidated (I put this PR up in a bit of a rush before leaving the office yesterday lunchtime!).


Fix removing fields from feathers-mongoose

Fix #91 by checking whether a property has a setter function or not. If it has, let the setter does its job in setting property to undefined and deleting it.

@daffl Bother you to review my code again. Last time, my bad is I didn't test with feathers-mongoose. So, I didn't notice the problem with its setter function. Now, I tested with my real app using feathers-mongoose and also add a test case covering feathers-mongoose.

@daffl Done. Please check.

Awesome, thank you! Released in v1.5.7.


catppuccin color palette mismatch

Hi,
There seems to be a mismatch between the colors used here and the colors used in the catppuccin repo. For example:
latte

color
catppuccin
here

rosewater
220, 138, 120
222, 149, 132

pink
234, 118, 203
236, 131, 208

yellow
223, 142, 29
228, 147, 32

blue
30, 102, 245
42, 110, 245

Is this intended?

Good catch. Let me investigate. Someone else generated the variables for the theme, but the official palette itself may have also had some minor tweaks I didn’t know about. I’ll update you when it’s fixed. Thanks!On Jun 22, 2023, at 10:34 AM, Ian @.***> wrote:
Hi,
There seems to be a mismatch between the colors used here and the colors used in the catppuccin repo. For example:
latte
color
catppuccin
here
rosewater
220, 138, 120
222, 149, 132
pink
234, 118, 203
236, 131, 208
yellow
223, 142, 29
228, 147, 32
Is this intended?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

This should be corrected in the most recent update. Thanks again for letting me know about this -- I have some theories as to how it came to be this way, but my guess is the specific reasoning is lost to Discord. If you catch anything other misapplied colors, feel free to reopen.


[Install] Update UV installation instructions and add dedicated UV tabs

Issue #, if available:*
Issue #4593
Description of changes:

Added dedicated UV installation tabs for all platforms (Linux/Mac/Windows)
Fixed virtual environment installation issues by:

Using python -m uv pip install instead of uv pip install
Creating separate UV-specific installation files

Cleaned up installation files:

Removed UV installer from non-UV installation methods (pip, source)
Created dedicated install-cpu-uv.md and install-gpu-uv.md
Updated nightly build instructions to use correct UV command format

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

When testing the installation on ubuntu, I got an error doing ./full_install.sh. I think relaxing shap>=0.44,<0.47 resolved the issue.

When testing the installation on ubuntu with python3.12, I got an error doing ./full_install.sh. I think relaxing shap>=0.44,<0.47 resolved the issue.

I will test and see if it is a common issue not captured by platform_tests, if so need to address in a separate dependency update PR before release


Update compilerOptions for javascript.implicitProjectConfig.experimentalDecorators.

This PR fixes #92846
Just as settings are passed into getCSSMode, I modified getJavaScriptMode to accept an additional parameter of  type Workspace. Workspace.settings is then passed into doValidation to update experimentalDecorators in compilerOptions, by modifying the object returned by host.getCompilationSettings.

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

Thanks! This will be in the next VS Code insiders build and is scheduled to be released with VS Code 1.45


Comp

Changes for BuildBattle (pending review by others)

@AndKram : Can you also fix this conflict ?

Okay merged. Thanks.

Sorry, what conflict?
Andre
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: SP Mohanty<EMAIL_ADDRESS>Sent: Tuesday, October 30, 2018 4:43:18 PM
To: crowdAI/marLo
Cc: Andre Kramer (Allegis Global Solutions Limit); Mention
Subject: Re: [crowdAI/marLo] Comp (#66)
@AndKramhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAndKram&data=02|01|v-andkra%40microsoft.com|509b98b61d064f45e1f208d63e86cc72|72f988bf86f141af91ab2d7cd011db47|1|0|636765146013559572&sdata=iTS14eVwzRfHwdS6QpKvHfkXL26u0b0Q%2F%2BVX1aIL01c%3D&reserved=0 : Can you also fix this conflict ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FcrowdAI%2FmarLo%2Fpull%2F66%23issuecomment-434376572&data=02|01|v-andkra%40microsoft.com|509b98b61d064f45e1f208d63e86cc72|72f988bf86f141af91ab2d7cd011db47|1|0|636765146013569585&sdata=TmfYzGwNwqbzzY%2BsWUYg0p7jJcj%2FTDwArDQWdzin%2Fjs%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAj317MiGvKY-fczOjEU1ScC0UnPsxnayks5uqIGmgaJpZM4YCV6G&data=02|01|v-andkra%40microsoft.com|509b98b61d064f45e1f208d63e86cc72|72f988bf86f141af91ab2d7cd011db47|1|0|636765146013569585&sdata=nzmxEWUarxk0Ei%2FjvUNErpnle0bKlsFpE9DGBZaB%2FyQ%3D&reserved=0.

@AndKram : Nevermind. It was a simple one, I resolved it.

I mentioned the commit on Malmo gitter but we probably need a longer explanation to make it easier for people to get started.
Andre
From: SP Mohanty<EMAIL_ADDRESS>Sent: 30 October 2018 16:55
To: crowdAI/marLo<EMAIL_ADDRESS>Cc: Andre Kramer (Allegis Global Solutions Limit<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [crowdAI/marLo] Comp (#66)
@AndKramhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAndKram&data=02|01|v-andkra%40microsoft.com|9e955a35ecde47ec23b508d63e886cd8|72f988bf86f141af91ab2d7cd011db47|1|0|636765152994701179&sdata=4I6uKWDq9PkkT2EwSkscnnM%2BEPDIxqiXvOmuTPQ98p4%3D&reserved=0 : Nevermind. It was a simple one, I resolved it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FcrowdAI%2FmarLo%2Fpull%2F66%23issuecomment-434381431&data=02|01|v-andkra%40microsoft.com|9e955a35ecde47ec23b508d63e886cd8|72f988bf86f141af91ab2d7cd011db47|1|0|636765152994701179&sdata=zFwCGBl0rOwJiT9VM0aZzL%2FR4GI1GoPFD6NMC9SUoy0%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAj317HZ6yzzEKtQOIDK1bsEKGfYpUhB4ks5uqIRigaJpZM4YCV6G&data=02|01|v-andkra%40microsoft.com|9e955a35ecde47ec23b508d63e886cd8|72f988bf86f141af91ab2d7cd011db47|1|0|636765152994711192&sdata=HHSOnqQK9Xz6Y%2BRGy%2FCFVkIDzQsxtHa2CSmLNdx9b4I%3D&reserved=0.


feat: allow reset the form with the first value his was create

Connection with issue(s)

Close #436

Connected to #382
Solution description
Right now the reset method allow set to null the value of the control, but could not apply to change the initial value of the control when is called. This PR allows you to discard changes made to the form fields.
In some forms it is necessary to update values initially provided, and in some cases it is necessary to reset them with the initial values, for example a user profile where you need to update your personal data.
const pureValue = 'pureValue';

// A control with some default value
final control = FormControl<String>(
    value: pureValue,
    touched: true,
);

// Change the initial value in the control
control.value = 'new value';

// Reset control with the pure value after change the value
control.reset();

// Expect: the control has the initial value after apply the reset
expect(control.value, pureValue);
expect(control.touched, isTrue);

Screenshots or Videos

To Do

[x] Check the original issue to confirm it is fully satisfied
[x] Add solution description to help guide reviewers
[x] Add unit test to verify new or fixed behaviour
[ ] If apply, add documentation to code properties and package readme

Hi @yeikel16
Thanks for the PR. I would like to know your opinion about the following question:
Given this code:
const pureValue = 'pureValue';

// A control with some default value
final control = FormControl<String>(
    value: pureValue,
    touched: true,
);

// Change the initial value in the control
control.value = 'new value';

What would be the benefit of:
control.reset()

over the current implementation:
control.reset(value: pureValue)

Given this code:
const pureValue = 'pureValue';

// A control with some default value
final control = FormControl<String>(
    value: pureValue,
    touched: true,
);

// Change the initial value in the control
control.value = 'new value';

What would be the benefit of:
control.reset()

over the current implementation:
control.reset(value: pureValue)

Hello @joanpablo, right now you need to pass the value when resetting the control, forcing it to have the value to be assigned in the reset function at all times. On the other hand, if nothing is passed, the value of the control remains null, being a bit confusing for the function that it must fulfill according to the name of said reset function, for this last case I would recommend including a more specific function and descriptive like clean().
With this PR, simply calling the reset function will take the value with which the control was created and restart it without extra work.

Hi @yeikel16,
Thanks for the quick response. You are right, I fully understand now the benefits. I agree 100% with you. I would need some time to review this PR thoroughly. It is an important feature and your PR is making important changes in the core of Reactive Forms.
Thanks once again for the contribution and for the patience


ReadConsoleW does not have SetLastError=true

Actual behavior
[DllImport("Kernel32", ExactSpelling = true)]
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
internal static extern unsafe win32.Foundation.BOOL ReadConsoleW(win32.Foundation.HANDLE hConsoleInput, void* lpBuffer, uint nNumberOfCharsToRead, uint* lpNumberOfCharsRead, [Optional] win32.System.Console.CONSOLE_READCONSOLE_CONTROL* pInputControl);

Expected behavior
[DllImport("Kernel32", ExactSpelling = true, SetLastError = true)]
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
internal static extern unsafe win32.Foundation.BOOL ReadConsoleW(win32.Foundation.HANDLE hConsoleInput, void* lpBuffer, uint nNumberOfCharsToRead, uint* lpNumberOfCharsRead, [Optional] win32.System.Console.CONSOLE_READCONSOLE_CONTROL* pInputControl);

Repro steps

NativeMethods.txt content:

ReadConsoleW

NativeMethods.json content (if present):

{
  "$schema": "https://raw.githubusercontent.com/microsoft/CsWin32/main/src/Microsoft.Windows.CsWin32/settings.schema.json",
  "wideCharOnly": false,
  "emitSingleFile": true
}

Context

CsWin32 version: 0.1.588-beta
Win32Metadata version (if explicitly set by project): 15.0.2-preview
Target Framework: net6.0
LangVersion (if explicitly set by project): preview

It's probably not helpful to open a new issue for every related API, so I'll note here that the following functions have the same issue:

FlushConsoleInputBuffer
GetConsoleMode
GetConsoleScreenBufferInfo
SetConsoleMode
SetConsoleCP
SetConsoleOutputCP

It seems like it might be a pervasive issue with console-related APIs.
(I'm working around it by using Marshal.GetLastSystemError for now.)


Abort hook if lefthook was not found

What if we add some flag to the install and add commands to provide an opt-in option for this behavior?
@Envek wdyt?

I don't really have bandwidth to spend much time on this but yeah, I agree, ideally I'd love if there was a more precise way to configure lefthook.
As an idea, having an option in lefthook.yml to control this would be great. Also, why not to add an option to install lefthook automatically when one does bundle install for the first time in freshly cloned repo? - similar to how husky works in nodejs.

Hey! Sorry for the long delay. It feels like changing current behavior is a big change for lefthook. So, I'd like to suggest an option.
What do you think of having a global config option for that, like ensure: true or mandatory: true? Git hooks will have exit 1 if this option is set to true. So, current lefthook users won't have problems when upgrading, but you can make your configuration stricter and require lefthook to be available (through PATH or other supported options).

This issue was resolved with assert_lefthook_installed option that is set to false by default. You can set it to true if you want to make sure lefthook is not just skipped if it was ever installed in your git hooks.
https://github.com/evilmartians/lefthook/pull/533


Add cert rotation command

Signed-off-by: galal-hussein<EMAIL_ADDRESS>Proposed Changes

Adding cert command to k3s plus adding subcommand rotate
Upgrading dynamic listener to add support for cert rotate

Types of Changes
New Feature
Verification

start k3s server
stop k3s
run cert rotate k3s cert rotate

This command will back up tls certs for server and agent excepts for CA certs and service key, and then remove these files allowing k3s on the next restart to regenerate the files.

restart k3s, and make sure that certificates are rotated successfully

Linked Issues

https://github.com/k3s-io/k3s/issues/2636

User-Facing Change
A new command is added to k3s cert which supposed to contain subcommands for certificate management, this PR include the rotate subcommand which will rotate the TLS certs for server or agent.

@brandond Added fixes according to your comments, and to add some context around the UX, here what the user will see if certificate rotate command is issued:
bash-5.1# k3s --debug certificate rotate
DEBU[0000] Asset dir /var/lib/rancher/k3s/data/96b8e62e8b0dffcc6ed3579dcf03f2a936bfb41aed5c6784ae817483a78eec56
DEBU[0000] Running /var/lib/rancher/k3s/data/96b8e62e8b0dffcc6ed3579dcf03f2a936bfb41aed5c6784ae817483a78eec56/bin/k3s-certificate [../k3s/dist/artifacts/k3s --debug certificate rotate]
INFO[0000] Server detected, rotatig server certificates
INFO[0000] Rotating certificates for admin service
INFO[0000] Rotating certificates for etcd service
INFO[0000] Rotating certificates for api-server service
INFO[0000] Rotating certificates for controller-manager service
INFO[0000] Rotating certificates for cloud-controller service
INFO[0000] Rotating certificates for scheduler service
INFO[0000] Rotating certificates for k3s-server service
INFO[0000] Rotating dynamic listener certificate
INFO[0000] Rotating certificates for k3s-controller service
INFO[0000] Rotating certificates for auth-proxy service
INFO[0000] Rotating certificates for kubelet service
INFO[0000] Rotating certificates for kube-proxy service
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-admin.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-admin.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/etcd/client.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/etcd/client.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/etcd/server-client.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/etcd/server-client.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/etcd/peer-server-client.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/etcd/peer-server-client.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-kube-apiserver.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-kube-apiserver.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/serving-kube-apiserver.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/serving-kube-apiserver.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-controller.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-controller.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-k3s-cloud-controller.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-k3s-cloud-controller.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-scheduler.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-scheduler.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-k3s-controller.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-k3s-controller.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/client-k3s-controller.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/client-k3s-controller.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-auth-proxy.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-auth-proxy.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-kubelet.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/serving-kubelet.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/client-kubelet.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/client-kubelet.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/serving-kubelet.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/serving-kubelet.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-kube-proxy.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/server/tls/client-kube-proxy.key is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/client-kube-proxy.crt is deleted
DEBU[0000] file /var/lib/rancher/k3s/agent/client-kube-proxy.key is deleted
INFO[0000] Successfully backed up certificates for all services to path /var/lib/rancher/k3s/server/tls-1637786253, please restart k3s server or agent to rotate certificates

Without the debug mode the user will just see the services that will be rotated

LGTM; are the test failures legit or a flake?

LGTM; are the test failures legit or a flake?

I think flakes, I will restart

Validated cert rotation using the steps outlined roughly above.
Verification
start k3s server
stop k3s
run cert rotate k3s cert rotate
This command will back up tls certs for server and agent excepts for CA certs and service key, and then remove these files allowing k3s on the next restart to regenerate the files.

restart k3s, and make sure that certificates are rotated successfully

k3s version v1.20.13+k3s-6d3c31ad (6d3c31ad)
go version go1.15.15
k3s version v1.21.7+k3s-7b629008 (7b629008)
go version go1.16.10
k3s version v1.22.4+k3s-2dc4e2c3 (2dc4e2c3)
go version go1.16.10


Fix deprecation warning due to use of @import instead of the newer @use

Hi there!
With the later/latest version of SASS, @import has been deprecated in favor of @use.
When configuring a  sassVariables option like this:
	quasar: {
		sassVariables<EMAIL_ADDRESS>	},

Nuxt throws many warnings like this:
Deprecation Warning: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import

   ╷
10 │ @import<EMAIL_ADDRESS>   │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ╵
    node_modules/quasar/dist/quasar.sass 10:9  root stylesheet

Changing the  @import to @use will fix these warnings.

I tried to use @use with as * for both the quasar variables and the user-defined ones, but sass throws an error because the latter tries to override the former.
 ERROR  Pre-transform error: [sass] This variable is available from multiple global modules.                                                                              21:20:58
    ╷
10  │ @use 'assets/quasar-variables.sass' as *
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ includes variable
11  │ @use 'quasar/src/css/variables.sass' as *
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ includes variable
... │
109 │ $primary   : #1976D2 !default
    │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ variable use
    ```
Additionally, switching to @use won't completely silence the warnings, as Quasar's Sass code heavily relies on features deprecated in the latest versions. Keeping it on @import until Quasar makes significant changes to their Sass code seems to be the best approach.


Add @hegel-expect-error comment

Add comment which notify, that error at the line is expected and show error if the error will be not presented at the line

i am thinking to make writing tests much simpler by just having test project that should type check
for example instead of this
test("Issue #113: Rest arguments don't work with generics 01", async () => {
  const sourceAST = prepareAST(`
    function a<T>(...items: Array<T>) {
      return items;
    }

    const arr01: Array<string> = a('str01', 'str03')
    const arr02: Array<number> = a(2, 1, 3)
    const arr03: Array<boolean> = a(false, true, false, true)
  `);
  const [, errors] = await createTypeGraph(
    [sourceAST],
    getModuleAST,
    false,
    mixTypeDefinitions()
  );

  expect(errors.length).toBe(0);
});

we would have this
function a<T>(...items: Array<T>) {
  return items;
}

const arr01: Array<string> = a('str01', 'str03')
const arr02: Array<number> = a(2, 1, 3)
const arr03: Array<boolean> = a(false, true, false, true)

and instead of this
test("Creating global module variable with any type", async () => {
  const sourceAST = prepareAST(`
    const a: any = 2;
  `);
  const [, errors] = await createTypeGraph([sourceAST]);
  expect(errors.length).toBe(1);
  const [error] = errors;
  expect(error).toBeInstanceOf(HegelError);
  expect(error.message).toEqual(
    'There is no "any" type in Hegel. Use "unknown" instead.'
  );
  expect(error.loc).toEqual({
    start: { line: 2, column: 15 },
    end: { line: 2, column: 18 }
  });
});

we would have this
// @hegel-expect-error
const a: any = 2;

also we can save error messages from @hegel-expect-error to jest snapshot and make sure that error messages don't change unnoticed much like how flow is tested but i think it can be improved and made more simple to use


Move FeeConsensus constructors into modules

I am very opposed to having any module-specific code in fedimint-core.

Originally posted by @elsirion in https://github.com/fedimint/fedimint/pull/6265#discussion_r1826620668

Fixed by #6291


Fix empty spotify cover and album title

this modifies the requests for cover and album title to spotify by adding an empty header/context
Fixes #799

I did these changes to the corresponding file on my Phoniebox, but it seems like it didn't fix the problems.

I assume you did restart the webserver or reboot the Pi?
@lovethisshit can you help?

Yes I restarted the Pi after making the changes.

Not sure, which version are you using?
I tried the solution mentioned here: https://stackoverflow.com/a/43750037 but it did work already without setting an explicit user agent. Maybe there is a system setting overriding this or saving the user agent?

Edit: I forgot to mention, obviously you should delete all title.txt and cover.jpg files, because the code won't run if already present (or test it with a completely new folder)

This was the problem. After deleting the two files in my testfolder and rebooting the image and the title got loaded from spotify.

One more thing: if I remember correctly it also used to show the cover of tracks I directly started from iris. Right now it just shows the last image of things I played earlier when I start something from iris. I probably have to delete another file as well, but which?
Thanks!

I think this is unrelated to this pull request, as the code i changed only writes the cover and title files. I might have time to look into this this week.

Alright, thanks!


Unable to see plugin in the kibana dashboard .Installed the plugin using the cli (Internet URL command). Tested version - 1.11.1 and Kibana - 7.11.0.

Well, I invite you to fully delete your browser cache. I mean in your browser options.
then refresh kibana url.
To see the plugin in kibana 7.11, go to visualize app, then click  “create visualization” button, then click on “aggregation based”, and here, you will see both “Enhanced Table” and “Document Table”  visualizations.

Thank you so much.


[EventRequest] RequisitionLine.Table.al (table 246 "Requisition Line")

Hi MS,
Please help us in migrating our verticalized solution by adding below Event in RequisitionLine.Table.al Table.
Standard Code (Screenshot from SetReplenishmentSystemFromProdOrder )

Modified Code

Event Signature

Thanks
SUD

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


configuration.jsonValidation.url

I got an error notification with [tht13.python]: 'configuration.jsonValidation.url' must be an absolute URL or start with './'  to reference schemas located in the extension. when I using vscode.
I have found and changed jsonValidation to
"jsonValidation": [ 			{ 				"fileMatch": ".condarc", 				"url": "./schemas/condarc.json" 			}, 			{ 				"fileMatch": "environment.yml", 				"url": "./schemas/conda-environment.json" 			}, 			{ 				"fileMatch": "meta.yaml", 				"url": "./schemas/conda-meta.json" 			} 		], in package.json, but it still doesn't work.
How to figure out this issue?

is that the correct package.json to modify
i believe its the package.json related to this extension

is that the correct package.json to modify
i believe its the package.json related to this extension
if you look in .vscode/extensions.tht13.python youll see:
"jsonValidation": [
{
"fileMatch": "pyconfig.json",
"url": "/schemas/pyconfig.schema.json"
}
acutlaly seems to fix it, check my fork out for fix. i had to update the package.json for the remote i was ssh to
So after looking at the file that is referenced that file is marked as "not functional" so this may be intentional use at your own risk

The package.json I changed truly belongs to tht13.python.  As shown in the notification： [tht13.python]: 'configuration.jsonValidation.url' must be an absolute URL or start with './' to reference schemas located in the extension. I modified "url": "/schemas/pyconfig.schema.json" to "URL": "./schemas/pyconfig.schema.json" , but it doesn't work.

is that the correct package.json to modify
i believe its the package.json related to this extension
if you look in .vscode/extensions.tht13.python youll see:
"jsonValidation": [
{
"fileMatch": "pyconfig.json",
"url": "/schemas/pyconfig.schema.json"
}
acutlaly seems to fix it, check my fork out for fix. i had to update the package.json for the remote i was ssh to
So after looking at the file that is referenced that file is marked as "not functional" so this may be intentional use at your own risk

The package.json I changed truly belongs to tht13.python. As shown in the notification： [tht13.python]: 'configuration.jsonValidation.url' must be an absolute URL or start with './' to reference schemas located in the extension. I modified "url": "/schemas/pyconfig.schema.json" to "URL": "./schemas/pyconfig.schema.json" , but it doesn't work.

ah well i dont have the issue anymore

Adding a . fixed it for me as shown in this diff https://github.com/tht13/Python-vscode/compare/master...mw-cyzen:master


New command: list profile card properties

Usage
m365 tenant people profilecardproperty list
Description
Lists all profile card properties configuration
Options

Option
Description

Examples
Lists all profile card properties configuration
m365 tenant people profilecardproperty list

Default properties
No response
Additional Info
docs:
https://learn.microsoft.com/en-us/graph/add-properties-profilecard#configure-profile-card-properties-using-powershell
requires to add scope:
PeopleSettings.Read.All (or better PeopleSettings.ReadWrite.All since we are already planning add/remove commands)

For the get command we need to specify which property we want to retirieve right?
https://learn.microsoft.com/en-us/graph/api/profilecardproperty-get?view=graph-rest-beta&tabs=http

Hi @Adam-it, would it be useful if we started with list, instead of get?

@milanholemans, @martinlingstuyl the aim of this command is like running
Get-MgBetaAdminPeopleProfileCardProperty without any param or like running
GET: https://graph.microsoft.com/v1.0/admin/people/profileCardProperties.
This will get us a full JSON structure of everything that was set for the profile card properties 🙂. Sooooo maybe this command should already be list not get 😉 I will update the spec

Let's also specify what information we return. It can get particularly tricky with non-JSON responses and properties that are localized

indeed listing other the JSON output will be tricky 🤔
what if we order by the response by the property that has most localizations and then create columns for that item. If some other property won't have this localizations then it will be just empty.
So  something like
directoryPropertyName                displayName           displayName-nl
-----------------------------------  --------------------- ---------------------
customAttribute3                         Something              test
customAttribute2                         Something  else

Hi @Adam-it, do checkout out my and @milanholemans implementation for this!

Hi @Adam-it, do checkout out my and @milanholemans implementation for this!

I did and the name of the columns for next lang will be something like displayName nl-NL.
Do you have anything particular I should double check in mind?

ok so for a json response like
{
  "value": [
    {
      "directoryPropertyName": "customAttribute1",
      "annotations": [
        {
          "displayName": "Cost center",
          "localizations": [
            {
              "languageTag": "de",
              "displayName": "Kostenstelle"
            }
          ]
        }
      ]
    },
    {
      "directoryPropertyName": "Alias",
      "annotations": []
    },
    {
      "directoryPropertyName": "customAttribute2",
      "annotations": [
        {
          "displayName": "Something else",
          "localizations": []
        }
      ]
    },
    {
      "directoryPropertyName": "customAttribute3",
      "annotations": [
        {
          "displayName": "Something else",
          "localizations": [
            {
              "languageTag": "de",
              "displayName": "test"
            },
            {
              "languageTag": "nl",
              "displayName": "test2"
            }
          ]
        }
      ]
    }
  ]
}

we will get something like

I hope that's fine @martinlingstuyl with you as I am 'just' 😅 adding tests and will open a PR quite soon I hope

Yes, looks great!

Looks solid @Adam-it! Btw, I don't know if it's just me, but property names with spaces look weird 😅 I hope we won't run into any kind of trouble because of it

How does it look for CSV and MD, btw?

How does it look for CSV and MD, btw?

It looks awesome 😅. Sorry I am over the phone in a rush.
Could you please take a look in the opened PR in the doc file. There you have all the outputs.
Thanks 🙏🙂

Looks solid @Adam-it! Btw, I don't know if it's just me, but property names with spaces look weird 😅 I hope we won't run into any kind of trouble because of it

The same approach @milanholemans and @martinlingstuyl took in the get command. I tired to copy it to align.
I don't have an opinion on that 😅

Yeah, it certainly looks odd, fortunately we convert it to output format immediately after. Which does look better because of it.

It looks odd indeed but since it's output that's not used for scripting but just to improve readability, I think it's ok right?


Wrong sorting with sortlocale = nn_NO

Cf. http://tex.stackexchange.com/questions/263900/sortlocale-no-longer-works-with-current-versions-of-biblatex-and-biber
If this is fixed with the next version of biber (v.2.2), when will it be released through CTAN & texlive? I'm in a bit of a jam because of this, as I have an upcoming deadline to submit the final ready-to-print version of paper.

Can you download biber 2.2 and try it? I have no release date for 2.2 yet.

I tried with biber 2.2. and the problem was gone. You can download it from here https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/development/binaries/
On windows you can unpack the biber-MSwin.zip. Rename (if you want) the biber.exe to e.g. biber22.exe, copy it to some folder in your path and then use biber22 instead of biber in your editor.

Thanks for the guide, Ulrike (which I needed). The bibliography is
correctly sorted with biber 2.2.
On Mon, Aug 31, 2015 at 9:09 AM, u-fischer<EMAIL_ADDRESS>wrote:

I tried with biber 2.2. and the problem was gone. You can download it from
here
https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/development/binaries/
On windows you can unpack the biber-MSwin.zip. Rename (if you want) the
biber.exe to e.g. biber22.exe, copy it to some folder in your path and then
use biber22 instead of biber in your editor.
—
Reply to this email directly or view it on GitHub
https://github.com/plk/biber/issues/81#issuecomment-136284323.