Updates from the team of builders behind the Lens API, Lens SDK and Momoka Scaling Solution
Introducing LIP-3: Lens Share. A new standard to share Lens profiles and publications across the evergrowing Lens ecosystem.
The number of apps flourishing within the Lens ecosystem has highlighted a need for URL sharing across platforms in a manner that's app-agnostic. Users should be free to engage with their app of choice. However, there can be situations where the users content might not be accessible on their preferred Lens app. That's why we've looked into augmenting the user experience.
The solution? A standardized link-sharing strategy and an app-agnostic interface. This promises smoother integration across apps within the Lens ecosystem, all the while preserving the credit to the original app.
Meet Lens Share Link — a universal URL that's capable of sharing a profile or publication.
Lens apps should adopt a common link format such as:
We welcome all Lens app builders to contribute. Submit a PR against our repository with the app manifest(s) you'd like to see listed.
This is just the beginning of app-agnostic sharing on Lens. Stay tuned for more updates.
Check out our GitHub page to learn more about Lens Share: github.com/lens-protocol/lens-share Dive into the dev docs: docs.lens.xyz/docs/lens-share
Help secure Lens together 🤝
The public code4rena security audit is live. We encourage the developer community to discover security vulnerabilities and share their findings here.
More details here: code4rena.com/contests/2023-07-lens-protocol-v2#top
Lens SDK 1.2 - Improvements in this release
Snaphost Integration Support for Wagmi V1 Bug fixes and improvements
What's new?
Snapshot Integration
Integrate Snapshot voting directly into your Lens app by using convenience react hooks.
Extract and visualize Snapshot proposal details with the usePoolDetails
hook.
Allow users to vote on a given proposal with usePoolVote
hook.
Refer to the docs for more details: docs.lens.xyz/docs/snapshot-integration
Support for Wagmi V1
The latest stable wagmi
version could be now used with the Lens SDK by installing the latest http://localhost:3000/u/lens-protocol/wagmi
version. Your older wagmi is still supported by the SDK on the http://localhost:3000/u/lens-protocol/wagmi^1
release track.
Bug fixes and improvements
Better caching for publication/profile details, should no longer refetch if was fetched already from feed.
Improved dev-friendly error messages when providing malformed URL's to the upload
handler when creating new publications.
Support for sandbox environment.
useActiveWallet
and useActiveProfile
state changes are synchronized to happen at the same time.
Momoka now supports a beta rust client, doing it for the 🦀's
As we continue to scale Momoka, we want to ensure that it is built using a fast and scalable language. Rust is our preferred choice.
Explore here: github.com/lens-protocol/momoka/tree/master/momoka-rs
Lens SDK 1.1 - Improvements in this release
LensClient
improvementsWhat's new?
Momoka support
The Lens SDK React hooks now support Momoka publications. To start using Momoka today just upgrade to http://localhost:3000/u/lens-protocol/react-webhttp://localhost:3000/u/latest
and the SDK will take care of the rest.
The Lens SDK will choose Momoka posts over on-chain posts automatically based on your collect settings. It will also know when comments and mirrors need to be on Momoka infrastructure based on the referencing publication.
Self-funded transactions fallback
Occasionally gasless transactions might not be available for a given profile. To provide continuity in your user experience you can now fallback to execute transactions using the user's funds to cover gas costs. More documentation is available here: docs.lens.xyz/docs/self-funded-transactions
Bi-directional pagination traversing It's now possible to traverse paginated results in both directions (older and newer results).
This allows you to implement functionalities such as "pull to refresh" on a mobile app or fetch newer feed entries. See this example as a reference: github.com/lens-protocol/lens-sdk/blob/main/examples/web-wagmi/src/discovery/UseFeed.tsx#L63
Supports limited free collects
Last month we launched a new collect module called SimpleCollectModule
. In this SDK release, you can leverage all its potential. For example, you can define a Free Collect with a limited number of NFTs to be minted.
LensClient
improvements
We added client.authentication.verify
and client.authentication.getAccessToken
methods to enable extraction and verification of someone's API credentials.
Improvements in this release
🛠️ Simplified integration for React web apps. Install and import from http://localhost:3000/u/lens-protocol/react-web
with less configuration.
🔐 Token-gated support: You can now create encrypted posts and comments which can only be read by users that match the criteria you define.
🪪 Active profile is automatically wired as the Observer ID of all relevant queries. Doing so the Lens SDK provides a cohesive view of the data that is relevant to the eye of the Active Profile.
What's new?
New http://localhost:3000/u/lens-protocol/react-web
package for a simplified React web apps integration
Token-gated posts and comments
Cohesive data fetching using Active Profile as Observer ID
Enhanced fields for ProfileStats
and PublicationStats
Added appId
to LensConfig. Allows you to identify posts created by your app. You can then use the sources
to filter posts by the same App ID
Added useProfilesOwnedByMe
Added useProfilePublicationsForSale
Lens devs keep shipping 🛳️ 💨. A lot of cool things have been added with 1.26.0.
Features
·Ability to create Nft galleries
·Added support for data availability for mirror with signed typed data (staging only)
·Add support for data availability for comment with signed typed data (staging only)
·Added support for 'ar://' protocol in metadata
·Added support for 'ar://' protocol in metadata
·Added support authentication with EIP1271-compatible smart wallets
·Added indexes to the database
·Added support for MultirecipientFeeCollectModule
·Added support for AaveFeeCollectModule
·Added support for ERC4626FeeCollectModule
·Added more relays to load balance to spread out traffic
·Enabled hasTxHashBeenIndexed to be accessible without auth token
·Moved the Follow Proxy action to RabbitMQ.
·Moved the Collect Proxy action to RabbitMQ.
·Removed Internal endpoints
·Rewrote the notification service to improve performance
·Removed wallets from showing in the of follower list
·Handle validation internal extensions
·Lensqueue granular error handling
·Rabbitmq metrics and alerts
·Improved speed latency on redis
·Improved Estimate of gas
·Improved Contain memory spikes
·Whitelisted new apps for gasless transactions
Bug fixes
·Added optional pretty name to whitelisted currencies
·Added block timestamp to indexer
·Added optional pretty name to whitelisted currencies
·Fixed typo in GraphQL schema doc
·Fixed collect records mismatch on the backend
·Fixed typo in GraphQL schema doc
·Fixed nft population in nft gallery
·Fixed Internal error counts
·Fixed typo in GraphQL schema doc
·Gated working on the dispatcher
·Resolved issue on collect modules circular references
·Resolved issue: When using the whoMirroredPublicationId field in the request and querying a publication with multiple mirrors by the same profile profiles repeated in the response
·Resolved issue on collect modules circular references
·Resolved uncaught exceptions for graphql validation errors
·Redis expiry times made dynamic
·Resolved deadlocks on db
·Stopped supporting kovan, rinkeby and ropsten testnets
·Validation metadata fixes
Breaking changes
·Feed and feedHighlights now require auth to call them
Breaking changes actioned
·ACTIONED: breaking change: timeline has been removed
Improvements in this release
We have added several new hooks in this release to help our community, highlights below 👇
📰 Ability to collect a publication ✅ Enabled approving modules (gas efficient with support for EIP-1559 gas estimation) 🪞 A new feature that allows you to see who mirrored a publication 💬 Expanded the filtering of feed, with explore publications and comments data
What's new?
Added useCollect
hook enables the collection of publications
Added useApproveModule
and internal toolings for EIP-1559 gas estimation Added useWhoMirroredPublication
hook Added metadataFilter
to useFeed
, useExplorePublications
and useComments
Added IStorageProvider
StorageSubscription
StorageProviderSubscriber
and IObservableStorageProvider
to the package exports
Removed the walletType
argument from the login
method of useWalletLogin
hook Removed IStorageProvider.subscribe
method (use IObservableStorageProvider
when custom subscription logic is required)
Quick update for quicker load times. The Lens Protocol core team has rolled out some big improvements and now the Lens API notification server is 1000x faster 🤯
The Lens team continues to ship 🚢 hop aboard! 💨 0.3.0 💨
Improvements in this release We added new hooks to enable some useful features for our community, some highlights below 👇
🪞Ability to Mirror a publication 👋Ability to report publication ⚡️Consolidated interface of several hooks for better consistency and ease of use 🫣Hide publications can now be enabled 👌More features to manage your profiles
🚀 Get Started docs.lens.xyz/docs/sdk-react-getting-started 🛠️ Get Technical here github.com/lens-protocol/lens-sdk
What's New?