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

Infy Tracker Laravel Package

infyomlabs/infy-tracker

InfyTracker is a Laravel package that captures application exceptions and errors, stores them in your database, and sends notifications via email or Slack. It includes a dashboard to review, filter, and manage tracked issues, helping teams monitor production errors without relying on external servic...

View on GitHub
Deep Wiki
Context7

Getting Started

v1.0.0 is a feature-heavy release for a task/time-tracking package, so the fastest path to value is to exercise the two screens that changed most: the task listing and the time entry screen.

  1. Install and migrate as usual. composer require the new tag, then run php artisan migrate. This release does not publish new migrations in the notes, but the project column and date filter in time entries imply schema/query changes — run php artisan vendor:publish --tag=<package>-config and diff the config against your existing one before deploying.
  2. Check the permission model first. Several enhancements (user/project lists filtered to "manage task" permission, projects limited to those with an active task assigned to the logged-in user) change what users see. Verify your roles grant the manage-task permission, or admins will report "missing users/projects" after upgrade.
  3. First use case: log time against a task, then open the time entry screen and confirm (a) the new Project column is populated, (b) the Date filter narrows results, and (c) the copy-to-clipboard today-activity text contains only the logged-in user's own entries.
  4. Where to look first in code: the time entry controller/query builder (for the project join and date scope), the task listing view (priority badge + red due date), and the assignee dropdown component (auto-select of the current user). Those three files carry most of this release's behavior.

Implementation Patterns

Time entry screen as the primary integration surface. v1.0.0 makes the time entry table a reporting view rather than just a form. If you render your own time entry table, mirror the package's query: join projects, apply the date filter scope, and scope projects to those where the logged-in user has an active assigned task. Reuse the package's scope methods instead of re-implementing the filter, otherwise your table and the package's will disagree about which projects are selectable.

Permission-gated dropdowns. The user list and project list are now filtered by manage-task permission. Pattern: resolve these lists through the package's service/repository (or its published scope), not via User::all() / Project::all() in your own Blade partials. If you have custom admin screens, apply the same permission check so behavior stays consistent between package screens and your own.

Date filtering. A Date filter now exists on time entries, and the default "current date" was removed from the Task screen's due-date filter. If you relied on the old implicit-today behavior (e.g. dashboard widgets assuming the task list was pre-filtered), explicitly pass a date range — the task listing will now return unfiltered results until the user picks a date.

Admin time entry overrides. Admins can add and update any user's time entry. Pattern: keep user attribution explicit in your own code paths. When an admin edits on behalf of another user, pass the target user ID rather than relying on auth()->id(), which is what the package now does internally.

Reporting and clipboard. Total Hours now surfaces in the custom report tooltip, and clipboard output is scoped to the current user's own activity in a "today" format. If you export or copy time data elsewhere, reuse the package's formatter so your output matches, and be aware the clipboard text format changed — any tests asserting on that string will need updating.

Attachments. JPEG is now an accepted attachment type on task detail. If you validate uploads in a custom controller, align your mime rules (jpeg,jpg,png,...) with the package's accepted set, and check your storage disk config for the new type.

Gotchas and Tips

  • Removed one-minute validation. Time entries shorter than a minute are no longer rejected. Any downstream aggregation, rounding, or billing logic you built assuming a one-minute floor now needs its own guard.
  • Breaking-ish UI behavior: removing the default current date from the Due Date filter changes what a "fresh" task screen shows. Tests and screenshots asserting a pre-filtered list will fail; treat this as a behavior change during upgrade QA.
  • Visibility looks like data loss. Because users and projects are now filtered by permission and active-task assignment, an upgrade can look like records vanished. Confirm the logged-in user's role has manage-task permission and at least one active assigned task before debugging the query.
  • Due date red styling is presentation-only and driven by comparing the due date to today. Check timezone configuration (config/app.php timezone) if overdue highlighting fires a day early or late — this is the most common cause.
  • Copy-to-clipboard scoping is a fix, not just a feature: previously other users' activity could leak into the copied text. Re-test any custom copy button you built; if you duplicated the old logic, you are still leaking.
  • Debugging filters: the new Time Entry date filter and the active-task project scope interact. If a valid project is missing from the dropdown, verify the assignment is active and the task is not soft-deleted — that is the documented condition, and it is the usual suspect.
  • Extension point: rather than editing published views for the Project column and priority badge, override the package's view/component or hook the query scope. Published views will be overwritten on the next release, and this release touched several of them.
  • Admin editing others' entries bypasses the usual ownership check — audit-log those writes yourself if you need an attribution trail, since the package now permits the action silently.
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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package