Git Product home page Git Product logo

lorekeeper's Introduction

Lorekeeper

Lorekeeper is a framework for managing deviantART-based ARPGs/closed species masterlists coded using the Laravel framework. In simple terms - you will be able to make a copy of the site, do some minor setup/enter data about your species and game, and it'll provide you with the automation to keep track of your species, players and ARPG submissions.

Features

  • Users can create an account which will hold their characters and earnings from participating in the game.
  • Mods can add characters to the masterlist, which can also record updates to a character's design. (Yes, multiple mods can work on the masterlist at the same time.)
  • Characters get a little bio section on their profile that their owners can edit. Personalisation!
  • Users' ownership histories (including whether they are an FTO) and characters' previous owners are tracked.
  • Users can submit art to the submission queue, which mods can approve/reject. This dispenses rewards automagically.
  • Users can spend their hard-earned rewards immediately, without requiring mods to look over their trackers (because it's all been pre-approved).
  • Characters, items and currency can be transferred between users. Plus...secure trading between users for game items/currency/characters on-site is also a thing.
  • Logs for all transfers are kept, so it's easy to check where everything went.
  • The masterlist is king, so ownership can't be ambiguous, and the current design of a character is always easily accessible.
  • Speaking of which, you can search for characters based on traits, rarity, etc. Also, trait/item/etc. data get their own searchable lists - no need to create additional pages detailing restrictions on how a trait should be drawn/described.
  • Unless you want to, in which case you can add custom pages in HTML without touching the codebase!
  • A raffle roller for consecutive raffles! Mods can add/remove tickets and users who have already won something will be automatically removed from future raffles in the sequence.
  • ...and more! Please refer to the Wiki for more information and instructions for usage.

Setup

Important: For those who are not familiar with web dev, please refer to the Wiki for a much more detailed set of instructions!!

Obtain a copy of the code

$ git clone https://github.com/corowne/lorekeeper.git

Configure .env in the directory

$ cp .env.example .env

Client ID and secret for at least one supported social media platform are required for this step. See the Wiki for platform-specific instructions.

Add the following to .env, filling them in as required (also fill in the rest of .env where relevant):

CONTACT_ADDRESS=(contact email address)
DEVIANTART_ACCOUNT=(username of ARPG group account)

Setting up

Composer install:

$ composer install

Generate app key and run database migrations:

$ php artisan key:generate 
$ php artisan migrate

Add basic site data:

$ php artisan add-site-settings
$ php artisan add-text-pages
$ php artisan copy-default-images

Finally, set up the admin account for logging in:

$ php artisan setup-admin-user

You will need to send yourself the verification email and then link your social media account as prompted.

Contact

If you have any questions, please feel free to ask in the Discord server: https://discord.gg/U4JZfsu

lorekeeper's People

Contributors

aw0005 avatar corowne avatar deep-ci avatar dependabot[bot] avatar draginraptor avatar itinerare avatar junijwi avatar ne-wt avatar preimpression avatar ryannicmyk avatar speedyd 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

Watchers

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

lorekeeper's Issues

No validation on the TH link entry on character profile

Bug as reported:

(Develop branch, last commit parent: b634616d8a0d2a2981f3f6dc123a696d7055c6d2 [b634616d])

URL of page: <siteurl>/character/<character_slug>/profile/edit
Description of bug: There is no validation on the Toyhou.se link entry.
How was the bug caused (exact steps to reproduce):
Have a site with the Character TH Profile Link extension installed. As it's part of modified-main and soon of the big 2.0.0 update, most sites likely have this.

Further details

I'm probably doing this bug report wrong since it's not exactly a bug but something I noticed- and it's that there is no validation on the Toyhou.se link entry. None whatsoever, as far as I can tell.

On my local installation I've noticed that HTML injection is super easy this way. The code is basically href="{!! $character->profile->link !!}" which allows for ending the code, so I entered ">This shouldn't be possible</a><a href="http://toyhou.se/ and.. well.. it worked. I didn't try anything more malicious than a second link, but I'm fairly sure it's possible.

I did notice SQL will give an error back.. when the input is too long. Database does have a maximum input, after all.. But that was easily circumvented by shorter code.

Normally this would be the place where I suggest a solution, and the simplest I have is to put the validation on 'url|nullable', so it can be both empty and a URL, but I'm in a zero brainpower moment, so hopefully someone will pick this up. =_=;

Sort function in Admin traits section

Feature Request

This applies specifically to <site>/admin/data/traits.

So I was looking at #233 and I realized.. that the opposite is lacking a feature. You cannot sort in the admin section for the traits.

This seems like a missing feature?

Sorting User Index by Alias (A-Z) or Alias (Z-A) does not function

Bug as reported:

(Main branch, last commit parent: f447da64)

URL of page: <siteurl>/users?name=&rank_id=0&sort=alias or <siteurl>/users?name=&rank_id=0&sort=alias-reverse
Description of bug: Attempting to use 'Sort by Alias (A-Z)' or 'Sort by Alias (Z-A)' on the public User Index instead shows results for 'Sort Alphabetically (A-Z)', which is the default sorting method.
How was the bug caused (exact steps to reproduce): Go to the User Index, pick either 'Sort by Alias (A-Z)' or 'Sort by Alias (Z-A)' and click Search.

Further details

It just doesn't do anything?? I wonder if this was broken when additional methods of authentication were added, or if it was broken all along...

FontAwesome V6

While we're on the subject of upgrading- FontAwesome also comes to mind. V6 has been out for quite a while..

But we're still on V5 nonetheless.

I found this document on migrating to v5: (https://docs.fontawesome.com/web/setup/upgrade).

Fortunately, it seems that upgrading THAT is less of a hassle, as they heavily support backwards compatibility.

Attempting to edit stock of a store with "free" (cost 0) items errors

URL of page: https://world-of-orrison.com/admin/data/shops/edit/2
https://gyazo.com/7eaa830a0f05b1e99fcc761f8719c3ce
Description of bug: Attempting to edit the stock (not adding new items) but it seems as if the store will not update because the cost of some items are "0" (none of them are blank).
How was the bug caused:

  • create a store, add an item which has cost 0 and other items with various cost/stock
  • attempt to edit the store, changing the stock on one item
  • idk if validation was changed recently re: stores or items?

Any other Info: Would like to know if deleting an item and recreating it when "limited amount per user" is an option used-- will that reset the "limited amount per user" function?
(Reported by @JuniJwi)

This issue can be circumvented by setting the free items' cost to 00.

Gallery submission data not retained upon error

Bug as reported:

(Develop branch, last commit parent: b634616d8a0d2a2981f3f6dc123a696d7055c6d2 [b634616d])

URL of page: <siteurl>/gallery/submit/<gallery_no>
Description of bug: If there is even the slightest mistake made on a gallery submission, every bit of information is removed upon page load, except for the error.
How was the bug caused (exact steps to reproduce):
Considering this happens on literally every gallery submission with even the slightest mistake, you can easily reproduce this by filling in everything except the image upload and text block, It will erase every bit of information, except for the error.

Further details

Upon any error exception, a gallery submission is effectively returned empty, only displaying the error. Image data is gone, description is gone, content warning, added characters, collaborators, other participants and also the currency award form's information.

This may seem like a minor setback to most, but considering that in the currency form it is hard to tell what is optional and what is mandatory and that the maximum file size for images is actually LESS than 3 MB despite that the default text says it is (the size in app\Models\Gallery\GallerySubmission.php limits it to 3000 kB, which is actually approx. 2.86 MB), it is very much possible that the submission errors out more often than it should.

I've experienced frustrating setbacks myself on that end, and as I've heard similar complaints from other users, I know I'm not alone in this.

My suggestion here is therefore twofold: The simplest of the two is to, in app\Models\Gallery\GallerySubmission.php, change the validation rules of the image to have a default max of 3072, so that the default text doesn't lie..

And the more difficult of the two: re-populate the input after an error occurs. I'm aware that's much easier said than done, but it is a huge hurdle and source of frustration to many.

500 error when character in transfer is deleted

Bug as reported:

(Main branch, last commit parent: da3ebb11)

URL of page: <site>/admin/masterlist/transfers/incoming, <site>/admin/masterlist/trades/incoming, <site>/admin/masterlist/transfers/completed, <site>/admin/masterlist/trades/completed (Likely more?)
Description of bug: When a character has been deleted entirely, if it was ever part of a transfer or trade, whether resolved or not, that trade or transfer will give out a 500 error. I cannot tell if it's in the public area too, but I would presume so.
How was the bug caused (exact steps to reproduce): Add a character to a transfer or trade. Delete the character. Go to the transfer or trade in the admin section.

Further details

...following up #459 and #460. It's the same problem, different location.

MYO submission open/close site setting has no effect, uses design update site setting instead

URL of page: Admin page, site settings panel / Any MYO slot, submission panel
Description of bug: MYO slots don't honor the setting for the MYO queue being open/closed, only the one for the design update queue being open/closed-- with the MYO queue set to 'closed', drafts can still be opened/submitted. so it does not show the [MYO submission queue closed] message unless the design update queue is set to closed
How was the bug caused (exact steps to reproduce): Set the MYO submission queue to be closed but the design update queue to be open

Can't remove abbreviation of existing currency when another currency exists with no abbreviation

URL of page: site.com/admin/data/currencies/edit/10
Description of bug: When you attempt to remove the Abbreviation of an existing currency and you already have another currency with no abbreviation, it says there's already a currency using that abbreviation. Note: you CAN add new currencies without abbreviations, it's just editing that gives the validation error.
How was the bug caused (exact steps to reproduce): Have two currencies, one without an abbreviation. Attempt to "clear out" the abbreviation of the other currency.
Reported by @preimpression

Search by subtype in Admin traits.. non-functional?

Bug as reported:

(Main branch, last commit parent: f62ed9cf)

URL of page: <site>/admin/data/traits
Description of bug: Attempting to search by subtype of a trait.. returns all results.
How was the bug caused (exact steps to reproduce): Go to the Traits section in the Admin panel. Click 'Any Subtype' and pick a subtype from the dropdown box. Hit search.

Further details

Hilariously, I was looking at #233 because I was requesting search by subtype in the Encyclopedia/World section... and.. I then realized it's not working on the admin page. Kinda funny, but this is a function I'd like to see functioning.

Users with especially long usernames cannot purchase any/some item(s) from shops

Bug as reported:

URL of page: All shop URLs
Description of bug: Some users cannot purchase any items from shops
How was the bug caused (exact steps to reproduce):
Any user with 14 or more letters in their name cannot purchase items from shops
Seems to happen regardless of price and shop ID

Further details

This is a known issue resulting from too-long log data. When a user attempts to purchase an item (or otherwise perform an action that would give them an item and create log data including their username, as can be seen in some extensions) and has a particularly long username, the resulting log data is longer than the 191 characters permitted by default and the log cannot be created, causing the operation to fail.
While a proper fix is still pending, users comfortable with doing so can address the issue by adjusting the allowed length of the "log" column of user_item_logs to a higher value, such as 255.

This is also addressed via a migration in the modified-main branch.

Sublists sorting different by default

Bug as reported:

URL of page: https://www.worldoflingua.com/sublist/<sublistkey>
Description of bug: Sublists are, by default, sorted by Newest First, rather than Number Descending.
How was the bug caused (exact steps to reproduce):
Create a Sub Masterlist. Then use the new link in the sidebar once on the masterlist,
The display is, for some reason, sorted by Newest First by default. While the normal default is Number Descending.

Further details

Considering the masterlist default is Number Descending, it is a bit strange that the Sublists are Newest First by default. It is quite confusing, especially if you're used to a different default.
I have no idea where in the code this happens, as far as I can personally tell, it's all on the same system, so it should be Number Descending.

Search by Subtypes in Encyclopedia's Traits section

Feature Request

This applies specifically to <site>/world/traits.

An owner of one of the sites I'm working with noticed that you can search by Subtype in the Traits section of the Admin panel.. But that you cannot do it on the All Traits page in the Encyclopedia. I'm of opinion that it would be a good idea to have this added there as well.

Cannot admin transfer MYO to an alias.

My version: Modified-main on live site, does not include in-development branches. Mercury commented that this has happened for awhile so I believe this to be a Vanilla LK issue as well.

Issue:
I assume this will change anyway with the alias rework in V2.0.0 , but nevertheless - attempting to transfer a MYO slot to an Alias instead of a created account (such as to accommodate a DeviantArt username change) results in a failed transfer and a "Please enter a recipient for the transfer." message.

What's interesting is it works fine on fully-designed characters, just not in MYOs.

v2.0.0 - Milestone

. Legend
โ“ Unassigned
๐Ÿ’ฌ Needs discussion
๐Ÿ‘€ Under review

New features/Major updates

  • Update aliases to accommodate other social media sites - branch feature/auth-rework - @itinerare PR #44
  • Integration of modified-main branch into core - @itinerare PR #42
    • Full list of extensions available here
  • Integration of galleries branch into core - @itinerare PR #55
    • More information available here
  • Upgrade to Laravel 8 - branch feature/update-laravel-version @corowne PR #61
  • Expand range of social media sites usable for aliases - @corowne PR #100

Minor changes

  • Add a reason field to user-initiated character transfers - branch transfer-reasons @snupsplus PR #51
  • Credits Page/Extension Tracker: Adds a credit page (editable from the pages admin panel) and extension tracking system. - @preimpression PR #52
  • Add an option to hide submissions to a given prompt until it ends/forever. Staff with 'manage submissions' permissions can view any submission, as before - branch feature/toggle-prompt-submission-visibility - @itinerare PR #45
  • Add a line to prompt entries in the 'more details' collapse section which notes that submissions to a given prompt are hidden/hidden until the prompt ends - branch feature/toggle-prompt-submission-visibility - @itinerare PR #45
  • Add an option in config/lorekeeper/settings.php to make masterlist images square and automate the thumbnail process as a result/remove the need for cropping - branch feature/image-size-automation - @SpeedyD / @itinerare PR #48

Bug fixes

  • MYO submission open/close site setting has no effect, uses design update site setting instead #23
  • Users with especially long usernames cannot purchase any/some item(s) from shops #25 (Closed by PR #42)
  • Attempting to edit stock of a store with "free" (cost 0) items errors #26
  • Users with long usernames cause the sidebar to partially disappear #38
  • Pending and draft design updates not cancelled / deleted on transfer #41
  • Cannot transfer a MYO to an alias #49 (Closed by PR #44)
  • Item entry expansion display checking uses outdated shops info
  • Design update index erroneously displays vote counts (Closed by PR #53)
  • Admin user index links to user page rather than user edit page (Closed by PR #53)
  • User profile inventory display shows items with a count of 0 (Closed by PR #53)
  • User sublist links don't display as "active" (Closed by commit a35cadf)
  • Currencies used in item resale value(s) being deleted causes an error (Closed by PR #43)
  • Clearing prompt category description does not properly clear it/the parsed description (Closed by PR #43)
  • Items in character inventories cannot be edited (Closed by PR #50)
  • Going to the register page while logged in directs to /home, which does not exist #56 (Closed by PR #59)

Documentation

  • Transfer content from old wiki to new wiki
  • Add info about extensions in modified-main to main wiki pages
  • Update README.md with new wiki links

Required actions for this update
composer update
php artisan update-lorekeeper-v2

Error viewing users' account updates after clearing/adding alias

Bug as reported:

URL of page: site.com/admin/users/mwins/updates
Deescription of bug: Unable to view a users Account Updates > 500 | Server Error
How was the bug caused (exact steps to reproduce): Clearing or Adding an alias in release 2.0
Any other information:
[2021-06-06 21:10:44] production.ERROR: htmlspecialchars() expects parameter 1 to be string, array given (View: */www/resources/views/admin/users/user_update_log.blade.php) {"userId":2,"exception":"[object] (ErrorException(code: 0): htmlspecialchars() expects parameter 1 to be string, array given (View: */www/resources/views/admin/users/user_update_log.blade.php) at */www/vendor/laravel/framework/src/Illuminate/Support/helpers.php:118)

Lack of sorting option in admin queues

Bug as reported:

(Develop branch, last commit parent: b6d6c79 ))

URL of page: <siteurl>/admin/design-approvals/pending, <siteurl>/admin/myo-approvals/pending, <siteurl>/admin/masterlist/transfers/incoming, <siteurl>/admin/reports, <siteurl>/admin/gallery/submissions and <siteurl>/admin/gallery/currency
Description of bug: There is no sorting function on any of the admin queues (aside from submissions and claims).
How was the bug caused (exact steps to reproduce):
Go to any of the admin queues. Discover a lack of sorting option.

Further details

Speedy here with another bug report that's not a bug report.

Fairly simple point here. There's no sorting function on the Design Updates, MYO Approvals, Character Transfers, Reports, Gallery Submissions or Gallery Currency Awards admin queues.

Oldest First/Newest First would be a good thing to add. With Oldest First as default, since that is already the current case, as well as to be consistent with the Submissions and Claims admin queues.

Option to have MYO image be hidden or deleted

Feature Request

When approving a MYO Approval request, in the Image Settings, it currently only states "Set Active Image" and "Invalidate Old Image".
I would like to request the option to immediately hide the old image gets added, as well as the option to immediately delete the old image.
It is quite a hassle to manually delete MYO slot images for every single approved character.

Inventory select item, category filters no longer work

URL of page: Observed in design updates; likely impacts other locations
Description of bug: As stated; filters no longer work. Tested locally on current 2.0.0 to confirm.
How was the bug caused (exact steps to reproduce):
Go to any design update; attempt to use filters

Encyclopedia displaying duplicates of items and traits

Bug as reported:

(Bug found on multiple Lorekeeper sites, ranging from an older pre-2.0.0 dev branch up to the latest version.)

URL of page: <siteurl>/world/items?page=<number>, <siteurl>/world/traits?page=<number> and (if the extension is installed) <siteurl>/world/awards?page=<number>
Description of bug: The Encyclopedia seems to be displaying duplicates of items and traits, on numerous occasions. The more items/traits a site has, the more likely duplication happens in the Encyclopedia. I have extensively checked whether or not the items/traits are actually doubled, and they are not. Item/Trait ID is the same as the original for duplicates.
How was the bug caused (exact steps to reproduce):
Simply head for the encyclopedia, click All Items or All Traits and look through carefully. It happens often on page 2 and 3, but some repeat later pages too. Sometimes, the order of the items/traits is different, for some reason.
This also occurs with awards in the Encyclopedia, from the Awards Extension.

Further details

I have noticed that sites with a low amount of items/traits are less likely to have duplicates if only for the sole reason that there's less pages in which this can happen.
If you sort them alphabetically, the duplicates seem to disappear; but the page count stays the same, and as the item count on the last page is also the same number, it appears that the duplicates are actually obfuscating actual items in the list.. Especially since the item per page count is the same as well.
Further research confirmed this; on some sites items that should appear in the list do not appear at all, not even later pages, until we sort by alphabet or newest/oldest first. It only happens when you Sort by Category, as is the default, so I presume it happens in the sortCategory() function. Unfortunately, I have no idea how to fix this.

ADDITION:
Tested other sorting methods and even tested the Awards extensions. Text above has been edited accordingly.

Bootstrap v4 end of life

Currently, Lorekeeper as we know it is still running on.. 4.1.3. (According to app.css that is.)

Bootstrap v4 has recently reached end of life.

It seems we have fairly little choice but to migrate to 5.3.x. As there are a whopping 53 breaking matters, JQuery being dropped and support for older browsers ended, this is not a great solution.

I did find a Migration tool )https://github.com/coliff/bootstrap-5-migrate-tool) - but I have no idea how useful this is in the long run.

ADDITION:
https://palcarazm.github.io/bootstrap5-toggle/
For our Bootstrap 4 specific toggles, this is 1:1 but for Bootstrap 5

Users with long usernames cause the sidebar to partially disappear

Bug as reported:

URL of page: All user pages
Description of bug: Sidebar on the left gets hidden behind site content
How was the bug caused (exact steps to reproduce):
Make your browser thinner on the userpage of a user with a long name.

Further details

Users with long names causes the links in the sidebar on the left to get hidden behind site content, if the browser isn't wide enough. Considering not everyone uses full HD resolutions on their screen, their browser might not ever get wide enough.

It's not a major bug as the mobile size picks up the pace in general, but it's still a problem that happens in core Lorekeeper.

Lorekeeper dropdowns bugged sitewide

My original site began having issues with dropdowns no longer having data (for example the sorting boxes on the masterlist page now have no data and when clocked show no options). I reset my branch to vanilla LK, however; the issue persisted. I decided to scrap my whole website to see if this was an issue starting the website from scratch. Turns out it is. This makes the whole site unusable (since you need these dropdowns to create species and assign traits)

Request for more designated Rank powers (regarding news and sales)

Bug as reported:

(release/release-2.0.0 branch, last commit parent: 549e010 ))

URL of page: N/A
Description of bug: Only users with the 'edit_pages' (or Edit Text Pages) power can comment on sales posts that are still in the Preview period... and that's odd.
How was the bug caused (exact steps to reproduce): Make a sale. Delay comments. Find out that some of your staff can't comment on the sale.

Further details

Another non-bug bug report from me..

Long story short. I recently made a sales post on the LK site I'm involved in and delayed comments so that the staff could leave sales comments before users replied. One of the ranks we've set up is for Official Artists, who do art and make adopts, but have no task directly related to the site. They were completely unable to respond to the sales post while it was in Preview.

I later found out it requires the 'edit_pages' power.. Which.. is honestly confusing? Editing pages is not commenting on sales posts.. Heck, editing pages is not posting news or sales, but it's all under the same header.

So my suggestion here was originally born out of a designated rank power which allows users which have it to comment on sales- a rank power I definitely still explicitly need.. But perhaps also rank powers that are specifically for setting up news and sales posts?

Another inventory_select invalid quantity error

URL of page: New/edit trade, etc; places where inventory select occurs
Description of bug: Checkbox to select all visible items in inventory_select does not seem to be properly setting quantity, results in "invalid quantity" error.
How was the bug caused (exact steps to reproduce): In this case,

  • Attempt to create or edit a trade,
  • Use checkbox in table header to select all visible items

I glanced at the JS in question and it looks like this should work? So I'm a little at a loss. Any ideas @Draginraptor ?

500 error when character's species or rarity is removed

Bug as reported:

Description of bug: When a character has their rarity or species removed, the masterlist entry will give out a 500 error. (As well as other parts of the site that rely on having a visible rarity or species for characters.)
This is due to the fact that both rarity and species have displayNames that require there to actually be rarity and species attached.
How was the bug caused (exact steps to reproduce): Remove the species or rarity of a character. This happens.

Further details

Frankly, the issue isn't that a 500 error appears after this happens; the issue is that it SHOULD NOT BE POSSIBLE to remove species or rarity. This is already blocked in character creation and design updates, as far as I'm aware, but somehow not in the trait editing modal.

Notification on MYO Slot Profile edits return wrong url

Bug as reported:

(Main branch, last commit parent: a04236d1)

URL of page: <site>/notifications
Description of bug: A notification sent on an admin editing a MYO slot returns the wrong URL.
How was the bug caused (exact steps to reproduce): Have an admin edit the profile of a MYO slot, and make it notify the user. The user will then discover that the "View Character" link does not work.

Further details

Okay, let's be clear here. I already know the actual issue.

The MYO Controller (app\Http\Controller\Characters\MyoController.php) calls upon the updateCharacterProfile function of the Character Manager (app\Services\CharacterManager.php).
That Manager creates a notification by the name of CHARACTER_PROFILE_EDIT. In config\lorekeeper\notifications.php we can see that function uses 'character/{character_slug}/profile' for the url. Back in the Manager, the character slug is given as $character->slug.
This is a MYO Slot, however, and they don't have slugs. So I went to app\Model\Characters\Character.php and looked at the 'getSlugAttribute' function. There it is revealed that if it's a MYO slot, it will return the name.

Sleuthing aside, I'm unsure if we can just have it return $this->id in the model (since a MYO slot's url is based on the id) or if I need to build an exception in the updateCharacterProfile function of the Character Manager for MYOs.. I suppose it kind of depends on whether the slug attribute of MYO slots is used elsewhere..

...So I leave this to whichever enterprising mind wants to handle this one first. Go forth and test away.

Hidden characters are not visible for those with manage_characters in a user's characters list.

Expected behaviour: Staff with "manage_characters" should be able to see hidden characters (with the eye-slash icon) on user's character lists.

Current behaviour: They are hidden for everyone, including those who should be able to see non-visible characters.

I created a hidden character by accident on the admin account. Went to admin's public character and private character lists to edit it to be visible - didn't see it. Had to go to the character masterlist to find the character in order to edit it. For clarity, I'm editing a branch on mod-main.

Merger of functionality of user character and user sublist pages?

Feature Request

This applies specifically to <site>/resources/views/user/characters.blade and <site>/resources/views/user/sublist.blade.

It looks like sublist.blade does pretty much the same thing as characters.blade, aside from the obvious difference that the former shows sublists only. I'm unfortunately unsure how to do this at the current time, but I'm sure there should be some possibility to merge the two.. or.. reuse the functions somehow?

A change I did recently on one of the sites I maintain (Didn't realize sublist was a different function until I found out it didn't work there...) as well as a recent PR (Noticed the PR only affected characters.blade, not sublist.blade...) make me realize that there might in fact be some necessity to this..

Hidden Characters still referenced in ownership history

Bug as reported:

URL of page: <site-URL>/user/<username>/ownership
Description of bug: Ownership history shows hidden characters by name
How was the bug caused (exact steps to reproduce):
Hide a character with the 'Manage Masterlist' power, then check the character's owner's ownership log.

Further details

It is again not a real major bug, more an oversight... But for sites that might want to hide the intended code of certain characters, this might actually be a bit of an issue. I discovered this about half an hour ago, and it even shows up when not logged in.

The character's entire code, including the name added on the profile, are clearly visible on the Ownership History.

It's not a major bug at all, and it is very unlikely to actually cause problems.. . Just something to keep in consideration for the future, I suppose. I don't think hidden characters should be visible at all, anywhere- not even the name.

Suggestion/Discuss: Standardize use of direct Auth::User

We should at some point consider to replace all (Auth::check() ? Auth::user() : null) with (Auth::user() ?? null).

Having Auth::check(), which sole purpose is to see if Auth:user() is not null, in the same line as checking Auth::user(), is not great. It would be better if we were to replace it by a singular check, which immediately gave the required result as well.

On another note, there is different kind of check, the if(Auth:check() && Auth:user()) variant- we may want to consider looking into a solution for those as well, though that is a different story entirely.

I'd like to open this issue for discussion.

500 error when character on sale is deleted

Bug as reported:

(Main branch, last commit parent: da3ebb11)

URL of page: <site>/sales, <site>/sales/<id> and <site>/admin/sales/edit/<id> (where is the id of the sale in question)
Description of bug: When a character has been deleted entirely, and they were part of a sales post, the sale in question as well as the admin page on which it is editable, will give out a 500 error. (And of course any of the sales pages that sale is displayed on.)
How was the bug caused (exact steps to reproduce): Add a character to a sale. Delete the character. Go to the sale in either public area or the editing page of the admin section.

Further details

..Yeah, I guess this is a thing that happens. Should be a decently easy fix, just have a check if it exists and if not display something like 'Character Not Found' like with gallery images.

PR #462 should fix this, eventually.

Sorting User Index (in admin section) by Alias (A-Z) or Alias (Z-A) functions incorrectly

Bug as reported:

(Main branch, last commit parent: f447da64)

URL of page: <siteurl>/admin/users?name=&rank_id=0&sort=alias or <siteurl>/admin/users?name=&rank_id=0&sort=alias-reverse
Description of bug: Attempting to use 'Sort by Alias (A-Z)' or 'Sort by Alias (Z-A)' on the Admin version of the User Index shows results that do not match any sorting method. It seems similar to 'Oldest First' and 'Newest First' at first glance, but some user names do nto match up.
How was the bug caused (exact steps to reproduce): Go to the Admin Home, go to the User Index from there, pick either 'Sort by Alias (A-Z)' or 'Sort by Alias (Z-A)' and click Search.

Further details

Unlike the public User Index, this one actually does something.. but it's unclear what. At first glance, I assumed it was matching with Oldest First (if sorting by A-Z) or Newest first (if sorting by Z-A), but on closer look didn't match even that.

Duplicated code in speciesService leading to redeclaration error

Develop branch
app/Services/SpeciesService
Lines 281 - 333 are the develop branch code
Lines 335 - 381 is the original code from the main branch

The presence of both leads to Cannot redeclare App\Services\SpeciesService::populateData() when creating a species admin/data/species/create

removing lines 335-381 fixed this :>

Pending and draft design updates not cancelled / deleted on transfer

URL of page: any draft character update
Description of bug: If a user trades a character with a draft made, the new owner cannot make a new design update request or edit the existing draft, as it is assigned to the old user
How was the bug caused:

  • Make a draft design update (can be any stage as long as not submitted)
  • Transfer character to another user
  • New user cannot create or edit draft

Inputting negative currency as an addon to a submission credits rather than debits

Bug as reported:

URL of page: Happens in claims, so I don't have a URL you can really view.
Deescription of bug: Results if a user inputs a negative amount of currency in the bank additions of a claim. Might also happen in prompts? Essentially, the amount they subtract adds to their bank. So if they have 100 crystals, and put -100 in a claim, they get 200 in their bank without the claim even being processed.
How was the bug caused (exact steps to reproduce):

  1. Submit claim
  2. Go to add currency into the claim but instead of putting a positive number, put a negative number. Hit submit.
  3. Should see from there that the negative amount in the claim submission has been added to their bank.
    Any other information:
    Rejecting the submission will remove the currency added.
    Approving will Grant the currency to the account.

License?

Thanks for this project. I'd like to setup this for an ARPG but I'd like to know what the license of this project is. You can choose a license: https://choosealicense.com/

I tend to prefer GNU AGPLv3 since then network use is considered distribution, meaning that any forks of this projects must be kept FOSS.

Database limit updates (RELEASE/V3 BUG)

As per #395 icons have been added directly to usernames, which in turn got added to log keeping.

This means that in many sections of the database, there's now an approximate 50 character block of code added.. and with some of the older limits in the database, this will cause a lot of errors.

Tables that I assume will require update:

  • character_log, column 'log'
  • currencies_log, column 'log'
  • items_log, columns 'log' and 'data'
  • user_character_log, columns 'log' and 'data'
  • user_items, column 'data'
  • user_update_log, column 'data'

I strongly suggest upping all of these to varchar(1024) or potentially text and that there's a good check if I missed any other table.

Some of these have a really low maximum, like 191.. :/

..why is the max actually 191? It's such an odd number, I would've expected like.. 256, 512 or 1024, byte numbers, not.. 191.

As you're likely well aware, I'd PR this myself but.. I have no idea how to.

Subtype list not appearing properly when editing character

Bug as reported:

(Main branch, last commit parent: f447da64)

URL of page: <siteurl>/character/<slug>
Description of bug: Attempting to edit the subtype of a character makes the subtype not show up.
How was the bug caused (exact steps to reproduce): Go to any character page, click the Edit button on the Info tab, discover that the Subtype list still says 'Pick a Species First' even though it's an existing character with a species set already.

Further details

Fairly minor bug, was gonna attempt to fix it myself but got too busy unfortunately.

TL;DR the Subtype list doesn't fill up when you edit a character, even if it has a Species picked already. Seems fairly straightforward, just needs to trigger the refresh once the Modal opens, instead of waiting until someone swaps the Species.

Content Warning thumbnail for Characters

Feature Request

It has recently come to my attention that the Gallery got a specific thumbnail for content warnings.
I feel it would be a good idea to extend this to the character masterlist.

Unable to verify using iCloud email

I've been seeing some users of a species I follow closely having trouble verifying their LK account because they're using iCloud. Is there any plans to fix this?

Going to the registration page when logged in redirects to /home, which doesn't exist.

Bug as reported:

URL of page: /register
Description of bug: When a logged-in user goes to the registration page, it redirects to a 404 error.
How was the bug caused (exact steps to reproduce):
While being logged in, user either manually types in /register behind the root url or clicks a link that goes to that page.
The site then automatically redirects to the /home page.. which doesn't exist. It will give a 404 error.

Further details

This occurred when in the middle of writing a user guide, which included the first step of registering to the site.. and I tested the link. It redirected to /home, which however gave me a 404 error. I immediately checked if this was also occurring on other sites (where I had an account and was logged in), and it did.

It does NOT redirect when a user isn't logged in. In that case you get to the registration page, as should occur.

It's not a major bug as it is very unlikely a user who is logged in would try to get to the registration page, but it's still an easily solvable problem that happens in core Lorekeeper.

500 error when character added to submission is deleted

Bug as reported:

(Main branch, last commit parent: da3ebb11)

URL of page: <site>/submissions/view/<id>, <site>/claims/claims/<id>, <site>/admin/submissions/edit/<id> and <site>/admin/claims/edit/<id> (where is the id of the claim/submission in question)
Description of bug: When a character has been deleted entirely, if it was ever part of a submission or claim, whether resolved or not, that submission or claim will give out a 500 error, even in the admin version.
How was the bug caused (exact steps to reproduce): Add a character to a submission or claim. Delete the character. Go to the submission or claim in either public area or the editing page of the admin section.

Further details

...similar to the previous issue (issue #459), but now specifically submissions and claims, which are technically the same thing. Should also be a decently easy fix here.

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.