Merge pull request #5577 from turbo124/v5-stable

v5.1.58
This commit is contained in:
David Bomba 2021-05-02 22:49:59 +10:00 committed by GitHub
commit d3db2d70ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 200285 additions and 199259 deletions

View File

@ -1,6 +1,9 @@
# Release notes # Release notes
## [Unreleased (daily channel)](https://github.com/invoiceninja/invoiceninja/tree/v5-develop) ## [Unreleased (daily channel)](https://github.com/invoiceninja/invoiceninja/tree/v5-develop)
- Add Cache-control: no-cache to prevent overaggressive caching of assets
## [v5.1.56-release](https://github.com/invoiceninja/invoiceninja/releases/tag/v5.1.56-release)
## Fixed: ## Fixed:
- Fix User created/updated/deleted Actvity display format - Fix User created/updated/deleted Actvity display format
- Fix for Stripe autobill / token regression - Fix for Stripe autobill / token regression
@ -9,7 +12,7 @@
- Invoice / Quote / Credit created notifications - Invoice / Quote / Credit created notifications
- Logout route - deletes all auth tokens - Logout route - deletes all auth tokens
## [v5.1.54-release](https://github.com/invoiceninja/invoiceninja/releases/tag/v5.1.50-release) ## [v5.1.54-release](https://github.com/invoiceninja/invoiceninja/releases/tag/v5.1.54-release)
## Fixed: ## Fixed:
- Fixes for e-mails, encoding & parsing invalid HTML - Fixes for e-mails, encoding & parsing invalid HTML

View File

@ -1 +1 @@
5.1.56 5.1.58

View File

@ -42,12 +42,12 @@ class PostUpdate extends Command
{ {
set_time_limit(0); set_time_limit(0);
nlog('running post update'); info('running post update');
try { try {
Artisan::call('migrate', ['--force' => true]); Artisan::call('migrate', ['--force' => true]);
} catch (\Exception $e) { } catch (\Exception $e) {
nlog("I wasn't able to migrate the data."); info("I wasn't able to migrate the data.");
} }
nlog("finished migrating"); nlog("finished migrating");
@ -56,35 +56,28 @@ class PostUpdate extends Command
exec('vendor/bin/composer install --no-dev -o', $output); exec('vendor/bin/composer install --no-dev -o', $output);
info(print_r($output,1)); info(print_r($output,1));
info("finished running composer install ");
nlog($output);
nlog("finished running composer install ");
try { try {
Artisan::call('optimize'); Artisan::call('optimize');
} catch (\Exception $e) { } catch (\Exception $e) {
nlog("I wasn't able to optimize."); info("I wasn't able to optimize.");
} }
nlog("optimized"); info("optimized");
try { try {
Artisan::call('view:clear'); Artisan::call('view:clear');
} catch (\Exception $e) { } catch (\Exception $e) {
nlog("I wasn't able to clear the views."); info("I wasn't able to clear the views.");
} }
nlog("view cleared"); info("view cleared");
/* For the following to work, the web user (www-data) must own all the directories */
VersionCheck::dispatch(); VersionCheck::dispatch();
nlog("sent for version check"); info("Sent for version check");
// echo "Done.";
} }
} }

View File

@ -51,7 +51,8 @@ class RecurringInvoiceToInvoiceFactory
$invoice->client_id = $client->id; $invoice->client_id = $client->id;
$invoice->auto_bill_enabled = $recurring_invoice->auto_bill_enabled; $invoice->auto_bill_enabled = $recurring_invoice->auto_bill_enabled;
$invoice->paid_to_date = 0; $invoice->paid_to_date = 0;
$invoice->design_id = $recurring_invoice->design_id;
return $invoice; return $invoice;
} }
} }

View File

@ -283,6 +283,10 @@ class LoginController extends BaseController
} }
}); });
if($request->has('current_company') && $request->input('current_company') == 'true')
$cu->where("company_id", $company_token->company_id);
return $this->refreshResponse($cu); return $this->refreshResponse($cu);
} }

View File

@ -164,7 +164,7 @@ class InvoiceController extends Controller
if ($invoices->count() == 1) { if ($invoices->count() == 1) {
return response()->streamDownload(function () use ($invoices) { return response()->streamDownload(function () use ($invoices) {
echo file_get_contents($invoices->first()->pdf_file_path()); echo file_get_contents($invoices->first()->pdf_file_path());
}, basename($invoices->first()->pdf_file_path())); }, basename($invoices->first()->pdf_file_path()), ['Cache-Control:' => 'no-cache']);
//return response()->download(TempFile::path($invoices->first()->pdf_file_path()), basename($invoices->first()->pdf_file_path())); //return response()->download(TempFile::path($invoices->first()->pdf_file_path()), basename($invoices->first()->pdf_file_path()));
} }

View File

@ -78,7 +78,7 @@ class QuoteController extends Controller
if ($quotes->count() == 1) { if ($quotes->count() == 1) {
return response()->streamDownload(function () use ($invoices) { return response()->streamDownload(function () use ($invoices) {
echo file_get_contents($invoices->first()->pdf_file_path()); echo file_get_contents($invoices->first()->pdf_file_path());
}, basename($invoices->first()->pdf_file_path())); }, basename($invoices->first()->pdf_file_path()), ['Cache-Control:' => 'no-cache']);
//return response()->download(TempFile::path($invoices->first()->pdf_file_path()), basename($quotes->first()->pdf_file_path())); //return response()->download(TempFile::path($invoices->first()->pdf_file_path()), basename($quotes->first()->pdf_file_path()));
} }

View File

@ -538,7 +538,7 @@ class CreditController extends BaseController
case 'download': case 'download':
return response()->streamDownload(function () use ($credit) { return response()->streamDownload(function () use ($credit) {
echo file_get_contents($credit->pdf_file_path()); echo file_get_contents($credit->pdf_file_path());
}, basename($credit->pdf_file_path())); }, basename($credit->pdf_file_path()), ['Cache-Control:' => 'no-cache']);
//return response()->download(TempFile::path($credit->pdf_file_path()), basename($credit->pdf_file_path())); //return response()->download(TempFile::path($credit->pdf_file_path()), basename($credit->pdf_file_path()));
break; break;
case 'archive': case 'archive':
@ -589,7 +589,7 @@ class CreditController extends BaseController
$file_path = $credit->service()->getCreditPdf($invitation); $file_path = $credit->service()->getCreditPdf($invitation);
return response()->download($file_path); return response()->download($file_path, basename($file_path), ['Cache-Control:' => 'no-cache']);
} }
/** /**

View File

@ -673,7 +673,7 @@ class InvoiceController extends BaseController
case 'download': case 'download':
return response()->streamDownload(function () use ($invoice) { return response()->streamDownload(function () use ($invoice) {
echo file_get_contents($invoice->pdf_file_path()); echo file_get_contents($invoice->pdf_file_path());
}, basename($invoice->pdf_file_path())); }, basename($invoice->pdf_file_path()), ['Cache-Control:' => 'no-cache']);
//return response()->download(TempFile::path($invoice->pdf_file_path()), basename($invoice->pdf_file_path())); //return response()->download(TempFile::path($invoice->pdf_file_path()), basename($invoice->pdf_file_path()));
break; break;
case 'restore': case 'restore':
@ -795,7 +795,7 @@ class InvoiceController extends BaseController
$file_path = $invoice->service()->getInvoicePdf($contact); $file_path = $invoice->service()->getInvoicePdf($contact);
return response()->download($file_path, basename($file_path)); return response()->download($file_path, basename($file_path), ['Cache-Control:' => 'no-cache']);
} }
/** /**
@ -850,7 +850,7 @@ class InvoiceController extends BaseController
$file = public_path("storage/{$file_path}"); $file = public_path("storage/{$file_path}");
return response()->download($file, basename($file)); return response()->download($file, basename($file), ['Cache-Control:' => 'no-cache']);
} catch (\Exception $e) { } catch (\Exception $e) {
return response(['message' => 'Oops, something went wrong. Make sure you have symlink to storage/ in public/ directory.'], 500); return response(['message' => 'Oops, something went wrong. Make sure you have symlink to storage/ in public/ directory.'], 500);
} }

View File

@ -59,9 +59,11 @@ class LogoutController extends BaseController
*/ */
public function index(Request $request) public function index(Request $request)
{ {
CompanyToken::with('company') $ct = CompanyToken::with('company.tokens')
->whereRaw('BINARY `token`= ?', [$request->header('X-API-TOKEN')]) ->whereRaw('BINARY `token`= ?', [$request->header('X-API-TOKEN')])
->company ->first();
$ct->company
->tokens() ->tokens()
->where('is_system', true) ->where('is_system', true)
->forceDelete(); ->forceDelete();

View File

@ -142,7 +142,7 @@ class PreviewController extends BaseController
//else //else
$file_path = PreviewPdf::dispatchNow($maker->getCompiledHTML(true), auth()->user()->company()); $file_path = PreviewPdf::dispatchNow($maker->getCompiledHTML(true), auth()->user()->company());
return response()->download($file_path)->deleteFileAfterSend(true); return response()->download($file_path, basename($file_path), ['Cache-Control:' => 'no-cache'])->deleteFileAfterSend(true);
} }
return $this->blankEntity(); return $this->blankEntity();

View File

@ -677,7 +677,7 @@ class QuoteController extends BaseController
case 'download': case 'download':
return response()->streamDownload(function () use ($quote) { return response()->streamDownload(function () use ($quote) {
echo file_get_contents($quote->pdf_file_path()); echo file_get_contents($quote->pdf_file_path());
}, basename($quote->pdf_file_path())); }, basename($quote->pdf_file_path()), ['Cache-Control:' => 'no-cache']);
//return response()->download(TempFile::path($quote->pdf_file_path()), basename($quote->pdf_file_path())); //return response()->download(TempFile::path($quote->pdf_file_path()), basename($quote->pdf_file_path()));
break; break;
case 'restore': case 'restore':
@ -730,7 +730,7 @@ class QuoteController extends BaseController
$file_path = $quote->service()->getQuotePdf($contact); $file_path = $quote->service()->getQuotePdf($contact);
return response()->download($file_path); return response()->download($file_path, basename($file_path), ['Cache-Control:' => 'no-cache']);
} }
/** /**

View File

@ -490,7 +490,7 @@ class RecurringInvoiceController extends BaseController
$file_path = $recurring_invoice->service()->getInvoicePdf($contact); $file_path = $recurring_invoice->service()->getInvoicePdf($contact);
return response()->download($file_path, basename($file_path)); return response()->download($file_path, basename($file_path), ['Cache-Control:' => 'no-cache']);
} }
/** /**

View File

@ -62,21 +62,16 @@ class SelfUpdateController extends BaseController
return response()->json(['message' => ctrans('texts.self_update_not_available')], 403); return response()->json(['message' => ctrans('texts.self_update_not_available')], 403);
} }
if(!$this->testWritable()) $this->testWritable();
throw new FilePermissionsFailure('Cannot update system because files are not writable!');
// Check if new version is available // Get the new version available
//if($updater->source()->isNewVersionAvailable()) { $versionAvailable = $updater->source()->getVersionAvailable();
// Get the new version available // Create a release
$versionAvailable = $updater->source()->getVersionAvailable(); $release = $updater->source()->fetch($versionAvailable);
// Create a release $updater->source()->update($release);
$release = $updater->source()->fetch($versionAvailable);
$updater->source()->update($release);
//}
$cacheCompiled = base_path('bootstrap/cache/compiled.php'); $cacheCompiled = base_path('bootstrap/cache/compiled.php');
if (file_exists($cacheCompiled)) { unlink ($cacheCompiled); } if (file_exists($cacheCompiled)) { unlink ($cacheCompiled); }
@ -105,7 +100,9 @@ class SelfUpdateController extends BaseController
// nlog($file->getPathname()); // nlog($file->getPathname());
if ($file->isFile() && ! $file->isWritable()) { if ($file->isFile() && ! $file->isWritable()) {
throw new FilePermissionsFailure($file); // throw new FilePermissionsFailure($file);
nlog("Cannot update system because {$file->getFileName()} is not writable");
throw new FilePermissionsFailure("Cannot update system because {$file->getFileName()} is not writable");
return false; return false;
} }
} }

View File

@ -284,18 +284,17 @@ class SetupController extends Controller
if (file_exists($cacheCompiled)) { if (file_exists($cacheCompiled)) {
unlink ($cacheCompiled); unlink ($cacheCompiled);
} }
$cacheServices = base_path('bootstrap/cache/services.php'); $cacheServices = base_path('bootstrap/cache/services.php');
if (file_exists($cacheServices)) { if (file_exists($cacheServices)) {
unlink ($cacheServices); unlink ($cacheServices);
} }
Artisan::call('clear-compiled'); Artisan::call('clear-compiled');
Artisan::call('cache:clear');
Artisan::call('debugbar:clear');
Artisan::call('route:clear'); Artisan::call('route:clear');
Artisan::call('view:clear'); Artisan::call('view:clear');
Artisan::call('config:clear'); Artisan::call('config:clear');
Cache::flush();
Artisan::call('migrate', ['--force' => true]); Artisan::call('migrate', ['--force' => true]);
Artisan::call('db:seed', ['--force' => true]); Artisan::call('db:seed', ['--force' => true]);

View File

@ -55,7 +55,7 @@ class QueryLogging
nlog($request->method().' - '.$request->url().": $count queries - ".$time); nlog($request->method().' - '.$request->url().": $count queries - ".$time);
// if($count > 50) // if($count > 50)
nlog($queries); //nlog($queries);
LightLogs::create(new DbQuery($request->method(), $request->url(), $count, $time, request()->ip())) LightLogs::create(new DbQuery($request->method(), $request->url(), $count, $time, request()->ip()))
->batch(); ->batch();

View File

@ -55,12 +55,17 @@ class StoreCompanyRequest extends Request
{ {
$input = $this->all(); $input = $this->all();
if(array_key_exists('portal_domain', $input) && strlen($input['portal_domain']) > 1)
$input['portal_domain'] = str_replace("http:", "https:", $input['portal_domain']);
if (array_key_exists('google_analytics_url', $input)) { if (array_key_exists('google_analytics_url', $input)) {
$input['google_analytics_key'] = $input['google_analytics_url']; $input['google_analytics_key'] = $input['google_analytics_url'];
} }
$company_settings = CompanySettings::defaults(); $company_settings = CompanySettings::defaults();
//@todo this code doesn't make sense as we never return $company_settings anywhere
//@deprecated???
if (array_key_exists('settings', $input) && ! empty($input['settings'])) { if (array_key_exists('settings', $input) && ! empty($input['settings'])) {
foreach ($input['settings'] as $key => $value) { foreach ($input['settings'] as $key => $value) {
$company_settings->{$key} = $value; $company_settings->{$key} = $value;

View File

@ -59,7 +59,10 @@ class UpdateCompanyRequest extends Request
protected function prepareForValidation() protected function prepareForValidation()
{ {
$input = $this->all(); $input = $this->all();
// nlog($input);
if(array_key_exists('portal_domain', $input) && strlen($input['portal_domain']) > 1)
$input['portal_domain'] = str_replace("http:", "https:", $input['portal_domain']);
if (array_key_exists('settings', $input)) { if (array_key_exists('settings', $input)) {
$input['settings'] = $this->filterSaveableSettings($input['settings']); $input['settings'] = $this->filterSaveableSettings($input['settings']);
} }

View File

@ -21,6 +21,8 @@ class RecurringInvoicesCron
{ {
use Dispatchable; use Dispatchable;
public $tries = 1;
/** /**
* Create a new job instance. * Create a new job instance.
* *

View File

@ -60,6 +60,8 @@ class EmailEntity implements ShouldQueue
public $template_data; //The data to be merged into the template public $template_data; //The data to be merged into the template
public $tries = 1;
/** /**
* EmailEntity constructor. * EmailEntity constructor.
* *

View File

@ -94,7 +94,14 @@ class SendRecurring implements ShouldQueue
$invoice->invitations->each(function ($invitation) use ($invoice) { $invoice->invitations->each(function ($invitation) use ($invoice) {
if ($invitation->contact && strlen($invitation->contact->email) >=1) { if ($invitation->contact && strlen($invitation->contact->email) >=1) {
EmailEntity::dispatch($invitation, $invoice->company);
try{
EmailEntity::dispatch($invitation, $invoice->company);
}
catch(\Exception $e) {
nlog($e->getMessage());
}
nlog("Firing email for invoice {$invoice->number}"); nlog("Firing email for invoice {$invoice->number}");
} }
}); });

View File

@ -46,6 +46,9 @@ class VersionCheck implements ShouldQueue
{ {
$account = Account::first(); $account = Account::first();
if(!$account)
return;
if($account->plan == 'white_label' && $account->plan_expires->lt(now())){ if($account->plan == 'white_label' && $account->plan_expires->lt(now())){
$account->plan = null; $account->plan = null;
$account->plan_expires = null; $account->plan_expires = null;

View File

@ -42,7 +42,7 @@ class CreateAccountActivity implements ShouldQueue
if(Ninja::isHosted()) if(Ninja::isHosted())
{ {
$nmo = new NinjaMailerObject; $nmo = new NinjaMailerObject;
$nmo->mailable = new Modules\Admin\Mail\Welcome($event->user); $nmo->mailable = new \Modules\Admin\Mail\Welcome($event->user);
$nmo->company = $event->company; $nmo->company = $event->company;
$nmo->settings = $event->company->settings; $nmo->settings = $event->company->settings;
$nmo->to_user = $event->user; $nmo->to_user = $event->user;

View File

@ -47,6 +47,7 @@ class CompanyUser extends Pivot
'is_locked', 'is_locked',
'slack_webhook_url', 'slack_webhook_url',
'shop_restricted', 'shop_restricted',
'number_years_active',
]; ];
protected $touches = ['user']; protected $touches = ['user'];

View File

@ -395,9 +395,19 @@ class Invoice extends BaseModel
public function pdf_file_path($invitation = null, string $type = 'url') public function pdf_file_path($invitation = null, string $type = 'url')
{ {
if (! $invitation) { if (! $invitation) {
$invitation = $this->invitations->first();
if($this->invitations()->exists())
$invitation = $this->invitations()->first();
else{
$this->service()->createInvitations();
$invitation = $this->invitations()->first();
}
} }
if(!$invitation)
throw new \Exception('Hard fail, could not create an invitation - is there a valid contact?');
$storage_path = Storage::$type($this->client->invoice_filepath().$this->numberFormatter().'.pdf'); $storage_path = Storage::$type($this->client->invoice_filepath().$this->numberFormatter().'.pdf');
if (! Storage::exists($this->client->invoice_filepath().$this->numberFormatter().'.pdf')) { if (! Storage::exists($this->client->invoice_filepath().$this->numberFormatter().'.pdf')) {

View File

@ -13,6 +13,7 @@ namespace App\Observers;
use App\Events\Company\CompanyDocumentsDeleted; use App\Events\Company\CompanyDocumentsDeleted;
use App\Models\Company; use App\Models\Company;
use App\Utils\Ninja;
class CompanyObserver class CompanyObserver
{ {
@ -35,7 +36,16 @@ class CompanyObserver
*/ */
public function updated(Company $company) public function updated(Company $company)
{ {
//
if(Ninja::isHosted() && $company->portal_mode == 'domain' && $company->isDirty('portal_domain'))
{
nlog('company observer - updated');
nlog($company->portal_domain);
nlog($company->getOriginal('portal_domain'));
//fire event to build new custom portal domain
\Modules\Admin\Jobs\Domain\CustomDomain::dispatch($company->getOriginal('portal_domain'), $company)->onQueue('domain');
}
} }
/** /**

View File

@ -55,6 +55,16 @@ class CreateInvitations extends AbstractService
} }
}); });
if($this->invoice->invitations()->count() == 0) {
$contact = $this->createBlankContact();
$ii = InvoiceInvitationFactory::create($this->invoice->company_id, $this->invoice->user_id);
$ii->invoice_id = $this->invoice->id;
$ii->client_contact_id = $contact->id;
$ii->save();
}
return $this->invoice; return $this->invoice;
} }
@ -65,5 +75,7 @@ class CreateInvitations extends AbstractService
$new_contact->contact_key = Str::random(40); $new_contact->contact_key = Str::random(40);
$new_contact->is_primary = true; $new_contact->is_primary = true;
$new_contact->save(); $new_contact->save();
return $new_contact;
} }
} }

View File

@ -51,6 +51,7 @@ class CompanyUserTransformer extends EntityTransformer
'archived_at' => (int) $company_user->deleted_at, 'archived_at' => (int) $company_user->deleted_at,
'created_at' => (int) $company_user->created_at, 'created_at' => (int) $company_user->created_at,
'permissions_updated_at' => (int) $company_user->permissions_updated_at, 'permissions_updated_at' => (int) $company_user->permissions_updated_at,
'number_years_active' => (int) $company_user->number_years_active,
]; ];
} }

View File

@ -93,8 +93,7 @@
"Database\\Seeders\\": "database/seeders/", "Database\\Seeders\\": "database/seeders/",
"Modules\\": "Modules/" "Modules\\": "Modules/"
}, },
"files": [ "files": []
]
}, },
"autoload-dev": { "autoload-dev": {
"psr-4": { "psr-4": {
@ -136,4 +135,4 @@
}, },
"minimum-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true "prefer-stable": true
} }

261
composer.lock generated
View File

@ -51,16 +51,16 @@
}, },
{ {
"name": "aws/aws-sdk-php", "name": "aws/aws-sdk-php",
"version": "3.179.0", "version": "3.179.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/aws/aws-sdk-php.git", "url": "https://github.com/aws/aws-sdk-php.git",
"reference": "59b0ceab1dfafa7c606ee8b940a42dc66921d11f" "reference": "7d3490e35878d0884905fa0c1ab43ecf178c8d9b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/59b0ceab1dfafa7c606ee8b940a42dc66921d11f", "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/7d3490e35878d0884905fa0c1ab43ecf178c8d9b",
"reference": "59b0ceab1dfafa7c606ee8b940a42dc66921d11f", "reference": "7d3490e35878d0884905fa0c1ab43ecf178c8d9b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -135,9 +135,9 @@
"support": { "support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues", "issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.179.0" "source": "https://github.com/aws/aws-sdk-php/tree/3.179.2"
}, },
"time": "2021-04-28T18:14:15+00:00" "time": "2021-04-30T19:46:52+00:00"
}, },
{ {
"name": "bacon/bacon-qr-code", "name": "bacon/bacon-qr-code",
@ -3251,16 +3251,16 @@
}, },
{ {
"name": "league/commonmark", "name": "league/commonmark",
"version": "1.5.8", "version": "1.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/commonmark.git", "url": "https://github.com/thephpleague/commonmark.git",
"reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf" "reference": "19a9673b833cc37770439097b381d86cd125bfe8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/19a9673b833cc37770439097b381d86cd125bfe8",
"reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", "reference": "19a9673b833cc37770439097b381d86cd125bfe8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3348,7 +3348,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-28T18:51:39+00:00" "time": "2021-05-01T19:00:49+00:00"
}, },
{ {
"name": "league/csv", "name": "league/csv",
@ -6863,16 +6863,16 @@
}, },
{ {
"name": "sentry/sentry-laravel", "name": "sentry/sentry-laravel",
"version": "2.4.2", "version": "2.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/getsentry/sentry-laravel.git", "url": "https://github.com/getsentry/sentry-laravel.git",
"reference": "1bb0bcc240d25e72f3cf0321f3d6064f24dec504" "reference": "2af8a531f202f0ac014f5fad532815ed34f730a9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/1bb0bcc240d25e72f3cf0321f3d6064f24dec504", "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/2af8a531f202f0ac014f5fad532815ed34f730a9",
"reference": "1bb0bcc240d25e72f3cf0321f3d6064f24dec504", "reference": "2af8a531f202f0ac014f5fad532815ed34f730a9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6935,7 +6935,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/getsentry/sentry-laravel/issues", "issues": "https://github.com/getsentry/sentry-laravel/issues",
"source": "https://github.com/getsentry/sentry-laravel/tree/2.4.2" "source": "https://github.com/getsentry/sentry-laravel/tree/2.5.1"
}, },
"funding": [ "funding": [
{ {
@ -6947,7 +6947,7 @@
"type": "custom" "type": "custom"
} }
], ],
"time": "2021-03-24T19:36:23+00:00" "time": "2021-04-29T11:10:22+00:00"
}, },
{ {
"name": "stripe/stripe-php", "name": "stripe/stripe-php",
@ -7087,16 +7087,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d" "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d", "url": "https://api.github.com/repos/symfony/console/zipball/90374b8ed059325b49a29b55b3f8bb4062c87629",
"reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d", "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7164,7 +7164,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v5.2.6" "source": "https://github.com/symfony/console/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -7180,20 +7180,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-28T09:42:18+00:00" "time": "2021-04-19T14:07:32+00:00"
}, },
{ {
"name": "symfony/css-selector", "name": "symfony/css-selector",
"version": "v5.2.4", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/css-selector.git", "url": "https://github.com/symfony/css-selector.git",
"reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", "url": "https://api.github.com/repos/symfony/css-selector/zipball/59a684f5ac454f066ecbe6daecce6719aed283fb",
"reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7229,7 +7229,7 @@
"description": "Converts CSS selectors to XPath expressions", "description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/css-selector/tree/v5.2.4" "source": "https://github.com/symfony/css-selector/tree/v5.3.0-BETA1"
}, },
"funding": [ "funding": [
{ {
@ -7245,7 +7245,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-01-27T10:01:46+00:00" "time": "2021-04-07T16:07:52+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
@ -7316,16 +7316,16 @@
}, },
{ {
"name": "symfony/error-handler", "name": "symfony/error-handler",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/error-handler.git", "url": "https://github.com/symfony/error-handler.git",
"reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03" "reference": "ea3ddbf67615e883ca7c33a4de61213789846782"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/bdb7fb4188da7f4211e4b88350ba0dfdad002b03", "url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782",
"reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03", "reference": "ea3ddbf67615e883ca7c33a4de61213789846782",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7365,7 +7365,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code", "description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/error-handler/tree/v5.2.6" "source": "https://github.com/symfony/error-handler/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -7381,7 +7381,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-16T09:07:47+00:00" "time": "2021-04-07T15:57:33+00:00"
}, },
{ {
"name": "symfony/event-dispatcher", "name": "symfony/event-dispatcher",
@ -7549,16 +7549,16 @@
}, },
{ {
"name": "symfony/filesystem", "name": "symfony/filesystem",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/filesystem.git", "url": "https://github.com/symfony/filesystem.git",
"reference": "8c86a82f51658188119e62cff0a050a12d09836f" "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f", "url": "https://api.github.com/repos/symfony/filesystem/zipball/056e92acc21d977c37e6ea8e97374b2a6c8551b0",
"reference": "8c86a82f51658188119e62cff0a050a12d09836f", "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7591,7 +7591,7 @@
"description": "Provides basic utilities for the filesystem", "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/filesystem/tree/v5.2.6" "source": "https://github.com/symfony/filesystem/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -7607,7 +7607,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-28T14:30:26+00:00" "time": "2021-04-01T10:42:13+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
@ -7672,16 +7672,16 @@
}, },
{ {
"name": "symfony/http-client", "name": "symfony/http-client",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-client.git", "url": "https://github.com/symfony/http-client.git",
"reference": "3c3075467da15bc2edf38d2ac20d34719e794bd8" "reference": "cdaf3df771d3ea9b05696c9e91281ffd056aff66"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-client/zipball/3c3075467da15bc2edf38d2ac20d34719e794bd8", "url": "https://api.github.com/repos/symfony/http-client/zipball/cdaf3df771d3ea9b05696c9e91281ffd056aff66",
"reference": "3c3075467da15bc2edf38d2ac20d34719e794bd8", "reference": "cdaf3df771d3ea9b05696c9e91281ffd056aff66",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7738,7 +7738,7 @@
"description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-client/tree/v5.2.6" "source": "https://github.com/symfony/http-client/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -7754,7 +7754,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-28T09:42:18+00:00" "time": "2021-04-07T16:27:53+00:00"
}, },
{ {
"name": "symfony/http-client-contracts", "name": "symfony/http-client-contracts",
@ -7836,16 +7836,16 @@
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v5.2.4", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf" "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f",
"reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf", "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7889,7 +7889,7 @@
"description": "Defines an object-oriented layer for the HTTP specification", "description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-foundation/tree/v5.2.4" "source": "https://github.com/symfony/http-foundation/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -7905,20 +7905,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-02-25T17:16:57+00:00" "time": "2021-05-01T13:46:24+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2" "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd",
"reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8001,7 +8001,7 @@
"description": "Provides a structured process for converting a Request into a Response", "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-kernel/tree/v5.2.6" "source": "https://github.com/symfony/http-kernel/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -8017,20 +8017,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-29T05:16:58+00:00" "time": "2021-05-01T14:53:15+00:00"
}, },
{ {
"name": "symfony/mime", "name": "symfony/mime",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/mime.git", "url": "https://github.com/symfony/mime.git",
"reference": "1b2092244374cbe48ae733673f2ca0818b37197b" "reference": "7af452bf51c46f18da00feb32e1ad36db9426515"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/mime/zipball/1b2092244374cbe48ae733673f2ca0818b37197b", "url": "https://api.github.com/repos/symfony/mime/zipball/7af452bf51c46f18da00feb32e1ad36db9426515",
"reference": "1b2092244374cbe48ae733673f2ca0818b37197b", "reference": "7af452bf51c46f18da00feb32e1ad36db9426515",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8084,7 +8084,7 @@
"mime-type" "mime-type"
], ],
"support": { "support": {
"source": "https://github.com/symfony/mime/tree/v5.2.6" "source": "https://github.com/symfony/mime/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -8100,7 +8100,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-12T13:18:39+00:00" "time": "2021-04-29T20:47:09+00:00"
}, },
{ {
"name": "symfony/options-resolver", "name": "symfony/options-resolver",
@ -8981,16 +8981,16 @@
}, },
{ {
"name": "symfony/process", "name": "symfony/process",
"version": "v5.2.4", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/process.git", "url": "https://github.com/symfony/process.git",
"reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", "url": "https://api.github.com/repos/symfony/process/zipball/98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e",
"reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9023,7 +9023,7 @@
"description": "Executes commands in sub-processes", "description": "Executes commands in sub-processes",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/process/tree/v5.2.4" "source": "https://github.com/symfony/process/tree/v5.3.0-BETA1"
}, },
"funding": [ "funding": [
{ {
@ -9039,7 +9039,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-01-27T10:15:41+00:00" "time": "2021-04-08T10:27:02+00:00"
}, },
{ {
"name": "symfony/psr-http-message-bridge", "name": "symfony/psr-http-message-bridge",
@ -9131,16 +9131,16 @@
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6" "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/31fba555f178afd04d54fd26953501b2c3f0c6e6", "url": "https://api.github.com/repos/symfony/routing/zipball/3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c",
"reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6", "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9163,7 +9163,6 @@
"symfony/yaml": "^4.4|^5.0" "symfony/yaml": "^4.4|^5.0"
}, },
"suggest": { "suggest": {
"doctrine/annotations": "For using the annotation loader",
"symfony/config": "For using the all-in-one router or any loader", "symfony/config": "For using the all-in-one router or any loader",
"symfony/expression-language": "For using expression matching", "symfony/expression-language": "For using expression matching",
"symfony/http-foundation": "For using a Symfony Request object", "symfony/http-foundation": "For using a Symfony Request object",
@ -9201,7 +9200,7 @@
"url" "url"
], ],
"support": { "support": {
"source": "https://github.com/symfony/routing/tree/v5.2.6" "source": "https://github.com/symfony/routing/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -9217,7 +9216,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-14T13:53:33+00:00" "time": "2021-04-11T22:55:21+00:00"
}, },
{ {
"name": "symfony/service-contracts", "name": "symfony/service-contracts",
@ -9383,16 +9382,16 @@
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1" "reference": "e37ece5242564bceea54d709eafc948377ec9749"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/2cc7f45d96db9adfcf89adf4401d9dfed509f4e1", "url": "https://api.github.com/repos/symfony/translation/zipball/e37ece5242564bceea54d709eafc948377ec9749",
"reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1", "reference": "e37ece5242564bceea54d709eafc948377ec9749",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9456,7 +9455,7 @@
"description": "Provides tools to internationalize your application", "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/translation/tree/v5.2.6" "source": "https://github.com/symfony/translation/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -9472,7 +9471,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-23T19:33:48+00:00" "time": "2021-04-01T08:15:21+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
@ -9554,16 +9553,16 @@
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v5.2.6", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-dumper.git", "url": "https://github.com/symfony/var-dumper.git",
"reference": "89412a68ea2e675b4e44f260a5666729f77f668e" "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/89412a68ea2e675b4e44f260a5666729f77f668e", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636",
"reference": "89412a68ea2e675b4e44f260a5666729f77f668e", "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9622,7 +9621,7 @@
"dump" "dump"
], ],
"support": { "support": {
"source": "https://github.com/symfony/var-dumper/tree/v5.2.6" "source": "https://github.com/symfony/var-dumper/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -9638,7 +9637,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-28T09:42:18+00:00" "time": "2021-04-19T14:07:32+00:00"
}, },
{ {
"name": "tijsverkoyen/css-to-inline-styles", "name": "tijsverkoyen/css-to-inline-styles",
@ -10945,16 +10944,16 @@
}, },
{ {
"name": "facade/flare-client-php", "name": "facade/flare-client-php",
"version": "1.7.0", "version": "1.8.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/facade/flare-client-php.git", "url": "https://github.com/facade/flare-client-php.git",
"reference": "6bf380035890cb0a09b9628c491ae3866b858522" "reference": "69742118c037f34ee1ef86dc605be4a105d9e984"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/facade/flare-client-php/zipball/6bf380035890cb0a09b9628c491ae3866b858522", "url": "https://api.github.com/repos/facade/flare-client-php/zipball/69742118c037f34ee1ef86dc605be4a105d9e984",
"reference": "6bf380035890cb0a09b9628c491ae3866b858522", "reference": "69742118c037f34ee1ef86dc605be4a105d9e984",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -10998,7 +10997,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/facade/flare-client-php/issues", "issues": "https://github.com/facade/flare-client-php/issues",
"source": "https://github.com/facade/flare-client-php/tree/1.7.0" "source": "https://github.com/facade/flare-client-php/tree/1.8.0"
}, },
"funding": [ "funding": [
{ {
@ -11006,20 +11005,20 @@
"type": "github" "type": "github"
} }
], ],
"time": "2021-04-12T09:30:36+00:00" "time": "2021-04-30T11:11:50+00:00"
}, },
{ {
"name": "facade/ignition", "name": "facade/ignition",
"version": "2.8.3", "version": "2.8.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/facade/ignition.git", "url": "https://github.com/facade/ignition.git",
"reference": "a8201d51aae83addceaef9344592a3b068b5d64d" "reference": "87fb348dab0ae1a7c206c3e902a5a44ba541742f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/facade/ignition/zipball/a8201d51aae83addceaef9344592a3b068b5d64d", "url": "https://api.github.com/repos/facade/ignition/zipball/87fb348dab0ae1a7c206c3e902a5a44ba541742f",
"reference": "a8201d51aae83addceaef9344592a3b068b5d64d", "reference": "87fb348dab0ae1a7c206c3e902a5a44ba541742f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -11083,7 +11082,7 @@
"issues": "https://github.com/facade/ignition/issues", "issues": "https://github.com/facade/ignition/issues",
"source": "https://github.com/facade/ignition" "source": "https://github.com/facade/ignition"
}, },
"time": "2021-04-09T20:45:59+00:00" "time": "2021-04-29T13:55:26+00:00"
}, },
{ {
"name": "facade/ignition-contracts", "name": "facade/ignition-contracts",
@ -13630,16 +13629,16 @@
}, },
{ {
"name": "swagger-api/swagger-ui", "name": "swagger-api/swagger-ui",
"version": "v3.47.1", "version": "v3.48.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/swagger-api/swagger-ui.git", "url": "https://github.com/swagger-api/swagger-ui.git",
"reference": "0f8548c0d443fa37f10a45948d5f2babf685c657" "reference": "f96bc134a31c1250218df912f1e145fbb32191b0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/0f8548c0d443fa37f10a45948d5f2babf685c657", "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/f96bc134a31c1250218df912f1e145fbb32191b0",
"reference": "0f8548c0d443fa37f10a45948d5f2babf685c657", "reference": "f96bc134a31c1250218df912f1e145fbb32191b0",
"shasum": "" "shasum": ""
}, },
"type": "library", "type": "library",
@ -13685,22 +13684,22 @@
], ],
"support": { "support": {
"issues": "https://github.com/swagger-api/swagger-ui/issues", "issues": "https://github.com/swagger-api/swagger-ui/issues",
"source": "https://github.com/swagger-api/swagger-ui/tree/v3.47.1" "source": "https://github.com/swagger-api/swagger-ui/tree/v3.48.0"
}, },
"time": "2021-04-15T21:56:21+00:00" "time": "2021-04-29T22:10:35+00:00"
}, },
{ {
"name": "symfony/debug", "name": "symfony/debug",
"version": "v4.4.20", "version": "v4.4.22",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug.git", "url": "https://github.com/symfony/debug.git",
"reference": "157bbec4fd773bae53c5483c50951a5530a2cc16" "reference": "45b2136377cca5f10af858968d6079a482bca473"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/157bbec4fd773bae53c5483c50951a5530a2cc16", "url": "https://api.github.com/repos/symfony/debug/zipball/45b2136377cca5f10af858968d6079a482bca473",
"reference": "157bbec4fd773bae53c5483c50951a5530a2cc16", "reference": "45b2136377cca5f10af858968d6079a482bca473",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13740,7 +13739,7 @@
"description": "Provides tools to ease debugging PHP code", "description": "Provides tools to ease debugging PHP code",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/debug/tree/v4.4.20" "source": "https://github.com/symfony/debug/tree/v4.4.22"
}, },
"funding": [ "funding": [
{ {
@ -13756,7 +13755,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-01-28T16:54:48+00:00" "time": "2021-04-02T07:50:12+00:00"
}, },
{ {
"name": "symfony/polyfill-php70", "name": "symfony/polyfill-php70",
@ -13828,16 +13827,16 @@
}, },
{ {
"name": "symfony/stopwatch", "name": "symfony/stopwatch",
"version": "v5.2.4", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/stopwatch.git", "url": "https://github.com/symfony/stopwatch.git",
"reference": "b12274acfab9d9850c52583d136a24398cdf1a0c" "reference": "d99310c33e833def36419c284f60e8027d359678"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c", "url": "https://api.github.com/repos/symfony/stopwatch/zipball/d99310c33e833def36419c284f60e8027d359678",
"reference": "b12274acfab9d9850c52583d136a24398cdf1a0c", "reference": "d99310c33e833def36419c284f60e8027d359678",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13870,7 +13869,7 @@
"description": "Provides a way to profile code", "description": "Provides a way to profile code",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/stopwatch/tree/v5.2.4" "source": "https://github.com/symfony/stopwatch/tree/v5.3.0-BETA1"
}, },
"funding": [ "funding": [
{ {
@ -13886,20 +13885,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-01-27T10:15:41+00:00" "time": "2021-03-29T15:28:41+00:00"
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v5.2.5", "version": "v5.2.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/yaml.git",
"reference": "298a08ddda623485208506fcee08817807a251dd" "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", "url": "https://api.github.com/repos/symfony/yaml/zipball/76546cbeddd0a9540b4e4e57eddeec3e9bb444a5",
"reference": "298a08ddda623485208506fcee08817807a251dd", "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13945,7 +13944,7 @@
"description": "Loads and dumps YAML files", "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/yaml/tree/v5.2.5" "source": "https://github.com/symfony/yaml/tree/v5.2.7"
}, },
"funding": [ "funding": [
{ {
@ -13961,7 +13960,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-06T07:59:01+00:00" "time": "2021-04-29T20:47:09+00:00"
}, },
{ {
"name": "theseer/tokenizer", "name": "theseer/tokenizer",
@ -14015,16 +14014,16 @@
}, },
{ {
"name": "vimeo/psalm", "name": "vimeo/psalm",
"version": "4.7.1", "version": "4.7.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/vimeo/psalm.git", "url": "https://github.com/vimeo/psalm.git",
"reference": "cd53e047a58f71f646dd6bf45476076ab07b5d44" "reference": "83a0325c0a95c0ab531d6b90c877068b464377b5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/cd53e047a58f71f646dd6bf45476076ab07b5d44", "url": "https://api.github.com/repos/vimeo/psalm/zipball/83a0325c0a95c0ab531d6b90c877068b464377b5",
"reference": "cd53e047a58f71f646dd6bf45476076ab07b5d44", "reference": "83a0325c0a95c0ab531d6b90c877068b464377b5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -14114,9 +14113,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/vimeo/psalm/issues", "issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/4.7.1" "source": "https://github.com/vimeo/psalm/tree/4.7.2"
}, },
"time": "2021-04-25T21:26:25+00:00" "time": "2021-05-01T20:56:25+00:00"
}, },
{ {
"name": "webmozart/path-util", "name": "webmozart/path-util",

View File

@ -14,8 +14,8 @@ return [
'require_https' => env('REQUIRE_HTTPS', true), 'require_https' => env('REQUIRE_HTTPS', true),
'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_url' => rtrim(env('APP_URL', ''), '/'),
'app_domain' => env('APP_DOMAIN', 'invoicing.co'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
'app_version' => '5.1.56', 'app_version' => '5.1.58',
'app_tag' => '5.1.56-release', 'app_tag' => '5.1.58-release',
'minimum_client_version' => '5.0.16', 'minimum_client_version' => '5.0.16',
'terms_version' => '1.0.1', 'terms_version' => '1.0.1',
'api_secret' => env('API_SECRET', false), 'api_secret' => env('API_SECRET', false),

View File

@ -0,0 +1,37 @@
<?php
use App\Models\CompanyUser;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddNumberYearsActiveToCompanyUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('company_user', function (Blueprint $table) {
$table->unsignedInteger('number_years_active')->default(3);
});
CompanyUser::cursor()->each(function ($cu){
$cu->number_years_active = 3;
$cu->save();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
}
}

View File

@ -9,7 +9,7 @@ const RESOURCES = {
"icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed", "icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed",
"icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35", "icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35",
"manifest.json": "ce1b79950eb917ea619a0a30da27c6a3", "manifest.json": "ce1b79950eb917ea619a0a30da27c6a3",
"main.dart.js": "d314ade5d7821abc506cae06e529b6fd", "main.dart.js": "6050162ccfbc10d053ef43789a0d504e",
"assets/NOTICES": "dcba058006722202a4906fb433998480", "assets/NOTICES": "dcba058006722202a4906fb433998480",
"assets/fonts/MaterialIcons-Regular.otf": "1288c9e28052e028aba623321f7826ac", "assets/fonts/MaterialIcons-Regular.otf": "1288c9e28052e028aba623321f7826ac",
"assets/AssetManifest.json": "659dcf9d1baf3aed3ab1b9c42112bf8f", "assets/AssetManifest.json": "659dcf9d1baf3aed3ab1b9c42112bf8f",

200646
public/main.dart.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

198416
public/main.foss.dart.js vendored

File diff suppressed because one or more lines are too long