Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Nova Tooltip Laravel Package

badinansoft/nova-tooltip

A Laravel Nova package that adds tooltips to your admin panel, letting you attach helpful hint text to fields, resources, and metrics so users understand values at a glance without cluttering the interface.

View on GitHub
Deep Wiki
Context7

Getting Started

Start with the 1.2.0 changelog line itself: "Fix problem of nova" is a patch-level (semver 1.2.0 is minor, but the content is a bugfix) correction to the package's Laravel Nova integration. Nothing in the release note indicates removed methods, renamed config keys, or changed signatures, so treat this as a safe in-place upgrade — but it is also a signal that Nova is a first-class consumer of this package, and that is the path you should validate first.

Minimal steps:

  1. composer update vendor/package (or composer require vendor/package:^1.2 on a fresh install) and commit the lockfile diff. Confirm the only changed constraint is this package.
  2. Publish/refresh config only if you have never published it: php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider" --tag=config. Do not blanket-republish if you have local edits — diff instead.
  3. Run php artisan migrate only if the package ships migrations; the note gives no reason to expect schema changes, so a no-op is the expected result.
  4. Clear caches — Nova caches resource/navigation metadata aggressively: php artisan optimize:clear and, if you run Nova, php artisan nova:publish is not needed for a package upgrade, but php artisan cache:clear is worth doing before you conclude anything is broken.
  5. First use case to exercise: open the Nova resource/dashboard that surfaces this package's data, and reproduce whatever workflow you have that touches it — index listing, detail view, and one form save. That is the exact surface the 1.2.0 fix targets.

Where to look first in the codebase: the package's service provider (what it registers — Nova tools, cards, resources, fields, or just routes/middleware), then any src/Nova/ or src/Http/Controllers/ directory, then the config file's nova-prefixed keys. If there is a NovaServiceProvider in your app, check whether the package's tool/card is registered there.

Implementation Patterns

Pin the minor version during rollout. Because 1.2.0 is a Nova-targeted fix, run "vendor/package": "1.1.*" on the branch you deploy from until you have verified the Nova surface, then bump to ^1.2. This gives you a trivial rollback if the "fix" changed behavior your Nova resource was implicitly relying on.

Wrap Nova registration behind a conditional. If the package registers Nova tools or cards from its own service provider, guard non-Nova environments so console/queue workers and API-only deployments do not pay the cost:

// app/Providers/NovaServiceProvider.php
public function tools(): array
{
    return [
        \Vendor\Package\Nova\Tool::make(),
    ];
}

Keep the registration in your NovaServiceProvider rather than relying on the package's discovery — that is the single most common place Nova-integration bugs get fixed, and owning the call site means a future release cannot silently reorder or duplicate the tool.

Treat Nova resources as a separate integration contract. If the package exposes a Nova Resource (e.g. Vendor\Package\Nova\SomeResource), do not subclass it and override fields() — pin the version and vendor the field list into your own resource. Nova's field API churns between major versions, and the package's fix may well be inside fields() or resolve().

Test the three Nova surfaces explicitly. A Nova "problem" almost always manifests in one of: (a) indexQuery / index listing (filters, sorting, eager loads), (b) fields() / form submission, (c) authorizedToView / policy gating. Add or update a feature test per surface. If you use Pest, a Nova::actingAs()-style authenticated request against /nova-api/{resource} is the cheapest regression net you can build around this package.

Use it as a normal Laravel dependency elsewhere. The Nova fix should be isolated; your HTTP controllers, jobs, and Blade views should keep consuming the package's public API unchanged. If you find yourself needing Nova-specific code anywhere outside app/Nova and NovaServiceProvider, the integration has leaked — refactor before upgrading further.

Upgrade checklist per release: read the diff on GitHub (the one-line note is not enough to assess), grep for @deprecated, run composer outdated --direct, then exercise Nova manually. Nova has no meaningful automated UI tests in most apps, so manual verification of the affected screen is non-optional.

Gotchas and Tips

  • The release note is not a changelog. "Fix problem of nova" tells you nothing about scope. Before upgrading in production, open the compare view (.../compare/1.1.0...1.2.0) and read the actual diff. If the release has no tag diff or no linked issue, upgrade in staging only and file an issue asking for detail.
  • Nova version skew is the likely root cause. The "problem of nova" is probably a Nova 4 vs Nova 5 API difference (or a laravel/nova constraint mismatch). Check your composer.json for laravel/nova and confirm the package's own constraints in its composer.json match. A package fix that assumes Nova 5 will silently no-op on Nova 4.
  • Do not republish Nova assets blindly. nova:publish copies the package's compiled assets and can clobber local customizations. Run it only if the diff touches dist/ or resources/js, and snapshot the directory first.
  • Config cache is the #1 false alarm. After upgrading, php artisan config:cache can serve a stale config array in Octane/Swoole workers. Restart the workers (php artisan octane:reload) before debugging anything, or you will chase a bug that no longer exists.
  • Authorization failures look like Nova "problems". If the fixed screen still returns 403 in production but works locally, it is your Policy or Gate, not the package. Check Nova::actingAs() in tests vs. real session auth.
  • Watch the service provider for double registration. A common shape of a Nova fix is changing when the tool/card is registered (e.g. from boot() to a lazy Nova::tools() hook). If you also register it manually, you can end up with the tool appearing twice in the Nova sidebar — an easy-to-miss, cosmetic-but-suspicious symptom.
  • Version constraint on Nova is your escape hatch. If the upgrade breaks your admin panel, composer require laravel/nova:... is not the fix — pin vendor/package:1.1.* and open an upstream issue with the Nova version, the resource class, and the exact request/response.
  • This is a minor bump (1.2.0), not a patch. Semver permits new public API here, so scan the diff for added methods even though the note describes only a fix. New methods are non-breaking, but they often signal a deprecation coming in 1.3.0/2.0.0.
  • Log the upgrade. Add a line to your changelog/ADR noting "updated to 1.2.0 for Nova integration fix, verified resource X on Nova Y" — the next person to hit a Nova regression in six months will thank you, because the release note itself will not help them.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle