Rename confusing method name and add correctly functioning one.
This fixes portable mode when running from a jar only.
Change-Id: I8272e2ff2fe1c6d88d6f6c41c859eb2d2124e04c
Issue: CLIENT-496
Reviewed-on: http://gerrit.dmdirc.com/3402
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
Use the right method when checking bundled plugins
Certain PluginManager methods will read plugin info from disk,
while others just use cached info. There's no obvious way to
tell which is which, and we ended up calling the wrong one.
Now we actually know about plugins that're installed, we can
extract the bundled ones. Yay.
Conflicts:
src/com/dmdirc/ClientModule.java
Change-Id: I995f0a5bec8ef06db887127119d4f0f9209bf4bf
Fixes-Issue: CLIENT-498
Reviewed-on: http://gerrit.dmdirc.com/3374
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Reviewed-on: http://gerrit.dmdirc.com/3375
Handle errors when creating defaults dirs properly
If we can't create the defaults directory it's a Very Bad Sign™, and
we should bail out immediately. It probably means the user is running
from a directory they don't have write access to, and if we can't
write defaults then the client isn't going to work very well at all.
Previous behaviour tried to carry on and failed a precondition check
and died even more painfully.
Change-Id: Id72fb63c014939ac384ee03b9eb0f14baf6e18fe
Fixes-Issue: CLIENT-488
Reviewed-on: http://gerrit.dmdirc.com/3335
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Reviewed-on: http://gerrit.dmdirc.com/3348
If we pass required = false then the config manager will happily
return null if it encounters a disabled optional setting. We
don't accept null so that's a bit daft.
Change-Id: I37934ba15877b8c0caf188b5f80e3353c8555134
Fixes-Issue: CLIENT-491
Reviewed-on: http://gerrit.dmdirc.com/3333
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Reviewed-on: http://gerrit.dmdirc.com/3347
The current implementation has its own low priority thread pool.
We're already executing it in a thread ourselves, so just send
them right away.
I think this causes us to not log fatal errors to Sentry sometimes.
Conflicts:
src/com/dmdirc/logger/ProgramError.java
Change-Id: Ib4a105711e71be254e73b9aad1b244fc59fc79a4
Reviewed-on: http://gerrit.dmdirc.com/3328
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Reviewed-on: http://gerrit.dmdirc.com/3346
Previously /mode #channel failed with an exception trying to
get the arguments. Now it works as expected.
Also fix an issue with silence chars not being propagated to
channel command - /.topic #channel will now work silently.
Change-Id: Ifa314b0daf81a30003d5879b9484e759668bc763
Fixes-Issue: CLIENT-455
Reviewed-on: http://gerrit.dmdirc.com/3208
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
This happens if everything goes OK, but either the constructor
can't be injected or the constructor lobs an exception.
Both of these are some kind of app error, rather than user error.
Change-Id: I90ba613b9ecbbad0bf64df2b325667a0fa0076d1
Fixes-Issue: CLIENT-444
Reviewed-on: http://gerrit.dmdirc.com/3180
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
This allows plugin modules to define their own directory types
while still using the @DirectoryType qualifier, rather than having
to define a new qualifier.
Change-Id: I4809c94303a10a9e412615be4f8d10a086ace92b
Reviewed-on: http://gerrit.dmdirc.com/3176
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
- Don't grab an IdentityManager, instead pass one in as soon as it's created.
- Pass config into ProgramError instead of pulling from a singleton.
- Ensure errors created before the IdentityManager is ready are sent/saved
per the user's config.
Change-Id: I4793f2a030d2d341ce8f04db47ae3614a1de076c
Reviewed-on: http://gerrit.dmdirc.com/3129
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Introduce a new util class for getting client info
This replaces the old ui.core.util.Info class, and allows access
to the version information without going through the config
system.
Change-Id: I4b372b62f6fd5adcfa21f0793ec73df7bf2633b6
Reviewed-on: http://gerrit.dmdirc.com/3120
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
- Upgrade to the latest version, fix compilation errors.
- Include the raven build properties file so it knows its version
- Set up a factory when we initialise the Error Manager
(in debug builds this works because of a SPI entry in the raven jar)
- Bundle more bits of guava used by raven
Change-Id: I3c858936b62e4a089b19b358a5d8930c1fc54b04
Reviewed-on: http://gerrit.dmdirc.com/3119
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Makes more sense to just bite the bullet and have FrameContainers
require a URLBuilder so they can make an IconManager, rather than
have every caller pass one in.
Also removes the silly map which would've only ever had one entry,
and stops us making 19 million icon managers for giggles.
Change-Id: I3b95185db3f7e6ef09a6c4f91cd28c88d2c601ba
Depends-On: Ida8887d4065db2f26080986a4c426c6de700d65c
Reviewed-on: http://gerrit.dmdirc.com/3107
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
The highest level command parser now generates the context, regardless of
who executes it. So a global command executed in a channel window will get
a ChannelCommandContext, whereas before it got a plain CommandContext.
Commands that don't expect other contexts will work as before, because the
inheritence tree of contexts mirorrs the command parser (e.g., if a
ServerCommandParser executes a command, you can guarantee its context will
be a sublcass of ServerCommandContext).
This fixes the /set command never allowing --channel.
Change-Id: I86e3c9f0bfedecb5c6b538e2309528c9e71f5eb3
Fixes-issue: CLIENT-424
Reviewed-on: http://gerrit.dmdirc.com/3085
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Make the IdentityManager responsible for adding the initial
identities to a ConfigManager.
Change-Id: I91520e208b06d40385729b4d7adee8bb7f1141cb
Reviewed-on: http://gerrit.dmdirc.com/3083
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
This allows things to create ConfigManagers without being exposed
to the underlying implementation.
Change-Id: I50e916909d83c6bd95dfbd1d61c446caade3ec02
Reviewed-on: http://gerrit.dmdirc.com/3079
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
I think this fixes plugins not updating - the PluginManager was
using an UpdateManager while the rest of the client used a
CachingUpdateManager, which because of the way the bindings are
implemented were backed by different DMDircUpdateManagers.
Change-Id: Ic609631f7152475a0370326197fe25b82efc377e
Reviewed-on: http://gerrit.dmdirc.com/3067
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Keep the existing hackery until the plugins that call it are updated.
Change-Id: Ia7e89f9d3de662451ccbec04eabf453478e256c1
Reviewed-on: http://gerrit.dmdirc.com/3028
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>