Git Product home page Git Product logo

jetstream's Introduction

Logo Laravel Jetstream

Build Status Total Downloads Latest Stable Version License

Introduction

Laravel Jetstream is a beautifully designed application scaffolding for Laravel. Jetstream provides the perfect starting point for your next Laravel application and includes login, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management.

Jetstream is designed using Tailwind CSS and offers your choice of Livewire or Inertia scaffolding.

Official Documentation

Documentation for Jetstream can be found on the Jetstream website.

Contributing

Thank you for considering contributing to Jetstream! You can read the contribution guide here.

Code of Conduct

In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

License

Laravel Jetstream is open-sourced software licensed under the MIT license.

jetstream's People

Contributors

amayer5125 avatar bonzai avatar calebporzio avatar claudiodekker avatar crynobone avatar dillingham avatar driesvints avatar drjdr avatar emargareten avatar geisi avatar jessarcher avatar joelbutcher avatar jrd-lewis avatar lostdesign avatar luisprmat avatar m1guelpf avatar miclaus avatar nunomaduro avatar octoper avatar ravibpatel avatar redidizzy avatar romainmazb avatar sotten avatar stancl avatar taylormaguire avatar taylorotwell avatar themsaid avatar timacdonald avatar wotta avatar xico2k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jetstream's Issues

Laravel Passport integration

I am creating a platform which requires an Oauth flow (it is a billing platform to manage subscriptions to multiple seperate services) and while it is easy enough to integrate, I wonder if it would be of benefit to have such functionality available in Jetstream?

If this is something that you would be looking to add I am more than happy to implement the functionality myself and submit a pull request, if not I'll obviously just add it to my project.

Error on composer require the package

  • Jetstream Version: 1.0.0
  • Laravel Version: 8.x
  • PHP Version:7.4.9
  • Database Driver & Version:

Description:

Screenshot from 2020-09-08 21-40-16

Steps To Reproduce:

On : composer require laravel/jetstream

Team's hasTeamPermission behaviour differs for Web and API users

  • Jetstream Version: 0.6.4
  • Laravel Version: 8.0 (dev)
  • PHP Version: 7.94

Description:

Attempting to inherit team permissions to enable users to perform actions on behalf of a team, however this is prevented due to $user->tokenCan taking precedence in HasTeams.php.

Where permissions are listed in $user->teamPermissions array, a request to $user->hasTeamPermission($teams, 'existingPermission') will always return false.

Steps To Reproduce:

  1. Add user to team with Administration Permission (inheriting all team permissions)
  2. Update TeamPolicy.php to enable functions based on team permissions
public function addTeamMember(User $user, Team $team)
    {
        return $user->ownsTeam($team) || $user->hasTeamPermission($team, 'create');
    }
  1. Authenticate as user and note that permission is not inherited. Die and dump of $user->hasTeamPermission($team, 'create') will return false, whereas 'create' is included in $user->teamPermissions($team) array.
  2. Comment out code block in HasTeams.php
/*if (in_array(HasApiTokens::class, class_uses_recursive($this)) &&
            ! $this->tokenCan($permission)) {
            return false;
        }*/
  1. Authenticate as user and note that permission is now inherited. Die and dump of $user->hasTeamPermission($team, 'create') now returns true.

Remove profile photo button

Add a button next to select a new photo that will have the function of remove the current photo and return to the Jetstream default profile photo.

(Inertia) Cannot login, session does not seem to persist.

  • Jetstream Version: 0.0.4
  • Laravel Version: 8.x-dev
  • PHP Version: 7.4.5
  • Database Driver & Version: Mysql 8

Description:

After registering, when trying to login it fail silently and I am returned to the login page again. I can see the session in sessions table in MySQL but I cannot sucessfuly login. If I enter a wrong email or password, it returns with an error.

Steps To Reproduce:

Install Jetstream.
php artisan jetstream:install inertia
php artisan migrate
Register
Try to login (i think after registering you should also be logged in automatically).

Inertia authentication views

When playing around with Jetstream, I got confused as to why my changes to the Inertia components weren't applying to the authentication views until I realized those always use Blade components. To make it easier on myself and prevent confusion, I ported them to Inertia. Is there any interest on a PR to add this to Jetstream?

Language translations

Hi,

I'm newbie on jetstream. I see that all blades templates have no key references for translations.

is it planned in the future ?

Best regards
Pasquale

php artisan jetstream:install livewire/inertia did not completely scaffold Auth

Laravel v 8:

Also tried

php artisan jetstream:install livewire

Also tried

php artisan jetstream:install inertia

A HomeController will also be generated to handle post-login requests to your application's dashboard.

Wasn't created. Also no Login controller was created. Where is the login controller?

I also use the authenticated method from the trait, but where is this trait now, no UI any more?

Is the UI still okay with version 8 (and future versions if I don't want jetstream), or is the UI deprecated, do you have to use jetstream. Not anything in docs about the laravel ui for Auth.

And I thought jetstream was optional, where is the AuthenticatesUsers.php trait now located.

The docs are leaving out so much it seems. The docs says there should be controller and trait:

Authenticating

Now that you have routes and views setup for the included authentication controllers, you are ready to register and authenticate new users for your application! You may access your application in a browser since the authentication controllers already contain the logic (via their traits) to authenticate existing users and store new users in the database.

(livewire) Method ::viaRemember does not exist at first login

  • Jetstream Version: 0.0.4
  • Laravel Version: 8.x-dev
  • PHP Version: 7.4.9
  • Database Driver & Version: Mysql 8.0.21

Description:

At the first login attempt, I get the following error and the error persists for all page requests after that.

BadMethodCallException thrown with message "Method Illuminate\Auth\RequestGuard::viaRemember does not exist."

Stacktrace:
#33 BadMethodCallException in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php:103
#32 Illuminate\Auth\RequestGuard:__call in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php:307
#31 Illuminate\Auth\AuthManager:__call in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php:42
#30 Illuminate\Session\Middleware\AuthenticateSession:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#29 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:56
#28 Illuminate\Session\Middleware\StartSession:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#27 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
#26 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#25 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:66
#24 Illuminate\Cookie\Middleware\EncryptCookies:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#23 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
#22 Illuminate\Pipeline\Pipeline:then in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Routing/Router.php:687
#21 Illuminate\Routing\Router:runRouteWithinStack in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Routing/Router.php:662
#20 Illuminate\Routing\Router:runRoute in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Routing/Router.php:628
#19 Illuminate\Routing\Router:dispatchToRoute in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Routing/Router.php:617
#18 Illuminate\Routing\Router:dispatch in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:165
#17 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128
#16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
#15 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#14 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
#13 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#12 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27
#11 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:63
#9 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#8 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/fruitcake/laravel-cors/src/HandleCors.php:36
#7 Fruitcake\Cors\HandleCors:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#6 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/fideloper/proxy/src/TrustProxies.php:57
#5 Fideloper\Proxy\TrustProxies:handle in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
#4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
#3 Illuminate\Pipeline\Pipeline:then in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:140
#2 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /home/im-possible/projects/dev/test01/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:109
#1 Illuminate\Foundation\Http\Kernel:handle in /home/im-possible/projects/dev/test01/public/index.php:55
#0 require in /home/im-possible/.composer/vendor/cpriego/valet-linux/server.php:232

Steps To Reproduce:

  1. Install Laravel
  2. Manually create "Models" folder
  3. Install Jetstream.
  4. php artisan jetstream:install livewire --teams
  5. php artisan migrate
  6. comment use HasFactory; from app/Models/User.php (see issue #11 )
  7. Register
  8. Manual Login (after register, the user is not automatically logged in)

Delete Account doesn't require Password Verification

  • Jetstream Version: 0.6.4
  • Laravel Version: 8.0 (dev)
  • PHP Version: 7.94

Description:

Jetstream will not request a user to reverify their password when deleting account, however this is required when logging out other sessions.

Error when installing jetstream with livewire and teams, Error: The process "composer require "livewire/livewire:"^^"2.0" "laravel/sanctum:"^^"2.6"" exceeded the timeout of 60 seconds."

  • Jetstream Version: ^0.6.0
  • Laravel Version: ^8.0
  • PHP Version: ^7.3
  • Database Driver & Version: mysql

Description:

Command: php artisan jetstream: install livewire --teams
Error installing jetstream with livewire and teams, Error: The process "composer require" livewire / livewire: "^^" 2.0 "" laravel / sanctum: "^^" 2.6 "" exceeded the timeout of 60 seconds. ".

I already tried modifying composer config: composer config --global process-timeout 5000.

I already tried to install livewire and sanctum separately and they install correctly.

When I try to install "php artisan jetstream: install livewire" without "--teams", it works but it does not allow me to log in with an already predefined user or by registration, it returns me to the login.

Steps To Reproduce:

laravel new blog --dev
cd blog
npm install
php artisan migrate
php artisan jetstream:install livewire --teams
http://prntscr.com/ub2b1k

Bug: API Token permissions aren't bound properly to livewire

  • Jetstream Version: ^0.6.0
  • Laravel Version: ^8.0
  • PHP Version: 7.3.19
  • Database Driver & Version: Mysql 8.0.19
  • Livewire/Inertia: Livewire

Description:

Created Token permissions are always wrong

Steps To Reproduce:

1- Create fresh laravel project using the new laravel installer laravel new foo --jet --dev
2- Configure the DB & run migrations
3- Register new user
4- Go to API Tokens Page
5- Select all Permissions, Enter token name and Create A new token
6- Check personal_access_tokens table or click on token permissions you will find that not all permissions are set as you selected

Vue files as npm package

Based on PR #26 i had the idea of moving the vue files for jetstream into their own npm package or build them as npm package additionally. Eventually this could be used for maintaining Laravel's UI components in a monorepo with Storybook, if there ever were plans to also create React Components when combined with Inertia.

This enables people to use the UI+fortify to build their own jetstream? Or are there any plans of adding more "flavors" for jetstream at a later point? Tbh, I am not sure what flavors could even be added, other than "plain" which is just exposing an API using sanctum?

ProcessTimedOutException on installing a stack

  • Jetstream Version: 0.6.0
  • Laravel Version: 8.0
  • PHP Version: 7.4.3
  • Database Driver & Version:

Description:

When i try to run this command its giving me

Symfony\Component\Process\Exception\ProcessTimedOutException

image

So i have fixed this by passing INF as time value

https://github.com/laravel/jetstream/blob/master/src/Console/InstallCommand.php#L116

https://github.com/laravel/jetstream/blob/master/src/Console/InstallCommand.php#L123

// Install Livewire...
        (new Process(['composer', 'require', 'livewire/livewire:^2.0', 'laravel/sanctum:^2.6'], base_path(),null,null,INF))
                ->run(function ($type, $output) {
                    $this->output->write($output);
                });

        // Sanctum...
        (new Process(['php', 'artisan', 'vendor:publish', '--provider=Laravel\Sanctum\SanctumServiceProvider', '--force'], base_path(),null,null,INF))
                ->run(function ($type, $output) {
                    $this->output->write($output);
                });

Steps To Reproduce:

Readme docs link is 404

  • Jetstream Version: N/A
  • Laravel Version: N/A
  • PHP Version: N/A
  • Database Driver & Version: N/A

Description:

Docs link in readme currently points to a 404'd page. I'm guessing it's more likely that the docs are still in progress than that this was an oversight, so this is mostly an FYI in case you weren't already aware.

Might be worth at least putting a "coming soon" page just to prevent the onslaught of bug reports similar to this one.

Any ETA on when we could expect them? Or just "with 8.0 in a week"?

Steps To Reproduce:

Click the link

Returning false from TeamPolicy->create causes 403 error on all pages when user is logged in

  • Jetstream Version: 1.0.2
  • Laravel Version: 8.0.1
  • PHP Version: 7.4.7
  • Database Driver & Version: mysql Ver 14.14 Distrib 5.7.29, for osx10.15
  • Stack: Inertia

Description:

I wanted to limit the creation of teams, for example only when the user has an active subscription. But, when returning false from App\Policies\TeamPolicy->create all pages respond with a 403 when the user is logged in.

Steps To Reproduce:

  • Create a new Laravel + Jetstream project using laravel new saas --jet --stack=inertia --teams
  • Update mysql credentials in .env
  • Create a user by navigating to http://saas.test/register
  • Change the return statement in App\Policies\TeamPolicy->create to false.
  • Refresh the dashboard or navigate to another page, now a 403 error will be shown

php artisan jetstream:install livewire did not completely scaffold Auth

  • Jetstream Version: first
  • Laravel Version: 8
  • PHP Version: 7.4
  • Database Driver & Version: mysql 8

Description: No Login Controller is created and no trait.

Tried

php artisan jetstream:install livewire

Also tried

php artisan jetstream:install inertia

A HomeController will also be generated to handle post-login requests to your application's dashboard.

Wasn't created. Also no Login controller was created. Where is the login controller?

I also use the authenticated method from the trait, but where is this trait now, no UI any more?

Is the UI still okay with version 8 (and future versions if I don't want jetstream), or is the UI deprecated, do you have to use jetstream. Not anything in docs about the laravel ui for Auth.

And I thought jetstream was optional, where is the AuthenticatesUsers.php trait now located.

The docs are leaving out so much it seems. The docs says there should be controller and trait:

Authenticating

Now that you have routes and views setup for the included authentication controllers, you are ready to register and authenticate new users for your application! You may access your application in a browser since the authentication controllers already contain the logic (via their traits) to authenticate existing users and store new users in the database.

composer requirements could not be resolved to an installable set of packages

  • Jetstream Version: 0.6.4
  • Laravel Version: 7.25.0
  • PHP Version: 7.3.17
  • Env : Homestead (Macos)
  • Database Driver & Version: default in homestead

Description:

I am starting a new project on homestead.
all i did was install the new laravel project "composer create-project --prefer-dist laravel/laravel jetstream"
after that i just required jetstream with "composer require laravel/jetstream"
but I have this error:

Your requirements could not be resolved to an installable set of packages.

Problem 1
- don't install illuminate/support 8.x-dev|don't install laravel/framework v7.27.0
- don't install illuminate/support 8.x-dev|remove laravel/framework v7.27.0
- don't install illuminate/support 8.x-dev|don't install laravel/framework v7.27.0
- laravel/jetstream v0.6.4 requires illuminate/support ^8.0 -> satisfiable by illuminate/support[8.x-dev].
- Installation request for laravel/jetstream ^0.6.4 -> satisfiable by laravel/jetstream[v0.6.4].
- Installation request for laravel/framework (locked at v7.27.0, required as ^7.24) -> satisfiable by laravel/framework[v7.27.0].

Steps To Reproduce:

composer create-project --prefer-dist laravel/laravel jetstream

composer require laravel/jetstream

Changes to Profile Name or Team Name not immediately reflected in menu...

  • Jetstream Version: 1.0.0
  • Laravel Version: 8.0.0
  • PHP Version: 7.4.9
  • Database Driver & Version: n/a

Description:

When changing the team name or profile name, neither the team name in the drop-down menu nor the avatar (initials) reflect the changes until a refresh is made.

This probably isn't a big deal, but I thought I'd point it out. ๐Ÿค“

Steps To Reproduce:

Install new app: laravel new l8app --jet --teams --stack=livewire
Build front-end: npm install && npm run dev
Visit site
Register
Go to Team Settings or Profile
Change team name or name
Notice that the user avatar (initials) or drop-down menu don't update to reflect the changes

Option to choose from Vue or React in Inertia.

Currently if Inertia is selected when installing, the views are made of vue js. But Inertia supports react js also. If anyone should want to use jetstream and are not familiar with livewire or vue, then what should they do?

Problem when installing Livewire on Jetstream

  • Jetstream Version: 0.6.4
  • Laravel Version: 8.0
  • PHP Version: 7.4.9

Description:

I'm new to Jetstream, but I get the same error after trying to install it several times.

Steps To Reproduce:

  1. I installed Laravel 8 with laravel new project --dev.
  2. then Jetstream with composer require laravel/jetstream.
  3. Livewire installation: php artisan jetstream: install livewire
  4. Compiling the frontend assets: npm install && npm run dev
  5. I encounter the error when I do: php artisan serve or php artisan vendor: publish --tag = jetstream-views

Capture

Jet option does not exist on current laravel installer

  • Jetstream Version: #.#.#
  • Laravel Version: v7.27.0
  • PHP Version: v7.4.8
  • Database Driver & Version: none

Description:

Jet option does not exist on current laravel installer

Steps To Reproduce:

laravel new project-name --jet

Output

The "--jet" option does not exist.

new [--dev] [--auth] [-f|--force] [--] []

[Idea/Question] BYOS (bring your own stack)

I'm certain this has been thought about/discussed, but it would be super cool to abstract the install command functionality into classes or something where we could define our own stack to install. So instead of maintaining a boilerplate Laravel project with your custom stack, it would just be another package that would be configured/registered then installed using the jetstream:install arguments/options.

Custom stacks wouldn't work when using Jetstream in the laravel new command since there's not obvious way in my brain how it would work, but the two default stacks (Livewire/Inertia) would be bundled with Jetstream core.

I love this concept and would be happy to contribute!

Enter 2FA input token before save model

If you enable 2FA and "forget" to scan the QR code, the user can't login anymore :)

Normal after you scan your 2FA code you have to enter it again on the page before the two_factor_secret is saved into the user model, this way you kinda ensure you registered your login in your 2FA application.

Livewire is not defined after install

  • Jetstream Version: 1.0
  • Laravel Version: 8.0
  • PHP Version: 7.4.3
  • Database Driver & Version: MySQL 5.7
  • Node version: latest

Description:

After installing using the new Laravel installer, data is not being reflected in the UI for /user/profile

After publishing all Jetstream assets I tried to see where this may be happening but it wasn't clear. However, I am getting the console error: Uncaught ReferenceError: Livewire is not defined at profile:626. All npm assets have been installed and everything else, including dropdowns and registration works.

If it helps in anyway, I am also using Vessel for a docker environment at the moment, and that is using version: 5.0

Steps To Reproduce:

  • Create a new Laravel install: laravel new app --jet --stack=livewire
  • cd app
  • npm i
  • Register a new user
  • Open console and error is displayed.

How to install the React Scaffold

As far as I can see the inertia option at laravel new project comes out with vuejs.
How can I install the ReactJS Scaffold with Laravel Jetstream?

Target [Laravel\Fortify\Contracts\CreatesNewUsers] is not instantiable.

  • Jetstream Version: 0.6.0
  • Laravel Version: 8.x-dev
  • PHP Version: 7.4.2
  • Database Driver & Version:mysql

Description:

After the clean installation of Laravel with jetstream and livewire, authentication and equipment, it does not allow registration.
context:
https://flareapp.io/share/OmVLBR78

Steps To Reproduce:

laravel new blog --dev
cd blog
npm install
php artisan migrate
php artisan jetstream:install livewire --teams
register new user

Provide a way of customizing/disabling the default routes

There's currently no way to prevent the default routes from being registered. This isn't great when you want to have more control over the paths of each route. It would be great to be able to call Jetstream::ignoreRoutes() and to provide the option of exporting the default routes.

Current Workaround

Here's what I'm currently doing to overcome this. Warning, this code is extremely cursed and should probably not be used in production ๐Ÿ˜…

const REWRITE_PATHS = [
    'user/profile' => 'user/account',
];

if ($this->app->routesAreCached()) return;

$router = $this->app->make(Router::class);
$collection = new RouteCollection;

collect($router->getRoutes()->getIterator())->map(function ($route) use ($paths) {
    if (array_key_exists($route->uri, REWRITE_PATHS)) {
        $route->uri = REWRITE_PATHS[$route->uri];
    }

    return $route;
})->map(fn ($route) => $collection->add($route));

$router->setRoutes($collection);

Better ideas are welcome

Problem to register a new users: Target [Laravel\Fortify\Contracts\CreatesNewUsers] is not instantiable.

  • Jetstream Version: 0.6.4
  • Laravel Version: 8.0
  • PHP Version: 7.4.9
  • Database Driver & Version: MySQL 5.7.24

Description:

Illuminate\Contracts\Container\BindingResolutionException
Target [Laravel\Fortify\Contracts\CreatesNewUsers] is not instantiable.

Here you can see the error
https://flareapp.io/share/4m4lgpmM#F54

Steps To Reproduce:

I just install laravel 8, and install jetstream
composer require laravel/jetstream
And next I install livewire
php artisan jetstream:install livewire
I compile the assets
npm install && npm run dev
I Publish the views
php artisan vendor:publish --tag=jetstream-views
And I make the migration
Until here everything it's fine but, when i try to register a new user i have the error

This error also have when i use
laravel new project-name --jet

option to disable personal teams

As for a lot of my projects I will be using teams as roles, i dislike personal teams
Having 250 users on a project for my employer,, it kinda sucks to have 250 'personal' teams ..
i know you can check if a team is personal or not, but be honest.. it's not the cleanest way for i.e. database etc.

so an option to disable personal themes would be grately appreciated

Target [Laravel\Fortify\Contracts\CreatesNewUsers] is not instantiable.

  • Jetstream Version: 0.7.0
  • Laravel Version: 8.0
  • PHP Version: 7.4.9
  • Database Driver & Version: MariaDB 10.4.14

Running on latest Xampp build (windows) using Vhost

Description:

On a new laravel 8 dev environment upon trying to registering and submitting the form the "Target [Laravel\Fortify\Contracts\CreatesNewUsers] is not instantiable." error appears

Steps To Reproduce:

composer create-project --prefer-dist laravel/laravel laravel8 dev-develop
composer require laravel/jetstream
php artisan jetstream:install livewire
npm install && npm run dev
php artisan migrate

Username Support for login

Username field not working in login. or I dont know how to activate it via jetstream. please add this feature or if it is available, add documentation.

(livewire) Call to undefined method Illuminate\View\ComponentAttributeBag::macro()

  • Jetstream Version: 0.0.6
  • Laravel Version: 8.x-dev
  • PHP Version: 7.4.9
  • Database Driver & Version: 8.0.21

Description:

After a fresh install of the 8.x-dev I get the following error when I try to access the app in the browser

Error thrown with message "Call to undefined method Illuminate\View\ComponentAttributeBag::macro()"

Stacktrace:
#18 Error in /home/im-possible/projects/dev/test28/vendor/livewire/livewire/src/LivewireServiceProvider.php:196
#17 Livewire\LivewireServiceProvider:registerViewMacros in /home/im-possible/projects/dev/test28/vendor/livewire/livewire/src/LivewireServiceProvider.php:65
#16 Livewire\LivewireServiceProvider:boot in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
#15 call_user_func_array in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
#14 Illuminate\Container\BoundMethod:Illuminate\Container\{closure} in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Container/Util.php:36
#13 Illuminate\Container\Util:unwrapIfClosure in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
#12 Illuminate\Container\BoundMethod:callBoundMethod in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
#11 Illuminate\Container\BoundMethod:call in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Container/Container.php:592
#10 Illuminate\Container\Container:call in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:865
#9 Illuminate\Foundation\Application:bootProvider in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:848
#8 Illuminate\Foundation\Application:Illuminate\Foundation\{closure} in [internal]:0
#7 array_walk in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:849
#6 Illuminate\Foundation\Application:boot in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
#5 Illuminate\Foundation\Bootstrap\BootProviders:bootstrap in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:228
#4 Illuminate\Foundation\Application:bootstrapWith in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151
#3 Illuminate\Foundation\Http\Kernel:bootstrap in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:135
#2 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /home/im-possible/projects/dev/test28/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:109
#1 Illuminate\Foundation\Http\Kernel:handle in /home/im-possible/projects/dev/test28/public/index.php:55
#0 require in /home/im-possible/.composer/vendor/cpriego/valet-linux/server.php:232

Steps To Reproduce:

  1. laravel new test8 --dev
  2. composer require laravel/jetstream
  3. php artisan jetstream:install livewire --teams
  4. npm install && npm run dev

P.S. - I noticed the same error thrown in terminal after step 3 - artisan jetstream:install

Impossible to copy User model

  • Jetstream Version: 0.7.0
  • Laravel Version: ^8.0
  • PHP Version: 7.3
  • Database Driver & Version: X

Description:

When you install an old project where the User model isn't in Models folder :
php artisan jetstream:install livewire failed with this trace

  at vendor/laravel/jetstream/src/Console/InstallCommand.php:165
    161โ–•
    162โ–•         $this->installJetstreamServiceProvider();
    163โ–•
    164โ–•         // Models...
  โžœ 165โ–•         copy(__DIR__.'/../../stubs/app/Models/User.php', app_path('Models/User.php'));
    166โ–•
    167โ–•         // Actions...
    168โ–•         copy(__DIR__.'/../../stubs/app/Actions/Fortify/CreateNewUser.php', app_path('Actions/Fortify/CreateNewUser.php'));
    169โ–•         copy(__DIR__.'/../../stubs/app/Actions/Fortify/UpdateUserProfileInformation.php', app_path('Actions/Fortify/UpdateUserProfileInformation.php'));

Steps To Reproduce:

Use a project without User model in Models folder

Generating optimized autoload files hangs

This will explain:

C:\BitNami\wampstack-7.4.7-0\apache2\laravel80up>composer require laravel/jetstream
Using version ^1.0 for laravel/jetstream
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 11 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-util (v1.18.1): Downloading (100%)
  - Installing symfony/polyfill-php56 (v1.18.1): Downloading (100%)
  - Installing paragonie/constant_time_encoding (v2.3.0): Downloading (100%)
  - Installing pragmarx/google2fa (v7.0.0): Downloading (100%)
  - Installing dasprid/enum (1.0.2): Downloading (100%)
  - Installing bacon/bacon-qr-code (2.0.2): Downloading (100%)
  - Installing laravel/fortify (v0.0.1): Downloading (100%)
  - Installing jaybizzle/crawler-detect (v1.2.99): Downloading (100%)
  - Installing mobiledetect/mobiledetectlib (2.8.34): Downloading (100%)
  - Installing jenssegers/agent (v2.6.4): Downloading (100%)
  - Installing laravel/jetstream (v1.0.0): Downloading (100%)
bacon/bacon-qr-code suggests installing ext-imagick (to generate QR code images)
Writing lock file
Generating optimized autoload files
^CTerminate batch job (Y/N)? y

After successfully installing laravel, then running

composer require laravel/jetstream

It hangs, 15 minutes went by, I then terminated the command....

I ran composer dumpautoload, it worked.

Error in installation for PHP version (7.2.10)

Steps To Reproduce:

composer require laravel/jetstream

Description:

[InvalidArgumentException]
Package laravel/jetstream at version has a PHP requirement incompatible with your PHP version (7.2.10)

(livewire) Trait HasFactory not found when register

  • Jetstream Version: 0.0.4
  • Laravel Version: 8.x-dev
  • PHP Version: 7.4.9
  • Database Driver & Version: Mysql 8.0.21

Description:

Trying to register I am getting the following trait not found error:

Symfony\Component\ErrorHandler\Error\FatalError thrown with message "Trait 'Illuminate\Database\Eloquent\Factories\HasFactory' not found"

Stacktrace:
#0 Symfony\Component\ErrorHandler\Error\FatalError in /home/im-possible/projects/dev/test01/app/Models/User.php:14

Steps To Reproduce:

  1. Install Laravel
  2. Manually create "Models" folder (see note 1)
  3. Install Jetstream. (see note 2)
  4. php artisan jetstream:install livewire --teams
  5. php artisan migrate
  6. Register

Note 1: While the Models folder is not automatically created in step 1, I did it manually in step 2
Note 2: After step 4 ( jetstream:install ) there are 2 Users.php files ( one in App and one in App/Model )

Easy scaffold new models with CRUD features

I want a feature that is a command that makes it easy to scaffold new model and CRUD-functionality on the dashboard like

php artisan jetstream:crud topic --fields=name:text
php artisan jetstream:crud article --fields=name:text,description:text,topic:topic_id

That automatically creates code for the App\Models, Controllers and pages with vue code and inertiajs/livewire code for CRUD. fields ending with _id will create an one to many relation or _ids create a many to many relationship, both with typeaheads on the frontend.

(Inertia) Clicking a link causes full page reload

  • Jetstream Version: 0.0.3
  • Laravel Version: 8.x-dev

Description:

The NavLink, ResponsiveNavLink and DropdownLink components are using regular anchor tags instead of inertia-link, which results in unwanted full page reloads.

Steps To Reproduce:

  • Setup a Laravel 8 project with Jetstream (Inertia)
  • Click any link

Route::livewire() not work

  • Jetstream Version: v0.6.4
  • Laravel Version: ^8.0
  • PHP Version: 7.4.10
  • Database Driver & Version: Mysql

Description:

Route::livewire() not work on routes/web.php

Route::livewire('/', 'pages.home')->name('home');

Steps To Reproduce:

laravel new app --jet --dev

Livewire

php artisan make:livewire pages.home

edit routes/web.php

Route::livewire('/', 'pages.home')->name('home');

image

Switching to another teams opens response in modal window

  • Jetstream Version: 0.6.0
  • Laravel Version: 8.0
  • PHP Version: 7.4.3
  • Database Driver & Version:

Description:

After installing the team stack in Inertia Js when i try to create a new team or switching to new team open's the response in modal window

image

Steps To Reproduce:

  1. Install Jetstream.
  2. Install Inertia Js stack with team features.
  3. Try Creating a new team or Switching teams

Problem with Livewire and registrering a user.

  • Jetstream Version: 0.6.4
  • Laravel Version: 8.x-dev
  • PHP Version: 7.2.5
  • Database Driver & Version: MariaDB, 5.7.24

Description:

So I just installed Laravel 7 and then upgraded it toLaravel 8 following the upgrading guide. But now when I try to create a user, I'm getting an error:
image

Steps To Reproduce:

  1. Install Laravel 7
  2. Upgrade Laravel following the upgrading guide
  3. Remove the UserFactory
  4. Move the User Model into app/Models
  5. Rename the namespace to the new location.
  6. Update the auth config to use the new namespace for the user model
  7. Install JetStream via composer
  8. Run php artisan jetstream:install livewire --teams
  9. Run the migrations
  10. Try and sign up for an account
  11. See the error

Will jetstream handle user email verification?

Hi! I'm just playing with Jetstream and it's awesome ๐Ÿ™

Unfortunatly it seems to not support users with email verification, am I right?

It is something planned? I need to dive into the codebase and learn Inertia before I can make a PR.

Thank you!

Add object-cover to profile image

When using a tall aspect-ratio profile image, it appears to be distorted. The fix is to add object-cover to the image. I've added this to mine, but it would be really helpful if it's the default behavior of jetstream.

I know that this might seem nitpicky, but it would make the app look much nicer ๐Ÿ˜„

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.