Bumps [rustls](https://github.com/rustls/rustls) from 0.21.10 to 0.21.11.
<details>
<summary>Commits</summary>
<ul>
<li><a href="7b8d1dbc1e"><code>7b8d1db</code></a> Prepare 0.21.11</li>
<li><a href="ebcb4782f2"><code>ebcb478</code></a> complete_io: bail out if progress is impossible</li>
<li><a href="20f35dfb6d"><code>20f35df</code></a> Regression test for <code>complete_io</code> infinite loop bug</li>
<li><a href="2f2aae15a4"><code>2f2aae1</code></a> Don't specially handle unauthenticated close_notify alerts</li>
<li><a href="e163587b98"><code>e163587</code></a> Don't deny warnings from nightly clippy</li>
<li><a href="9f864874cf"><code>9f86487</code></a> server::handy: fix new nightly clippy lint</li>
<li><a href="7e0e8ab599"><code>7e0e8ab</code></a> Correct assorted clippy warnings in test code</li>
<li><a href="3587d98f4e"><code>3587d98</code></a> Apply clippy suggestions from Rust 1.72</li>
<li><a href="d082e837b3"><code>d082e83</code></a> Address <code>clippy::redundant_static_lifetimes</code></li>
<li><a href="5e7a06ca45"><code>5e7a06c</code></a> Address <code>clippy::slow_vector_initialization</code></li>
<li>Additional commits viewable in <a href="https://github.com/rustls/rustls/compare/v/0.21.10...v/0.21.11">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/toeverything/AFFiNE/network/alerts).
</details>
Updater may break after this PR and will be fixed in the next one
After this PR, we will have two windows installer options
- affine-0.14.0-canary.9-canary-windows-x64.exe
- affine-0.14.0-canary.9-canary-windows-x64.nsis.exe (added)
[](https://renovatebot.com)
This PR contains the following updates:
| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |
🔧 This Pull Request updates lock files to use the latest dependency versions.
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44Ny4yIiwidXBkYXRlZEluVmVyIjoiMzcuMjQ1LjAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkifQ==-->
navigate sometimes doesn't work
It seems that we shouldn't pass the parent component's navigate function to the child component, but adding an effect to delay the child component rendering seems to work.
* Business are implemented in modules
* All modules are split into `services`, `entities`, `stores`, to achieve better abstraction
* most of asynchronous loading has been changed to `effect` implementation, with a good retry strategy
* critical network requests have been cached, app can be used offline normally.
* user session has been cached, and will be used offline.
* `workspace list provider` and `factory provider` are unified into `workspace flavor provider`
* `page` has been rename to `doc`, unified with `blocksuite`
- don't open edgeless ai-onboarding dialog until general ai onboarding and setting modal closed
- clip edgeless ai onboarding thumb to avoid "black border"
- correct "try for free"
- replace edgeless ai onboarding lottie resources
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [stripe](https://togithub.com/stripe/stripe-node) | [`^14.18.0` -> `^15.0.0`](https://renovatebot.com/diffs/npm/stripe/14.18.0/15.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>stripe/stripe-node (stripe)</summary>
### [`v15.0.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#1500---2024-04-10)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.25.0...v15.0.0)
- [#​2057](https://togithub.com/stripe/stripe-node/pull/2057)
- This release changes the pinned API version to `2024-04-10`. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2024-04-10) and carefully review the API changes before upgrading.
##### ⚠️ Breaking changes
- Rename event type `InvoiceitemCreatedEvent` to `InvoiceItemCreatedEvent`
- Rename event type `InvoiceitemDeletedEvent` to `InvoiceItemDeletedEvent`
- Rename `features` to `marketing_features` on `ProductCreateOptions`, `ProductUpdateOptions`, and `Product`.
##### ⚠️ Removal of enum values, properties and events that are no longer part of the publicly documented Stripe API
- Remove `subscription_pause` from the below as the feature to pause subscription on the portal has been deprecated.
- `BillingPortal.Configuration.Features`
- `BillingPortal.ConfigurationCreateParams.Features`
- `BillingPortal.ConfigurationUpdateParams.Features`
- Remove the below deprecated values for the type `BalanceTransaction.Type`
- `obligation_inbound`
- `obligation_payout`
- `obligation_payout_failure`
- `'obligation_reversal_outbound'`
- Remove deprecated value `various` for the type `Climate.Supplier.RemovalPathway`
- Remove deprecated events
- `invoiceitem.updated`
- `order.created`
- `recipient.created`
- `recipient.deleted`
- `recipient.updated`
- `sku.created`
- `sku.deleted`
- `sku.updated`
- Remove types for the deprecated events
- `InvoiceItemUpdatedEvent`
- `OrderCreatedEvent`
- `RecipientCreatedEvent`
- `RecipientDeletedEvent`
- `RecipientUpdatedEvent`
- `SKUCreatedEvent`
- `SKUDeletedEvent`
- Remove the deprecated value `include_and_require` for the type`InvoiceCreateParams.PendingInvoiceItemsBehavior`
- Remove the deprecated value `service_tax` for the types `TaxRate.TaxType`, `TaxRateCreateParams.TaxType`, `TaxRateUpdateParams.TaxType`, and `InvoiceUpdateLineItemParams.TaxAmount.TaxRateData`
- Remove `request_incremental_authorization` from `PaymentIntentCreateParams.PaymentMethodOptions.CardPresent`, `PaymentIntentUpdateParams.PaymentMethodOptions.CardPresent` and `PaymentIntentConfirmParams.PaymentMethodOptions.CardPresent`
- Remove support for `id_bank_transfer`, `multibanco`, `netbanking`, `pay_by_bank`, and `upi` on `PaymentMethodConfiguration`
- Remove the deprecated value `obligation` for the type `Reporting.ReportRunCreateParams.Parameters.ReportingCategory`
- Remove the deprecated value `challenge_only` from the type `SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure`
- Remove the legacy field `rendering_options` in `Invoice`, `InvoiceCreateOptions` and `InvoiceUpdateOptions`. Use `rendering` instead.
### [`v14.25.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#14250---2024-04-09)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.24.0...v14.25.0)
- [#​2059](https://togithub.com/stripe/stripe-node/pull/2059) Update generated code
- Add support for new resources `Entitlements.ActiveEntitlement` and `Entitlements.Feature`
- Add support for `list` and `retrieve` methods on resource `ActiveEntitlement`
- Add support for `create`, `list`, `retrieve`, and `update` methods on resource `Feature`
- Add support for `controller` on `AccountCreateParams`
- Add support for `fees`, `losses`, `requirement_collection`, and `stripe_dashboard` on `Account.controller`
- Add support for new value `none` on enum `Account.type`
- Add support for `event_name` on `Billing.MeterEventAdjustmentCreateParams` and `Billing.MeterEventAdjustment`
- Add support for `cancel` and `type` on `Billing.MeterEventAdjustment`
### [`v14.24.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#14240---2024-04-04)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.23.0...v14.24.0)
- [#​2053](https://togithub.com/stripe/stripe-node/pull/2053) Update generated code
- Change `Charge.payment_method_details.us_bank_account.payment_reference`, `PaymentIntent.next_action.swish_handle_redirect_or_display_qr_code.hosted_instructions_url`, `PaymentIntent.next_action.swish_handle_redirect_or_display_qr_code.mobile_auth_url`, `PaymentIntent.next_action.swish_handle_redirect_or_display_qr_code.qr_code.data`, `PaymentIntent.next_action.swish_handle_redirect_or_display_qr_code.qr_code.image_url_png`, `PaymentIntent.next_action.swish_handle_redirect_or_display_qr_code.qr_code.image_url_svg`, `PaymentIntent.next_action.swish_handle_redirect_or_display_qr_code.qr_code`, and `PaymentIntent.payment_method_options.swish.reference` to be required
- Change type of `Checkout.SessionCreateParams.payment_method_options.swish.reference` from `emptyable(string)` to `string`
- Add support for `subscription_item` on `Discount`
- Add support for `email` and `phone` on `Identity.VerificationReport`, `Identity.VerificationSession.options`, `Identity.VerificationSession.verified_outputs`, `Identity.VerificationSessionCreateParams.options`, and `Identity.VerificationSessionUpdateParams.options`
- Add support for `verification_flow` on `Identity.VerificationReport`, `Identity.VerificationSessionCreateParams`, and `Identity.VerificationSession`
- Add support for new value `verification_flow` on enums `Identity.VerificationReport.type` and `Identity.VerificationSession.type`
- Add support for `provided_details` on `Identity.VerificationSessionCreateParams`, `Identity.VerificationSessionUpdateParams`, and `Identity.VerificationSession`
- Change `Identity.VerificationSessionCreateParams.type` to be optional
- Add support for new values `email_unverified_other`, `email_verification_declined`, `phone_unverified_other`, and `phone_verification_declined` on enum `Identity.VerificationSession.last_error.code`
- Add support for `promotion_code` on `InvoiceCreateParams.discounts[]`, `InvoiceItemCreateParams.discounts[]`, `InvoiceItemUpdateParams.discounts[]`, `InvoiceUpdateParams.discounts[]`, `QuoteCreateParams.discounts[]`, and `QuoteUpdateParams.discounts[]`
- Add support for `discounts` on `InvoiceUpcomingLinesParams.subscription_items[]`, `InvoiceUpcomingParams.subscription_items[]`, `QuoteCreateParams.line_items[]`, `QuoteUpdateParams.line_items[]`, `SubscriptionCreateParams.add_invoice_items[]`, `SubscriptionCreateParams.items[]`, `SubscriptionCreateParams`, `SubscriptionItemCreateParams`, `SubscriptionItemUpdateParams`, `SubscriptionItem`, `SubscriptionSchedule.phases[].add_invoice_items[]`, `SubscriptionSchedule.phases[].items[]`, `SubscriptionSchedule.phases[]`, `SubscriptionScheduleCreateParams.phases[].add_invoice_items[]`, `SubscriptionScheduleCreateParams.phases[].items[]`, `SubscriptionScheduleCreateParams.phases[]`, `SubscriptionScheduleUpdateParams.phases[].add_invoice_items[]`, `SubscriptionScheduleUpdateParams.phases[].items[]`, `SubscriptionScheduleUpdateParams.phases[]`, `SubscriptionUpdateParams.add_invoice_items[]`, `SubscriptionUpdateParams.items[]`, `SubscriptionUpdateParams`, and `Subscription`
- Change type of `Invoice.discounts` from `array(expandable(deletable($Discount))) | null` to `array(expandable(deletable($Discount)))`
- Add support for `allowed_merchant_countries` and `blocked_merchant_countries` on `Issuing.Card.spending_controls`, `Issuing.CardCreateParams.spending_controls`, `Issuing.CardUpdateParams.spending_controls`, `Issuing.Cardholder.spending_controls`, `Issuing.CardholderCreateParams.spending_controls`, and `Issuing.CardholderUpdateParams.spending_controls`
- Add support for `zip` on `PaymentMethodConfigurationCreateParams`, `PaymentMethodConfigurationUpdateParams`, and `PaymentMethodConfiguration`
- Add support for `offline` on `SetupAttempt.payment_method_details.card_present`
- Add support for `card_present` on `SetupIntent.payment_method_options`, `SetupIntentConfirmParams.payment_method_options`, `SetupIntentCreateParams.payment_method_options`, and `SetupIntentUpdateParams.payment_method_options`
- Add support for new value `mobile_phone_reader` on enums `Terminal.Reader.device_type` and `Terminal.ReaderListParams.device_type`
### [`v14.23.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#14230---2024-03-28)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.22.0...v14.23.0)
- [#​2046](https://togithub.com/stripe/stripe-node/pull/2046) Update generated code
- Add support for new resources `Billing.MeterEventAdjustment`, `Billing.MeterEvent`, and `Billing.Meter`
- Add support for `create`, `deactivate`, `list`, `reactivate`, `retrieve`, and `update` methods on resource `Meter`
- Add support for `create` method on resources `MeterEventAdjustment` and `MeterEvent`
- Add support for `amazon_pay_payments` on `Account.capabilities`, `AccountCreateParams.capabilities`, and `AccountUpdateParams.capabilities`
- Add support for new value `verification_failed_representative_authority` on enums `Account.future_requirements.errors[].code`, `Account.requirements.errors[].code`, `BankAccount.future_requirements.errors[].code`, and `BankAccount.requirements.errors[].code`
- Add support for `destination_on_behalf_of_charge_management` on `AccountSession.components.payment_details.features`, `AccountSession.components.payments.features`, `AccountSessionCreateParams.components.payment_details.features`, and `AccountSessionCreateParams.components.payments.features`
- Add support for `mandate` on `Charge.payment_method_details.us_bank_account`, `Treasury.InboundTransfer.origin_payment_method_details.us_bank_account`, `Treasury.OutboundPayment.destination_payment_method_details.us_bank_account`, and `Treasury.OutboundTransfer.destination_payment_method_details.us_bank_account`
- Add support for `second_line` on `Issuing.CardCreateParams`
- Add support for `meter` on `PlanCreateParams`, `Plan`, `Price.recurring`, `PriceCreateParams.recurring`, and `PriceListParams.recurring`
- [#​2045](https://togithub.com/stripe/stripe-node/pull/2045) esbuild test project fixes
### [`v14.22.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#14220---2024-03-21)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.21.0...v14.22.0)
- [#​2040](https://togithub.com/stripe/stripe-node/pull/2040) Update generated code
- Add support for new resources `ConfirmationToken` and `Forwarding.Request`
- Add support for `retrieve` method on resource `ConfirmationToken`
- Add support for `create`, `list`, and `retrieve` methods on resource `Request`
- Add support for `mobilepay_payments` on `Account.capabilities`, `AccountCreateParams.capabilities`, and `AccountUpdateParams.capabilities`
- Add support for new values `forwarding_api_inactive`, `forwarding_api_invalid_parameter`, `forwarding_api_upstream_connection_error`, and `forwarding_api_upstream_connection_timeout` on enums `Invoice.last_finalization_error.code`, `PaymentIntent.last_payment_error.code`, `SetupAttempt.setup_error.code`, `SetupIntent.last_setup_error.code`, and `StripeError.code`
- Add support for `mobilepay` on `Charge.payment_method_details`, `PaymentIntent.payment_method_options`, `PaymentIntentConfirmParams.payment_method_data`, `PaymentIntentConfirmParams.payment_method_options`, `PaymentIntentCreateParams.payment_method_data`, `PaymentIntentCreateParams.payment_method_options`, `PaymentIntentUpdateParams.payment_method_data`, `PaymentIntentUpdateParams.payment_method_options`, `PaymentMethodCreateParams`, `PaymentMethod`, `SetupIntentConfirmParams.payment_method_data`, `SetupIntentCreateParams.payment_method_data`, and `SetupIntentUpdateParams.payment_method_data`
- Add support for `payment_reference` on `Charge.payment_method_details.us_bank_account`
- Add support for new value `mobilepay` on enums `CustomerListPaymentMethodsParams.type`, `PaymentMethodCreateParams.type`, and `PaymentMethodListParams.type`
- Add support for `confirmation_token` on `PaymentIntentConfirmParams`, `PaymentIntentCreateParams`, `SetupIntentConfirmParams`, and `SetupIntentCreateParams`
- Add support for new value `mobilepay` on enums `PaymentIntentConfirmParams.payment_method_data.type`, `PaymentIntentCreateParams.payment_method_data.type`, `PaymentIntentUpdateParams.payment_method_data.type`, `SetupIntentConfirmParams.payment_method_data.type`, `SetupIntentCreateParams.payment_method_data.type`, and `SetupIntentUpdateParams.payment_method_data.type`
- Add support for new value `mobilepay` on enum `PaymentMethod.type`
- Add support for `name` on `Terminal.ConfigurationCreateParams`, `Terminal.ConfigurationUpdateParams`, and `Terminal.Configuration`
- Add support for `payout` on `Treasury.ReceivedDebit.linked_flows`
- [#​2043](https://togithub.com/stripe/stripe-node/pull/2043) Don't mutate error.type during minification
### [`v14.21.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#14210---2024-03-14)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.20.0...v14.21.0)
- [#​2035](https://togithub.com/stripe/stripe-node/pull/2035) Update generated code
- Add support for new resources `Issuing.PersonalizationDesign` and `Issuing.PhysicalBundle`
- Add support for `create`, `list`, `retrieve`, and `update` methods on resource `PersonalizationDesign`
- Add support for `list` and `retrieve` methods on resource `PhysicalBundle`
- Add support for `personalization_design` on `Issuing.CardCreateParams`, `Issuing.CardListParams`, `Issuing.CardUpdateParams`, and `Issuing.Card`
- Change type of `SubscriptionCreateParams.application_fee_percent` and `SubscriptionUpdateParams.application_fee_percent` from `number` to `emptyStringable(number)`
- Add support for `sepa_debit` on `Subscription.payment_settings.payment_method_options`, `SubscriptionCreateParams.payment_settings.payment_method_options`, and `SubscriptionUpdateParams.payment_settings.payment_method_options`
### [`v14.20.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#14200---2024-03-07)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.19.0...v14.20.0)
- [#​2033](https://togithub.com/stripe/stripe-node/pull/2033) Update generated code
- Add support for `documents` on `AccountSession.components` and `AccountSessionCreateParams.components`
- Add support for `request_three_d_secure` on `Checkout.Session.payment_method_options.card` and `Checkout.SessionCreateParams.payment_method_options.card`
- Add support for `created` on `CreditNoteListParams`
- Add support for `sepa_debit` on `Invoice.payment_settings.payment_method_options`, `InvoiceCreateParams.payment_settings.payment_method_options`, and `InvoiceUpdateParams.payment_settings.payment_method_options`
### [`v14.19.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#14190---2024-02-29)
[Compare Source](https://togithub.com/stripe/stripe-node/compare/v14.18.0...v14.19.0)
- [#​2029](https://togithub.com/stripe/stripe-node/pull/2029) Update generated code
- Change `Identity.VerificationReport.type`, `SubscriptionSchedule.default_settings.invoice_settings.account_tax_ids`, `SubscriptionSchedule.phases[].invoice_settings.account_tax_ids`, and `TaxId.owner` to be required
- Change type of `Identity.VerificationSession.type` from `enum('document'|'id_number') | null` to `enum('document'|'id_number')`
- Add support for `number` on `InvoiceCreateParams` and `InvoiceUpdateParams`
- Add support for `enable_customer_cancellation` on `Terminal.Reader.action.process_payment_intent.process_config`, `Terminal.Reader.action.process_setup_intent.process_config`, `Terminal.ReaderProcessPaymentIntentParams.process_config`, and `Terminal.ReaderProcessSetupIntentParams.process_config`
- Add support for `refund_payment_config` on `Terminal.Reader.action.refund_payment` and `Terminal.ReaderRefundPaymentParams`
- Add support for `payment_method` on `TokenCreateParams.bank_account`
- [#​2027](https://togithub.com/stripe/stripe-node/pull/2027) vscode settings: true -> "explicit"
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
Bumps [whoami](https://github.com/ardaku/whoami) from 1.4.1 to 1.5.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ardaku/whoami/blob/v1/CHANGELOG.md">whoami's changelog</a>.</em></p>
<blockquote>
<h2>[1.5.1] - 2024-03-09</h2>
<h3>Fixed</h3>
<ul>
<li>Broken link in docs</li>
</ul>
<h2>[1.5.0] - 2024-03-03</h2>
<h3>Added</h3>
<ul>
<li>WASI support</li>
<li>Redox support</li>
<li>Fallible functions
<ul>
<li><code>whoami::fallible::devicename()</code></li>
<li><code>whoami::fallible::devicename_os()</code></li>
<li><code>whoami::fallible::distro()</code></li>
<li><code>whoami::fallible::hostname()</code> - notably doesn't normalize to lowercase</li>
<li><code>whoami::fallible::realname()</code></li>
<li><code>whoami::fallible::realname_os()</code></li>
<li><code>whoami::fallible::username()</code></li>
<li><code>whoami::fallible::username_os()</code></li>
</ul>
</li>
<li><code>whoami::Language</code></li>
<li><code>whoami::Country</code></li>
<li><code>whoami::langs()</code></li>
<li><code>whoami::fallible::account()</code></li>
<li><code>whoami::fallible::account_os()</code></li>
<li><code>whoami::DesktopEnv::is_gtk()</code></li>
<li><code>whoami::DesktopEnv::is_kde()</code></li>
</ul>
<h3>Removed</h3>
<ul>
<li>Generated device names that infer casing based on the hostname when the
device name is not available - now returns the hostname unchanged</li>
<li>Partial (potentially unsound) support for Android, iOS, watchOS, tvOS,
Fuchsia, Haiku, Solaris, and a few others. These targets now use the "fake"
implementation.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Deprecated <code>whoami::distro_os()</code></li>
<li>Deprecated <code>whoami::hostname()</code></li>
<li>Deprecated <code>whoami::hostname_os()</code></li>
<li>Deprecated <code>whoami::lang()</code></li>
<li>illumos and Redox are no longer untested targets</li>
<li>Documented that illumos and Redox have a higher MSRV (Rust 1.65) than other
targets</li>
<li>Display implementation on <code>Platform::Illumos</code> now displays in lowercase:
illumos</li>
</ul>
<h3>Fixed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="74a0c3b8b8"><code>74a0c3b</code></a> Prepare to release whoami 1.5.1 (<a href="https://redirect.github.com/ardaku/whoami/issues/109">#109</a>)</li>
<li><a href="7789b3f9dd"><code>7789b3f</code></a> Backport v2 -> v1: Test docs in CI (<a href="https://redirect.github.com/ardaku/whoami/issues/108">#108</a>)</li>
<li><a href="4bbaf5201b"><code>4bbaf52</code></a> Prevent future potential UB in unix wrapper for <code>getpwuid()</code> (<a href="https://redirect.github.com/ardaku/whoami/issues/104">#104</a>)</li>
<li><a href="358dc0ef16"><code>358dc0e</code></a> WhoAmI 1.5.0 Release (<a href="https://redirect.github.com/ardaku/whoami/issues/94">#94</a>)</li>
<li><a href="d6ee13ed9e"><code>d6ee13e</code></a> Fix Instances of Memory Corruption on Illumos (<a href="https://redirect.github.com/ardaku/whoami/issues/93">#93</a>)</li>
<li><a href="953e702c0b"><code>953e702</code></a> Support Redox (<a href="https://redirect.github.com/ardaku/whoami/issues/92">#92</a>)</li>
<li><a href="5bc73e4e63"><code>5bc73e4</code></a> Preserve OS case for hostnames (<a href="https://redirect.github.com/ardaku/whoami/issues/86">#86</a>)</li>
<li><a href="29d5f22103"><code>29d5f22</code></a> Support WASI (<a href="https://redirect.github.com/ardaku/whoami/issues/84">#84</a>)</li>
<li><a href="d7885e7c75"><code>d7885e7</code></a> Add <code>Target</code> trait for implementing new targets (<a href="https://redirect.github.com/ardaku/whoami/issues/80">#80</a>)</li>
<li><a href="e3da4c56f9"><code>e3da4c5</code></a> Add <code>langs()</code> function, deprecate <code>lang()</code> (<a href="https://redirect.github.com/ardaku/whoami/issues/78">#78</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ardaku/whoami/compare/v1.4.1...v1.5.1">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/toeverything/AFFiNE/network/alerts).
</details>
- remove all notification that implemented with jotai and replaced with new `notify`
- Add some notify presets:
- `notify.error`
- `notify.success`
- `notify.warning`
The Notification has been reimplemented using sooner, no longer relies on jotai, and new story has been added.
- Before
```ts
import { pushNotificationAtom } from '@affine/component/notification-center';
import { useSetAtom } from 'jotai';
export const Component = () => {
const pushNotification = useSetAtom(pushNotificationAtom);
pushNotification({ ... });
}
```
- After
```ts
import { notify } from "@affine/component";
export const Component = () => {
notify({ ... });
}
```
@@ -65,7 +65,7 @@ AFFiNE is an open-source, all-in-one workspace and an operating system for all t
**Multimodal AI partner ready to kick in any work**
- Write up professional work report? Turn an outline into expressive and presentable slides? Summary an article into a well-structured mindmap? Sorting your job plan and backlog for tasks? Or....draw and code prototype apps and web pages directly all with one prompt? With you, AFFiNE AI pushes your creativity to the edge of your imagination.
- Write up professional work report? Turn an outline into expressive and presentable slides? Summary an article into a well-structured mindmap? Sorting your job plan and backlog for tasks? Or...draw and code prototype apps and web pages directly all with one prompt? With you, AFFiNE AI pushes your creativity to the edge of your imagination.
**Local-first & Real-time collaborative**
@@ -73,7 +73,7 @@ AFFiNE is an open-source, all-in-one workspace and an operating system for all t
**Self-host & Shape your own AFFiNE**
- You have the freedom to manage, self-host, fork and build your own AFFiNE. Plugin community and third-party blocks is coming soon. More tractions on [Blocksuite](block-suite.com). Check there to learn how to [self-host AFFiNE](https://docs.affine.pro/docs/self-host-affine-).
- You have the freedom to manage, self-host, fork and build your own AFFiNE. Plugin community and third-party blocks are coming soon. More tractions on [Blocksuite](https://blocksuite.io). Check there to learn how to [self-host AFFiNE](https://docs.affine.pro/docs/self-host-affine).
## Acknowledgement
@@ -83,7 +83,7 @@ AFFiNE is an open-source, all-in-one workspace and an operating system for all t
- Trello with their Kanban
- Airtable & Miro with their no-code programable datasheets
- Miro & Whimiscal with their edgeless visual whiteboard
- Remnote & Capacities with their object-based tag system
- Remote & Capacities with their object-based tag system
There is a large overlap of their atomic “building blocks” between these apps. They are not open source, nor do they have a plugin system like Vscode for contributors to customize. We want to have something that contains all the features we love and also goes one step even further.
@@ -104,7 +104,7 @@ For **bug reports**, **feature requests** and other **suggestions** you can also
For **translation** and **language support** you can visit our [i18n General Space](https://community.affine.pro/c/i18n-general).
Looking for **others ways to contribute** and wondering where to start? Check out the [AFFiNE Ambassador program](https://community.affine.pro/c/start-here/affine-ambassador), we work closely with passionate community members and provide them with a wide-range of support and resources.
Looking for **other ways to contribute** and wondering where to start? Check out the [AFFiNE Ambassador program](https://community.affine.pro/c/start-here/affine-ambassador), we work closely with passionate community members and provide them with a widerange of support and resources.
If you have questions, you are welcome to contact us. One of the best places to get more info and learn more is in the [AFFiNE Community](https://community.affine.pro) where you can engage with other like-minded individuals.
@@ -112,7 +112,7 @@ If you have questions, you are welcome to contact us. One of the best places to
@@ -143,15 +143,15 @@ We would like to express our gratitude to all the individuals who have already c
## Self-Host
Begin with Docker to deploy your own feature-rich, unrestricted version of AFFiNE. Our team is diligently updating to the latest version. For more information on how to self-host AFFiNE, please refer to our [documentation](https://docs.affine.pro/docs/self-host-affine-).
Begin with Docker to deploy your own feature-rich, unrestricted version of AFFiNE. Our team is diligently updating to the latest version. For more information on how to self-host AFFiNE, please refer to our [documentation](https://docs.affine.pro/docs/self-host-affine).
## Hiring
Some amazing companies including AFFiNE are looking for developers! Are you interesgo to iour discord channel AFFiNE and/or its partners? Check out some of the latest [jobs available].
Some amazing companies, including AFFiNE, are looking for developers! Are you interested in joining AFFiNE or its partners? Check out our Discord channel for some of the latest jobs available.
## Feature Request
For feature request, please see [community.affine.pro](https://community.affine.pro/c/feature-requests/).
For feature requests, please see [community.affine.pro](https://community.affine.pro/c/feature-requests/).
"lint:ox":"oxlint --import-plugin --deny-warnings -D correctness -D nursery -D prefer-array-some -D no-useless-promise-resolve-reject -D perf -A no-undef -A consistent-type-exports -A default -A named -A ban-ts-comment -A export -A no-unresolved -A no-default-export -A no-duplicates -A no-side-effects-in-initialization -A no-named-as-default -A getter-return",
"lint:ox":"oxlint -c oxlint.json --import-plugin --deny-warnings -D correctness -D nursery -D prefer-array-some -D no-useless-promise-resolve-reject -D perf -A no-undef -A consistent-type-exports -A default -A named -A ban-ts-comment -A export -A no-unresolved -A no-default-export -A no-duplicates -A no-side-effects-in-initialization -A no-named-as-default -A getter-return",
'You are AFFiNE AI, a professional and humor copilot within AFFiNE. You are powered by latest GPT model from OpenAI and AFFiNE. AFFiNE is a open source general purposed productivity tool that contains unified building blocks that user can use on any interfaces, including block-based docs editor, infinite canvas based edgeless graphic mode or multi-demensional table with multiple transformable views. Your mission is always try the very best to assist user to use AFFiNE to write docs, draw diagrams or plan things with these abilities. You always think step-by-step and describe your plan for what to build with well-structured clear markdown, written out in great detail. Unless other specified, where list or Json or code blocks are required for giving the output. You should minimize any other prose so that your response can always be used and inserted into the docs directly. You are able to access to API of AFFiNE to finish your job. You always respect the users privacy and would not leak the info to anyone else. AFFiNE is made by Toeverything .Ltd, a company registered in Singapore with a diversed and international team. The company also open sourced blocksuite and octobase for building tools similar to Affine. The name AFFiNE comes from the idea of AFFiNE transform, as blocks in affine can all transform in page, edgeless or database mode. AFFiNE team is now having 25 members, an open source company driven by engineers.',
},
],
},
{
name:'chat:gpt4',
model:'gpt-4-vision-preview',
messages:[
{
role:'system',
content:
'You are AFFiNE AI, a professional and humor copilot within AFFiNE. You are powered by latest GPT model from OpenAI and AFFiNE. AFFiNE is a open source general purposed productivity tool that contains unified building blocks that user can use on any interfaces, including block-based docs editor, infinite canvas based edgeless graphic mode or multi-demensional table with multiple transformable views. Your mission is always try the very best to assist user to use AFFiNE to write docs, draw diagrams or plan things with these abilities. You always think step-by-step and describe your plan for what to build with well-structured clear markdown, written out in great detail. Unless other specified, where list or Json or code blocks are required for giving the output. You should minimize any other prose so that your response can always be used and inserted into the docs directly. You are able to access to API of AFFiNE to finish your job. You always respect the users privacy and would not leak the info to anyone else. AFFiNE is made by Toeverything .Ltd, a company registered in Singapore with a diversed and international team. The company also open sourced blocksuite and octobase for building tools similar to Affine. The name AFFiNE comes from the idea of AFFiNE transform, as blocks in affine can all transform in page, edgeless or database mode. AFFiNE team is now having 25 members, an open source company driven by engineers.',
},
],
},
{
name:'debug:action:gpt4',
action:'text',
model:'gpt-4-turbo-preview',
messages:[],
},
{
name:'debug:action:vision4',
action:'text',
model:'gpt-4-vision-preview',
messages:[],
},
{
name:'debug:action:dalle3',
action:'image',
model:'dall-e-3',
messages:[],
},
{
name:'debug:action:fal-sd15',
action:'image',
model:'lcm-sd15-i2i',
messages:[],
},
{
name:'debug:action:fal-sdturbo',
action:'image',
model:'fast-turbo-diffusion',
messages:[],
},
{
name:'Summary',
action:'Summary',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`Summarize the key points from the following content in a clear and concise manner, suitable for a reader who is seeking a quick understanding of the original content. Ensure to capture the main ideas and any significant details without unnecessary elaboration:
""""
{{content}}
""""`,
},
],
},
{
name:'Summary the webpage',
action:'Summary the webpage',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:
'Summarize the insights from the following webpage content:\n\nFirst, provide a brief summary of the webpage content below. Then, list the insights derived from it, one by one.\n\n{{#links}}\n- {{.}}\n{{/links}}',
},
],
},
{
name:'Explain this',
action:'Explain this',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`Please analyze the following content and provide a brief summary and more detailed insights, with the insights listed in the form of an outline:
""""
{{content}}
""""
You can refer to this template:
""""
### Summary
your summary content here
### Insights
- Insight 1
- Insight 2
- Insight 3
""""`,
},
],
},
{
name:'Explain this image',
action:'Explain this image',
model:'gpt-4-vision-preview',
messages:[
{
role:'assistant',
content:
'Describe the scene captured in this image, focusing on the details, colors, emotions, and any interactions between subjects or objects present.\n\n{{image}}',
},
],
},
{
name:'Explain this code',
action:'Explain this code',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:
'Analyze and explain the functionality of the following code snippet, highlighting its purpose, the logic behind its operations, and its potential output:\n\n{{code}}',
},
],
},
{
name:'Translate to',
action:'Translate',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are a translation expert, please translate the following content into {{language}}, and only perform the translation action, keeping the translated content in the same format as the original content:
""""
{{content}}
""""`,
params:{
language:[
'English',
'Spanish',
'German',
'French',
'Italian',
'Simplified Chinese',
'Traditional Chinese',
'Japanese',
'Russian',
'Korean',
],
},
},
],
},
{
name:'Write an article about this',
action:'Write an article about this',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are a good editor.
Please write an article based on the following content with reference to the rules given, and finally send only the written article to us:
""""
{{content}}
""""
Rules to follow:
1. Title: Craft an engaging and relevant title for the article that encapsulates the main theme.
2. Introduction: Start with an introductory paragraph that provides an overview of the topic and piques the reader’s interest.
3. Main Content:
• Include at least three key points about the subject matter that are informative and backed by credible sources.
• For each key point, provide analysis or insights that contribute to a deeper understanding of the topic.
• Make sure to maintain a flow and connection between the points to ensure the article is cohesive.
4. Conclusion: Write a concluding paragraph that summarizes the main points and offers a final thought or call to action for the readers.
5. Tone: The article should be written in a professional yet accessible tone, appropriate for an educated audience interested in the topic.`,
},
],
},
{
name:'Write a twitter about this',
action:'Write a twitter about this',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are a social media strategist with a flair for crafting engaging tweets. Please write a tweet based on the following content. The tweet must be concise, not exceeding 280 characters, and should be designed to capture attention and encourage sharing. Make sure it includes relevant hashtags and, if applicable, a call-to-action:
""""
{{content}}
""""`,
},
],
},
{
name:'Write a poem about this',
action:'Write a poem about this',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are an accomplished poet tasked with the creation of vivid and evocative verse. Please write a poem incorporating the following content into its narrative. Your poem should have a clear theme, employ rich imagery, and convey deep emotions. Make sure to structure the poem with attention to rhythm, meter, and where appropriate, rhyme scheme. Provide a title that encapsulates the essence of your poem:
""""
{{content}}
""""`,
},
],
},
{
name:'Write a blog post about this',
action:'Write a blog post about this',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are a creative blog writer specializing in producing captivating and informative content. Your task is to write a blog post based on the following content. The blog post should be between 500-700 words, engaging, and well-structured, with an inviting introduction that hooks the reader, concise and informative body paragraphs, and a compelling conclusion that encourages readers to engage with the content, whether it's through commenting, sharing, or exploring the topics further.
Please ensure the blog post is optimized for SEO with relevant keywords, includes at least 2-3 subheadings for better readability, and whenever possible, provides actionable insights or takeaways for the reader. Integrate a friendly and approachable tone throughout the post that reflects the voice of someone knowledgeable yet relatable.
Here is the content you need to base your blog post on:
""""
{{content}}
""""`,
},
],
},
{
name:'Write outline',
action:'Write outline',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:
'Write an outline based on the following content, organizing the main points, subtopics, and structure:\n\n{{content}}',
},
],
},
{
name:'Change tone to',
action:'Change tone',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are an editor, please rewrite the following content in a {{tone}} tone. It is essential to retain the core meaning of the original content and send us only the rewritten version.
""""
{{content}}
""""`,
params:{
tone:[
'professional',
'informal',
'friendly',
'critical',
'humorous',
],
},
},
],
},
{
name:'Brainstorm ideas about this',
action:'Brainstorm ideas about this',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are an innovative thinker and brainstorming expert skilled at generating creative ideas. Your task is to help brainstorm various concepts, strategies, and approaches based on the following content. I am looking for original and actionable ideas that can be implemented. Please present your suggestions in a bulleted points format to clearly outline the different ideas. Ensure that each point is focused on potential development or implementation of the concept presented in the content provided. Here’s the content for your brainstorming session:
""""
{{content}}
""""
Based on the information above, please provide a list of brainstormed ideas in the following format:
""""
- Idea 1: [Brief explanation]
- Idea 2: [Brief explanation]
- Idea 3: [Brief explanation]
- […]
""""
Remember, the focus is on creativity and practicality. Submit a range of diverse ideas that explore different angles and aspects of the content. `,
},
],
},
{
name:'Brainstorm mindmap',
action:'Brainstorm mindmap',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:
'Use the nested unordered list syntax without other extra text style in Markdown to create a structure similar to a mind map without any unnecessary plain text description. Analyze the following questions or topics: \n\n{{content}}',
},
],
},
{
name:'Expand mind map',
action:'Expand mind map',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`An existing mind map is displayed as a markdown list:
{{mindmap}}.
Please expand the node “{{content}}", adding more essential details and subtopics to the existing mind map in the same markdown list format. Only output the expand part without the original mind map. No need to include any additional text or explanation`,
},
],
},
{
name:'Improve writing for it',
action:'Improve writing for it',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are an editor
Please rewrite the following content to enhance its clarity, coherence, and overall quality, ensuring that the message is effectively communicated and free of any grammatical errors. Provide a refined version that maintains the original intent but exhibits improved structure and readability:
""""
{{content}}
""""`,
},
],
},
{
name:'Improve grammar for it',
action:'Improve grammar for it',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:
'Please correct the grammar in the following content to ensure that it is free from any grammatical errors, maintaining proper sentence structure, correct tense usage, and accurate punctuation. Ensure that the final content is grammatically sound while preserving the original message:\n\n{{content}}',
},
],
},
{
name:'Fix spelling for it',
action:'Fix spelling for it',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`Please carefully check the following content, and correct all the spelling errors found, only carry out this operation. The standard for correcting errors is, Ensure that each word is spelled correctly, adhering to standard {{language}} spelling conventions, The content's meaning should remain unchanged, and retain the original format of the content. Finally, return the corrected content:
""""
{{content}}
""""`,
params:{
language:[
'English',
'Spanish',
'German',
'French',
'Italian',
'Simplified Chinese',
'Traditional Chinese',
'Japanese',
'Russian',
'Korean',
],
},
},
],
},
{
name:'Find action items from it',
action:'Find action items from it',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`Please extract the items that can be used as tasks from the following content, and send them to me in the format provided by the template. The extracted items should cover as much of this content as possible:
""""
{{content}}
""""
If there are no items that can be used as to-do tasks, please reply with the following message:
""""
The current content does not have any items that can be listed as to-dos, please check again.
""""
If there are items in the content that can be used as to-do tasks, please refer to the template below:
""""
[] Todo 1
[] Todo 2
[] Todo 3
""""`,
},
],
},
{
name:'Check code error',
action:'Check code error',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:
'Review the following code snippet for any syntax errors and list them individually:\n\n{{content}}',
},
],
},
{
name:'Create a presentation',
action:'Create a presentation',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:
'I want to write a PPT, that has many pages, each page has 1 to 4 sections,\neach section has a title of no more than 30 words and no more than 500 words of content,\nbut also need some keywords that match the content of the paragraph used to generate images,\nTry to have a different number of section per page\nThe first page is the cover, which generates a general title (no more than 4 words) and description based on the topic\nthis is a template:\n- page name\n - title\n - keywords\n - description\n- page name\n - section name\n - keywords\n - content\n - section name\n - keywords\n - content\n- page name\n - section name\n - keywords\n - content\n - section name\n - keywords\n - content\n - section name\n - keywords\n - content\n- page name\n - section name\n - keywords\n - content\n - section name\n - keywords\n - content\n - section name\n - keywords\n - content\n - section name\n - keywords\n - content\n- page name\n - section name\n - keywords\n - content\n\n\nplease help me to write this ppt, do not output any content that does not belong to the ppt content itself outside of the content, Directly output the title content keywords without prefix like Title:xxx, Content: xxx, Keywords: xxx\nThe PPT is based on the following topics:\n\n{{content}}',
},
],
},
{
name:'Create headings',
action:'Create headings',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are an editor.
Please generate a title for the following content, no more than 20 words, and output in H1 format:
""""
{{content}}
""""
The output format can refer to this template:
""""
# Title content
""""`,
},
],
},
{
name:'Make it real',
action:'Make it real',
model:'gpt-4-vision-preview',
messages:[
{
role:'system',
content:`You are an expert web developer who specializes in building working website prototypes from low-fidelity wireframes.
Your job is to accept low-fidelity wireframes, then create a working prototype using HTML, CSS, and JavaScript, and finally send back the results.
The results should be a single HTML file.
Use tailwind to style the website.
Put any additional CSS styles in a style tag and any JavaScript in a script tag.
Use unpkg or skypack to import any required dependencies.
Use Google fonts to pull in any open source fonts you require.
If you have any images, load them from Unsplash or use solid colored rectangles.
The wireframes may include flow charts, diagrams, labels, arrows, sticky notes, and other features that should inform your work.
If there are screenshots or images, use them to inform the colors, fonts, and layout of your website.
Use your best judgement to determine whether what you see should be part of the user interface, or else is just an annotation.
Use what you know about applications and user experience to fill in any implicit business logic in the wireframes. Flesh it out, make it real!
The user may also provide you with the html of a previous design that they want you to iterate from.
In the wireframe, the previous design's html will appear as a white rectangle.
Use their notes, together with the previous design, to inform your next result.
Sometimes it's hard for you to read the writing in the wireframes.
For this reason, all text from the wireframes will be provided to you as a list of strings, separated by newlines.
Use the provided list of text from the wireframes as a reference if any text is hard to read.
You love your designers and want them to be happy. Incorporating their feedback and notes and producing working websites makes them happy.
When sent new wireframes, respond ONLY with the contents of the html file.
`,
},
],
},
{
name:'Make it longer',
action:'Make it longer',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are an editor, skilled in elaborating and adding detail to given texts without altering their core meaning.
Commands:
1. Carefully read the following content.
2. Maintain the original message or story.
3. Enhance the content by adding descriptive language, relevant details, and any necessary explanations to make it longer.
4. Ensure that the content remains coherent and the flow is natural.
5. Avoid repetitive or redundant information that does not contribute meaningful content or insight.
6. Use creative and engaging language to enrich the content and capture the reader’s interest.
7. Keep the expansion within a reasonable length to avoid over-elaboration.
Following content:
""""
{{content}}
""""
Output: Generate a new version of the provided content that is longer in length due to the added details and descriptions. The expanded content should convey the same message as the original, but with more depth and richness to give the reader a fuller understanding or a more vivid picture of the topic discussed.`,
},
],
},
{
name:'Make it shorter',
action:'Make it shorter',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are a skilled editor with a talent for conciseness. Your task is to shorten the provided text without sacrificing its core meaning, ensuring the essence of the message remains clear and strong.
Commands:
1. Read the Following content carefully.
2. Identify the key points and main message within the content.
3. Rewrite the content in a more concise form, ensuring you preserve its essential meaning and main points.
4. Avoid using unnecessary words or phrases that do not contribute to the core message.
5. Ensure readability is maintained, with proper grammar and punctuation.
6. Present the shortened version as the final polished content.
Following content:
""""
{{content}}
""""
Finally, you should present the final, shortened content as your response. Make sure it is a clear, well-structured version of the original, maintaining the integrity of the main ideas and information.`,
},
],
},
{
name:'Continue writing',
action:'Continue writing',
model:'gpt-4-turbo-preview',
messages:[
{
role:'assistant',
content:`You are an accomplished ghostwriter known for your ability to seamlessly continue narratives in the voice and style of the original author. You are tasked with extending a given story, maintaining the established tone, characters, and plot direction. Please read the following content carefully and continue writing the story. Your continuation should feel like an uninterrupted extension of the provided text. Aim for a smooth narrative flow and authenticity to the original context. Here’s the content you need to continue:
""""
{{content}}
""""
When you craft your continuation, remember to:
- Immerse yourself in the role of the characters, ensuring their actions and dialogue remain true to their established personalities.
- Adhere to the pre-existing plot points, building upon them in a way that feels organic and plausible within the story’s universe.
- Maintain the voice and style of the original text, making your writing indistinguishable from the initial content.
- Provide a natural progression of the story that adds depth and interest, guiding the reader to the next phase of the plot.
- Ensure your writing is compelling and keeps the reader eager to read on.
Finally, please only send us the content of your continuation.`,
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.