Auto update not working on Windows when installed globally for all users

This issue is directly related to issue #1514 .  Not sure why this was closed before verifying that it worked, because, when I initiated the auto update to ipfs-desktop 12.0, the exact same issue occurred once again. Program was uninstalled, not re-installed, and the installation files were located in the %USERPROFILE%\Appdata\local\ipfs-desktop-updater. I did notice that there were 2 executable files in the directory though (I don't recall if there were last time): one named "updater.exe" and one that was the actual install file for the program (IPFS-Desktop-Setup-0.12.0.exe). Interestingly, while both were the same size, (83,195 kb), I noticed that the hash values were different, so they are not the same file? I don't know. What I do know is that the process is still broken and the potential cause of the issue which I mentioned in the 2nd of the 2 potential causes I listed remains unchanged (update-info.json "isAdminRightsRequired" value is still euqal to false, and as I stated the first time, you need admin permissions to install an application to the program files directory, which is where ipfs desktop is installed when you install it for all users). Maybe I am an outlier in this mindset, but I am of the belief that issues should be confirmed resolved before closing them.Auto update not working on Windows when installed globally for all users

OS: Windows 10
Version of IPFS Desktop [e.g. 0.12.0]

Describe the bug
I have noticed that, the last two times that IPFS-desktop has updated using the internal update functionality (when the app says a new version is available and to click button to close IPFS-desktop and install the updated version), the old version of ipfs-desktop successfully uninstalls the old version, but does not install the new version correctly.  I should note that I install IPFS-desktop so that it available for all users, not just the currently running user, which I think is the main reason the auto-update might be failing.  There are a few reasons that I can think of that might be the cause:

In my case, when I installed IPFS, I installed it so that it would be available for all users.  As you may know, this is not the default configuration for the installer (the default being to install IPFS-desktop only for the current user), so what MAY be happening is that IPFS-desktop is uninstalling the old version located in Program files (the folder to install app for all users), but then installing the new version in app data (only install for current user).  If this turns out to be the case, while technically still successfully installing the application (which is why I emphasized "correctly"), my IPFS-desktop Desktop icon can no longer find its source executable, and I just end up downloading the installer and reinstalling the application manually anyway, defeating the auto update functionality entirely.  This is unlikely the cause.
The process initiating that auto-update functionality may not have the elevated permissions that it needs to write to the Program files directory.  If the installer takes into account the install settings from the previous installation (in other words, installs the new version for all users if the previous install was configured to be installed for all users), then the reason that it might be failing is because the process may lack the elevated permissions needed to write to the Program Files directory.  I am confident that this is the cause of the failed installation, as, when I navigated to %USERNAME%\appdata\local\ipfs-desktop-updater\pending and opened the update-info.json file, I saw the following:

To Reproduce
Steps to reproduce the behavior:

Install ipfs-desktop version 0.11.2 or 0.11.1 and configure the installation so that the application is available to all users
Launch the application
Wait for the auto-update functionality dialog box to appear and initiate the process

Expected behavior
IPFS auto-update functionality would automatically re-install the application successfully with the same configurations as the previous install
error.log

CC @rafaelramalho19 -- thank you!

@demdante Thank you for the detailed and long description of the issue. However, the fix that we actually shipped will only be executed in the next version update.
What happened is that your current auto-update was performed with the code from v0.11.4, not with the one from v0.12.1. Therefore, this fix will only be visible from this version onwards.
Sorry if I didn't give this explanation before. I'll let the issue open until we have a new version of desktop.
We appreciate your feedback, thank you 🙏

@rafaelramalho19 I just want to make sure I understand this correctly, as well as offer a correction to my original statement.  The correction being that the issue is not exactly the same as it was before: it is worse now.  I initially had installed version 0.12.0 on my machine, and when I initiated the auto-update to update to version 0.12.1, but now nothing at all happens: IPFS-desktop closes, but unlike before, it doesn't even uninstall successfully now, much less re-install the most up-to-date version.  The fact that the auto-update behavior has changed, in addition to the fact that, based on the activity in the now closed, original issue that I opened, the pull request which was meant to resolve this issue was merged and implemented 12 days ago (and two versions have been released since then) leads me to believe that the fix meant to resolve the issue was actually implemented in version 0.12.0 as well, and, if that is the case, then, unfortunately, this is still an issue, but even more so now.  When the auto-update process initiates in version 0.12.0 when upgrading to version 0.12.1,  I can go and re-open the application, and it will continue to try and fail to even uninstall the old version now.  Here are entries from the combine.log which show the last few times this has happened:
2020-07-07T23:38:22.114Z info: [web ui] window ready
2020-07-07T23:38:22.115Z info: [tray] starting
2020-07-07T23:38:22.248Z info: [tray] started
2020-07-07T23:38:22.248Z info: [ipfsd] start daemon STARTED
2020-07-07T23:38:27.570Z info: [daemon] PeerID is QmNjQdw8h3pxoZ5oWPYzeKZkWgFze6hRghGCmRMt1FdPBn
2020-07-07T23:38:27.570Z info: [daemon] Repo is at C:\Users\john\.ipfs
2020-07-07T23:38:27.571Z info: [ipfsd] start daemon FINISHED 5.321959401s
2020-07-07T23:38:29.454Z info: [updater] update available, download will start
2020-07-07T23:38:29.459Z info: [ipfs on path] no action taken
2020-07-07T23:38:29.459Z info: [launch on startup] disabled
2020-07-07T23:38:29.665Z info: [updater] update downloaded
2020-07-07T23:38:34.963Z info: [ipfsd] stop daemon STARTED
2020-07-07T23:38:35.031Z info: [ipfsd] stop daemon FINISHED 0.06729930000001332s
2020-07-07T23:38:35.068Z info: [quit-and-install] stopIpfs had finished with status: 5
2020-07-08T02:29:06.316Z info: [meta] logs can be found on C:\Users\john\AppData\Roaming\IPFS Desktop
2020-07-08T02:29:07.275Z info: [web ui] window ready
2020-07-08T02:29:07.276Z info: [tray] starting
2020-07-08T02:29:07.389Z info: [tray] started
2020-07-08T02:29:07.390Z info: [ipfsd] start daemon STARTED
2020-07-08T02:29:12.833Z info: [daemon] PeerID is QmNjQdw8h3pxoZ5oWPYzeKZkWgFze6hRghGCmRMt1FdPBn
2020-07-08T02:29:12.833Z info: [daemon] Repo is at C:\Users\john\.ipfs
2020-07-08T02:29:12.834Z info: [ipfsd] start daemon FINISHED 5.443837898999453s
2020-07-08T02:29:14.650Z info: [updater] update available, download will start
2020-07-08T02:29:14.655Z info: [ipfs on path] no action taken
2020-07-08T02:29:14.655Z info: [launch on startup] disabled
2020-07-08T02:29:14.855Z info: [updater] update downloaded
2020-07-08T02:29:18.715Z info: [ipfsd] stop daemon STARTED
2020-07-08T02:29:18.782Z info: [ipfsd] stop daemon FINISHED 0.06644140000082552s
2020-07-08T02:29:18.817Z info: [quit-and-install] stopIpfs had finished with status: 5
2020-07-08T02:43:18.406Z info: [meta] logs can be found on C:\Users\john\AppData\Roaming\IPFS Desktop
2020-07-08T02:43:19.373Z info: [web ui] window ready
2020-07-08T02:43:19.374Z info: [tray] starting
2020-07-08T02:43:19.488Z info: [tray] started
2020-07-08T02:43:19.489Z info: [ipfsd] start daemon STARTED
2020-07-08T02:43:24.317Z info: [daemon] PeerID is QmNjQdw8h3pxoZ5oWPYzeKZkWgFze6hRghGCmRMt1FdPBn
2020-07-08T02:43:24.317Z info: [daemon] Repo is at C:\Users\john\.ipfs
2020-07-08T02:43:24.318Z info: [ipfsd] start daemon FINISHED 4.828577800000087s
2020-07-08T02:43:26.216Z info: [updater] update available, download will start
2020-07-08T02:43:26.220Z info: [ipfs on path] no action taken
2020-07-08T02:43:26.220Z info: [launch on startup] disabled
2020-07-08T02:43:26.431Z info: [updater] update downloaded

The lines that I think are most relevant are the ones that state "[quit-and-install] stopIpfs had finished with status: 5" and then the lines immediately following showing me starting ipfs-desktop again.  So, yeah, this still seems to be an issue.

@demdante The version 0.12.0 was broken because the build used for the deployment was actually the same as 0.11.4 (weird pipeline bug that happened once before). Therefore, if you actually open the ipfs-desktop application on that version, you'll see that go-ipfs is still using 0.5.1, while if you open in 0.12.1 you'll see that it uses 0.6.1
If this happens again while upgrading to 0.12.2/0.13.0, please tell us so we can look more into this.

Dear @rafaelramalho19  and @demdante
This bug is also present in the lastest ipfs version available for download: 0.14.1
When installed for all users (with admin permisions), the application says it will upload the last version, downloads the update from the internet into%userprofile%\AppData\Local\ipfs-desktop-updater the installer of 0.14.1 and it empty all the contents of C:\Program Files\IPFS Desktop leaving the non working shotcuts on the desktop
I am using Windows 10 64 bits
Dear @demdante  please look into the issue since is afecting all the new windows users of IPFS Desktop that choose this popular option.
Thanks in advance,
Pedro

@demdante we just released a new version of desktop. Can you confirm this issue is fixed?

There is a workaround - changing the 'false' to 'true' in %USERNAME%\appdata\local\ipfs-desktop-updater\pending and then running the 0.12 installer manually. At least, this worked for me.

I also had the same issue on and off for the past several weeks.
It works now. But that happened before and then the issue reoccurred.
The number of peers are growing, steadily The highest I seen so far was 262.
Rely on it, and build around it.

Let's hope this issue won't come back.
Thank You

It seems https://github.com/ipfs-shipyard/ipfs-desktop/pull/1556 does not work as expected (or there is a new regression  in electron-builder).
@rafaelramalho19 I think the issue is still present. Are able to confirm?
I got the update error no matter if I install for a single user or all users.

Install 0.12.2
click on tray icon → about → check for updates (to update to 0.13.0)
Get error that app needs to restart, app ends up in infinite loop

Quick note: auto-update from 0.12.2 to 0.13 functions as expected on Mac.

Update destroyed IPFS Desktop again.
Windows 10

See https://github.com/ipfs-shipyard/ipfs-desktop/issues/1680 from @gyuri-lajos with error info.

Confirmed this is a regression limited to Windows and autoupdate orchestration provided by electron-builder.
We are working on a fix in https://github.com/ipfs-shipyard/ipfs-desktop/pull/1679.
Temporary workaround for IPFS Desktop v0.13.0 on Windows

Uninstall old IPFS Desktop
Install manually from IPFS-Desktop-Setup-0.13.0.exe


System security

Acceptance criteria

Data security
Infrastructure security

This epic might be closed as security during the project will be handled through other stories. Security is something we should pay attention to in everything we do. It is not a story by itself.


amass: 3.23.2 -> 3.23.3

Diff: https://github.com/OWASP/Amass/compare/v3.23.2...v3.23.3
Changelog: https://github.com/OWASP/Amass/releases/tag/v3.23.3
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 239000 run on x86_64-linux 1

2 packages built:

amass
amass.wordlists


Chargeback costs reported in USD only even when rates are assigned non USD currencies

Steps to reproduce:
1)Add a custom chargeback rate.Select a non-USD currency.Assign the Chargeback rate to some entity:Enterprise etc.
2)Generate a Chargeback report.
Actual Results:
Chargeback costs are reported in USD.
Expected Results:
Chargeback costs should be reported in the correct currency.

Issue seen in master.20160404111938_3b90545

Hi @tledesma, can you help with this too?

Yes @sergio-ocon, I'm working on it!


Updating travis to python 3.7

Not sure if this will work, but attempting to fix errors that have been cropping up in travis builds:
For instance in https://travis-ci.org/pyviz/panel/jobs/550370461:
0.03s$ pip install pyctdev && doit miniconda_install && pip uninstall -y doit pyctdev
pyenv: version `3.6' is not installed (set by PYENV_VERSION environment variable)
The command "pip install pyctdev && doit miniconda_install && pip uninstall -y doit pyctdev" failed and exited with 1 during .
Your build has been stopped.

Looks like the error in appveyor is the same that is being fixed in this PR

Okay, I'm happy to fix that issue separately. Merging.


Refactor code to not fetch repos that are explicitly excluded

Currently in the code base we fetch the repositories for a user or an organization with the following respectively
opt := &github.RepositoryListOptions{Type: "all"}
...
var repos, resp, err = client.Repositories.List(ctx, *githubUser, opt)

and
opt := &github.RepositoryListByOrgOptions{Type: "all"}
...
var repos, resp, err = client.Repositories.ListByOrg(ctx, *githubOrg, opt)

And when we want to exclude things such as forks,private, archived or disabled repos we simply pass over them in our evaluation
if *repo.Archived == true {
	loggerWithFields.Info("skipping archived")
	continue
}

if *repo.Disabled == true {
	loggerWithFields.Info("skipping disabled")
	continue
}

if *includeForks == false {
	if *repo.Fork == true {
		loggerWithFields.Info("skipping fork")
		continue
	}
}

if *includePrivate == false {
	if *repo.Private == true {
		loggerWithFields.Info("skipping private")
		continue
	}
}

The GitHub API supports changing the types in the options that are declared above as shown in their documentation https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user
This would be a good issue if someone wanted to investigate this and see if they can instead modify the opts variable with the appropriate string to prevent us from getting unnecessary repos.

I worked on this issue and find a few things
ListByOrg is easy to refactor to fetch only appropriate repos thanks to the list-organization-repositories API has useful type values like public, private, and forks. I created PR about this. #27
However List is not because the list-repos-for-user API does not have such type values. Also this API does not provide private repo and this mean include-private flag does not work for user repos.
I think it is good to use list-repositories-for-the authenticated-user API if no username is provided. The go-github library List method uses this API if no username is provided too(https://godoc.org/github.com/google/go-github/github#RepositoriesService.List ).

The go-github library List method uses this API if no username is provided too(https://godoc.org/github.com/google/go-github/github#RepositoriesService.List ).
https://godoc.org/github.com/google/go-github/github#RepositoriesService.List

opt := &github.RepositoryListOptions{Type: "all"}
...
var repos, resp, err = client.Repositories.List(ctx, *githubUser, opt)
and
opt := &github.RepositoryListByOrgOptions{Type: "all"}
...
var repos, resp, err = client.Repositories.ListByOrg(ctx, *githubOrg, opt)
And when we want to exclude things such as forks,private, archived or disabled repos we simply pass over them in our evaluation
if *repo.Archived == true {
loggerWithFields.Info("skipping archived")
continue
}
if *repo.Disabled == true {
loggerWithFields.Info("skipping disabled")
continue
}
if *includeForks == false {
if *repo.Fork == true {
loggerWithFields.Info("skipping fork")
continue
}
}
if *includePrivate == false {
if *repo.Private == true {
loggerWithFields.Info("skipping private")
continue
}
}
(I THINK THAT USE  TYPING
"github.com/google/go-github/github")
THANK YOU
ZAIDH FARSHAD

nice work


Added German translation

Thank you @chillenkoetter!
Updated the file slightly (using German umlauts properly and corrected some minor mistakes) and merged your PR.


Crawl reports listening ports of inbound peers (RIPD-866)

This improves the information returned by /crawl

:+1:

Left a couple of comments. It's ok as is, but I'd prefer to get those addressed.

:+1: from me.

Looks reasonable.

:+1: for me. Nice changes @vinniefalco


Add hover text to each of the action buttons

When hovering over the action items, hover text should be displayed. For example, thumbs up would say favorite, thumbs down archive.

added hover text to the action buttons


Add a Rate Us option

Hello, my name is A.A.D.Sailaja. I am a Tech Enthusiastic and i'm looking forward to contribute in open source projects. Here in this project i would like to add a rate us option it will allow the user to rate our website and also he can suggest us to improve if any

Can you please assign me this issue under gssoc'24 @khushi-joshi-05 @sunny0625

Can you please assign me this issue @sunny0625

Can you please Assign me this Issue I'm really interested to work with this @sunny0625


Fix #1004: Swap Option Added

Overview

This PR fixes issue #1004
This PR does the following :
-Added and styled a swap button in index.html & style.css
-Implemented the controller logic in script.js

Proof that Changes are Correct
https://user-images.githubusercontent.com/91714752/221427085-fd0617f0-4ea2-467b-ac9d-e5100351ed5f.mp4
Essential Checklist

[ ] My code doesn't break any part of the project
[ ] This PR does not contain plagiarized content.
[ ] My Addition/Changes works properly and matches the overall repo pattern.
[ ] The title of my pull request is a short description of the requested changes.

@amaan-lari Great work 🚀


DNS entry not replicated everywhere

Fantastic website @chrisboakes! Really impressed; great to see it in Svelte.js as well. If you ever want to talk about it at https://asyncjs.com/ when this is all over I'd be super keen to hear your experience with it.
Anyway, onto the issue - I shared this with my colleagues at Brandwatch and one mentioned they couldn't access the site - they said it looks like the DNS hasn't replicated everywhere yet:
 dig @<IP_ADDRESS> www.brightonquarantine.co.uk +short
<IP_ADDRESS>

dig @<IP_ADDRESS> www.brightonquarantine.co.uk +short

...
nada

Not sure if there's anything you can do about that, have asked our network engineer but just thought I'd let you know :)

Our network engineer suggests contacting the domain registry

Hey @larister , thanks! I was actually at the last Serverless async before the lockdown happened - a great meetup and really well organised. For sure, happy to give a lightning talk or something absolutely 👍
I moved the hosting at the weekend and changed over the nameservers on Sunday afternoon so it might still be propagating as it hasn't been a full 48 hours yet. I'll keep an eye on it though and get it resolved!

Hey @chrisboakes, fantastic! I'll be in touch as soon as we know when the next meeting will be happening :)
Oh ok that's good to know, yes I think it can take a while. Our network chap says to ask here if not: https://www.quad9.net/contact/

Hey @larister, thanks! Looking forward to attending Async again when this lockdown is over.
I've checked the DNS this morning and it's resolving:
dig @<IP_ADDRESS> www.brightonquarantine.co.uk +short
<IP_ADDRESS>
dig @<IP_ADDRESS> www.brightonquarantine.co.uk +short
<IP_ADDRESS>

Thanks again for the heads up!

Great, thanks @chrisboakes!


Fixed issue #112 separated types.go

Signed-off-by: Ilan Pinto<EMAIL_ADDRESS>

/approve
/lgtm


Fix #47, add support for comments and brackets for JSX

@egamma ping

Hi @jrieken, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Johannes Rieken). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


[gws] gws/schedule: yearly repeat

Changes Unknown when pulling 42b404ba686f264c44e2d547998d9cc3b7c235c4 on tany:dev into ** on shirasagi:master**.


Remove use of jQuery and modernize

This is a pretty substantial rework of this package that does the following:

Convert CoffeeScript to JS
Use Etch rather than SpacePen for all views.
Switch tests from legacy built-in infrastructure to Mocha.
Extract a singleton class and decouple tests from Atom's package management.
Eliminate Reporter singleton and replace it with an instance variable on the main module.

I did pretty extensive manual testing but it would be great if you could give this a spin @ungb. One known issue is that text editors for the init script, style sheet, config, and snippets aren't opening in the left pane. This is actually an issue in atom/atom and atom/snippets and I plan to fix it there.

@nathansobo Just finished testing various things on the welcome package with your changes. Everything looks good!


content loaded through ajax

Stars do not initialize on content loaded through ajax

you gotta write a callback function and initialize them upon success of loading


Eager loading morphTo relations

I've been having trouble eager loading polymorphic relations, something like:
var Comment = Model.extend({
  author: function() {
    return this.morphTo('author_id', 'User', 'Admin');
  }
})

Comment.fetchAll({ withRelated: ['author'] })

Should run three queries:

Comments
User authors
Admin authors

Does Bookshelf support this or have plans to add support for this?
Thanks!

Seems related to this issue: https://github.com/tgriesser/bookshelf/issues/640

The project leadership of Bookshelf recently changed. In an effort to advance the project we close all issues older than one year.
If you think this issue needs to be re-evaluated please post a comment on why this is still important and we will re-open it.
We also started an open discussion about the future of Bookshelf.js here https://github.com/bookshelf/bookshelf/issues/1600. Feel free to drop by and give us your opinion.
Let's make Bookshelf great again


Update README.md

Fixes #14
@niranjan94 Please check and see if it is necessary or not.

See comment on #14


[Bug]: exceptionHandlers and rejectionHandlers logging self and the others' error type

🔎 Search Terms
uncaughtException catches handleExceptions and handleRejections winston
The problem
exceptionHandlers and rejectionHandlers catch their own respective error types and each others' error type. This has been pointed out before, #1617, @zitoss comment: https://github.com/winstonjs/winston/issues/1617#issuecomment-509612853 pointed out that both share the same code. My testing shows the same. If you pass an exceptionHandlers a rejectionHandlers and vice versa, they will still work.
What version of Winston presents the issue?
3.8.2
What version of Node are you using?
19.1.0.
If this worked in a previous version of Winston, which was it?
No response
Minimum Working Example

const dirName = "./src/logger/logs";

const fileNames = {
	exception: "exceptions",
	exceptionReadable: "exceptionReadable",

	rejection: "rejections",
	rejectionReadable: "rejectionReadable",
};

const rotateConfig = {
	dirname: dirName,
	extension: ".log",
	zippedArchive: true,
	datePattern: "YYYY-MM-DD",
	maxSize: "30m",
	maxFiles: "30d",
};

const readableLogFormat = winston.format.printf(
	({ timestamp, level, message, stack }) => {
		return `${timestamp} ${level.toUpperCase()} ${stack || message}\n`;
	}
);

// -------------------------------------------------------
// NOT A SOLUTION
const exceptionHandlers = [
	new winston.transports.DailyRotateFile({
		filename: fileNames.exceptionReadable,
		...rotateConfig,
	}),
];
const rejectionHandlers = [
	new winston.transports.DailyRotateFile({
		filename: fileNames.rejectionReadable,
		...rotateConfig,
	}),
];

const logger = winston.createLogger({
	level: process.env.LOG_LEVEL,
	format: combine(
		winston.format.errors({ stack: true }),
		timestamp(),
		readableLogFormat
	),

	// transports: transports,
	// ***** will log exceptions and rejections to the exceptionReadable file, not as expected
	exceptionHandlers: exceptionHandlers,
	// rejectionHandlers: rejectionHandlers,
});

fetch("https://websiteDoesNotExist.com");
console.log(undefinedVariable);

// -------------------------------------------------------
// NOT A SOLUTION
const exceptionHandlers = [
	new winston.transports.DailyRotateFile({
		filename: fileNames.exceptionReadable,
		...rotateConfig,
	}),
];
const rejectionHandlers = [
	new winston.transports.DailyRotateFile({
		filename: fileNames.rejectionReadable,
		...rotateConfig,
	}),
];

const logger = winston.createLogger({
	level: process.env.LOG_LEVEL,
	format: combine(
		winston.format.errors({ stack: true }),
		timestamp(),
		readableLogFormat
	),

	// transports: transports,
	// exceptionHandlers: exceptionHandlers,
	// ***** will log exceptions and rejections to the rejectionsReadable file, not as expected
	rejectionHandlers: rejectionHandlers,
});

fetch("https://websiteDoesNotExist.com");
console.log(undefinedVariable);

// -------------------------------------------------------
// NOT A SOLUTION
const rejectionHandlers = [
	new winston.transports.DailyRotateFile({
		filename: fileNames.rejectionReadable,
		...rotateConfig,
	}),
];

const logger = winston.createLogger({
	level: process.env.LOG_LEVEL,
	format: combine(
		winston.format.errors({ stack: true }),
		timestamp(),
		readableLogFormat
	),

	// ***** this will log exceptions and rejections
	// ***** NOTICE! a rejectionsHandler is being given to an exceptionsHandler and it still works,
	// ***** the vice versa is also true, `rejectionHandlers: exceptionHandlers` will also work
	// transports: transports,
	exceptionHandlers: rejectionHandlers,
	// rejectionHandlers: rejectionHandlers,
});

fetch("https://websiteDoesNotExist.com");
console.log(undefinedVariable);

// -------------------------------------------------------
// NOT A SOLUTION
// ***** NOTICE! this is a transport and not an exceptionHandler or rejectionHandler
const transports = [
	new winston.transports.DailyRotateFile({
		filename: fileNames.rejectionReadable,
		...rotateConfig,
		handleExceptions: true, // ***** with only this set to true, exceptions and rejections will be logged
		handleRejections: true, // ***** with only this set to true, neither exceptions or rejections will be logged
	}),
];

const logger = winston.createLogger({
	level: process.env.LOG_LEVEL,
	format: combine(
		winston.format.errors({ stack: true }),
		timestamp(),
		readableLogFormat
	),

	transports: transports,
	// exceptionHandlers: exceptionHandlers,
	// rejectionHandlers: rejectionHandlers,
});

fetch("https://websiteDoesNotExist.com");
console.log(undefinedVariable);

Additional information
No response

Can you clarify why it's a problem that you can pass the same type of object to handle exceptions and rejections?
The gap between actual and expected behavior is not clear to me from reading through the issue report.

Sorry for the late response. From what I understand, handleExceptions and handleRejections should only handle their respective error types. Isn't it an issue that handleExceptions and handleRejections both handle the others error type? For example, handleExceptions code will run if the thrown error is of type rejections and vice versa.

What do you mean?

A function handleUnexpected might be able to take either an uncaughtException or an uncaughtRejection situation and the actions taken (e.g. panic, call for help, restart something) might not depend on which one is triggering that function.   That function could thus be used as both an exceptionHandler and a rejectionHandler.  For more DRY code, the exceptionHandlers and rejectionHandlers could even be the same set of the same handlers.
Reading more closely, the first two "NOT A SOLUTION" examples above seem to document unexpected behavior that an uncaught exception is being passed to the handlers associated with uncaught rejections  (& vice versa) when you want those to be handled distinctly by a different set of handlers. You might try passing an empty array instead of commenting out the line for the other array of handlers to see if that works any better.
However, the comment

a rejectionsHandler is being given to an exceptionsHandler and it still works, the vice versa is also true

seems like intended behavior so as to allow more concise code with DRY reuse.


The README file in this repo has a bad link - [404:NotFound]

The README file in this repo has a bad link - [404:NotFound]
Status code [404:NotFound] - Link: https://chat.stackoverflow.com/rooms/216694/tensorflow
This was found by an new experimental hobby project that I have just created: https://github.com/MrCull/GitHub-Repo-ReadMe-Dead-Link-Finder
If this has been in any way helpful then please consider giving the above Repo a Star.

Let's create a PR to remove the link.

I removed the dead link but I am not able to merge
#44757

It first needs to be approved by a person working at Google. Then there is some CI and if all is green it gets imported inside Google were it waits for a new review round and more CI. If all is good then there is automation that merges it.
Looking at the Pr now.


Support 'latest' as an alias for the flow version

When promoting flow versions between buckets/registries, it becomes cumbersome to track version numbers. Add support for latest as an alias and/or use the latest one if the flow version is omitted. I think the registry api already supports latest.

I agree, I think we should make the flow version optional on export-flow-version, and when it isn't specified we will just export the latest. Will work on this.
The import side will be handled by the other issue where we discussed making the import automatically use the next one up number.


More consistent naming

Coverage remained the same at 60.473% when pulling cd0cde1c156e609a7d866c1258d4021df99db5f2 on JustinDrake:patch-19 into 789a8ff3d126832d81108e12c6be7b0294e5f07e on OpenBazaar:master.


[google-cloud-cpp] update to latest release (v1.42.0)

Updates google-cloud-cpp to the latest release (v.1.42.0).
Adds new GA features included with this release.
Remove obsolete code.

What does your PR fix?

N/A

Which triplets are supported/not supported? Have you updated the CI baseline?

No change.

Does your PR follow the maintainer guide?

Yes.

Yes.

FWIW, I manually tested the new features on x64-linux.

New features passed with following triplets:
x64-windows
x86-windows
x64-windows-static

LGTM, thanks for the update!


Auto import stops working after switching to ESM modules

Hey! thanks for the great work on this project. I think I'm just missing something dumb here. I switched my library to use esmodules and the auto import stopped working. I've attached a video of the auto import, and the logs of the tsserver that show that tsserver seems to correctly identify what I'm trying to import. Using the quick fix actions seems to work too! I can't see any reason why the auto import option would stop showing up after this change?
Before
https://github.com/neoclide/coc-tsserver/assets/16196910/dcc4679f-4ce4-4946-bb08-3f00fa8c44e4
After
(notice it doesn't auto import on tab, but the quick fix works fine??)
https://github.com/neoclide/coc-tsserver/assets/16196910/f41067c5-2174-4c62-8ac0-3ed532bf5c78
Change to .tsconfig.json
(I also changed all the imports to have the .js suffix to align with node16 module/module resolution
--- a/libs/nasty/tsconfig.json
+++ b/libs/nasty/tsconfig.json
@@ -1,6 +1,15 @@
 {
   "extends": "../../tsconfig.base.json",
-  "compilerOptions": {},
+  "compilerOptions": {
+    "module": "node16",
+    "moduleResolution": "Node16",
+    "target": "es2020",
+    "strict": true,
+    "verbatimModuleSyntax": false,
+    "declaration": true,
+    "sourceMap": true,
+    "declarationMap": true
+  },
   "rootDir": "../..",
   "files": [],
   "include": [],

TS server logs of After
Info 494  [10:48:37.795] request:
    {
      "seq": 16,
      "type": "request",
      "command": "completionInfo",
      "arguments": {
        "file": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts",
        "line": 10,
        "offset": 16,
        "includeExternalModuleExports": true,
        "includeInsertTextCompletions": true
      }
    }
Info 495  [10:48:37.796] Starting updateGraphWorker: Project: /Users/grantpowell/src/cotera/libs/nasty/tsconfig.spec.json
Info 496  [10:48:37.821] Finishing updateGraphWorker: Project: /Users/grantpowell/src/cotera/libs/nasty/tsconfig.spec.json Version: 5 structureChanged: false structureIsReused:: Completely Elapsed: 25.25770854949951ms
Info 497  [10:48:37.821] Different program with same set of files
Info 498  [10:48:37.822] getCompletionData: Get current token: 0.013458251953125
Info 499  [10:48:37.822] getCompletionData: Is inside comment: 0.03195762634277344
Info 500  [10:48:37.822] getCompletionData: Get previous token: 0.05604076385498047
Info 501  [10:48:37.822] getCompletionsAtPosition: isCompletionListBlocker: 0.05675029754638672
Info 502  [10:48:38.337] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 503  [10:48:38.337] getExportInfoMap: cache miss or empty; calculating new results
Info 504  [10:48:38.857] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 505  [10:48:38.857] getExportInfoMap: done in 1032.7750425338745 ms
Info 506  [10:48:39.356] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 507  [10:48:39.373] collectAutoImports: resolved 26 module specifiers, plus 45 ambient and 96 from cache
Info 508  [10:48:39.373] collectAutoImports: response is complete
Info 509  [10:48:39.373] collectAutoImports: 16.204124450683594
Info 510  [10:48:39.373] getCompletionData: Semantic work: 1550.976375579834
Info 511  [10:48:39.391] getCompletionsAtPosition: getCompletionEntriesFromSymbols: 17.881999969482422
Perf 512  [10:48:39.392] 16::completionInfo: elapsed time (in milliseconds) 1597.2253
Info 513  [10:48:39.393] response:
    // ** I've removed the tons of options here, but it included `UnionAll` which I wanted! **
Info 514  [10:48:39.396] request:
    {
      "seq": 17,
      "type": "request",
      "command": "geterr",
      "arguments": {
        "delay": 0,
        "files": [
          "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts"
        ]
      }
    }
Perf 515  [10:48:39.396] 17::geterr: async elapsed time (in milliseconds) 0.1855
Info 516  [10:48:39.397] event:
    {"seq":0,"type":"event","event":"syntaxDiag","body":{"file":"/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts","diagnostics":[]}}
Info 517  [10:48:39.495] event:
    {"seq":0,"type":"event","event":"requestCompleted","body":{"request_seq":17}}
Info 518  [10:48:39.495] request:
    {
      "seq": 18,
      "type": "request",
      "command": "completionEntryDetails",
      "arguments": {
        "file": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts",
        "line": 10,
        "offset": 16,
        "entryNames": [
          {
            "name": "UnionAll",
            "source": "./utilities.js",
            "data": {
              "exportName": "UnionAll",
              "exportMapKey": "8 9340 UnionAll ",
              "moduleSpecifier": "./utilities.js",
              "fileName": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/utilities.ts"
            }
          }
        ]
      }
    }
Info 519  [10:48:39.999] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 520  [10:48:39.999] getExportInfoMap: cache hit
Info 521  [10:48:40.003] response:
    {"seq":0,"type":"response","command":"completionEntryDetails","request_seq":18,"success":true,"body":{"canceled":true}}
Info 522  [10:48:40.003] request:
    {
      "seq": 20,
      "type": "request",
      "command": "completionEntryDetails",
      "arguments": {
        "file": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts",
        "line": 10,
        "offset": 16,
        "entryNames": [
          {
            "name": "UnionAll",
            "source": "./utilities.js",
            "data": {
              "exportName": "UnionAll",
              "exportMapKey": "8 9340 UnionAll ",
              "moduleSpecifier": "./utilities.js",
              "fileName": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/utilities.ts"
            }
          }
        ]
      }
    }
Info 523  [10:48:40.503] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 524  [10:48:40.503] getExportInfoMap: cache hit
Info 525  [10:48:40.506] response:
    {"seq":0,"type":"response","command":"completionEntryDetails","request_seq":20,"success":true,"body":{"canceled":true}}
Info 526  [10:48:40.507] request:
    {
      "seq": 22,
      "type": "request",
      "command": "completionEntryDetails",
      "arguments": {
        "file": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts",
        "line": 10,
        "offset": 16,
        "entryNames": [
          {
            "name": "UnionAll",
            "source": "./utilities.js",
            "data": {
              "exportName": "UnionAll",
              "exportMapKey": "8 9340 UnionAll ",
              "moduleSpecifier": "./utilities.js",
              "fileName": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/utilities.ts"
            }
          }
        ]
      }
    }
Info 527  [10:48:41.004] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 528  [10:48:41.004] getExportInfoMap: cache hit
Info 529  [10:48:41.005] response:
    {"seq":0,"type":"response","command":"completionEntryDetails","request_seq":22,"success":true,"body":{"canceled":true}}
Info 530  [10:48:41.007] request:
    {
      "seq": 23,
      "type": "request",
      "command": "geterr",
      "arguments": {
        "delay": 0,
        "files": [
          "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts"
        ]
      }
    }
Perf 531  [10:48:41.007] 23::geterr: async elapsed time (in milliseconds) 0.0990
Info 532  [10:48:41.008] event:
    {"seq":0,"type":"event","event":"syntaxDiag","body":{"file":"/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts","diagnostics":[]}}
Info 533  [10:48:41.101] event:
    {"seq":0,"type":"event","event":"requestCompleted","body":{"request_seq":23}}
Info 534  [10:48:41.102] request:
    {
      "seq": 24,
      "type": "request",
      "command": "completionEntryDetails",
      "arguments": {
        "file": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts",
        "line": 10,
        "offset": 16,
        "entryNames": [
          {
            "name": "UnionAll",
            "source": "./utilities.js",
            "data": {
              "exportName": "UnionAll",
              "exportMapKey": "8 9340 UnionAll ",
              "moduleSpecifier": "./utilities.js",
              "fileName": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/utilities.ts"
            }
          }
        ]
      }
    }
Info 535  [10:48:41.602] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 536  [10:48:41.602] getExportInfoMap: cache hit
Info 537  [10:48:41.603] response:
    {"seq":0,"type":"response","command":"completionEntryDetails","request_seq":24,"success":true,"body":{"canceled":true}}
Info 538  [10:48:41.603] request:
    {
      "seq": 26,
      "type": "request",
      "command": "completionEntryDetails",
      "arguments": {
        "file": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts",
        "line": 10,
        "offset": 16,
        "entryNames": [
          {
            "name": "UnionAll",
            "source": "./utilities.js",
            "data": {
              "exportName": "UnionAll",
              "exportMapKey": "8 9340 UnionAll ",
              "moduleSpecifier": "./utilities.js",
              "fileName": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/utilities.ts"
            }
          }
        ]
      }
    }
Info 539  [10:48:42.104] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 540  [10:48:42.104] getExportInfoMap: cache hit
Info 541  [10:48:42.106] response:
    {"seq":0,"type":"response","command":"completionEntryDetails","request_seq":26,"success":true,"body":{"canceled":true}}
Info 542  [10:48:42.106] request:
    {
      "seq": 27,
      "type": "request",
      "command": "geterr",
      "arguments": {
        "delay": 0,
        "files": [
          "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts"
        ]
      }
    }
Perf 543  [10:48:42.107] 27::geterr: async elapsed time (in milliseconds) 0.0773
Info 544  [10:48:42.108] event:
    {"seq":0,"type":"event","event":"syntaxDiag","body":{"file":"/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts","diagnostics":[]}}
Info 545  [10:48:42.197] event:
    {"seq":0,"type":"event","event":"semanticDiag","body":{"file":"/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts","diagnostics":[{"start":{"line":10,"offset":15},"end":{"line":10,"offset":16},"text":"Cannot find name 'U'.","code":2304,"category":"error"}]}}
Info 546  [10:48:42.198] event:
    {"seq":0,"type":"event","event":"suggestionDiag","body":{"file":"/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts","diagnostics":[{"start":{"line":10,"offset":9},"end":{"line":10,"offset":12},"text":"'foo' is declared but its value is never read.","code":6133,"category":"suggestion","reportsUnnecessary":true}]}}
Info 547  [10:48:42.198] event:
    {"seq":0,"type":"event","event":"requestCompleted","body":{"request_seq":27}}
Info 548  [10:48:42.415] request:
    {
      "seq": 28,
      "type": "request",
      "command": "completionEntryDetails",
      "arguments": {
        "file": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/expression.spec.ts",
        "line": 10,
        "offset": 16,
        "entryNames": [
          {
            "name": "UnionAll",
            "source": "./utilities.js",
            "data": {
              "exportName": "UnionAll",
              "exportMapKey": "8 9340 UnionAll ",
              "moduleSpecifier": "./utilities.js",
              "fileName": "/Users/grantpowell/src/cotera/libs/nasty/src/lib/builder/utilities.ts"
            }
          }
        ]
      }
    }
Info 549  [10:48:42.951] AutoImportProviderProject: attempted to add more than 10 dependencies. Aborting.
Info 550  [10:48:42.951] getExportInfoMap: cache hit
Info 551  [10:48:42.952] response:
    {"seq":0,"type":"response","command":"completionEntryDetails","request_seq":28,"success":true,"body":{"canceled":true}}

The completionEntryDetails request is sent to resolve additional information for a given completion item, from the trace logs, the tsserver didn't response auto-import codeAction to use.
Can you try this in VSCode to check it work or not?


MM-53486 - Incoming calls notification banner

Summary

Here is the first PR for the mobile notifications feature. There will probably be three in total, depending on what's decided for ringing/push notifications.
This PR implements most of the designs in the figma linked below, with the exception of what's in the TODO list below. Dismissing, joining, and dismissed state is synced across clients (eg. between webapp and mobile) as you would expect.
@enahum I've tried to keep the state that Channels needs to be aware of to the minimum, and I think I've done that -- there should only be updates when the incoming call container needs to be rendered or unrendered (a boolean basically), everything else is confined to the notifications container. Please let me know if you see any problems, I'd be happy to improve it if it can be.
@DHaussermann  I'll tag you again when the dev reviews are done. The test plan will be similar to the one nwe used for webapp -- lot's of combinations of states, and a couple new ones (call quality and microphone permissions banners).
@matthewbirtch I made a few additions and changes to the designs as I went, let me know what you think:

When joining from the notificaiton banner, it wasn't specified whether we should switch to the call's channel. I chose not to (so that the user won't lose their browsing place unexpectedly), but it's easy to add if you want.
For cross-server notifications (a call started in a different server from the one you're currently viewing) the designs relied on push notifications. I think that having the notification banner show is better, so I made it cross-server compatible. Pressing join will connect you to the call in the other server and pressing on the banner will change to the server and bring you to the channel (convenient).
I modified the designs for the notification on the Calls screen a bit to give enough room for 2 lines. Let me know if you want it the original height.
The designs didn't show the banner in the Thread screen, but I assumed we would want it there.

TODO:

Dragging the notification banner. I'd like more UX input on whether we really want to do that. It's doable, but it seems uneccesary and overly complicated to me. There's no way anyone will miss the giant green banner on their channels
Sound (will do when we've decided what to do)
Putting the notification in the Channel List screen. I'd like more UX input on this before adding it: mainly, as far as I can tell there are no other hover bars allowed on that screen (e.g., our current call bar doesn't show there). Adding the notification there seems out of place to me. But it's easy enough to do if we all agree.

Ticket Link

https://mattermost.atlassian.net/browse/MM-53486
Figma: https://www.figma.com/file/WVbRdxA4aRFdw410j2DxxU/MM-51513-Ringing-in-DMs%2C-GMs-(Mobile)?type=design&node-id=918-212836&mode=design&t=QQv2SV6KJ32ZZpV9-0

Checklist

[x] Added or updated unit tests (required for all new features)
[x] Has UI changes
[x] Includes text changes and localization file updates
[x] Have tested against the 5 core themes to ensure consistency between them.

Device Information

Android: 13, Pixel 6
iOS: 16.5.1, iPhone 14

Screenshots
Here are a variety of combinations of situations and stacking examples. (It does stack with the call quality banner too, I just couldn't easily make the simulator have a bad connection)

col 1
col 2

Release Note
Calls: Incoming call notifications for DM/GM calls

Before reviewing I have a question:
What happens if you have multiple "waiting" calls, either from the same or other servers, I see from the screenshots that we added yet another banner, this ends up taking almost 50% of the screen, more on small screen devices. And then once we add the bookmark bar on the channel, everything will be moved down a bit more. With this my point is real state considerations + usability

What happens if you have multiple "waiting" calls, either from the same or other servers, I see from the screenshots that we added yet another banner, this ends up taking almost 50% of the screen, more on small screen devices. And then once we add the bookmark bar on the channel, everything will be moved down a bit more. With this my point is real state considerations + usability

As for multiple calls waiting, you get one banner per call (the fifth screenshot is an example).
As for the rest, that is probably more of a design-stage question. Maybe @esethna and @matthewbirtch would be able to answer?

Also, should we have some way of differentiating that the call belongs to another server and not the current one?

Personally, I think for real estate issues + usability: it's ok, because notifications are 1) rare events that are 2) supposed to be intrusive, and 3) they're ephemeral -- once you dismiss them, they're gone forever.
As for the server label on an incoming notification, I'm 0/5 on it. I'm not sure where you would put it (space-wise), but if there's a need for it let's work up the designs and we can add them in a next PR.

I see from the screenshots that we added yet another banner, this ends up taking almost 50% of the screen, more on small screen devices. And then once we add the bookmark bar on the channel, everything will be moved down a bit more. With this my point is real state considerations + usability

Definitely see your point here @enahum. I agree with @cpoile that the possibility of all these banners displaying at one time is VERY much an edge case. Having said that, I do wonder if we need to think about some sort of system that could stack/overlap some of these banners.

Do we have some sort of overlapping stacked banners for the DM/GM calls + the muted mic banner
Do we reconsider the 'join call' banner at the top of a channel - especially if/when we introduce the bookmarks bar. Maybe we can come up with an alternative pattern for when a call is active in the channel, but you haven't yet joined.

I think we can also look at tightening up some spacing to make the banners slightly thinner too.

I see from the screenshots that we added yet another banner, this ends up taking almost 50% of the screen, more on small screen devices. And then once we add the bookmark bar on the channel, everything will be moved down a bit more. With this my point is real state considerations + usability

Definitely see your point here @enahum. I agree with @cpoile that the possibility of all these banners displaying at one time is VERY much an edge case. Having said that, I do wonder if we need to think about some sort of system that could stack/overlap some of these banners.

Do we have some sort of overlapping stacked banners for the DM/GM calls + the muted mic banner
Do we reconsider the 'join call' banner at the top of a channel - especially if/when we introduce the bookmarks bar. Maybe we can come up with an alternative pattern for when a call is active in the channel, but you haven't yet joined.

I think we can also look at tightening up some spacing to make the banners slightly thinner too. Here's a quick mockup that shows what I mean by overlapping stacked banners for DMs and slightly thinner banners. Tapping the stack could expand them to join/dismiss individually

@cpoile @enahum I'm going to create a separate ticket for this as I think it could be done as an enhancement in a follow-up PR. But I think we can still proceed with the solution in this PR to start and improve it later. And there is likely some refinement to do from a UX perspective since I whipped it up pretty quickly.
I'll carve some time out today/tomorrow to review this PR as-is still though.

I'm going to create a separate ticket for this as I think it could be done as an enhancement in a follow-up PR

https://mattermost.atlassian.net/browse/MM-53916

@matthewbirtch Thanks for the great review (nice eye for detail). Implemented all the points above. Here's a bunch of screenshots with a stress-test of banners (NOTE to others: this is an unusual number of banners of course. Atypical.)
In the screenshots I'm receiving two DM calls, and with an ongoing call in Calls Test.
Not implemented:

I will leave the redesign of the banners (removing the join button, etc) to https://mattermost.atlassian.net/browse/MM-54278
Thread screen for all calls banners: https://mattermost.atlassian.net/browse/MM-54277

row1
row2
row3

Not implemented:

Thread screen for all calls banners: https://mattermost.atlassian.net/browse/MM-54277

I think you meant home/channel list screen for the above? Thread screen has banners working for me

Yes, correct. My mistake.

Found an issue (not a regression) when changing the calls plugin on the server: https://mattermost.atlassian.net/browse/MM-54330 This doesn't directly affect the current PR though, so filing for next version.
QA passed. Working as expected on older servers and current servers, ringing enabled and un-enabled, android and ios:

Android: 13, Pixel 6
iOS: 16.5.1, iPhone 14

Cherry pick is scheduled.


Backups place

Dropbox limit in 2GB is not enough for the servers backup

Currently dropdox account increased up to 8GB -  3 days of backups


Fix app versions order in Apple-like formatted crash log

I'm not quite sure about this change. It is kinda breaking one. But according to Apple documentation of crash logs, versions should be in this order. I've checked logs generated by devices in ~/Library/Logs/CrashReporter/MobileDevice and they have such format.
Here is a reference: https://developer.apple.com/library/content/technotes/tn2151/_index.html

Version: The version of the process that crashed. The value for this field is a concatenation of the crashed application's CFBundleVersion and CFBundleVersionString.

I'm in the middle of travel now, but this looks good. I'll do a minor breaking revision number for it once I'm back.

So, @kstenerud, what do you think about it?

@kstenerud, so?

Sorry guys, I dropped the ball on this. Merging!


Docker MD  (Hexo)

Docker information and links

1.1.1 Story 1 + Acceptance Criteria:

As a student, I want to navigate easily to the Docker page from the main site so I can start learning about containerization.

Acceptance Criteria:

A clear and visible link should be available in the main index that directs users to the Docker page.
The link must work correctly and take the user to the appropriate page.

1.1.2 Story 2 + Acceptance Criteria:

As a student, I want confirmation that I am on the Docker page by verifying key visual indicators.

Acceptance Criteria:

The page title in the browser tab should include "Docker Setup."
The page heading should clearly display "Docker."
The page content should start with a brief introduction to Docker and its significance.


fix: start pipeline for gitlab

/assign @ankitm123

can we add test for this? This will help us to avoid regression in the future, and give us more confidence when refactoring.

Would be nice to have that merged, thank you for this piece of code :smiley:

@keskad did it work for you ? Which git Provider please ?

I'm fighting with Gitlab provider actually.
I don't know if your fix actually is in same moment where I got stuck.
DEBUG: about to run: jx pipeline wait --owner root --repo testowe-repo-damian

waiting up to 20m0s for a trigger to be added to the lighthouse configuration in ConfigMap config in namespace jx for repository: root/testowe-repo-damian
you can watch the boot job to update the configuration via: jx admin log
for more information on how this works see: https://jenkins-x.io/docs/v3/about/how-it-works/#importing--creating-quickstarts

It seems it does not update the ConfigMap config at jx namespace, possibly it is not related. But also I don't know which component of jx is responsible for such update, where I should report the issue. The jx architecture is a little bit complex.

Slack is the best place to ask question, what do you want to do exactly ?

I need to import the project. Ok, I will go to slack then to not spam there with possibly unrelated issue.

See if this helps: https://jenkins-x.io/v3/admin/troubleshooting/quickstart-import/ (atleast it will give u some understanding of the steps which happen when importing a repo into JX)

@yelhouti As we discuss on Slack, we have a similar issue but we are using Bitbucket Server:
error: failed to calculate in repo configuration: failed to load trigger config for repository sen/senti-bot for ref master: failed to find any lighthouse configuration files in repo sen/senti-bot at sha master: Not Supported

After your changes, there is small progress! 👍
Now we got an issue that the repository is not found on our server, and indeed url generated by jx-pipeline(?) is wrong (should be https://bitbucket.our.domain/**scm/**sen/senti-bot/). It is probably correct syntax Bitbucket Cloud syntax but not for Bitbucket Server
ERROR: error creating a mirror clone: exit status 128 Cloning into bare repository '/var/tmp/gitcache1202549360/sen/senti-bot'...
fatal: repository 'https://bitbucket.our.domain/sen/senti-bot/' not found
error: failed to calculate in repo configuration: failed to load trigger config for repository sen/senti-bot for ref : failed to create repo client: error creating a mirror clone: exit status 128 Cloning into bare repository '/var/tmp/gitcache1202549360/sen/senti-bot'...
fatal: repository 'https://bitbucket.our.domain/sen/senti-bot/' not found

There is no option --git-kind to force bitbucketserver.
Do you have any idea what can we do with this issue?

@ankitm123 I've debug a little and it seems that gitv2.NewClientFactory(configureOpts)  in line 457 in start.go isn't able to create the correct url for Bitbucket server (for http access). It just takes schema, url, owner and repo to build URL but Bitbucket Server needs additionaly 'scm' as path like that: https://bitbucket.company/scm/owner/repo/.
Finally, error occurs in 46 line of load_triggers.go in lighthouse-client  where we try to connect to https://bitbucket.company/owner/repo/ instead of https://bitbucket.company/scm/owner/repo/

/ok-to-test

@ankitm123 do we have the log output for this? I can help debug this.  I am hitting this bug as well.

Didn't see it was the lint I kk fix it as soon as I can

@ankitm123 could you approve this, github forgot about me

golangci-lint run is failing with
pkg/cmd/start/start.go:406:12: ineffectual assignment to err (ineffassign)
			gitInfo, err = giturl.ParseGitURL(gitServerURL)
			         ^

/test pr

@msvticket why is PR failing please ?

@msvticket why is PR failing please ?

Unfortunately there is no error message. The go build command just exits in the middle with the error code 255. I'll see if I can gather some more information if I monitor the pod in real time.

/retest

I think the problem is that the compilation is taking so much memory that there is a big risk that the process is killed due to lack of memory on the node. I tracked the memory consumption and it peaked at 1673Mi, while the resource request is 600Mi.
This time I was lucky...

Finally !!! this was years into making XD

@msvticket thanks a lot

The release failed due to a unit test failure:
--- FAIL: TestPipelineStart (23.86s)
		    start_test.go:237: running test file
		    start_test.go:237: running test defaults
		    start_test.go:278:
		        	Error Trace:	/workspace/source/pkg/cmd/start/start_test.go:278
		        	Error:      	Received unexpected error:
		        	            	failed to parse git server URL [https://fake.git:](https://fake.git/) invalid path  could not determine organisation and repository name
		        	Test:       	TestPipelineStart
		        	Messages:   	failed to run command for test defaults
		FAIL
		FAIL	github.com/jenkins-x-plugins/jx-pipeline/pkg/cmd/start	24.256s

You can replicate this by running make test locally. Please make a PR to fix this ASAP. If you don't I'll revert this PR.
It is is of course weird that the pullrequest pipeline doesn't run the tests. It would be good if you fixed this as well.

@msvticket on it


Expense paid without recorded status updates

This expense (along with several others in this Project) was submitted, approved and paid without 1) any action by the host, and 2) any status updates in the comment thread showing who/when it was approved and paid.
This is a situation where the user mistakenly set the payee to the Project itself, not understanding what they were doing, and just kept clicking buttons (approve, pay). As a self-expense this did not cause money to leave the host's bank account, but it did cause the OC balance to get out of sync with reality.
In this case, it's a philanthropic grant and the host has a legal responsibility to ensure all funds are used appropriately and to report on expenditures for regulatory purposes. We can't have Collectives just making money disappear without the Host even knowing.
I don't think any expense should be allowed to be paid without the host admin doing the pay action.
I can fix this by unpaying all these expenses and getting them to edit with the correct payee so we can pay them out properly, but I'm leaving them as-is for now so you can see the state with no status updates.

Somehow the activities were not created properly for this expense, we need to investigate why.
However, the expense was marked as paid by https://opencollective.com/jackson-lacy who seems to have admin permissions on the Gift Collective.

Activities are there, so it's now a matter of knowing why they're not displayed.


Locationd: integrate with laika messages

Managed to make laika messages work with locationd and got a decent working version.
See the image which compares "not using Ublox position messages with it Laika" to regular Ublox position messages.
This change shouldn't affect anything since the GnssMeasurements messages are not sent yet from laikad.
Todo:

[x] Create Cereal PR

Future steps:

Use variation data from laikad instead of an incorrect guess.
Use ephemeris instead of internet data.
Calculate RMS of segments
Verify if velocity is really needed to initialize the kalman filter. And if it is in correct format.

Concluded with Harald that we don't want to do any locationd changes yet. We first want to have 'GNSS only' kalman filter running in Laikad that can predict the current position, velocity and heading. Which are needed to fully replace the current GPSLocationExternal messages. This pr will still exist however all the other non locationd changes will move to others pr's.


Project dependencies

To make it easier to install Sybil, the dependencies should be added to the setup.cfg file so that they automatically install if absent.

I added the dependencies needed to allow for the prevention of compiler errors, but there are still run-time errors when using the above fork likely due to issues with versions for the dependencies. For this reason, I have been unable to make Sybil complete without error. Could somebody who has had success with Sybil please provide their versions for these pip modules:

importlib-metadata
gdown
torch
numpy
pydicom
torchio
lifelines
torchvision
albumentations

In addition, what version of Python should I use?

https://github.com/reginabarzilaygroup/Sybil/blob/main/docs/requirements.txt


[Task]: Add mongoDB unique index for slug field in Tenant collection

SubTasks
The Tenant domain slug field has an @Unique annotation but there is no unique index for slug field in the mongo database. We should add an index in the database to maintain consistentency.

@akshayvijayjain yes definitely.

@NilanshBansal  can we use@Indexed annotation instead of @Unique, to gererate unique slug id in db?

@Naveen-Goud , agreed with your analysis. However, as a practice, we rely on migrations to create indices in the database and not annotations. The ask from this issue is that we create such a migration for this field as well. The reason we opt for migrations and not annotations is that the annotation is a part of compiled code. Spring auto-magically creates the index if it finds such a reference in code. However, if the annotation were to be slipped as part of any refactor, future "fresh DBs" would not have this index at all. This is much harder to do with migrations.

hello @nidhi-nair , thanks for the response , I couldn't understand last statement regarding "fresh db's".
but  I have worked on task , and replaced with @Indexed , and also made a migration file which generate a unigue index for the slug field.

this migration wil make the slug field unique id and will not  accept any  id which are similar , if the data s similar then it returns error

and also because of the migration step , the slud id are arranged in ascending order.
I also  have a question , if we insert data with one field , the slug is considering null as id for first time and not allowing to create another object with inserting one field.
does the task also says that id's should be created in db when we try insert data without slug field?

This seems like a premature optimization as currently we have not moved to multi-tenancy. Right now, there is only 1 document in the Tenant collection always as there is only a single Tenant.
Adding index to that does not make much sense right now.
When we implement multi-tenancy we might figure out that ensuring uniqueness only on this field might not suffice. We might need to add other fields along with it to make a composite unique index.


Testing with pnpm v7.30.2

checking if the fix implemented in this PR works:

https://github.com/pnpm/pnpm/pull/6274

Works with 7.30.3-0.
7.30.3 will be released soon as latest.


I prefer isExisting not be on the parameter list and is just set in the ctor with init

          I prefer `isExisting` not be on the parameter list and is just set in the ctor with `init`

Originally posted by @m-nash in https://github.com/Azure/azure-sdk-for-net/pull/42416#discussion_r1513404033

This has been changed to a static FromExisting like https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/provisioning/Azure.Provisioning.Storage/src/Generated/StorageAccount.cs#L551


Incompatibiliy with page.js - progress callback not called - progress notify not called

I spent 3 days on it so i must post this somewhere , i did not find the previous issue about it : https://github.com/danialfarid/ng-file-upload/issues/561
The notify callback or progress callback was never called on my project.  Hope that it will save someone else !

There is already an issue opened for this and is fixed at 11.2.0.
#1123


ORG permute cyclicly and print diagnostics

compute second vector permutating cyclic. Print out in-plane slice vector so that it is available for subsequent plots along same direction.

Thanks for the suggestions. I'll incorporate them as part of a larger change i'm working on with vectors. It will be easier than trying to fix all the merge conflicts.

Added in #98


episode 5: Target teams construct

what constructs to add to parallelize loops
discuss threads and leagues etc
map clause

Can we have some working examples adapting the mini-app? see https://github.com/ENCCS/openmp-gpu/tree/main/content/code-samples/serial for baseline code to improve?

the hands-on  session is based on the miniapp


youtube-dl overwrites cookies.txt

[x] I've verified and I assure that I'm running youtube-dl 2018.05.18

[x] At least skimmed through the README, most notably the FAQ and BUGS sections

[x] Searched the bugtracker for similar issues including closed ones

[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)

What's the issue?
I saved my browser cookies in a cookies.txt file. I verified (twice!) that the file contains my cookies.
After that I ran youtube-dl --verbose --cookies ~/Downloads/cookies.txt https://globoplay.globo.com/v/6733094/programa/
Ater that I checked the cookies.txt and noticed that all the cookies got deleted from the file. Now it looks like this:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This is a generated file!  Do not edit.

I don't think youtube-dl should overwrite the cookies.txt

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'--cookies', u'/home/user/Downloads/cookies.txt', u'https://globoplay.globo.com/v/6733094/programa/']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.05.18
[debug] Python version 2.7.14 (CPython) - Linux-4.13.0-41-generic-x86_64-with-Ubuntu-17.10-artful
[debug] exe versions: ffmpeg 3.3.4-2, ffprobe 3.3.4-2, rtmpdump 2.4
[debug] Proxy map: {}

I also tried to remove write permissions with chmod 444 cookies.txt
When running youtube-dl --verbose --cookies ~/Downloads/cookies.txt https://globoplay.globo.com/v/6733094/programa/ again, I get the following error:
[Globo] 6733094: Downloading JSON metadata
[Globo] 6733094: Downloading security hash for 6733094_90_720_collection
ERROR: Globo returned error: Video is for subscribers only. Authorization required.
Traceback (most recent call last):
  File "/home/user/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "/home/user/bin/youtube-dl/youtube_dl/extractor/common.py", line 503, in extract
    ie_result = self._real_extract(url)
  File "/home/user/bin/youtube-dl/youtube_dl/extractor/globo.py", line 360, in _real_extract
    '%s returned error: %s' % (self.IE_NAME, message), expected=True)
ExtractorError: Globo returned error: Video is for subscribers only. Authorization required.

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/user/bin/youtube-dl/__main__.py", line 19, in <module>
  File "/home/user/bin/youtube-dl/youtube_dl/__init__.py", line 472, in main
  File "/home/user/bin/youtube-dl/youtube_dl/__init__.py", line 465, in _real_main
  File "/home/user/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 561, in __exit__
  File "/usr/lib/python2.7/_MozillaCookieJar.py", line 118, in save
    f = open(filename, "w")
IOError: [Errno 13] Permission denied: u'/home/user/Downloads/cookies.txt'

I don't know why youtube-dl wants write permission to the cookies file.
I am aware that the website (Globo) also gave me an error, but this shouldn't cause the cookies.txt overwrite.

This is expected behavior since server may send Set-Cookie headers that should be respected.


AcceptDialog.add_button() "action" argument is optional but has useless default value

Godot version
v3.5.stable.official [991bb6ac7]
System information
Windows 10
Issue description
The signature of the add_button() method of the AcceptDialog is documented as follows:

Button add_button ( String text, bool right=false, String action="" )

And the action argument is documented as:

action will be passed to the custom_action signal when pressed.

So, it seems to be an optional argument with a default value of "". However, unless a non-empty string value is supplied for the action argument, the newly added button won't do anything. Looking at the code, that's because of this (code link):
if (p_action != "") {
    button->connect("pressed", this, "_custom_action", varray(p_action));
}

So, the button's pressed signal is only connected if the action argument is not an empty string (which, again, is the default).
I assume that argument is passed into the callback to allow differentiation of multiple custom actions that all filter through the same function. However, if only a single button is being created, it seems unnecessary.
I'm not sure which of the following is best here, though I'd lean towards no. 2...

Update the documentation to make it clear that the argument must be defined (and be non-empty)
Update the code to allow the button's pressed event to be wired regardless of the value of action
Update the code to define a non-empty default value for the argument, so it works "out of the box"

With the current documentation, the fact that it doesn't work unless a value is supplied for an apparently "optional" argument is confusing - as noted in this question.
Steps to reproduce

Run the attached project
Notice that pressing the Custom 1 button does nothing
Notice that pressing the Custom 2 button prints a message to the console

The difference between the buttons is that the Custom 1 call to add_button does not define the action argument.
Minimal reproduction project
AcceptDialogIssue.zip

I'm also agree with no.2.
By the way, we do not always have to use AcceptDialog's custom_action signal; we can also use Button's pressed signal even if action is empty.

I don't understand what doesn't work here. This argument is tied specifically to the custom action signal. You need to pass a value to trigger this signal, yes. But you can also just use the button itself, which is returned by the method, and connect to it and do whatever you want.
The docs may need to be improved to reinforce the point that this is only a name of an action for the standardized custom action signal.

You have an explicitly optional parameter (has a default value) with unexpected results when you fail to supply a value.  Yes, you can work around the issue as you mention but the combination of the declaration and the documentation leads to unexpected behaviour.   At least it was certainly unexpected to me.
As the issue records, they can just update the documentation if they feel this is correct behaviour.  At least that will avoid future support questions.

We disagree.  The docs say that the passed action will be passed to the custom_action signal when pressed.  A default value is still a value.  The docs nothing about the action having to be non-empty or that the signal invocation is dependent on it being non-empty.

Sure, you are technically correct, and as I mentioned we can clarify this technicality in the documentation.


Enable MyPy checks

Uncomment:
https://github.com/astronomer/astronomer-cosmos/blob/main/.pre-commit-config.yaml#L61-L66
And fix MyPy issues.
As of now, it found 235 errors in 29 files (checked 58 source files).

Hi tatiana,  I will try to help, just wanna ask one thing. Do you mean just by uncomment MyPy section on the link  will solve the issue ?

@viktoriussuwandi once we uncomment that, the check will fail. A PR to fix this should:

uncomment that pre-commit check (exactly as you described)
identify and fix each of the issues found by mypy (you should be able to run the checks with pre-commit run --all-files)


Update README.md

Please review our Contribution Guidelines to ensure your changes abides by it.
Review your changes and complete the checklist below.

[ √] Company name
[ √] Company description
[ √] Company location
[ ] GitHub link
[ √] How Elixir is used
[ √] Sorted alphabetically

Thanks @StareIntoTheBeard!  Boulder, that's cool!  I'm in Denver 😀

@doomspork nice, do you ever get to the Boulder (or Denver) Elixir Meetup?

I haven't yet but I will be fixing that this year! 😀


the data format for Chinese？

model = fasttext.skipgram('data.txt', 'model')；
I want to do the text classification for chinese ,I wonder the data format of data.txt ?

skipgram is for word2vec model, supervised is for classification!
For classification, __label__LABEL1 sentence is the format

as long as you segment your text before input it should work. I've done this and using the pretrained language set for chinese, the classification is very impressive.

@dcsan which library you used for Chinese  segmentation?

@gembin node-jieba


Add true random generator. Replace Math.Random()

Description
This PR fixes opt.semgrep.node_insecure_random_generator observed by Sonatype Lift.
Signed commits

[x] Yes, I signed my commits.

On it!

They are green!


Chrome gives Deprecation warning for Access-Control-Allow-Headers = '*'

Chrome's console says
[Deprecation] "Authorization" will not be covered by the wildcard symbol (*)in CORS "Access-Control-Allow-Headers" handling.
Please update sst.api to allow more granular setting of these header.

Hey @JonHolman, you can configure the CORS settings for sst.Api like this:
new Api(this, "Api", {
  cors: {
    allowHeaders: ["Authorization"],
  },
  ...
});

More examples here https://docs.serverless-stack.com/constructs/Api#cors

In case anyone else comes across this, for now I have added the following to the this.api = new sst.Api(this, "Api", {
section
      cors: {         allowHeaders: ["Content-Type", "X-Amz-Date", "Authorization", "X-Api-Key", "X-Amz-Security-Token", "X-Amz-User-Agent"],         allowMethods: [CorsHttpMethod.ANY],         allowOrigins: ["*"],       },
and the warning is no longer appearing in the console.
This article helped me in figuring out what headers to allow https://dev.to/aws-builders/your-complete-api-gateway-and-cors-guide-11jb

@JonHolman thanks for sharing! Glad it's working!


[SPARK-30724][SQL] Support 'LIKE ANY' and 'LIKE ALL' operators

What changes were proposed in this pull request?
LIKE ANY and LIKE ALL operators are mostly used when we are matching a text field with numbers of patterns.
More details:
https://docs.teradata.com/reader/756LNiPSFdY~4JcCCcR5Cw/4~AyrPNmDN0Xk4SALLo6aQ
https://issues.apache.org/jira/browse/HIVE-15229
https://docs.snowflake.net/manuals/sql-reference/functions/like_any.html
Why are the changes needed?
To smoothly migrate SQLs to Spark SQL.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Unit test.

Test build #117992 has started for PR 27477 at commit 4548b0f.

Merged build finished. Test PASSed.

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

Test build #117994 has started for PR 27477 at commit 5475675.

Merged build finished. Test PASSed.

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

Test build #117992 has finished for PR 27477 at commit 4548b0f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Test build #117994 has finished for PR 27477 at commit 5475675.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Test build #118015 has started for PR 27477 at commit de7c398.

Merged build finished. Test PASSed.

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

Test build #118015 has finished for PR 27477 at commit de7c398.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118015/
Test FAILed.

Test build #118025 has started for PR 27477 at commit caea82a.

Merged build finished. Test PASSed.

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

Test build #118025 has finished for PR 27477 at commit caea82a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Test build #118038 has started for PR 27477 at commit 88ca4c2.

Merged build finished. Test PASSed.

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

Test build #118038 has finished for PR 27477 at commit 88ca4c2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Test build #118302 has started for PR 27477 at commit 1c3d98c.

Merged build finished. Test PASSed.

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

Test build #118302 has finished for PR 27477 at commit 1c3d98c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

cc @cloud-fan

This would be good to have since both Teradata and Snowflake support it.
cc @maryannxue @hvanhovell @cloud-fan

Test build #121127 has started for PR 27477 at commit 0656b05.

Merged build finished. Test PASSed.

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

Test build #121127 has finished for PR 27477 at commit 0656b05.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

retest this please

Merged build finished. Test PASSed.

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

Looks fine to me

Test build #121622 has started for PR 27477 at commit 0656b05.

Test build #121622 has finished for PR 27477 at commit 0656b05.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Looks fine except for the existing comments.

Test build #121684 has started for PR 27477 at commit cf4666f.

Merged build finished. Test PASSed.

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

Test build #121684 has finished for PR 27477 at commit cf4666f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/121684/
Test FAILed.

Test build #121713 has started for PR 27477 at commit f9af131.

Merged build finished. Test PASSed.

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

Test build #121713 has finished for PR 27477 at commit f9af131.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/121713/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

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

Test build #121733 has started for PR 27477 at commit f9af131.

Test build #121733 has finished for PR 27477 at commit f9af131.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

@wangyum btw, we need to update the SQL document for this new syntax. Follow-up PR is alright, though.

Thanks, all! Merged to master.

@maropu Since this is for 3.1, I will not include this new syntax in 3.0 sql ref.

Yea, we need to update it for master.


Do not serialize string value of state for select column

[ ] Changes have been thoroughly tested to not break existing functionality.

I don't have an expansive app that uses Filament today, so hard to test this one!

[x] New functionality has been documented or existing documentation has been updated to reflect changes.

No docs changes needed for bug fix.

[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

No visual changes needed for bug fix.
Issue: https://github.com/filamentphp/filament/issues/7470
Background on changes: https://github.com/filamentphp/filament/commit/1a77740db7f6b16046af2e74e4718688aa3acd3c

Now should all work, fixed setting a Model's attribute that is casted to a backed enum. See comment: https://github.com/filamentphp/filament/pull/7962#discussion_r1300617144

Only thing is to ensure if we are good to go, dropping the str replace that was added 6 months ago for a reactivity fix: https://github.com/filamentphp/filament/commit/1a77740db7f6b16046af2e74e4718688aa3acd3c

I am having a similar problem using a string type enumerator.
<?php

namespace App\Enums;

use Filament\Support\Contracts\HasLabel;

enum WaitlistStatus: string implements HasLabel
{
  case WAITING = 'waiting';
  case CALLED = 'called';

  public function getLabel(): ?string
  {
    return match ($this) {
      self::WAITING => 'Na fila',
      self::CALLED => 'Chamado',
    };
  }
}

@php
    $canSelectPlaceholder = $canSelectPlaceholder();
    $isDisabled = $isDisabled();
    $state = $getState();
    dd($state);
@endphp

App\Enums\WaitlistStatus {#3167 ▼ // vendor/filament/tables/src/../resources/views/columns/select-column.blade.php
  +name: "WAITING"
  +value: "waiting"
}

Returns the error:
Object of class App\Enums\WaitlistStatus could not be converted to string
Making this change works... but obviously, the solution must be more complex.

Thanks

Thanks Dan!! Looks good :)


use new version grpc，package test;  option go_package = "test";  Report an error with the same name

I use the following version
goctl.exe -v
goctl.exe version 1.2.4-cli windows/amd64

protoc --version
libprotoc 3.19.1

github.com/tal-tech/go-zero v1.2.4
google.golang.org/grpc v1.42.0
google.golang.org/protobuf v1.27.1

<EMAIL_ADDRESS>
I have the following proto file，I want to use the test with the same name，For compatibility with older versions。
旧版本没有option go_package字段生成的代码和grpc调用已经固定，新版本搞成不一样影响比较大。
package test;
option go_package = "test";

use goctl rpc proto --home %GOCTLHOME% -style goZero -dir . -src test.proto Report an error

Below is the result I want，我单独执行命令是允许使用相同名称的情况

I found that it is the result of the following code

时间都花在用翻译软件上了

I also have the same problem

grpc 生成是一个很难的问题，protoc-gen-go多版本兼容，proto 语法版本等都给 goctl 生成带来了很大的挑战，目前我们针对以上问题整理一个优化方案: 点击跳转，你可以下载该方案中的 goctl 尝试解决一下，目前该方案在内测中，如果还是不能解决你的问题，可以 github 直接@anqiansong，如果你在微信群里，你也可以@KesonAnn
Grpc generation is a difficult problem. Multi-version compatibility of protoc-gen-go, proto syntax version, etc. have brought great challenges to goctl generation. At present, we have compiled an optimization solution for the above problems. The link to the solution is as follows,[see details](https:/ /github.com/zeromicro/go-zero/issues/1226) , you can download the goctl in this solution and try to solve it. At present, the solution is in internal testing. If it still does not solve your problem, you can directly @anqiansong on github, if You are in the WeChat group, you can also @KesonAnn


Suggestions on how to reverse in my Django settings.yaml

I currently define settings like LOGIN_URL as reverse_lazy("account_login"). Is there a way to replicate this type of configuration into something I can use in my Dynaconf settings.yaml?
If possible, I'd prefer to keep all settings in my Dynaconf settings.yaml and keep my Django settings.py file as empty as possible.

What you can do right now is the following:
# on the top import reverse_lazy
from django.urls import reverse_lazy

Then after the `import dynaconf`  - before `settings = ...` add

```pythin
dynaconf.utils.parse_conf["@reverse_lazy"] = reverse_lazy

Now you should be able to do
On yaml
default:
    login_url: "@reverse_lazy account_login"

On env vars
export DJANGO_LOGIN_URL="@reverse_lazy account_login"

NOTE I have not tested! but if it works we can then add it by default to the context in future versions.

This is excellent, thank you! 🎉
So, based on the format in https://www.dynaconf.com/envvars/#adding-a-custom-casting-token and from your suggestion, I came up with
# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://www.dynaconf.com/django/
import dynaconf  # noqa
from dynaconf.utils import parse_conf  # noqa

parse_conf.converters["@reverse_lazy"] = (
    lambda value: value.set_casting(reverse_lazy)
    if isinstance(value, parse_conf.Lazy)
    else reverse_lazy(value)
)
settings = dynaconf.DjangoDynaconf(__name__)  # noqa
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)

And then I was able to do exactly what you suggestion in my settings.yaml
default:
    LOGIN_URL: "@reverse_lazy account_login"

Perfect! 👌

I have no idea what was going on when I first validated this, but I have yet to be able to reproduce getting this working. After waayyy too much time debugging this, I discovered that https://github.com/dynaconf/dynaconf/blob/master/dynaconf/base.py#L894 is the offending line breaking this functionality
if existing is not None and existing != value:

Specifically, this little piece here, existing != value. When comparing the __proxy__ value, returned by reverse_lazy, it was triggering an evaluation in that moment, and the evaluation was failing because the settings weren't fully configured yet, and specifically the ROOT_URLCONF was failing to be found 🤦♂
Ok, with all of that said, it turns out it's a relatively simple fix that is working now 👍
parse_conf.converters["@reverse_lazy"] = lambda value: parse_conf.Lazy(value, casting=reverse_lazy)

I'd be very curious to know if this is an anti-pattern, or something liable to break? By explicitly creating this as a Lazy class, I'm able to defer evaluation in the above base.py file, while still being able to evaluate to the desired path lazily.

I've submitted #897 to correct my mistake 😅

Closed by #904


Cleared items not showing up with desired reconciled text colour

Defective ToolKit Feature Name:
Reconciled Text Colour
Expected Behaviour
Should show as dark grey with green background, based on my current settings
Actual Behaviour
Background and text colours are unchanged for reconciled entries in the accounts screens
Steps to Reproduce the Behaviour

View an account with reconciled and unreconciled entries

Export of Toolkit Settings (Bottom Left of Settings Page)
[{"key":"enableRetroCalculator","value":true},{"key":"pacing","value":"0"},{"key":"highlightNegativesNegative","value":false},{"key":"budgetQuickSwitch","value":false},{"key":"runningBalance","value":false},{"key":"googleFontsSelector","value":"0"},{"key":"accountsEmphasizedOutflows","value":false},{"key":"privacyMode","value":"0"},{"key":"splitKeyboardShortcut","value":true},{"key":"incomeFromLastMonth","value":"0"},{"key":"enterInRegisterNow","value":true},{"key":"changeEnterBehavior","value":true},{"key":"removePositiveHighlight","value":false},{"key":"colourBlindMode","value":false},{"key":"toBeBudgetedWarning","value":true},{"key":"categoryActivityPopupWidth","value":"0"},{"key":"l10n","value":"0"},{"key":"warnOnQuickBudget","value":false},{"key":"editButtonPosition","value":"2"},{"key":"accountsSelectedTotal","value":false},{"key":"reports","value":false},{"key":"collapseSideMenu","value":false},{"key":"removeZeroCategories","value":false},{"key":"seamlessBudgetHeader","value":true},{"key":"accountsRowHeight","value":"0"},{"key":"collapseExpandBudgetGroups","value":false},{"key":"toggleTransactionFilters","value":"0"},{"key":"printingImprovements","value":true},{"key":"currentMonthIndicator","value":true},{"key":"splitTransactionAutoAdjust","value":true},{"key":"largerClickableIcons","value":false},{"key":"popupCalculator","value":false},{"key":"rightClickToEdit","value":true},{"key":"goalIndicator","value":false},{"key":"toggleSplits","value":true},{"key":"showIntercom","value":true},{"key":"checkCreditBalances","value":false},{"key":"accountTransactionSearch","value":true},{"key":"budgetProgressBars","value":"0"},{"key":"hideAOM","value":false},{"key":"accountsDisplayDensity","value":"0"},{"key":"squareNegativeMode","value":false},{"key":"goalIndicatorWarningColor","value":false},{"key":"budgetBalanceToZero","value":false},{"key":"accountsStripedRows","value":true},{"key":"budgetRowsHeight","value":"0"},{"key":"enlargeCategoriesDropdown","value":true},{"key":"checkNumbers","value":false},{"key":"accountsClearSelection","value":false},{"key":"monthlyNotesPopupWidth","value":"0"},{"key":"daysOfBuffering","value":false},{"key":"importNotification","value":false},{"key":"activityTransactionLink","value":true},{"key":"swapClearedFlagged","value":false},{"key":"moveMoneyAutocomplete","value":true},{"key":"moveMoneyDialog","value":true},{"key":"reconciledTextColor","value":"4"},{"key":"daysOfBufferingHistoryLookup","value":"0"},{"key":"resizeInspector","value":false}]```

### System Settings

ToolKit Version: 0.7.6
Operating System (Mac/Windows/Etc): Mac OS X El Capitan 10.11.6
Browser (Chrome/Firefox/Safari): Safari
Browser Version: 10.0.1
Other Extensions: Adblock, 1Password

@alexmidd unfortunately, we're having multiple issues with the toolkit in safari, it is recommended that you use chrome (and as of our next release, Firefox) as well until we move to WebExtensions.
sorry for the inconvenience.
For safari issue tracking and progress please see #631


fix minor typos

Why are the changes needed?

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

@turboFei

thanks, merged to master