Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/marketing/src/pages/changelog.astro
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ const releases: Array<{
content: `The local server has no login of its own - anything that can reach it on your machine could ask it to export a key or sign a transaction. Exporting a private key, importing one, transferring, paying, and signing now require pairing: copy the token printed in the terminal where you started the server, and paste it once into the "Pair browser" control next to the theme toggle. Read-only actions - balances, dry-runs, browsing objects - are untouched.`,
},
],
improvementsImage: {
src: '/blog/images/changelog/v1.6.0-devstack-bridge.webp',
alt: 'The Devstack Bridge page: pointed at a local devstack project, showing its doctor diagnostics (Docker, sui-cli, state dir all ok), the localnet RPC endpoint, a published "counter" package address, and a funded "alice" test account, with a "Use this network" button.',
},
improvements: [
"Package Explorer: a dedicated page for browsing a deployed package's modules, functions and datatypes, out of the Objects tab strip.",
'Dashboard: the widget grid is now configurable - add, remove and rearrange the cards you actually want to see.',
Expand Down
13 changes: 11 additions & 2 deletions apps/server/src/services/DevstackService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,19 @@ interface RawDeployment {
faucet?: string;
graphql?: string;
local?: boolean;
packages?: Record<string, string>;
// devstack 0.4+ emits `{ id: "0x..." }` per package instead of the bare
// id string older versions wrote; accept both so a devstack upgrade on
// the user's machine doesn't crash the bridge.
packages?: Record<string, string | { id: string }>;
}
>;
accounts?: Record<string, string>;
}

function packageId(value: string | { id: string }): string {
return typeof value === 'string' ? value : value.id;
}

interface CacheEntry<T> {
value: T;
/** Wall-clock expiry for capability probes. */
Expand Down Expand Up @@ -242,7 +249,9 @@ export class DevstackService {
faucet: net.faucet,
graphql: net.graphql,
local: net.local,
packages: net.packages ?? {},
packages: Object.fromEntries(
Object.entries(net.packages ?? {}).map(([pkg, id]) => [pkg, packageId(id)])
),
};
}

Expand Down
6 changes: 3 additions & 3 deletions apps/web/src/components/HomePage/TestimonialWall.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ export function TestimonialWall() {
The gas breakdown alone paid for itself — we caught a loop that
was burning 40% of our budget on a single entry function.
</Testimonial>
<Testimonial name="Aiko Nakamura" title="Smart Contract Auditor">
<Testimonial name="Smart Contract Auditor">
I keep it open next to the explorer during reviews. Being able
to split, merge and inspect coins without leaving the keyboard
is the whole pitch.
</Testimonial>
<Testimonial name="Deniz Yilmaz" title="DevRel, Sui Ecosystem">
<Testimonial name="Sui DevRel">
We put it in front of forty workshop attendees who&apos;d never
touched Move. Nobody got stuck on environment setup. That has
never happened before.
</Testimonial>
<Testimonial name="Priya Sharma" title="Protocol Engineer">
<Testimonial name="Software Engineer">
It runs the CLI I already trust — no hosted keys, no wrapper
service, nothing leaves my machine. That&apos;s why it survived
past the demo.
Expand Down
Loading