Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This patch is a direct improvement on the previous one. Now, instead of
telling clients to always cache df resources for 24 hours before
revalidating the file, we tell them to cache it for zero seconds. This,
in cobination with the ETag header, prompts the browser to utilize the
If-None-Match request header.
When serving df resources, we will set an ETag, which is a sha256 of the
file content for the browser to cache. When the browser wants to load a
resource a second time, it will send the ETag back via the If-None-Match
header so we can compare it to the current file's hash. If the
browser's ETag is still current, we can return 304 and save some
bandwidth. Otherwise, the full response is sent as usual.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Since content served by df.php is inherently dynamic, the server wisely
instructs clients to not cache any responses. In pratice, for Scrott,
the resources accessible by df.php are usually static, perhaps only
ocasionally appearing or disappearing.
A consequence of this is that clients have to repeatedly download
several images, often on each page load of the app. Low-bandwidth
clients will especially feel this.
This patch _explicitly_ inserts from headers into the response from
df.php which instruct the client to keep a copy of the resource for 24
hours. The idea being that resource requests will be *drastically*
reduced and if someone updates their head image (for example), that
change will take no-more-than 1 day to propagate.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
This behavior was causing issues in the UI. We normally "try" to set a
new asset by default, in case one was provided by the user, and just
soft-fail if one wasn't. This "soft-failing" is now resulting in the
images being removed if the user just goes in to change his alias (for
example).
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
... instead of the fullsized image. This guarantees a square aspect
ratio, which is nice for the user interface.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
df.php will now serve bg image thumbnails when d=thumbs. Normal access
requirements stand.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
When setting the bg image for an object, create a copy of it
(square-cropped) in dynmic/thumbs/ for display in the settings modal.
This patch provides an additional function for retriving the thumbnail's
URL as well.
This thumbnail is desirable for the sake of the UI. If we cannot make a
guarantee as to the aspect ratio of the preview images shown on the user
tab of the settings modal, these widgets may appear wrong or go off the
screen a bit on smaller devices.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
The target display size of these columns is changed to 'xs' so they
don't wrap when viewed on smaller displays.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
This is to make the user experience more uniform, but is in-part to
mitigate a bug.
Since the auto issue showing has been added, this will cause the newly
closed issue to try and come up after we advance it past the last stage.
Since we have just closed the issue, its modal is in a weird state.
This informational notice modal prevents that broken issue modal from
displaying.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
When submitting the iss-mesg-add form and reloading the page, this line
will inform the stdpage footer javascript to automatically show the
affected issue modal.
This is _really_ helpful when trying to make multiple POSTs to an issue,
as the user is not taken out of the issue modal between each POST,
requiring them to visually find it again in the list of open tickets.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
If the $_SCROTT['AUTO_MODAL'] global is defined, it will refer to a
modal's DOM ID to be shown once the page loads. Currently, an error
state will supersede this and display the notice modal instead.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Since there is little text labeling things in the navbar, I have added
popup tooltips to each button (link) and dropdown menu.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
For the Scrott alpha, there is no way for assignees to signoff their
work. As a workaround, I am now just always signing off somebody when
they close an issue. This will slightly improve the user experience for
now, but I'm leaving the real fix for the beta.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Previously, you could log into an account named "MyAccount" by entering
either "myaccount" or "MYACCOUNT" (or any other case conbination). This
patch requires logins to succeed with case-sensitive usernames.
I have also decided, that I wish to disallow duplicate usernames if the
only difference between them is case. There can only be _ONE_
"myaccount" (of any case combination), even if he's known canonically as
"MyAccount". This particular functionality is not changed by this
patch. I'm just noting it as a deliberate decision not to change, by
policy.
Note that _passwords_ always have been, and still are, case-sensitive.
They are salted and hashed before they even hit the database.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Previously, issues on pads owned by a group (rather than by a user)
would incorrectly present options for user assignment. It would show
the group as a member of the list, misleadingly with the user icon to
the left of it.
This patch uses the new agent::getContainedUsers() function to resolve
the pad's owner to an array of users accessible via the owner 'agent'.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
This function helps further abstract agents. We want to get all users
belonging to a pad that is owned by a group, or more specifically - an
agent. If this agent is a user, that user is our only user to collect.
If this agent is a group, we want to capture _it's_ owner along with all
of it's members.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Disallow posting to closed issues. This is a temporary soultion and
will likely be reverted in the future. The main reason this is being
done now is because this form, as written, depends on an open issue
state.
To aid diff comprehension, note that most lines are only indented one
level, the code area affected is wrapped in a PHP if.
Note that form submissions are still allowed for closed issues. This
commit only disable the _displaying_ of the form.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
This view is routable from app/<pad_guid>/closed. It is a separate view
for displaying the closed issues of a pad. index.php as well as the pad
model code is also updated to support this view.
This view currently *does not* support paging. This will very likely be
added in the future.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
This returns an array of all issues which directly parent the pad
object. These are the pad's closed issues. Most recently closed issues
are first in the array.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
When closing issues, we were using a malformed format string. The 's'
from the '%s' was missing.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
To be more compliant with the HTTP standard, we will _actually_ return
'404 Not Found' status when we decide to show the 404 view. A status of
'200 OK' is misleading and incorrect.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
The 'iss-mesg-add' form now handles when the 'assIssue' submission is
sent. This is the only submission of this form that looks at the
(usually hidden) 'assignee' dropdown field, which has been made a
required field however.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
This allows users to add assignees when posting to an issue. A dropdown
is revealed which contains the pad owner and all members.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Handler now includes logic for optionally advancing the issue through
the pipeline. If this happens, 'closeIssue' (for example) will not be
checked, as only one submission can be used.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
I was failing to assert user has modify permissions for the issue.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
The 'iss-mesg-add' form will now allow a mesg to be omitted, since it
will also be handling other events. These events are part of the same
form since the UI allows users to post a message and trigger these other
actions at the same time. We now only create a mesg object if a mesg is
given.
Note that an attachment requires a message. IE: any attachment is
ignored if no message is created.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
If this submit button is used, the message will be posted as usual, then
the issue will be moved to the next stage in the pipeline.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
I'm going to be adding another button down here in the btn-group (more
later). So to make room, I'm removing the text on these buttons,
leaving only the icons. The text will instead be a tooltip, visible
when the button is hovered.
In the case of the 'Close issue' button, it is changed from btn-success
to btn-default. I will tweak colors once this portion of the UI
matures. For now, I don't want the rainbow in my face.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Adds 'image/x-ms-bmp' as an allowed mimetype for images, and is
equivalent to 'image/bmp'. The image module is also updated to expect
this new type.
I found an image of mine that, when uploaded, PHP thought was
'image/bmp', so it was allowed. However, when cropping, PHP though it
was 'image/x-ms-bmp' and failed to lookup a loading/writing function.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Adds 'image/bmp' as an allowed mimetype for images. The image module is
also updated to expect this new type.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Adds 'image/gif' as an allowed mimetype for images. The image module is
also updated to expect this new type. For background images, animated
gifs will work properly. For head images, the cropping process
truncates the image to only one frame; this is probably for the best.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
In preparation for the release, I'm renaming this directory since
'examples' is confusion and misleading. Really this directory just
holds some old code that needs re-integrated, so I name it 'todo'.
Signed-off-by: Malf Furious <m@lfurio.us>
|