profile
viewpoint

cbgaindia/story-generator 17

Budget Visualization Tool to explore and analyse major fiscal indicators across various states in India

ICT4H/atomfeed 15

An ATOM implementation in Java to broadcast and consume events.

CoffeeBeansLabs/SimDB 2

A vector similarity database

ICT4H/simplefeed 2

A simple Atom-based protocol for broadcasting a feed of events.

ICT4H/atomfeed-standalone 1

A server that creates and publishes events using the ATOM protocol.

ICT4H/Cordova-SQLitePlugin 1

Cordova-SQLitePlugin used by dcs-mobile

ICT4H/dcs-mobile 1

DCS mobile app

ICT4H/dcs-web 1

Forked from datawinners

ICT4H/dcs-api 0

(Can be deleted since code merged to dcs-web)Python app to expose api's to be used by dcs-app

Pull request review commentBahmni/bahmni-java-utils

BAH-1127|Buvaneswari|OpenElis not syncing with OpenMRS

 public HttpRequestDetails getRequestDetails(URI uri) {      @Override     public HttpRequestDetails refreshRequestDetails(URI uri) {-        DefaultHttpClient httpClient = new DefaultHttpClient();         try {+             CookieStore cookieStore = new BasicCookieStore();             HttpContext httpContext = new BasicHttpContext();-            httpContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);--            httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, authenticationDetails.getReadTimeout());-            httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, authenticationDetails.getConnectionTimeout());-+            httpContext.setAttribute(HttpClientContext.COOKIE_STORE, cookieStore);             HttpPost httpPost = new HttpPost(uri);              logger.info(String.format("Executing request: %s", httpPost.getRequestLine()));+            RequestConfig requestConfig = RequestConfig.custom()+                    .setConnectTimeout(authenticationDetails.getReadTimeout())+                    .setSocketTimeout(60000)

@buvaneswari-arun can we have constant defined here instead of hardcoding the value

buvaneswari-arun

comment created time in 6 minutes

push eventopenmrs/openmrs-module-htmlformentry

openmrs-bot

commit sha 7a1e271b78c4e870a27870204ca082a26d9aa594

committing translations from transifex

view details

push time in 5 hours

pull request commentopenmrs/openmrs-module-uiframework

UIFR-217: Problem with ConfigurationResourceProvider running on Windows

I always forget about Windows...

mogoodrich

comment created time in 8 hours

create barnchopenmrs/openmrs-module-uiframework

branch : UIFR-217

created branch time in 8 hours

push eventopenmrs/openmrs-module-htmlformentry

Michael Seaton

commit sha cd91a682906822815c6b5c275f79ce7e9e2fa6be

Committing new French translations from transifex.

view details

push time in 9 hours

push eventopenmrs/openmrs-module-htmlformentry

Michael Seaton

commit sha 815195e19271235ff209e6754590995aea6cb266

Fix to properly translate select label attribute on drugOrder tag.

view details

push time in 15 hours

Pull request review commentopenmrs/openmrs-module-htmlformentryui

HTML-768: In HFE-UI, support form versions when loading via definitio…

 public static HtmlForm getHtmlFormFromUiResource(ResourceFactory resourceFactory         return getHtmlFormFromResourceXml(formService, htmlFormEntryService, xml);     } ++    // the new method above with "encounter" is preferred if an encounter is available, see: https://issues.openmrs.org/browse/HTML-768+    public static HtmlForm getHtmlFormFromUiResource(ResourceFactory resourceFactory, FormService formService, HtmlFormEntryService htmlFormEntryService, String providerAndPath) throws IOException {+        // using new Encounter() is a bit of a hack, used for a proper method signature hack; safe because the called method+        // perform a null check on encounter.getForm()+        return getHtmlFormFromUiResource(resourceFactory, formService, htmlFormEntryService, providerAndPath, new Encounter());

Oh, cool, I never realized you could do that... it appears to work, thanks!

mogoodrich

comment created time in 15 hours

push eventopenmrs/openmrs-module-htmlformentryui

mgoodrich

commit sha a42af27941ad1008bdf84052d1c13549d334d55f

follow-up commit

view details

push time in 15 hours

Pull request review commentopenmrs/openmrs-module-htmlformentryui

HTML-768: In HFE-UI, support form versions when loading via definitio…

 public void controller(@RequestParam(value="patientId", required=false) Patient      */     protected HtmlForm getHtmlFormFromResource(String resource, ResourceFactory rf, FormService fs, HtmlFormEntryService hfs) {         try {+            // TODO figure out how flowsheets might work with: https://issues.openmrs.org/browse/HTML-768

Seems fine for now.

mogoodrich

comment created time in 15 hours

Pull request review commentopenmrs/openmrs-module-htmlformentryui

HTML-768: In HFE-UI, support form versions when loading via definitio…

 public static HtmlForm getHtmlFormFromUiResource(ResourceFactory resourceFactory         return getHtmlFormFromResourceXml(formService, htmlFormEntryService, xml);     } ++    // the new method above with "encounter" is preferred if an encounter is available, see: https://issues.openmrs.org/browse/HTML-768+    public static HtmlForm getHtmlFormFromUiResource(ResourceFactory resourceFactory, FormService formService, HtmlFormEntryService htmlFormEntryService, String providerAndPath) throws IOException {+        // using new Encounter() is a bit of a hack, used for a proper method signature hack; safe because the called method+        // perform a null check on encounter.getForm()+        return getHtmlFormFromUiResource(resourceFactory, formService, htmlFormEntryService, providerAndPath, new Encounter());

Don't love the "new Encounter()". Could you achieve the same effect by doing "(Encounter)null" ?

mogoodrich

comment created time in 16 hours

Pull request review commentBahmni/bahmni-java-utils

BAH-1127|Buvaneswari|OpenElis not syncing with OpenMRS

 public HttpResponse get(HttpRequestDetails requestDetails) {     }      public HttpResponse get(HttpRequestDetails requestDetails, HttpHeaders httpHeaders) {-        defaultHttpClient = (connectionManager == null) ? new DefaultHttpClient() : new DefaultHttpClient(connectionManager);-        defaultHttpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, readTimeout);-        defaultHttpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, connectTimeout);          HttpGet httpGet = new HttpGet(requestDetails.getUri());+        RequestConfig requestConfig = RequestConfig.custom()+                .setConnectTimeout(readTimeout)+                .setSocketTimeout(connectTimeout)+                .build();+        if(connectionManager == null) {+            connectionManager = new PoolingHttpClientConnectionManager();+        }+        closeableHttpClient = HttpClientBuilder.create()

you could have done with try with resources block, then you would not have to handle the closing part. But if caller is calling the closeConnection() and you wouldn't want to refactor that - then its ok

buvaneswari-arun

comment created time in 18 hours

Pull request review commentBahmni/bahmni-java-utils

BAH-1127|Buvaneswari|OpenElis not syncing with OpenMRS

             <scope>test</scope>         </dependency>     </dependencies>+    <build>

is this required? the httpcomponents is mentioned as provided dependency anyway

buvaneswari-arun

comment created time in 18 hours

push eventopenmrs/openmrs-module-htmlformentry

openmrs-bot

commit sha eba3dc5c57b58f23abebddce11b28f0632c9a94c

committing translations from transifex

view details

push time in a day

pull request commentopenmrs/openmrs-module-htmlformentryui

HTML-768: In HFE-UI, support form versions when loading via definitio…

@mseaton note that I just put in TODO in the flowsheet stuff... I didn't give it much thought, but lmk if you think we should deal with this now...

mogoodrich

comment created time in a day

create barnchopenmrs/openmrs-module-htmlformentryui

branch : HTML-768

created branch time in 2 days

Pull request review commentopenmrs/openmrs-module-calculation

RA-1865: Patch bugs discovered by NCSU team

 public String purgeCalculationRegistration(@ModelAttribute(value = "calculationR 	
 	private void updateSessionMessage(WebRequest request, String code, Object... args) {
 		String msg = Context.getMessageSourceService().getMessage(code, args, Context.getLocale());
-		request.setAttribute(WebConstants.OPENMRS_MSG_ATTR, msg, WebRequest.SCOPE_SESSION);
+		request.setAttribute(WebConstants.OPENMRS_MSG_ATTR, Encode.forHtml(msg), WebRequest.SCOPE_SESSION);

@isears @dkayiwa I edited the message properties file to include a new message which does not depend on the name of the calculation. Please let me know if this works.

Thank you for helping me out with this issue!

anupamdevulapalli

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-coreapps

RA-1714:Primary Diagnosis not being showed in the Encounter details

+package org.openmrs.module.coreapps.diagnosisCompatibility;++import org.junit.Assert;+import org.junit.Test;+import org.openmrs.Encounter;+import org.openmrs.api.EncounterService;+import org.springframework.beans.factory.annotation.Autowired;+import org.springframework.beans.factory.annotation.Qualifier;+import org.springframework.stereotype.Component;+++@Component++public class DiagnosisServiceCompatibility2_2Test {+	+	@Autowired+	@Qualifier("encounterService")+	EncounterService encounterService;+	+	/**+	 * @see DiagnosisServiceCompatibility2_2#getDiagnoses(Encounter)+	 */+	+	@Test+	public void getDiagnoses_shouldGetDiagnosesOfTheProvidedEncounter() {+	Encounter encounter = encounterService.getEncounter(3);

@ibacher hi ian,so for this i have made changes in the core as seen here,https://github.com/openmrs/openmrs-core/pull/3682 at this line 26,i simply wanted to first check whether my submodule loads the openmrs api well,it looks like some thing is still missing since i get a null exception, https://pastebin.com/DxTuit8A a gentle request to help me look through my coreapps-web-2.2/pom.xml if i am missing out some thing cc @dkayiwa @mks-d

HerbertYiga

comment created time in 2 days

push eventopenmrs/openmrs-module-registrationapp

Cosmin

commit sha b8854b00568c9a365d63f2426c2a7f23bc7c7d41

RA-1855, update and delete relationships (#101)

view details

push time in 2 days

PR merged openmrs/openmrs-module-registrationapp

RA-1855, update and delete relationships

Hi @jwamalwa , here is my attempt on fixing this bug with the relationships controller. The code probably needs a bit more cleanup, but I was able to delete and update existing relationships on my local environment.

+58 -30

4 comments

2 changed files

cioan

pr closed time in 2 days

pull request commentopenmrs/openmrs-module-registrationapp

RA-1855, update and delete relationships

Thanks @mogoodrich !

cioan

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-htmlformentry

HTML-755: EncounterDetailSubmissionElement to support timezones when showTime is true.

+package org.openmrs.module.htmlformentry.widget;++import java.text.DateFormat;+import java.text.SimpleDateFormat;+import java.util.Calendar;+import java.util.Date;+import java.util.TimeZone;++import javax.servlet.http.HttpServletRequest;++import org.apache.commons.lang3.StringUtils;+import org.openmrs.module.htmlformentry.FormEntryContext;+import org.openmrs.module.htmlformentry.HtmlFormEntryUtil;++public class ZonedDateTimeWidget extends DateWidget implements Widget {+	+	protected boolean hideSeconds = false;+	+	public ZonedDateTimeWidget() {+	}+	+	@Override+	protected DateFormat getHtmlDateFormat() {+		DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");+		dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));+		return dateFormat;+	}+	+	/*+	 * TODO: Probably needs to be moved to a util class for the whole HFE to rely on this whenever needed+	 */+	public static DateFormat getUTCDateFormat() {+		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");+		dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));+		return dateFormat;+	}+	+	public String generateHtml(FormEntryContext context) {+		+		if (context.getMode() == FormEntryContext.Mode.VIEW) {+			if (initialValue != null) {+				String toPrint = getUTCDateFormat().format(initialValue);+				return WidgetFactory.displayValue(toPrint, "dateTimeWithTimezone");

Let's rename this class "date-with-timezone", ref. https://csswizardry.com/2010/12/css-camel-case-seriously-sucks/

icrc-jfigueiredo

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-htmlformentry

HTML-755: EncounterDetailSubmissionElement to support timezones when showTime is true.

+package org.openmrs.module.htmlformentry.widget;++import java.text.DateFormat;+import java.text.SimpleDateFormat;+import java.util.Calendar;+import java.util.Date;+import java.util.TimeZone;++import javax.servlet.http.HttpServletRequest;++import org.apache.commons.lang3.StringUtils;+import org.openmrs.module.htmlformentry.FormEntryContext;+import org.openmrs.module.htmlformentry.HtmlFormEntryUtil;++public class ZonedDateTimeWidget extends DateWidget implements Widget {+	+	protected boolean hideSeconds = false;+	+	public ZonedDateTimeWidget() {+	}+	+	@Override+	protected DateFormat getHtmlDateFormat() {+		DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");+		dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));+		return dateFormat;+	}+	+	/*+	 * TODO: Probably needs to be moved to a util class for the whole HFE to rely on this whenever needed+	 */+	public static DateFormat getUTCDateFormat() {+		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");+		dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));+		return dateFormat;+	}+	+	public String generateHtml(FormEntryContext context) {+		+		if (context.getMode() == FormEntryContext.Mode.VIEW) {+			if (initialValue != null) {+				String toPrint = getUTCDateFormat().format(initialValue);+				return WidgetFactory.displayValue(toPrint, "dateTimeWithTimezone");

Correct, https://github.com/openmrs/openmrs-module-htmlformentryui/compare/master...icrc-jfigueiredo:HTML-755#diff-7543ad74c606f05f56deebe2a2c1eb2ba0cb06eb6de7400957dfe8824939eceeR3

icrc-jfigueiredo

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-htmlformentry

HTML-755: EncounterDetailSubmissionElement to support timezones when showTime is true.

+package org.openmrs.module.htmlformentry.widget;++import java.text.DateFormat;+import java.text.SimpleDateFormat;+import java.util.Calendar;+import java.util.Date;+import java.util.TimeZone;++import javax.servlet.http.HttpServletRequest;++import org.apache.commons.lang3.StringUtils;+import org.openmrs.module.htmlformentry.FormEntryContext;+import org.openmrs.module.htmlformentry.HtmlFormEntryUtil;++public class ZonedDateTimeWidget extends DateWidget implements Widget {+	+	protected boolean hideSeconds = false;+	+	public ZonedDateTimeWidget() {+	}+	+	@Override+	protected DateFormat getHtmlDateFormat() {+		DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");+		dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));+		return dateFormat;+	}+	+	/*+	 * TODO: Probably needs to be moved to a util class for the whole HFE to rely on this whenever needed+	 */+	public static DateFormat getUTCDateFormat() {+		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");+		dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));+		return dateFormat;+	}+	+	public String generateHtml(FormEntryContext context) {+		+		if (context.getMode() == FormEntryContext.Mode.VIEW) {+			if (initialValue != null) {+				String toPrint = getUTCDateFormat().format(initialValue);+				return WidgetFactory.displayValue(toPrint, "dateTimeWithTimezone");

@icrc-jfigueiredo so this means that the client side code is responsible for turning this RFC 3339 date into what the user is supposed to see (which is indeed one of the the new conventions about time zones and OpenMRS). I guess that happens in HFE UI right?

icrc-jfigueiredo

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-coreapps

RA-1714:Primary Diagnosis not being showed in the Encounter details

+package org.openmrs.module.coreapps.diagnosis;+++import java.util.Date;+import java.util.HashMap;+import java.util.HashSet;+import java.util.Set;++import org.junit.Assert;+import org.junit.Test;+import org.openmrs.Diagnosis;+import org.openmrs.Encounter;+import org.openmrs.Location;+import org.openmrs.Patient;+++public class DiagnosisServiceCompatibilityTest {+	+	@Test+	public void getPrimaryDiagnosis_shouldReturnNotNull() {+		+	Encounter encounter = new Encounter();+    +	Date date = new Date();+	Location location = new Location(1);+	Patient patient = new Patient(1);+	+	Diagnosis diagnosis = new Diagnosis();+	diagnosis.setDiagnosisId(2);+	+	Set<Diagnosis> diag = new HashSet<Diagnosis>();+	diag.add(diagnosis);+	+	encounter.setEncounterDatetime(date);+	encounter.setLocation(location);+	encounter.setPatient(patient);+	DiagnosisServiceCompatibility2_2 diagnosisServiceCompatibility = new DiagnosisServiceCompatibility2_2();++	Assert.assertEquals(1,diagnosisServiceCompatibility.getPrimaryDiagnoses(encounter).size());	

@mozzy11 hei i got unblocked on this, with your comments i got realize that i hadn't created my submodule well ,my pom had conflicting files thanks

HerbertYiga

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-coreapps

RA-1714:Primary Diagnosis not being showed in the Encounter details

+package org.openmrs.module.coreapps.diagnosis;+++import java.util.Date;+import java.util.HashMap;+import java.util.HashSet;+import java.util.Set;++import org.junit.Assert;+import org.junit.Test;+import org.openmrs.Diagnosis;+import org.openmrs.Encounter;+import org.openmrs.Location;+import org.openmrs.Patient;+++public class DiagnosisServiceCompatibilityTest {+	+	@Test+	public void getPrimaryDiagnosis_shouldReturnNotNull() {+		+	Encounter encounter = new Encounter();+    +	Date date = new Date();+	Location location = new Location(1);+	Patient patient = new Patient(1);+	+	Diagnosis diagnosis = new Diagnosis();+	diagnosis.setDiagnosisId(2);+	+	Set<Diagnosis> diag = new HashSet<Diagnosis>();+	diag.add(diagnosis);+	+	encounter.setEncounterDatetime(date);+	encounter.setLocation(location);+	encounter.setPatient(patient);+	DiagnosisServiceCompatibility2_2 diagnosisServiceCompatibility = new DiagnosisServiceCompatibility2_2();++	Assert.assertEquals(1,diagnosisServiceCompatibility.getPrimaryDiagnoses(encounter).size());	

thanks @mozzy11 have really found the comments help full

HerbertYiga

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-htmlformentry

HTML-755: EncounterDetailSubmissionElement to support timezones when showTime is true.

 protected void validateDateWidget(FormEntryContext context, DateWidget dateWidge 				String serverTimezone = TimeZone.getDefault().getID(); 				boolean handleTimezones = Boolean.parseBoolean( 				    Context.getAdministrationService().getGlobalProperty(HtmlFormEntryConstants.GP_HANDLE_TIMEZONES));-				if (!serverTimezone.equals(clientTimezone) && !handleTimezones) {+				if (!serverTimezone.equals(clientTimezone) && !handleTimezones && (clientTimezone != null)) {

You are correct, I was testing some scenarios.

icrc-jfigueiredo

comment created time in 2 days

Pull request review commentopenmrs/openmrs-module-registrationapp

RA-1855, update and delete relationships

 private void addModelAttributes(PageModel model, Patient patient, Section sectio     private void updatePatientRelationships(Patient patient, String[] types, String[] persons, PersonService personService) {         List<Relationship> relationships = new ArrayList<Relationship>(); -        for (int i = 0; i < types.length; i++) {-            if (types[i] != null && types[i].length() > 0) {-                // Remove flag characters at the end (used for relationship direction)-                String relationshipTypeUUID = types[i].substring(0, types[i].length() - 2);-                -                // Last character reveals relationship direction (aIsToB or bIsToA)-                char relationshipDirection = types[i].charAt(types[i].length() - 1);                -                if (relationshipDirection != 'A') {-                	if (relationshipDirection != 'B') {-                		throw new APIException("Relationship direction not specified");-                	}-                }-                RelationshipType rt = personService.getRelationshipTypeByUuid(relationshipTypeUUID);-                -                if (rt != null) {-                    Person otherPerson = personService.getPersonByUuid(persons[i]);-                    -                    Person personA = relationshipDirection == 'A' ? otherPerson : patient;-                    Person personB = relationshipDirection == 'B' ? otherPerson : patient;-                    if (personA != null && personB != null) {-                        relationships = personService.getRelationships(personA, personB, rt);-                        if (CollectionUtils.isEmpty(relationships)) {-                        	personService.saveRelationship(new Relationship(personA, personB, rt));-                        } else {-                        	Relationship relationship = relationships.get(0);-                        	relationship.setPersonA(personA);-                        	relationship.setPersonB(personB);-                        	relationship.setRelationshipType(rt);-                        	personService.saveRelationship(relationship);+        if(types != null && types.length > 0) {+            List<Relationship> existingRelationships = personService.getRelationshipsByPerson(patient);+            for (int i = 0; i < types.length; i++) {+                if (types[i] != null && types[i].length() > 0) {+                    // Remove flag characters at the end (used for relationship direction)+                    String relationshipTypeUUID = types[i].substring(0, types[i].length() - 2);++                    // Last character reveals relationship direction (aIsToB or bIsToA)+                    char relationshipDirection = types[i].charAt(types[i].length() - 1);+                    if (relationshipDirection != 'A') {+                        if (relationshipDirection != 'B') {+                            throw new APIException("Relationship direction not specified");+                        }+                    }+                    RelationshipType rt = personService.getRelationshipTypeByUuid(relationshipTypeUUID);++                    if (rt != null) {+                        Person otherPerson = personService.getPersonByUuid(persons[i]);++                        Person personA = relationshipDirection == 'A' ? otherPerson : patient;+                        Person personB = relationshipDirection == 'B' ? otherPerson : patient;+                        if (personA != null && personB != null) {++                            relationships = personService.getRelationships(personA, personB, rt);+                            if (CollectionUtils.isEmpty(relationships)) {+                                personService.saveRelationship(new Relationship(personA, personB, rt));+                            } else {+                                Relationship relationship = relationships.get(0);+                                relationship.setPersonA(personA);+                                relationship.setPersonB(personB);+                                relationship.setRelationshipType(rt);+                                Relationship newRelationship = personService.saveRelationship(relationship);+                                if (!CollectionUtils.isEmpty(existingRelationships)) {+                                    // if this is an existing relationship we make sure we remove it from the list of relationships to be deleted below+                                    Iterator<Relationship> iterator = existingRelationships.iterator();+                                    while (iterator.hasNext()) {+                                        Relationship next = iterator.next();+                                        if (next.getId().compareTo(newRelationship.getId()) == 0) {+                                            iterator.remove();+                                        }+                                    }+                                }+                            }                         }                     }                 }             }++            if (!CollectionUtils.isEmpty(existingRelationships)) {+                //assume that any relationship that was not posted to this form it was deleted?+                for (Relationship existingRelationship : existingRelationships) {+                    personService.voidRelationship(existingRelationship, "deleted via the Registration widget");+                }+            }

Sounds good to me, thanks @cioan !

cioan

comment created time in 3 days

Pull request review commentopenmrs/openmrs-module-htmlformentry

HTML-755: EncounterDetailSubmissionElement to support timezones when showTime is true.

 protected void validateDateWidget(FormEntryContext context, DateWidget dateWidge 				String serverTimezone = TimeZone.getDefault().getID(); 				boolean handleTimezones = Boolean.parseBoolean( 				    Context.getAdministrationService().getGlobalProperty(HtmlFormEntryConstants.GP_HANDLE_TIMEZONES));-				if (!serverTimezone.equals(clientTimezone) && !handleTimezones) {+				if (!serverTimezone.equals(clientTimezone) && !handleTimezones && (clientTimezone != null)) {

@icrc-jfigueiredo my thinking here is that serverTimezone will never be blank because TimeZone.getDefault().getID() should always give something. So if clientTimezone is null, then this condition is enough: !serverTimezone.equals(clientTimezone).

Am I missing something?

icrc-jfigueiredo

comment created time in 3 days

more