]> git.mxchange.org Git - quix0rs-gnu-social.git/log
quix0rs-gnu-social.git
9 years agoUse 'StartpageAction' to determine what to show on /
Mikael Nordfeldth [Thu, 29 Jan 2015 19:48:49 +0000 (20:48 +0100)]
Use 'StartpageAction' to determine what to show on /

9 years ago/main/all will give a network-wide public stream
Mikael Nordfeldth [Wed, 28 Jan 2015 19:25:39 +0000 (20:25 +0100)]
/main/all will give a network-wide public stream

Qvitter had implemented this as a "PublicAndExternal" stream, but
I figured we might as well put it into the GNU social core.

9 years ago'zone' is a valid top domain
Mikael Nordfeldth [Tue, 27 Jan 2015 14:07:00 +0000 (15:07 +0100)]
'zone' is a valid top domain

We should get another form of URL identifier for interpreting links on notices...
It was hard editing this line in vim even, because of wide, multibyte characters...

9 years agoDefault value false for $force on Ostatus updateAvatar
Mikael Nordfeldth [Tue, 27 Jan 2015 13:14:24 +0000 (14:14 +0100)]
Default value false for $force on Ostatus updateAvatar

9 years agoTest in Ostatus_profile if avatar is an image before writing to filesystem
Mikael Nordfeldth [Tue, 27 Jan 2015 12:49:26 +0000 (13:49 +0100)]
Test in Ostatus_profile if avatar is an image before writing to filesystem

This clears one FIXME...

We also fix HTTPClient::quickGet() (and a related call in OStatus testfeed.php).

9 years agoHandle groups better in Ostatus_profile->updateAvatar
Mikael Nordfeldth [Tue, 27 Jan 2015 12:38:11 +0000 (13:38 +0100)]
Handle groups better in Ostatus_profile->updateAvatar

9 years agoa group's Profile will now correctly update group original avatar
Mikael Nordfeldth [Tue, 27 Jan 2015 12:37:50 +0000 (13:37 +0100)]
a group's Profile will now correctly update group original avatar

9 years agoCorrected message in NoSuchGroupException
Mikael Nordfeldth [Tue, 27 Jan 2015 12:37:35 +0000 (13:37 +0100)]
Corrected message in NoSuchGroupException

9 years agoOStatusSub should use inherent attributes
Mikael Nordfeldth [Tue, 27 Jan 2015 12:23:49 +0000 (13:23 +0100)]
OStatusSub should use inherent attributes

No need to make several common_current_user calls and then getProfile
directly after that, since we have stuff like $this->scoped.

9 years agoDefault textlimit for notices is now 1000 chars
Mikael Nordfeldth [Mon, 26 Jan 2015 22:32:08 +0000 (23:32 +0100)]
Default textlimit for notices is now 1000 chars

9 years agoOstatus_profile smarter test if avatar exists
Mikael Nordfeldth [Mon, 26 Jan 2015 16:43:09 +0000 (17:43 +0100)]
Ostatus_profile smarter test if avatar exists

If you accidentally deleted a remote user's avatar from filesystem,
it'd take until its URL was updated that you got it back. Now it
happens if the local avatar file doesn't exist.

9 years agoForce updateAvatar if desired
Mikael Nordfeldth [Mon, 26 Jan 2015 16:25:46 +0000 (17:25 +0100)]
Force updateAvatar if desired

9 years agoImproved animated image thumbnail freedom of choice
Mikael Nordfeldth [Mon, 26 Jan 2015 15:33:39 +0000 (16:33 +0100)]
Improved animated image thumbnail freedom of choice

Default is now to take still thumbnails of animated GIFs and then
show them as originals in an AttachmentListItem. The still frames
are mostly used with front-ends like qvitter.

9 years agoDifferentiate on group and user for WebFinger data
Mikael Nordfeldth [Mon, 26 Jan 2015 11:10:27 +0000 (12:10 +0100)]
Differentiate on group and user for WebFinger data

9 years agoOnly report local URLs for local groups
Mikael Nordfeldth [Mon, 26 Jan 2015 11:10:15 +0000 (12:10 +0100)]
Only report local URLs for local groups

9 years agoUnnecessarily spammy logs for getThumbnail()
Mikael Nordfeldth [Mon, 26 Jan 2015 00:16:28 +0000 (01:16 +0100)]
Unnecessarily spammy logs for getThumbnail()

When trying to create thumbnails for remote media that don't have the
filename field set, we got a lot of output in the debug log.

9 years agoAnimated GIF restructuring, ImageMagick only used for resizing animated sequences.
Mikael Nordfeldth [Sun, 25 Jan 2015 21:56:55 +0000 (22:56 +0100)]
Animated GIF restructuring, ImageMagick only used for resizing animated sequences.

9 years agoNo need for ImageMagick to detected animated GIF
Mikael Nordfeldth [Sun, 25 Jan 2015 21:45:25 +0000 (22:45 +0100)]
No need for ImageMagick to detected animated GIF

9 years agoNo reason to stop the event
Mikael Nordfeldth [Sun, 25 Jan 2015 21:32:01 +0000 (22:32 +0100)]
No reason to stop the event

9 years agoMaybe we can detect animated files in core
Mikael Nordfeldth [Sun, 25 Jan 2015 21:10:57 +0000 (22:10 +0100)]
Maybe we can detect animated files in core

9 years agoFile_thumbnail uses file_id as PRI
Mikael Nordfeldth [Sun, 25 Jan 2015 12:13:01 +0000 (13:13 +0100)]
File_thumbnail uses file_id as PRI

9 years agoManaged_DataObject->updateWithKeys throws its own exception
Mikael Nordfeldth [Sun, 25 Jan 2015 11:45:26 +0000 (12:45 +0100)]
Managed_DataObject->updateWithKeys throws its own exception

9 years agoupdateWithKeys reworked to more reliable execution
Mikael Nordfeldth [Sun, 25 Jan 2015 11:29:28 +0000 (12:29 +0100)]
updateWithKeys reworked to more reliable execution

Throws exception on UPDATE fails.

9 years agoupdateKeys -> updateWithKeys (w/ functionality)
Mikael Nordfeldth [Sun, 25 Jan 2015 11:07:26 +0000 (12:07 +0100)]
updateKeys -> updateWithKeys (w/ functionality)

9 years agoupdateKeys (for classes with PRI id) now in Managed_DataObject
Mikael Nordfeldth [Sun, 25 Jan 2015 10:58:35 +0000 (11:58 +0100)]
updateKeys (for classes with PRI id) now in Managed_DataObject

9 years agoAttachment_thumbnailAction is a ManagedAction (doPreparation)
Mikael Nordfeldth [Sun, 25 Jan 2015 10:23:04 +0000 (11:23 +0100)]
Attachment_thumbnailAction is a ManagedAction (doPreparation)

9 years agoRegexp for Oembed domain matching
Mikael Nordfeldth [Sun, 25 Jan 2015 10:18:57 +0000 (11:18 +0100)]
Regexp for Oembed domain matching

9 years ago1.1.3-beta2
Mikael Nordfeldth [Sun, 25 Jan 2015 01:43:29 +0000 (02:43 +0100)]
1.1.3-beta2

9 years agoDisplay attached inline images on its own row
Mikael Nordfeldth [Sun, 25 Jan 2015 01:42:02 +0000 (02:42 +0100)]
Display attached inline images on its own row

9 years agoRemote thumbnail fetching from trusted sources
Mikael Nordfeldth [Sun, 25 Jan 2015 01:34:40 +0000 (02:34 +0100)]
Remote thumbnail fetching from trusted sources

So far we only trust i.ytimg.com for YouTube thumbnails, but you can
configure the Oembed plugin in config.php by setting the plugin's class vars:

   addPlugin('Oembed', array('param'=>'value', ...));

Some might think this is a security risk or privacy invasive, but as the Oembed
script is already calling remote sites to get information _about_ linked media,
the way to stop it is to disable the Oembed plugin. However it is not certain
it has been migrated out into a plugin properly yet. But try it if you want to.

9 years agoPrimarily the getUrl call is fixed. Also some new class calls
Mikael Nordfeldth [Sun, 25 Jan 2015 01:32:57 +0000 (02:32 +0100)]
Primarily the getUrl call is fixed. Also some new class calls

The getUrl call would think that a File_thumbnail object was the child
of a local File if its filename was set. That has been true up to recent
development code where a File_thumbnail can have a 'filename' value,
but the original File does not. Only look at the File object to indicate
whether it's a local or remote file!

9 years agoFile_oembed::byFile to avoid littering with getKV
Mikael Nordfeldth [Sun, 25 Jan 2015 01:32:04 +0000 (02:32 +0100)]
File_oembed::byFile to avoid littering with getKV

9 years agoFile class improved debugging and filename generation
Mikael Nordfeldth [Sun, 25 Jan 2015 01:27:37 +0000 (02:27 +0100)]
File class improved debugging and filename generation

In some development code I noticed that when handling File objects without
filename values, there would be problems calling getPath and such.

The width and height value testing will be validated later anyway, and by
removing such a narrow test we can use events to generate thumbnails of
media formats supported by recently added plugins on demand.

9 years agobarename wasn't used, let's rename it filename and use it
Mikael Nordfeldth [Sun, 25 Jan 2015 01:27:02 +0000 (02:27 +0100)]
barename wasn't used, let's rename it filename and use it

9 years agoAttachmentAction is a ManagedAction, don't implement handle()
Mikael Nordfeldth [Sun, 25 Jan 2015 01:25:28 +0000 (02:25 +0100)]
AttachmentAction is a ManagedAction, don't implement handle()

This also gives us more freedom in Attachment_thumbnailAction for example

9 years agoLet's not risk mixing two object types up
Mikael Nordfeldth [Sun, 25 Jan 2015 01:24:41 +0000 (02:24 +0100)]
Let's not risk mixing two object types up

9 years agoStore remote magicsig public keys locally
Mikael Nordfeldth [Sat, 24 Jan 2015 12:06:09 +0000 (13:06 +0100)]
Store remote magicsig public keys locally

9 years agoAdded Magicsig onProfileDeleteRelated
Mikael Nordfeldth [Sat, 24 Jan 2015 11:47:39 +0000 (12:47 +0100)]
Added Magicsig onProfileDeleteRelated

9 years agoDocumentation update (clarifying need for php5-gmp in comment)
Mikael Nordfeldth [Sat, 24 Jan 2015 11:22:29 +0000 (12:22 +0100)]
Documentation update (clarifying need for php5-gmp in comment)

9 years agoconst'ifying bits and sigalg
Mikael Nordfeldth [Sat, 24 Jan 2015 11:08:05 +0000 (12:08 +0100)]
const'ifying bits and sigalg

Also we should move away from 1024 bit keys as soon as we can.

9 years agoDocumentation update for ImageMagick
Mikael Nordfeldth [Sat, 24 Jan 2015 10:52:40 +0000 (11:52 +0100)]
Documentation update for ImageMagick

9 years agoNo need to pre-generate thumbnails anymore
Mikael Nordfeldth [Sat, 24 Jan 2015 10:38:10 +0000 (11:38 +0100)]
No need to pre-generate thumbnails anymore

Qvitter fixed their queet-expand-view! By not making thumbnails on upload
we'll save a bit of time and resources, saving the post much quicker.

9 years agoresize_animated declared public in ImageMagickPlugin
Mikael Nordfeldth [Sat, 24 Jan 2015 10:36:02 +0000 (11:36 +0100)]
resize_animated declared public in ImageMagickPlugin

9 years agoDefault value for max thumbnail size increased
Mikael Nordfeldth [Fri, 23 Jan 2015 14:04:54 +0000 (15:04 +0100)]
Default value for max thumbnail size increased

Because people have high resolution screens nowadays ;)

9 years agoHack to force thumbnail generation directly on upload
Mikael Nordfeldth [Fri, 23 Jan 2015 13:52:02 +0000 (14:52 +0100)]
Hack to force thumbnail generation directly on upload

Remove this when we know that third party frontends like Qvitter have
improved attachment handling.

9 years agoMediaFile->getFile() instead of accessing fileRecord
Mikael Nordfeldth [Fri, 23 Jan 2015 13:46:47 +0000 (14:46 +0100)]
MediaFile->getFile() instead of accessing fileRecord

9 years agoscoped instead of auth_user->getProfile()
Mikael Nordfeldth [Fri, 23 Jan 2015 13:32:39 +0000 (14:32 +0100)]
scoped instead of auth_user->getProfile()

9 years agoMapstractionPlugin didn't handle notices without URLs
Mikael Nordfeldth [Fri, 23 Jan 2015 11:41:51 +0000 (12:41 +0100)]
MapstractionPlugin didn't handle notices without URLs

9 years agoRealtimePlugin didn't handle notices without URLs
Mikael Nordfeldth [Fri, 23 Jan 2015 11:40:37 +0000 (12:40 +0100)]
RealtimePlugin didn't handle notices without URLs

9 years agoAllow fallback to local URL on Notice->getUrl()
Mikael Nordfeldth [Fri, 23 Jan 2015 11:39:08 +0000 (12:39 +0100)]
Allow fallback to local URL on Notice->getUrl()

To avoid verbose exception handling in other parts of the code.

9 years agoPrefer local URLs for all locally generated notices.
Mikael Nordfeldth [Fri, 23 Jan 2015 11:37:27 +0000 (12:37 +0100)]
Prefer local URLs for all locally generated notices.

9 years agouser is a protected property in UAS/AtomUserNoticeFeed
Mikael Nordfeldth [Fri, 23 Jan 2015 10:58:11 +0000 (11:58 +0100)]
user is a protected property in UAS/AtomUserNoticeFeed

The bug made it impossible to backup with Favorite ;)
Thanks postblue for reporting.

9 years agoNon-ajax file submissions should throw NoUploadedMediaException
Mikael Nordfeldth [Thu, 22 Jan 2015 11:38:57 +0000 (12:38 +0100)]
Non-ajax file submissions should throw NoUploadedMediaException

9 years agossl_verify_host option in config (default is true)
Mikael Nordfeldth [Thu, 22 Jan 2015 11:21:57 +0000 (12:21 +0100)]
ssl_verify_host option in config (default is true)

9 years agoAdded a quickGet in HTTPClient
Mikael Nordfeldth [Thu, 22 Jan 2015 11:16:01 +0000 (12:16 +0100)]
Added a quickGet in HTTPClient

9 years agoReplace file_get_contents with HTTPClient in testfeed
Mikael Nordfeldth [Thu, 22 Jan 2015 10:30:36 +0000 (11:30 +0100)]
Replace file_get_contents with HTTPClient in testfeed

9 years agoMerge branch 'nightly' of gitorious.org:social/mainline into nightly
Mikael Nordfeldth [Wed, 21 Jan 2015 22:45:49 +0000 (23:45 +0100)]
Merge branch 'nightly' of gitorious.org:social/mainline into nightly

9 years agoEnable AntiBrute by default.
Mikael Nordfeldth [Wed, 21 Jan 2015 22:43:04 +0000 (23:43 +0100)]
Enable AntiBrute by default.

9 years agoAntiBrute plugin, delay + log multiple fail logins
Mikael Nordfeldth [Wed, 21 Jan 2015 22:35:48 +0000 (23:35 +0100)]
AntiBrute plugin, delay + log multiple fail logins

9 years agoAdd simpler delete preference for Profile and User
Mikael Nordfeldth [Wed, 21 Jan 2015 21:59:15 +0000 (22:59 +0100)]
Add simpler delete preference for Profile and User

9 years agoEndCheckPassword should run after Start even if pre-exited
Mikael Nordfeldth [Wed, 21 Jan 2015 21:31:05 +0000 (22:31 +0100)]
EndCheckPassword should run after Start even if pre-exited

StartCheckPassword can exit beforehand either with success or failure,
and we want EndCheckPassword to check for stuff like failed login attempts.

9 years agoOnly check if a nickname exists if site is non-private
Mikael Nordfeldth [Wed, 21 Jan 2015 21:06:27 +0000 (22:06 +0100)]
Only check if a nickname exists if site is non-private

9 years agoOnly check if a nickname exists if site is non-private
Mikael Nordfeldth [Wed, 21 Jan 2015 21:06:27 +0000 (22:06 +0100)]
Only check if a nickname exists if site is non-private

9 years agoMediaFile upload simplifying
Mikael Nordfeldth [Wed, 21 Jan 2015 16:32:57 +0000 (17:32 +0100)]
MediaFile upload simplifying

9 years agoGIF support (I know you love it)
Mikael Nordfeldth [Wed, 21 Jan 2015 15:43:46 +0000 (16:43 +0100)]
GIF support (I know you love it)

make sure you have php5-imagick and then enable with addPlugin('ImageMagick')

9 years agoNewmessageAction lacked the $form property
Mikael Nordfeldth [Wed, 21 Jan 2015 12:02:46 +0000 (13:02 +0100)]
NewmessageAction lacked the $form property

9 years agoxcache plugin is not recommended anymore
Mikael Nordfeldth [Mon, 19 Jan 2015 19:36:29 +0000 (20:36 +0100)]
xcache plugin is not recommended anymore

9 years agoThese were meant for lower classes
Mikael Nordfeldth [Sun, 18 Jan 2015 20:13:52 +0000 (21:13 +0100)]
These were meant for lower classes

9 years agoRegistration coding cleanup
Mikael Nordfeldth [Sun, 18 Jan 2015 12:06:12 +0000 (13:06 +0100)]
Registration coding cleanup

Mainly there was an Undefined variable: code in apiaccountregister.php

9 years agoBad variable reference (needed $this->)
Mikael Nordfeldth [Sun, 18 Jan 2015 11:56:17 +0000 (12:56 +0100)]
Bad variable reference (needed $this->)

9 years agoPHP BUG??? Cannot figure out why this throws warning
Mikael Nordfeldth [Sun, 18 Jan 2015 11:52:33 +0000 (12:52 +0100)]
PHP BUG??? Cannot figure out why this throws warning

I kept getting this on "Quitter EspaƱa" (which seems to be the name
causing the commotion, as it's part of this sprintf algorithm):

   PHP Warning:  sprintf(): Argument number must be greater than zero
    in /srv/www/vhosts/quitter.es/%/htdocs/lib/action.php on line 1175

I'll just make it quiet for now so it doesn't spam other sites with
UTF-8 characters in their name (if that's what's causing this).

9 years agoholy crap, file_put_contents got args in wrong order
Mikael Nordfeldth [Sun, 18 Jan 2015 01:57:08 +0000 (02:57 +0100)]
holy crap, file_put_contents got args in wrong order

9 years agoKeep the old error message on updateAvatar
Mikael Nordfeldth [Sun, 18 Jan 2015 01:48:39 +0000 (02:48 +0100)]
Keep the old error message on updateAvatar

9 years agoUse HTTPClient to download avatar
Mikael Nordfeldth [Sun, 18 Jan 2015 01:44:55 +0000 (02:44 +0100)]
Use HTTPClient to download avatar

also make updateAvatar public so we can call it from update_ostatus_profile.php

9 years agoLoose_Ostatusprofile::updateAvatar was identical to Ostatus_profile
Mikael Nordfeldth [Sun, 18 Jan 2015 01:39:08 +0000 (02:39 +0100)]
Loose_Ostatusprofile::updateAvatar was identical to Ostatus_profile

9 years agoA bit more readable code.
Mikael Nordfeldth [Sun, 18 Jan 2015 00:43:30 +0000 (01:43 +0100)]
A bit more readable code.

9 years agoDon't hide the compose buttons in input_form_nav
Mikael Nordfeldth [Sat, 17 Jan 2015 23:18:28 +0000 (00:18 +0100)]
Don't hide the compose buttons in input_form_nav

9 years agoNo need to say we're finished working
Mikael Nordfeldth [Sat, 17 Jan 2015 12:38:59 +0000 (13:38 +0100)]
No need to say we're finished working

9 years agoIcons slightly too large, broke the line!
Mikael Nordfeldth [Sat, 17 Jan 2015 11:09:50 +0000 (12:09 +0100)]
Icons slightly too large, broke the line!

At least on quitter.es

9 years agotwitPic no longer exists/is active
Mikael Nordfeldth [Sat, 17 Jan 2015 11:07:57 +0000 (12:07 +0100)]
twitPic no longer exists/is active

9 years agospring cleaning in Oembed helper list
Mikael Nordfeldth [Sat, 17 Jan 2015 11:06:08 +0000 (12:06 +0100)]
spring cleaning in Oembed helper list

Fixed http -> https and removed some dead services

9 years agoneo-quitter theme from hannesmannerheim
Mikael Nordfeldth [Fri, 16 Jan 2015 22:27:29 +0000 (23:27 +0100)]
neo-quitter theme from hannesmannerheim

Hopefully we'll maintain it here rather than on the origin repository:
https://github.com/hannesmannerheim/neo-quitter

9 years agoSpacing between .u-photo and .p-name in notices
Mikael Nordfeldth [Fri, 16 Jan 2015 15:36:53 +0000 (16:36 +0100)]
Spacing between .u-photo and .p-name in notices

9 years ago...and don't hide it at all since we don't have a placeholder now
Mikael Nordfeldth [Fri, 16 Jan 2015 11:10:13 +0000 (12:10 +0100)]
...and don't hide it at all since we don't have a placeholder now

9 years agoDon't close main notice input on init if composing
Mikael Nordfeldth [Fri, 16 Jan 2015 11:00:45 +0000 (12:00 +0100)]
Don't close main notice input on init if composing

9 years agoInitially hide input forms on the top
Mikael Nordfeldth [Fri, 16 Jan 2015 10:19:22 +0000 (11:19 +0100)]
Initially hide input forms on the top

The status input element would attract focus after page load, meaning
if you'd scrolled down a bit then you would be rocketed back up again!

9 years agoversion push, we've got some HTML/CSS changes
Mikael Nordfeldth [Fri, 16 Jan 2015 00:12:19 +0000 (01:12 +0100)]
version push, we've got some HTML/CSS changes

9 years agoAdd nohub config setting to allowed non-PuSH feeds
Mikael Nordfeldth [Fri, 16 Jan 2015 00:10:55 +0000 (01:10 +0100)]
Add nohub config setting to allowed non-PuSH feeds

9 years agoremoved debugging lines for FeedPoller
Mikael Nordfeldth [Thu, 15 Jan 2015 20:14:07 +0000 (21:14 +0100)]
removed debugging lines for FeedPoller

9 years agoRSS feed items did not get a type assigned
Mikael Nordfeldth [Thu, 15 Jan 2015 20:13:21 +0000 (21:13 +0100)]
RSS feed items did not get a type assigned

9 years agoFeedPoller plugin, for hubless feeds
Mikael Nordfeldth [Wed, 14 Jan 2015 00:16:28 +0000 (01:16 +0100)]
FeedPoller plugin, for hubless feeds

9 years agoEnsuring unknown profiles in salmon slaps work again
Mikael Nordfeldth [Tue, 13 Jan 2015 12:43:18 +0000 (13:43 +0100)]
Ensuring unknown profiles in salmon slaps work again

9 years agoBetter test to see if uploaded media exists
Mikael Nordfeldth [Tue, 13 Jan 2015 12:22:23 +0000 (13:22 +0100)]
Better test to see if uploaded media exists

9 years agoAbort on failure instead of return early success
Mikael Nordfeldth [Tue, 13 Jan 2015 12:18:57 +0000 (13:18 +0100)]
Abort on failure instead of return early success

9 years agoThose variables were set for a reason
Mikael Nordfeldth [Tue, 13 Jan 2015 11:56:56 +0000 (12:56 +0100)]
Those variables were set for a reason

The ->_subscription variable etc. were set because they were used later.

9 years agogetUrl() fixed for File and File_thumbnail to correct http/https stuff and other
Mikael Nordfeldth [Mon, 12 Jan 2015 18:22:10 +0000 (19:22 +0100)]
getUrl() fixed for File and File_thumbnail to correct http/https stuff and other

9 years agoWhen called in offline queue, File::url was HTTP
Mikael Nordfeldth [Mon, 12 Jan 2015 17:56:19 +0000 (18:56 +0100)]
When called in offline queue, File::url was HTTP

Despite having the site configured "always" for HTTPS, File generated
thumbnails and such with HTTP urls.

9 years agonewnotice action always returns the notice's URL
Mikael Nordfeldth [Mon, 12 Jan 2015 11:13:34 +0000 (12:13 +0100)]
newnotice action always returns the notice's URL

Maybe could return conversation URL, but this will do for now.
Courtesy of the Javascript haters.

9 years agoMake sure we add ajax=1 to inputform if using javascript
Mikael Nordfeldth [Mon, 12 Jan 2015 11:13:03 +0000 (12:13 +0100)]
Make sure we add ajax=1 to inputform if using javascript

9 years agoArrayWrapper spookiness, must make sure it's a Notice there...
Mikael Nordfeldth [Mon, 12 Jan 2015 11:06:19 +0000 (12:06 +0100)]
ArrayWrapper spookiness, must make sure it's a Notice there...