Added the most recent release notes

Also upgraded the yarn version used to the latest
This commit is contained in:
Toastie 2024-09-25 00:32:10 +12:00
parent 5e54f66a34
commit dff954592d
Signed by: toastie_t0ast
GPG key ID: 27F3B6855AFD40A4
10 changed files with 5804 additions and 3662 deletions

253
.astro/astro/content.d.ts vendored Normal file
View file

@ -0,0 +1,253 @@
declare module 'astro:content' {
interface RenderResult {
Content: import('astro/runtime/server/index.js').AstroComponentFactory;
headings: import('astro').MarkdownHeading[];
remarkPluginFrontmatter: Record<string, any>;
}
interface Render {
'.md': Promise<RenderResult>;
}
export interface RenderedContent {
html: string;
metadata?: {
imagePaths: Array<string>;
[key: string]: unknown;
};
}
}
declare module 'astro:content' {
type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
export type CollectionKey = keyof AnyEntryMap;
export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
export type ContentCollectionKey = keyof ContentEntryMap;
export type DataCollectionKey = keyof DataEntryMap;
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
ContentEntryMap[C]
>['slug'];
/** @deprecated Use `getEntry` instead. */
export function getEntryBySlug<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {}),
>(
collection: C,
// Note that this has to accept a regular string too, for SSR
entrySlug: E,
): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
/** @deprecated Use `getEntry` instead. */
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
collection: C,
entryId: E,
): Promise<CollectionEntry<C>>;
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
collection: C,
filter?: (entry: CollectionEntry<C>) => entry is E,
): Promise<E[]>;
export function getCollection<C extends keyof AnyEntryMap>(
collection: C,
filter?: (entry: CollectionEntry<C>) => unknown,
): Promise<CollectionEntry<C>[]>;
export function getEntry<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {}),
>(entry: {
collection: C;
slug: E;
}): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {}),
>(entry: {
collection: C;
id: E;
}): E extends keyof DataEntryMap[C]
? Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {}),
>(
collection: C,
slug: E,
): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {}),
>(
collection: C,
id: E,
): E extends keyof DataEntryMap[C]
? Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;
/** Resolve an array of entry references from the same collection */
export function getEntries<C extends keyof ContentEntryMap>(
entries: {
collection: C;
slug: ValidContentEntrySlug<C>;
}[],
): Promise<CollectionEntry<C>[]>;
export function getEntries<C extends keyof DataEntryMap>(
entries: {
collection: C;
id: keyof DataEntryMap[C];
}[],
): Promise<CollectionEntry<C>[]>;
export function render<C extends keyof AnyEntryMap>(
entry: AnyEntryMap[C][string],
): Promise<RenderResult>;
export function reference<C extends keyof AnyEntryMap>(
collection: C,
): import('astro/zod').ZodEffects<
import('astro/zod').ZodString,
C extends keyof ContentEntryMap
? {
collection: C;
slug: ValidContentEntrySlug<C>;
}
: {
collection: C;
id: keyof DataEntryMap[C];
}
>;
// Allow generic `string` to avoid excessive type errors in the config
// if `dev` is not running to update as you edit.
// Invalid collection names will be caught at build time.
export function reference<C extends string>(
collection: C,
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
>;
type ContentEntryMap = {
"releases": {
"4_3_17.md": {
id: "4_3_17.md";
slug: "4_3_17";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"4_3_18.md": {
id: "4_3_18.md";
slug: "4_3_18";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_0_8.md": {
id: "5_0_8.md";
slug: "5_0_8";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_0.md": {
id: "5_1_0.md";
slug: "5_1_0";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_1.md": {
id: "5_1_1.md";
slug: "5_1_1";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_10.md": {
id: "5_1_10.md";
slug: "5_1_10";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_2.md": {
id: "5_1_2.md";
slug: "5_1_2";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_3.md": {
id: "5_1_3.md";
slug: "5_1_3";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_4.md": {
id: "5_1_4.md";
slug: "5_1_4";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_5.md": {
id: "5_1_5.md";
slug: "5_1_5";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_6.md": {
id: "5_1_6.md";
slug: "5_1_6";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_7.md": {
id: "5_1_7.md";
slug: "5_1_7";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_8.md": {
id: "5_1_8.md";
slug: "5_1_8";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_9.md": {
id: "5_1_9.md";
slug: "5_1_9";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
};
};
type DataEntryMap = {
};
type AnyEntryMap = ContentEntryMap & DataEntryMap;
export type ContentConfig = typeof import("./../../src/content/config.js");
}

View file

@ -1,5 +1,5 @@
{
"_variables": {
"lastUpdateCheck": 1723377321662
"lastUpdateCheck": 1727179497177
}
}

221
.astro/types.d.ts vendored
View file

@ -1,219 +1,2 @@
declare module 'astro:content' {
interface Render {
'.md': Promise<{
Content: import('astro').MarkdownInstance<{}>['Content'];
headings: import('astro').MarkdownHeading[];
remarkPluginFrontmatter: Record<string, any>;
}>;
}
}
declare module 'astro:content' {
type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
export type CollectionKey = keyof AnyEntryMap;
export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
export type ContentCollectionKey = keyof ContentEntryMap;
export type DataCollectionKey = keyof DataEntryMap;
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
ContentEntryMap[C]
>['slug'];
/** @deprecated Use `getEntry` instead. */
export function getEntryBySlug<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {}),
>(
collection: C,
// Note that this has to accept a regular string too, for SSR
entrySlug: E,
): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
/** @deprecated Use `getEntry` instead. */
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
collection: C,
entryId: E,
): Promise<CollectionEntry<C>>;
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
collection: C,
filter?: (entry: CollectionEntry<C>) => entry is E,
): Promise<E[]>;
export function getCollection<C extends keyof AnyEntryMap>(
collection: C,
filter?: (entry: CollectionEntry<C>) => unknown,
): Promise<CollectionEntry<C>[]>;
export function getEntry<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {}),
>(entry: {
collection: C;
slug: E;
}): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {}),
>(entry: {
collection: C;
id: E;
}): E extends keyof DataEntryMap[C]
? Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {}),
>(
collection: C,
slug: E,
): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {}),
>(
collection: C,
id: E,
): E extends keyof DataEntryMap[C]
? Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;
/** Resolve an array of entry references from the same collection */
export function getEntries<C extends keyof ContentEntryMap>(
entries: {
collection: C;
slug: ValidContentEntrySlug<C>;
}[],
): Promise<CollectionEntry<C>[]>;
export function getEntries<C extends keyof DataEntryMap>(
entries: {
collection: C;
id: keyof DataEntryMap[C];
}[],
): Promise<CollectionEntry<C>[]>;
export function reference<C extends keyof AnyEntryMap>(
collection: C,
): import('astro/zod').ZodEffects<
import('astro/zod').ZodString,
C extends keyof ContentEntryMap
? {
collection: C;
slug: ValidContentEntrySlug<C>;
}
: {
collection: C;
id: keyof DataEntryMap[C];
}
>;
// Allow generic `string` to avoid excessive type errors in the config
// if `dev` is not running to update as you edit.
// Invalid collection names will be caught at build time.
export function reference<C extends string>(
collection: C,
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
>;
type ContentEntryMap = {
"releases": {
"4_3_17.md": {
id: "4_3_17.md";
slug: "4_3_17";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"4_3_18.md": {
id: "4_3_18.md";
slug: "4_3_18";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_0_8.md": {
id: "5_0_8.md";
slug: "5_0_8";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_0.md": {
id: "5_1_0.md";
slug: "5_1_0";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_1.md": {
id: "5_1_1.md";
slug: "5_1_1";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_2.md": {
id: "5_1_2.md";
slug: "5_1_2";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_3.md": {
id: "5_1_3.md";
slug: "5_1_3";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_4.md": {
id: "5_1_4.md";
slug: "5_1_4";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_5.md": {
id: "5_1_5.md";
slug: "5_1_5";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_6.md": {
id: "5_1_6.md";
slug: "5_1_6";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
"5_1_7.md": {
id: "5_1_7.md";
slug: "5_1_7";
body: string;
collection: "releases";
data: InferEntrySchema<"releases">
} & { render(): Render[".md"] };
};
};
type DataEntryMap = {
};
type AnyEntryMap = ContentEntryMap & DataEntryMap;
export type ContentConfig = typeof import("./../src/content/config.js");
}
/// <reference types="astro/client" />
/// <reference path="astro/content.d.ts" />

BIN
.yarn/install-state.gz Normal file

Binary file not shown.

1
.yarnrc.yml Normal file
View file

@ -0,0 +1 @@
nodeLinker: node-modules

View file

@ -11,10 +11,10 @@
},
"dependencies": {
"@astrojs/check": "0.9.2",
"astro": "^4.13.3",
"astro": "^4.15.9",
"sass": "^1.77.8",
"sharp": "^0.33.3",
"typescript": "^5.3.3"
},
"packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72"
"packageManager": "yarn@4.5.0"
}

View file

@ -0,0 +1,14 @@
---
title: 'Ellie Bot 5.1.10.'
date: '2024-09-24'
versionNumber: '5.1.10'
description: 'Ellie Bot version 5.1.10 release notes.'
---
### Fixed
- Fixed claimed waifu decay in `games.yml`
### Changed
- Added some logs for greet service in case there are unforeseen issues, for easier debugging

View file

@ -0,0 +1,39 @@
---
title: 'Ellie Bot 5.1.8.'
date: '2024-09-20'
versionNumber: '5.1.8'
description: 'Ellie Bot version 5.1.8 release notes.'
---
### Added
- Added `.leaveunkeptservers` which will make the bot leave all servers on all shards whose owners didn't run `.keep` command.
- This is a dangerous and irreversible command, don't use it. Meant for use on the public bot.
- `.adpl` now supports custom statuses (you no longer need to specify Playing, Watching, etc...)
### Changed
- `.quote` commands cleaned up and improved
- All quote commands now start with `.q<whatever>` and follow the same naming pattern as Expression commands
- `.liqu` renamed to `.qli`
- `.quotesearch` / `.qse` is now paginated for easier searching
- `.whosplaying` is now paginated
- `.img` is now paginated
- `.setgame` renamed to `.setactivity` and now supports custom text activity. You don't have to specify playing, listening etc before the activity
- Clarified and added some embed / placeholder links to command help where needed
- A lot of code cleanup and internal improvements
### Fixed
- Fixed `.xpcurrew` breaking xp gain if user gains 0 xp from being in a voice channel
- Fixed a bug in `.gatari` command
- Fixed some waifu related strings
- Fixed `.quoteshow` and `.quoteid` commands
- Fixed some placeholders not working in `.greetdm`
- Fixed postgres support
- Fixed and clarified some command strings/parameter descriptions
### Removed
- Removed mysql support as it didn't work for a while, and requires some special handling/maintenance
- Sqlite and Postgres support stays

View file

@ -0,0 +1,17 @@
---
title: 'Ellie Bot 5.1.9.'
date: '2024-09-21'
versionNumber: '5.1.9'
description: 'Ellie Bot version 5.1.9 release notes.'
---
### Fixed
- Fixed `.greettest`, and other `.*test` commands if you didn't have them enabled.
- Fixed `.greetdmtest` sending messages twice.
- Fixed a serious bug which caused greet messages to be jumbled up, and wrong ones to be sent for the wrong events.
- There is no database issue, all greet messages are safe, the cache was caching any setting every 3 seconds with no regard for the type of the event
- This also caused `.greetdm` messages to not be sent if `.greet` is enabled
- This bug was introduced in 5.1.8. PLEASE UPDATE if you are on 5.1.8
- Selfhosters only: Fixed marmalade dependency loading
- Note: Make sure to not publish any other DLLs besides the ones you are sure you will need, as there can be version conflicts which didn't happen before.

8915
yarn.lock

File diff suppressed because it is too large Load diff