Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pickeduname v5 patch - no version setting #298

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pickeduname
Copy link

@pickeduname pickeduname commented May 16, 2021

@MCMrARM I pushed v5 patch with most of your suggestions implemented, with no version code or README.md edits in the push.

I had to wipe the v4 repo, this is a new one, so nothing to revert on v4, just forget it. Some notes, addressing your comments in #296 #297 etc.:

  1. isBad is now an int, as are all former Integers I used. isBad is not transient and is saved to exported zip settings backup, this is useful, it allows people like me to edit the re's in the zip file, seeing better which one is bad.
  2. Every string is now in strings.xml. Pluralization was handled using the Objects: syntax which is suggested acceptable by Android documentation on pluralization. Ellipsization was present in the form you mentioned in comments, in the ui .xml file, and is not changed by me, so I removed my unsightly ellipsization in the Java code.
  3. The code around compilePattern() etc. is redone as you suggested, losing my C-ish code. I refactored a bit and moved the pattern checker into config/ServerConfigData.java.
  4. Re: warning user about saved bad re's: this occurs once per server connect(), for the entries for that server alone, and not for all of them. I tested it, it is just a Toast, not obnoxious, not modal, does not slow progress or connection speed. I like it the way it is.
  5. Code quality issues were addressed everywhere, I hope. I checked twice so far.

The code in the patch is known to build a working debug APK, tested on one device so far, with the added new features.

The patch does not add any warnings to the build process, the build had 100 warnings before patching, and still has as many. None are in sections I added or patched, that I can see.

Commit pickeduname-patch-v5-noversion : 7afa902d591d8d8f463fa4a56801a7cbe97888a4

@MCMrARM
Copy link
Owner

MCMrARM commented May 21, 2021

This is mostly LGTM.

  • The CTCP option should be moved to another PR.
  • The toast with the number of invalid ignore list entries should be removed since it can show at random times when reconnecting to the IRC server in the background, which is not good.

@pickeduname
Copy link
Author

pickeduname commented May 21, 2021 via email

@MCMrARM
Copy link
Owner

MCMrARM commented May 21, 2021

LGTM sounds good until you continue with remarks :-)

Well code-wise this change is okay.

Why move the CTCP VERSION mod to another PR?

Since I am not sure if we want that feature in the client in the first place and a discussion is needed beforehand. If you want to we can do that now, but in general a better practice is to keep a single PR or commit for a single change.

[..] bad re's, which SHOULD be deleted or corrected by the user SOON

Why? I do not see any particular reason to rush the user to fix their own garbage, especially in a minor feature like ignore list. This is not stopping them from using the app in any way and should not cause any stability or performance issues.

Is anyone else working on filtering/etc code for Revolution IRC?

Not that I am aware of.

Would not like to fork chatlib too though.

It is recommended to compile from sources both of the components when contributing IRC-related changes to Revolution IRC. and create two separate PRs, mentioning that they are related.

@pickeduname
Copy link
Author

pickeduname commented May 21, 2021 via email

@MCMrARM
Copy link
Owner

MCMrARM commented May 21, 2021

Re: single PR per feature: I did not realize this would be a requirement.

This is generally the norm for most projects, since it poses a problem where the maintainer has to accept two unrelated changes, and might not agree with one of these.

Re: bad regexp toast on connect(): As I explained, it is not a nagging issue, visually. I tested it several times and it does not get in the way even during reconnects. It appears and disappears, not disruptive. As to why nag user about it, the user needs to input valid data, or edit or delete invalid data in the regexps, as he likes it.

You are probably running a modern device with no vendor-provided app killer antifeature and have only tested this for a few hours; the toast will show at random unpredicatable times (when the service restarts), unless I missed something during code review or a recent Android change made it impossible to show toasts when the app is not in foreground, which is also possible; in which case it would be a bad practice to rely on this sort of behavior.

Re: discussion: yes, why not. So far, I have not seen anyone else run the patched app with the new features. Apart from myself. I mean, in the last 3 weeks or so, we talked code formatting, technicalities, but not one user report "it works"? The 2 features I implemented, regexp ignores and CTCP version hiding are important on networks I use.

There is sadly no testing community on this GitHub reality. There's basically no community. I plan to test the features once the code and scope is sorted out and push any needed fixes. I do not daily drive the app however.

Speaking of discussion: complexity: why has Revolution IRC reached 225 or so classes and is still growing a bit, albeit slowly? It seems overly complex for what it does. Has a refactoring ever come up in a discussion? Simplifying the app? Not to mention I never saw a single line of javadoc or comment in the code while reversing the source to implement my mods?

It is what it is. You are significantly underestimating the difficulty of an IRC client; also the number of classes has nothing to do with code quality. Though as I said, the code is not perfect and was mostly written within a 2 month period 2 years ago. I do not use the app anymore and I am not willing to refactor or document the code further; contributions are very welcome however.

@pickeduname
Copy link
Author

pickeduname commented May 23, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants