How to show the jira data in Hygieia UI?

Hi ,
Am new to this Hygieia!
My issue is am not able to fetch the data present in JIRA
2019-12-03 10:36:00,134 [taskScheduler-1] INFO  c.c.d.collector.FeatureCollectorTask - JIRA Collector is set to work in Team mode
2019-12-03 10:36:00,135 [taskScheduler-1] INFO  c.c.d.collector.FeatureCollectorTask - Hours since last run = 4. Collector is only collecting updated/new issues.
2019-12-03 10:36:00,138 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Finished                         0s
Can anyone guide me how to show the data in UI dashboard
Any help please!

Can you post your properties file

Sure
On Thu, 5 Dec, 2019, 12:08 AM Sbrenthughes<EMAIL_ADDRESS>wrote:

Can you post your properties file
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Hygieia/hygieia-feature-jira-collector/issues/27?email_source=notifications&email_token=AF7KF3MGCW5JHQ4XBMDZIATQW72KTA5CNFSM4JVJRWC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEF6BYVY#issuecomment-561781847,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7KF3JUYXJVEXA47MWOJPLQW72KTANCNFSM4JVJRWCQ
.

server.contextPath=/api
server.port=8080
Database Name
dbname=dashboarddb
Database HostName - default is localhost
dbhost=localhost
Database Port - default is 27017
dbport=27017
MongoDB replicaset
dbreplicaset=false
dbhostport=localhost:27017
Database Username - default is blank
dbusername=dashboarduser
Database Password - default is blank
dbpassword=dbpassword
Logging File location
logging.file=./logs/jira.log
PageSize - Expand contract this value depending on Jira implementation's
default server timeout setting (You will likely receive a SocketTimeoutException)
feature.pageSize=100
Delta change date that modulates the collector item task
Occasionally, these values should be modified if database size is a concern
feature.deltaStartDate=2016-03-01T00:00:00.000000
feature.masterStartDate=2016-03-01T00:00:00.000000
feature.deltaCollectorItemStartDate=2016-03-01T00:00:00.000000
Chron schedule: S M D M Y [Day of the Week]
feature.cron=0 0/1 * * * *
ST Query File Details - Required, but DO NOT MODIFY
feature.queryFolder=jiraapi-queries
feature.storyQuery=Story
feature.epicQuery=Epic
JIRA CONNECTION DETAILS:
Enterprise Proxy - ONLY INCLUDE IF YOU HAVE A PROXY
; feature.jiraProxyUrl=http://proxy.com
; feature.jiraProxyPort=9000
feature.jiraBaseUrl=https://parkercfa.atlassian.net/
feature.jiraQueryEndpoint=rest/api/2/
For basic authentication, requires username:password as string in base64
This command will make this for you:  echo -n username:password | base64
;feature.jiraCredentials=dmVua2F0ZXNoLmduYW5hc2VrYXJhbkBwYXJrZXIuY29tOkd1cnVjaGVsbGFtQDc=
;feature.jiraCredentials=venkatesh.gnanasekaran@parker.com:Guruchellam@7
OAuth is not fully implemented; please blank-out the OAuth values:
; feature.jiraOauthAuthtoken=
; feature.jiraOauthRefreshtoken=
; feature.jiraOauthRedirecturi=
; feature.jiraOauthExpiretime=
#############################################################################
In Jira, general IssueType IDs are associated to various 'issue'
attributes. However, there is one attribute which this collector's
queries rely on that change between different instantiations of Jira.
Please provide a string name reference to your instance's IssueType for
the lowest level of Issues (for example, 'user story') specific to your Jira
instance.  Note:  You can retrieve your instance's IssueType Name
listings via the following URI:  https://[your-jira-domain-name]/rest/api/2/issuetype/
Multiple comma-separated values can be specified.
#############################################################################
feature.jiraIssueTypeNames=Story
#############################################################################
In Jira, your instance will have its own custom field created for 'sprint' or 'timebox' details,
which includes a list of information.  This field allows you to specify that data field for your
instance of Jira. Note: You can retrieve your instance's sprint data field name
via the following URI, and look for a package name com.atlassian.greenhopper.service.sprint.Sprint;
your custom field name describes the values in this field:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
;feature.jiraSprintDataFieldName=customfield_10005
feature.jiraSprintDataFieldName=customfield_10000
#############################################################################
In Jira, your instance will have its own custom field created for 'super story' or 'epic' back-end ID,
which includes a list of information.  This field allows you to specify that data field for your instance
of Jira.  Note:  You can retrieve your instance's epic ID field name via the following URI where your
queried user story issue has a super issue (for example, epic) tied to it; your custom field name describes the
epic value you expect to see, and is the only field that does this for a given issue:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
;feature.jiraEpicIdFieldName=customfield_10307
feature.jiraEpicIdFieldName=customfield_10002
#############################################################################
In Jira, your instance will have its own custom field created for 'story points'
This field allows you to specify that data field for your instance
of Jira.  Note:  You can retrieve your instance's storypoints ID field name via the following URI where your
queried user story issue has story points set on it; your custom field name describes the
story points value you expect to see:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
;feature.jiraStoryPointsFieldName=customfield_10300
;feature. jiraStoryIds[0]=customfield_10300
feature.jiraStoryPointsFieldName=customfield_10003
#############################################################################
In Jira, your instance will have its own custom field created for 'team'
This field allows you to specify that data field for your instance
of Jira.  Note:  You can retrieve your instance's team ID field name via the following URI where your
queried user story issue has team set on it; your custom field name describes the
team value you expect to see:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
feature.jiraTeamFieldName=
feature.maxNumberOfFeaturesPerBoard=1000
Defines how to update features per board. If true then only update based on enabled collectorItems otherwise full update
feature.collectorItemOnlyUpdate=true
#Defines the maximum number of features allow per board. If limit is reach collection will not happen for given board
feature.maxNumberOfFeaturesPerBoard=8000
Set this to true if you use boards as team
;feature.jiraBoardAsTeam=true
feature.jiraBoardAsTeam=false
#Defines the number of hours between each board/team and project data refresh
feature.refreshTeamAndProjectHours=3
;feature.refreshTeamAndProjectHours=4

We have made the changes in the application.properties file which is present in this path "D:_Hygieia\api\src\main\resources"

Why do you have ; in your properties file? I have not seen this before

That is commented lines
On Thu, 5 Dec, 2019, 11:28 PM Sbrenthughes<EMAIL_ADDRESS>wrote:

Why do you have ; in your properties file? I have not seen this before
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Hygieia/hygieia-feature-jira-collector/issues/27?email_source=notifications&email_token=AF7KF3IISXMVEWLGGAS47ETQXE6NTA5CNFSM4JVJRWC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGBSINY#issuecomment-562242615,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7KF3MWOFAOUHEHGP5A6WLQXE6NTANCNFSM4JVJRWCQ
.

server.contextPath=/api
server.port=8080
Database Name
dbname=dashboarddb
Database HostName - default is localhost
dbhost=localhost
Database Port - default is 27017
dbport=27017
MongoDB replicaset
modified
dbreplicaset=true
dbhostport=localhost:27017
Database Username - default is blank
dbusername=dashboarduser
Database Password - default is blank
dbpassword=dbpassword
Logging File location
logging.file=./logs/jira.log
PageSize - Expand contract this value depending on Jira implementation's
default server timeout setting (You will likely receive a SocketTimeoutException)
feature.pageSize=100
Delta change date that modulates the collector item task
Occasionally, these values should be modified if database size is a concern
feature.deltaStartDate=2016-03-01T00:00:00.000000
feature.masterStartDate=2016-03-01T00:00:00.000000
feature.deltaCollectorItemStartDate=2016-03-01T00:00:00.000000
Chron schedule: S M D M Y [Day of the Week]
feature.cron=0 0/1 * * * *
ST Query File Details - Required, but DO NOT MODIFY
feature.queryFolder=jiraapi-queries
feature.storyQuery=Story
feature.epicQuery=Epic
JIRA CONNECTION DETAILS:
Enterprise Proxy - ONLY INCLUDE IF YOU HAVE A PROXY
feature.jiraProxyUrl=http://proxy.com
feature.jiraProxyPort=9000
feature.jiraBaseUrl=https://parkercfa.atlassian.net/
feature.jiraQueryEndpoint=rest/api/2/
For basic authentication, requires username:password as string in base64
This command will make this for you:  echo -n username:password | base64
OAuth is not fully implemented; please blank-out the OAuth values:
feature.jiraOauthAuthtoken=
feature.jiraOauthRefreshtoken=
feature.jiraOauthRedirecturi=
#feature.jiraOauthExpiretime=
#############################################################################
In Jira, general IssueType IDs are associated to various 'issue'
attributes. However, there is one attribute which this collector's
queries rely on that change between different instantiations of Jira.
Please provide a string name reference to your instance's IssueType for
the lowest level of Issues (for example, 'user story') specific to your Jira
instance.  Note:  You can retrieve your instance's IssueType Name
listings via the following URI:  https://[your-jira-domain-name]/rest/api/2/issuetype/
Multiple comma-separated values can be specified.
#############################################################################
feature.jiraIssueTypeNames= Story,Epic
#############################################################################
In Jira, your instance will have its own custom field created for 'sprint' or 'timebox' details,
which includes a list of information.  This field allows you to specify that data field for your
instance of Jira. Note: You can retrieve your instance's sprint data field name
via the following URI, and look for a package name com.atlassian.greenhopper.service.sprint.Sprint;
your custom field name describes the values in this field:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
feature.jiraSprintDataFieldName=customfield_10005
#############################################################################
In Jira, your instance will have its own custom field created for 'super story' or 'epic' back-end ID,
which includes a list of information.  This field allows you to specify that data field for your instance
of Jira.  Note:  You can retrieve your instance's epic ID field name via the following URI where your
queried user story issue has a super issue (for example, epic) tied to it; your custom field name describes the
epic value you expect to see, and is the only field that does this for a given issue:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
feature.jiraEpicIdFieldName=customfield_10005
#feature.jiraEpicIdFieldName=customfield_10002
#############################################################################
In Jira, your instance will have its own custom field created for 'story points'
This field allows you to specify that data field for your instance
of Jira.  Note:  You can retrieve your instance's storypoints ID field name via the following URI where your
queried user story issue has story points set on it; your custom field name describes the
story points value you expect to see:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
feature.jiraStoryPointsFieldName=customfield_10003
#feature. jiraStoryIds[0]=customfield_10300
#############################################################################
In Jira, your instance will have its own custom field created for 'team'
This field allows you to specify that data field for your instance
of Jira.  Note:  You can retrieve your instance's team ID field name via the following URI where your
queried user story issue has team set on it; your custom field name describes the
team value you expect to see:
https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#############################################################################
#feature.jiraTeamFieldName=customfield_10001
feature.maxNumberOfFeaturesPerBoard=1000
Defines how to update features per board. If true then only update based on enabled collectorItems otherwise full update
feature.collectorItemOnlyUpdate=true
#Defines the maximum number of features allow per board. If limit is reach collection will not happen for given board
feature.maxNumberOfFeaturesPerBoard=8000
Set this to true if you use boards as team
feature.jiraBoardAsTeam=true
#Defines the number of hours between each board/team and project data refreshfeature.refreshTeamAndProjectHours=3
feature.refreshTeamAndProjectHours=4

Above comment is the updated properties file .,we are getting the below output in cmd prompt
2019-12-06 03:16:00,003 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Running Collector: Jira
2019-12-06 03:16:00,614 [taskScheduler-1] INFO  c.c.dashboard.client.RestClient - makeRestCall op=GET url=https://parkercfa.atlassian.net/rest/api/2/issuetype status=200 duration=577
2019-12-06 03:16:00,678 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - -----------------------------------
2019-12-06 03:16:00,692 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - https://parkercfa.atlassian.net/
2019-12-06 03:16:00,695 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - -----------------------------------
2019-12-06 03:16:00,696 [taskScheduler-1] INFO  c.c.d.collector.FeatureCollectorTask - JIRA Collector is set to work in Board mode
2019-12-06 03:16:00,697 [taskScheduler-1] INFO  c.c.d.collector.FeatureCollectorTask - Hours since last run = 16. Collector is about to refresh Team/Board information
2019-12-06 03:16:00,812 [taskScheduler-1] INFO  c.c.dashboard.client.RestClient - makeRestCall op=GET url=https://parkercfa.atlassian.net/rest/agile/1.0/board?startAt=0 status=401 duration=113
2019-12-06 03:16:00,814 [taskScheduler-1] ERROR c.c.d.collector.DefaultJiraClient - Error in calling JIRA API: https://parkercfa.atlassian.net/rest/agile/1.0/board?startAt=0
2019-12-06 03:16:00,823 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Board Data Collected. Added  0        0s
2019-12-06 03:16:00,925 [taskScheduler-1] INFO  c.c.dashboard.client.RestClient - makeRestCall op=GET url=https://parkercfa.atlassian.net/rest/api/2/project status=200 duration=56
2019-12-06 03:16:00,936 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Project Data Collected  0        0s
2019-12-06 03:16:00,992 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Board Issues Refreshed           0s
2019-12-06 03:16:01,021 [taskScheduler-1] INFO  c.c.d.collector.FeatureCollectorTask - Collected 0 teams and 0 projects
2019-12-06 03:16:01,045 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Finished                         0s

You need to add in the credentials to the properties file. I see a 401 in the logs.
# For basic authentication, requires username:password as string in base64
# This command will make this for you:  echo -n username:password | base64

feature.jiraCredentials=dXNlcm5hbWU6cGFzc3dvcmQ=

We have tried again without giving the credential it's running fine without
errors but not collecting the data.
We also tried by giving credential it is throwing 401 error - while
makeRestcall to issuetype
On Fri, 6 Dec, 2019, 8:21 PM Sbrenthughes<EMAIL_ADDRESS>wrote:

You need to add in the credentials to the properties file. I see a 401 in
the logs.
For basic authentication, requires username:password as string in base64
This command will make this for you:  echo -n username:password | base64
feature.jiraCredentials=dXNlcm5hbWU6cGFzc3dvcmQ=
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Hygieia/hygieia-feature-jira-collector/issues/27?email_source=notifications&email_token=AF7KF3O6QEPZ4ULTOBFTPZ3QXJRGJA5CNFSM4JVJRWC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGEJWZY#issuecomment-562600807,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7KF3P3SFQ3NSCFNYZFIJTQXJRGJANCNFSM4JVJRWCQ
.

2019-12-06 10:54:00,002 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Running Collector: Jira
2019-12-06 10:54:00,202 [taskScheduler-1] INFO  c.c.dashboard.client.RestClient - makeRestCall op=GET url=https://parkercfa.atlassian.net/rest/api/2/issuetype status=401 duration=194
2019-12-06 10:54:00,203 [taskScheduler-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task.
org.springframework.web.client.HttpClientErrorException: 401 null
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:475) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at com.capitalone.dashboard.client.RestClient.makeRestCallGet(RestClient.java:154) ~[core-3.1.9.jar!/:3.1.9]
at com.capitalone.dashboard.collector.DefaultJiraClient.makeRestCall(DefaultJiraClient.java:832) ~[jira-feature-collector.jar!/:3.1.2-SNAPSHOT]
at com.capitalone.dashboard.collector.DefaultJiraClient.getJiraIssueTypeIds(DefaultJiraClient.java:303) ~[jira-feature-collector.jar!/:3.1.2-SNAPSHOT]
at com.capitalone.dashboard.collector.FeatureCollectorTask.getCollector(FeatureCollectorTask.java:95) ~[jira-feature-collector.jar!/:3.1.2-SNAPSHOT]
at com.capitalone.dashboard.collector.FeatureCollectorTask.getCollector(FeatureCollectorTask.java:48) ~[jira-feature-collector.jar!/:3.1.2-SNAPSHOT]
at com.capitalone.dashboard.collector.CollectorTask.run(CollectorTask.java:52) ~[core-3.1.9.jar!/:3.1.2-SNAPSHOT]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) [spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_231]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_231]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [na:1.8.0_231]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.8.0_231]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_231]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_231]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_231]

Can you try making that api call in postman with your credentials?

We are getting same 401 error

We don't have admin access for this credential

Unless your company restricted the Jira api further than normal anyone who can login should have access to the apis.
 echo -n username:password | base64 - this is how you generated the token?

Yes i have added the credentials in the Authorization tab using Basic Auth

Will check with other credentials and check whether we have access for the apis

Yes we have generated by the above mentioned format only
On Mon, 9 Dec, 2019, 8:05 PM Sbrenthughes<EMAIL_ADDRESS>wrote:

Unless your company restricted the Jira api further than normal anyone who
can login should have access to the apis.
echo -n username:password | base64 - this is how you generated the token?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Hygieia/hygieia-feature-jira-collector/issues/27?email_source=notifications&email_token=AF7KF3ID3UPADW53JUC3M4DQXZJUFA5CNFSM4JVJRWC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGJMHAI#issuecomment-563266433,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7KF3ILQSE3YK5CHNC63MTQXZJUFANCNFSM4JVJRWCQ
.

Did you check to see if you had access to other apis?

For all the apis its throwing 401 error in Postman . But we are able to see the result in browser

From your postman screenshot I don't see the Authorization tab.

Can you work with your jira team to resolve this issue first?

Okay sure.. .
If we want to call the api do we need admin access for that?
Is that necessary?
On Fri, 13 Dec, 2019, 11:06 PM Sbrenthughes<EMAIL_ADDRESS>wrote:

Can you work with your jira team to resolve this issue first?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Hygieia/hygieia-feature-jira-collector/issues/27?email_source=notifications&email_token=AF7KF3IAYZJCUSGTCVU47ATQYPBZFA5CNFSM4JVJRWC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG2V4IQ#issuecomment-565534242,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7KF3PEB2CKOA7DONCHB6TQYPBZFANCNFSM4JVJRWCQ
.

That is up to the team that manages your jira instance.

If you can call it from the browser your should have access to call it from postman.

Okay will check with the jira team
On Fri, 13 Dec, 2019, 11:28 PM Sbrenthughes<EMAIL_ADDRESS>wrote:

If you can call it from the browser your should have access to call it
from postman.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Hygieia/hygieia-feature-jira-collector/issues/27?email_source=notifications&email_token=AF7KF3OLVZIPK23EXBTIY3LQYPENLA5CNFSM4JVJRWC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG2X7VQ#issuecomment-565542870,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7KF3JGQ6K6BSXWLN7ZUCLQYPENLANCNFSM4JVJRWCQ
.


Do not return early if other mutation types are observed

"childList" will appear in Firefox when adding spaces to the end of a line. The mutationRecords returned look like this:
[
{type: "characterData", ...}, // Original state
{type: "childList", ...}, // Something we don't care about
{type: "characterData", ...} // This one contains the changes
]

Since we exit early we only see the original state and the space we were trying to add is not seen. This replaces that behavior by just filtering out any non characterData mutation records.

Should fix this issue: https://github.com/mweiss/elm-rte-toolkit/issues/35


Is this library multithreaded safe?

Is this library multithreaded safe?

If you use proper locking, then yes it would be. Here is an example.
#include <pthread.h>
#include "log.h"

pthread_mutex_t MUTEX_LOG;
void log_lock(bool lock, void *udata);

int main() {
  pthread_mutex_init(&MUTEX_LOG, NULL);
  log_set_lock(log_lock, &MUTEX_LOG);

  /* Insert threaded application code here... */

  pthread_mutex_destroy(&MUTEX_LOG);

  return 0;
}

void log_lock(bool lock, void* udata) {
  pthread_mutex_t *LOCK = (pthread_mutex_t*)(udata);
  if (lock)
    pthread_mutex_lock(LOCK);
  else
    pthread_mutex_unlock(LOCK);
}

thanks.
It would be nice to add this code directly to log.c

Possibly, but locking is an extraordinarily complicated topic, and there is no one-size-fits all approach that would work with a portable library like this. For example, the above example only works in POSIX style operating systems, like Linux, BSD, and macOS, that support NPTL.


Change VERSION in rest.py from integer to string

Under """Updates an OTC working order""" in the rest.py, VERSION needs to be a string, i.e. VERSION = 2 needs to be VERSION = "2"

Done, closing


feat: add support for additional methods used by js-lotus-client-workshop

This PR is part of #693:

Implements Filecoin.Version method
Implements Filecoin.ActorAddress method
Implements initial Filcoin.StateMinorInfo method

We're postponing these reviews until later

We're postponing these reviews until later


Tidy the footer

A bunch of small corrections and minor tidying in the footer. See commit messages for details.
Tested locally by building docs.nextstrain.org with this branch with:
env PYTHONPATH=$HOME/nextstrain/sphinx-theme/lib/ make html

Using the RTD previews, you can also compare the footers before and after.

E.g. myself and Moira and Cassia (and perhaps others) are not included in the "Nextstrain is built by" gallery of pictures/names.

Oh! Well let's fix that too then!

@eharkins Look better now?

@eharkins Look better now?

Looks great, thanks! I wonder how we can continue to keep the footer on nextstrain.org (and any other potential instances of this footer) in sync with the docs footer / vice versa, in terms of both the list of team members and the html/css code. Assuming the code lives here, maybe there's a nice way to install the theme in nextstrain.org and import it there?

In terms of keeping it in sync, I don't think there's a particularly nice technical solution. Easier and simpler to just keep doing it manually. We can make a checklist in comments of the places we maintain this footer, so that anyone updating one place can port their changes to the others too.


support for link tag params like media

What version of the product are you using? On what operating system?
1.0.2

Please provide any additional information below.
i can not add some link params like media="print" ;(
$minifyCSS->addFile(array(
  'css/example.css',
  'css/monkeys.css',
  'http://example.com/foo/bar/baz.css'
));

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 17 May 2007 at 12:29

Original comment by<EMAIL_ADDRESS>on 20 May 2007 at 12:11

Changed state: Invalid


RustWeb Digest #1

Already earlier I had the idea of having some (semi)-regular Updates of the Rust-Web Ecosystem packed into an ongoing Blogpost series: I called it RustWeb Digest (open for discussion, if you have a better name) and almost a month after starting the relaunch, I think it is time we can compile our first edition. I am thinking of splitting the one into three major parts:

Important News and Developments
The few most important headlines of the ecosystem since the last edition (up to three maybe?), each with a short paragraph summarizing what is going on and why its important – of course linked to the specific items on the web.
Further Headlines
Other internal and external headlines that made the round and might be of interest. This time only the headline and the link though
New Package Releases
Packages we added to the list or which updated their version – big updates might still be mentioned in the sections before, too.

If this sounds good to you, @bashyHQ/awwy-curators I'd like to start compiling content: just post it here.

I propose to add:

Servo is part of GSOC is a big great news: https://wiki.mozilla.org/Community:SummerOfCode16#Servo
Rust URL asking for feedback on their rewrite to version 1.0 is an important milestone: https://github.com/servo/rust-url/pull/176

I'd also like to get #15 out of the door by then and add that to the news section!

https://blog.servo.org/2016/03/02/summer-of-code/ is a better link.
There's also the new https://crates.io/crates/iron_session

Oh, nice. I'd bump the session middleware into top-news actually!


Cache Oracle prices

Instead of #5 and to mitigate #79 I'll just pull all the block prices and stick them in a JSON.
Since this requires having all prices, I'll limit to 2020 and 2021 for now, and then implement proper fix on #79 (probably after tax filing).

Doesn't seem to be working for me- not sure if its related to this rate limiting. When I enter my hotspot address, it spins for a while and then says no rewards during 2021 (there were). So then I enter the wallet address, and it spins for a while and then... nothing. No CSV, or any visible results.
I appreciate your work with this tool.

@cheezedawg hmm, I just tried a few again and it seems to be working now (albeit extremely slowly), all I can do is recommend trying again (perhaps at different times of the day) 😞

Thanks Dave. I’ve been trying periodically and will keep trying. How slow?
Minutes? Hours?
Do you recommend using the hotspot address or wallet address? I only have 1
hotspot in the wallet, but the behavior is different as noted above.
Sorry I missed this before posting a new discussion.
On Wed, Apr 13, 2022 at 11:00 AM Dave Tapley @.***>
wrote:

@cheezedawg https://github.com/cheezedawg hmm, I just tried a few again
and it seems to be working now (albeit extremely slowly), all I can do
is recommend trying again (perhaps at different times of the day) 😞
—
Reply to this email directly, view it on GitHub
https://github.com/davetapley/helium-tax/issues/83#issuecomment-1098332873,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAYD2VO32JBL25JJZ44C2DVE4DSZANCNFSM5S2DV7HA
.
You are receiving this because you were mentioned.Message ID:
@.***>

hi can me give someone step by step commands for user that are not expert. i am thinking prefer it and find it nice if someone can help non experts.
which file do we need?
how can we edit it?
which commands should we add and delete?
thanks

I'm not sure what you are asking. You just need to input your hotspot or wallet address into the tool. It will then download a CSV file that you can open in Excel or other spreadsheet software to calculate your mining income.

ok where can i download the tool?

how can i edit the tool or file?


Add tooltip to "I would like someone to review my edits"

While checking the openstreetmap chat (on discord), I noticed a surprising amount of people that didn't actually know what the "I would like someone to review my edits" checkbox does (on the changeset submitting screen.
So maybe adding some kind of tooltip with an explanation about what exactly it does would be useful.
(Mentioning that it's useful for beginner mappers, but also for any level mapper of they're not a 100% sure about their edit)

Maybe as well if a user has gone through the walkthrough in the session we add an explanation of what that option does and recommend the user to try using it.

I second this - we should probably make it clear that these changes will go live straight-away.

There, hopefully this will reduce some confusion. It's tough to get a sufficiently succinct description.


Add git short commit to log output

What is your idea?
Out git short commit SHA as a field in every log line to improve debugging.
Would you be willing to make the change?
Yes.
Additional context
n/a

Looks like this is harder than it should be. For reference, this is how Debezium implements it using custom MDC context properties:

user guide: https://debezium.io/documentation/reference/stable/operations/logging.html#adding-mapped-diagnostic-contexts
code: https://github.com/debezium/debezium/blob/main/debezium-core/src/main/java/io/debezium/util/LoggingContext.java

Not sure if @agebhar1 or @maschnetwork sees an easy implementation here, otherwise I'm inclined to close as "not planned".

I have an idea https://github.com/git-commit-id/git-commit-id-maven-plugin it's used by Spring Boot. You can assign me for this issue @embano1.

There are at least two options to add the git short commit SHA as a field in every log line. The first is, which is already mentioned, using the Mapped Diagnostic Context (MDC) of SLF4J. But this requires to update the logging configuration for Log4j, e.g.
log4j.appender.eventbridge=org.apache.log4j.ConsoleAppender
log4j.appender.eventbridge.layout=org.apache.log4j.PatternLayout
log4j.appender.eventbridge.layout.ConversionPattern=[%d] [%t] %p [%X{eventbridge.git.short}] %m%n
log4j.additivity.software.amazon.event.kafkaconnector=false

The (container) log contains the commit information if configured:
e2e-connect-1  | [2024-01-07 18:13:40,763] [task-thread-eventbridge-e2e-0] TRACE [302d7c5] Returning early: 0 records received
e2e-connect-1  | [2024-01-07 18:13:50,773] [task-thread-eventbridge-e2e-0] TRACE [302d7c5] EventBridgeSinkTask put called with 0 records: []
e2e-connect-1  | [2024-01-07 18:13:50,773] [task-thread-eventbridge-e2e-0] TRACE [302d7c5] Returning early: 0 records received
e2e-connect-1  | [2024-01-07 18:13:51,010] [pool-4-thread-1] INFO [] Total records sent=0
e2e-connect-1  | [2024-01-07 18:14:00,777] [task-thread-eventbridge-e2e-0] TRACE [302d7c5] EventBridgeSinkTask put called with 0 records: []
e2e-connect-1  | [2024-01-07 18:14:00,779] [task-thread-eventbridge-e2e-0] TRACE [302d7c5] Returning early: 0 records received
e2e-connect-1  | [2024-01-07 18:14:10,779] [task-thread-eventbridge-e2e-0] TRACE [302d7c5] EventBridgeSinkTask put called with 0 records: []

The second option is to add the information explicit to each log line 'by hand', e.g.
log.trace("[{}] Returning early: 0 records received", Git.sha());

Both options have there pro and cons.
Which one do you prefer @embano1?

Thx Andreas, as always! Yeah, those were the two options I could come up with when my initial (naive) approach (from how I'd do this in Golang*) did not work out.
However, I dislike both because:

It requires changes to our current logger (not a big issue, but I'd rather spend our resources on other PRs) and the user to set up the correct appender format (which we don't control**)
Adding this to every log statement is redundant and error-prone

* I use zap (but others also have this feature), where you can define root/global fields which will always be added to each log statement (of course, fully configurable). Looks like our current simple logger doesn't have such a With(...fields) feature. Perhaps we can chose another slf4j compatible logger?
** My idea was that every user, without and customization, will immediately see the commit ID (not just the property version) of the connector (s)he is running, which helps with debugging here

I wouldn't mind the wrapper if it's a small change!

I found this https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/common/utils/LogContext.java @embano1, it's exactly what we want.

Oh, so you mean we use/pass the LogContext and add our Git commit ID which will automatically get logged then? Or do we still require MDC? Where do we get access to the LogContext in the connector?

We do not require the MDC. Yes, we would create one (singleton) LogContext and instead of using SLF4Js LoggerFactory#getLogger we use the method from the singleton.

I like that!


Add proper issue and pull requests templates

We need to setup a proper issue and pull request templates for the whole monorepo
Sub Activities

[x] Add an issue template following the best practices
[x] Add an pull request template following the best practices
[x] Add an contributors.md

Issue resolved without pr


Allow omitting directory.

It would be nice to be able to omit the directory arguments, like you can with Rubocop, where it effectively just uses ".".

Since 1b24908 (0.1.5) specifying no files or directories should default to ., checking all files.


This attribute is missing “high_avg_pool” in the fewshot.py file

Hello author, thank you very much for your excellent work.
In the process of replicating the code, I found that this attribute “high_avg_pool” missing from the fewshot.py file. And the part that deals with the Abd-CT dataset is missing from the code. Can you provide the code?

I have the same question and look forward to the author's answer.

I do two things with this part: 1. Remove self.high_avg_pool from the code, i.e. : q = query_feat.flatten(2).transpose(-2, -1). 2. Add self.high_avg_pool = nn.AdaptiveAvgPool1d(self.encoder.output_dim // 2). However, my reproduction results are not up to what is described in the paper. I am looking forward to your operation and the author's explanation.


New Location - LA

I edit file src/constants/llu-api-endpoints.ts, include LA: "api-la.libreview.io", in the list, change the env variable to LINK_UP_REGION: "LA" and build a local image.
Work fine for me in Brazil.

Hi, all.
About 9 hours ago I started to receive this message:
[info]: renew token
[error]: LibreLink Up - Logged in to the wrong region. Switch to 'LA' region.                                                                                [error]: LibreLink Up - No AuthTicket received. Please check your credentials.
I tried logging off and logging on LibreLinkUP and accepting new terms, but it didn't work. I tried to follow the message and change the region to LA, but I received LA is not a supported region.
I'm from Brazil.
Originally posted by @diego-castilho in https://github.com/timoschlueter/nightscout-librelink-up/issues/143#issuecomment-2194383720

If you request https://api.libreview.io/llu/config/country?country=BR you can get dynamically the subdomain to use by extracting with the entry
"lslApi":"https://api-la.libreview.io/

@diego-castilho your PR has been merged and the new Endpoint is available in v2.7.0. Thank you very much! :)


Add setImageWithURL:placeholderImage:success:failure:

We need a callback when the image is done downloading and while we could use setImageWithURLRequest:placeholderImage:success:failure:, it seems messy to have to duplicate the same settings as we already have for setImageWithURL:

Something about adding setImageWithURL:placeholderImage:success:failure feels bloated to me. The API design throughout AFNetworking is consistent in providing a small number of increasingly-complex methods, with simpler versions delegating to complex ones using strong defaults. Each subsequent method should represent a significant increase in complexity, so as to streamline the API.
Basically, my restraint in the API design is to make it as easy for someone to pick up for the first time—especially if they are new to iOS / Mac development.   If this were a more common use-case, to need success and failure blocks on a UIImageView, then I could be sympathetic. But really, I can already imagine the extra option confusing the user, wherein they'd re-set the image in the success block, or something.
The configuration necessary to duplicate the effect of setImageWithURL:placeholderImage: is not that much—only 3 lines. Just a matter of creating a mutable request, turning on pipelining and turning off cookies. If this case is common for you, you could always add a category method yourself.
Does that sound reasonable?

The specific case I needed was a success callback because we resize the images (logos shown at various resolutions but just stored at high resolution).
So there was a simple method to set the URL, set it with a placeholder and then this longer and more complicated thing.  It has the callback I want but it takes an NSURLRequest for some reason...
So, given I needed the callback, my rationale for the feature request was twofold.

It's symmetrical with the other methods
It reduces copy-and-paste

The first point being much more important than the second ;).  While initializing the NSURLRequest is only 3 lines of code, it's actually 4 pieces of configuration which shouldn't need to differ from the other setters.
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
[request setHTTPShouldHandleCookies:NO];
[request setHTTPShouldUsePipelining:YES];

So as it is currently I've added a category method as you suggest, but I still think the api has merit.  At the very least it'd be nice to extract the creation of the NSURLRequest into a simple utility method to avoid having to update lots of places should you notice some other feature that should be set (Accept-Encoding etc)

What about a progress block?  I find myself needing download progress for some of my image downloads so I added a function to the UIImageView category like this:
- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest
              placeholderImage:(UIImage *)placeholderImage
                       success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
                       failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
                      progress:(void (^)(NSInteger read, NSInteger total, NSInteger expect))progress

Then I just set up the request as normal.   Would love if that was part of the API too, but I can see how it starts to bloat up.  Thoughts?

I appreciate all of the ideas about adding features to UIImageView+AFNetworking. For now, I'm going to leave it as-is in core, but I encourage you to add those methods to your project or local installation (by all means, if your application needs special functionality, make it easy for yourself). I think the current set of APIs strikes the right balance of practicality and completeness for most users, especially since they have the ability to extend to their needs for any specific use case that calls for it.


Overview doc for Fundamentals --> Microsoft Extensions TOC

Closing this, as the Microsoft Extensions TOC node is being removed - see #21023


formatNumber should have style inside options

And we should add an option to round, add the sign + or - in front of the number, and append a prefix or suffix


FIX: replace hostname calls with Socket#gethostname

Hi there! :wave: Thank you so very much for this project — we at Plex have been using for quite some time with great results. :raised_hands: Unfortunately, after a recent upgrade to the latest version, we have started noticing quite a few zombie processes spawning from our puma workers, which we have tracked down to the hostname calls made by prometheus_exporter — which have been introduced fairly recently.
Luckily, the built-in ruby alternative Socket#gethostname (available from 1.9.3) doesn't cause these extra processes, returns the same value, and it saves us the String#strip call. Any chance we could get this implementation swapped in?
Thanks a million in advance! :wave:

Thanks heaps, also we should keep this in a global I think, looking through the code.
This looks good to me but I feel like we should require 'socket' I don't think it is required by default ... h

OK I just sorted this out in latest, doing a gem release now


MS-Office Asset selector (feature request)

I don't know if it is here the right place, but I have 1 feature request for MS-Office Asset selector.
When placing an asset in a powerpoint presentation, could it be possible to select any of the rendition computed, or a dynamic one, instead of the Full HD asset?
In some cases, like creating a modelario of a fashion collection, if you import multiple assets on a single page, the document can become huge and difficult to edit/share.
Thanks

Is this a feature request for AEM as a product, or for a specific functionality which you think belongs to acs-aem-commons?

I don’t know if this can be done by the office plugin or if it needs to be implemented in AEM core product.
The Goal is to be able to place one given rendition (static or dynamic) in the Office document instead than the original asset.

This can technically could be done since the code to select the binary is done via and XHR call [1] - we just need to have some way to specify the rendition suffix to use.
Also, there is a size limit on what it can pull in.
[1] https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/ui.apps/src/main/content/jcr_root/apps/acs-commons/asset-selectors/ms-office/asset-selector/clientlibs/scripts.js


Short URL Calculator

Description
The project need a calculator that calculate the short url of any link
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Sir please assign me this issue under iwoc @Rakesh9100

What do you mean by calculating the short url @Sakshamjain98

Short url mean when a person want to short their long url they use our short url calculator that convert the long link into short link using api

Okay go ahead @Sakshamjain98


Fix a typo

Coverage decreased (-0.5%) to 90.754% when pulling d2845a0d2eb8dca463fdeeabbbd45d1c958ff5fa on mklkj:master into 42853f41bb9d8453d334814818c49a28f076056f on nvbn:master.

Coverage decreased (-0.5%) to 90.754% when pulling d2845a0d2eb8dca463fdeeabbbd45d1c958ff5fa on mklkj:master into 42853f41bb9d8453d334814818c49a28f076056f on nvbn:master.

Thanks!


No markers available in h miamia whole

Q: "Show 10 markers of diffuse endo in h_miamia whole"
params = {
organism: "h_miamia",
organ: "whole",
celltype: "diffuse endo",
number: 10,
measurement_type: "gene_expression"
}
Result:
markers:[ ]

bug found and fixed, next release


Microsoft.ApplicationInsights.NLogTarget not supported in .net core

Cross posted here: https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/356
Not sure if this is the right repo to inquire about this - please point me in the right direction if not.
We are using NLog in our aspnet.core project.  We tried to add Microsoft.ApplicationInsights.NLogTarget package and noticed that it's not (yet) supported.  Is there a repo/project for this package where I could track anyprogress on this?
adding this
        <PackageReference Include="Microsoft.ApplicationInsights.NLogTarget" Version="2.0.0" />
causes this:

Severity	Code	Description	Project	File	Line	Suppression State
Error		Package Microsoft.ApplicationInsights.NLogTarget 2.0.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.ApplicationInsights.NLogTarget 2.0.0 supports:  net40 (.NETFramework,Version=v4.0) , net45 (.NETFramework,Version=v4.5)			0

answered and closed here:  https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/356


Fix/controller ad

Reapply my previous commit
add kerberos to excludes in the webpack for the extension

I'd suggest queueing a build and testing it manually before merging this in just to verify

Agreed - will follow Charles's suggestion and queue a build.

Confirmed working on Mac, will wait for my Windows adhoc build to (hopefully) complete and then test that too.


Implementing pangram.

description to come

This is pretty good :)
The test suite is complete, and the implementation is good enough I won't bother nitpicking it.
What you'll need to do before I can merge it is finish matching the style in this repo and adding it to our build scripts. So a short list of things you'll need to fix:

Please don't re-format the config.json. Just add the lines necessary for this new problem.
You'll need to add the name to the list in the root CMakeLists.txt, otherwise it won't build during our automated testing.
Try to match the formatting of existing tests. Take a look at Word Count in detail, it has similar requirements to this one. Specifically:

Formatting, specifically vertical spacing (blank lines).
Name of the #define in the header.
Placing the helper function in an anonymous namespace and not exposing it in the header.
Including only what you need in the header file, and moving the others to the cpp (cctype).

changes implemented :)
I didn't consciously reformat the config (I ran everything through the configlet which might've done it), so I rolled back to a previous version and just added the necessary lines. It should be back to normal again.

Thanks :) I pointed out a few more details.
Thanks for letting me know the configlet tool was the one that reformatted the json. I'd like to update the formatting of that with whatever configlet does, but that should be done in a separate commit.
(Also, still need the CMakeLists.txt update I mentioned, though I know you may be working on it :) )

That should be just about everything. Thanks for your patience. I'm still kinda new to this :).

Awesome! Thanks.


Improved logging

Resolves #90

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

          1 Warning

:warning:
PR is classed as Work in Progress

  Generated by :no_entry_sign: danger

@krzysztofzablocki I've added some basic implementation for errors mentioned in #90, let me know what you think about such approach

@krzysztofzablocki I think I'm done here. Would be nice to implement the same runtime errors for inherits and implements properties of Type, but I can not figure out how to make it effectively for js templates (basically we need to wrap each type into proxy, but I'm not js expert so don't know how good/bad is that), so I'll leave it for later.


format sql files in CPDB

There's the slightest bit of logic change in projectcategorization.sql - instead of huge OR clause, use like any(ARRAY["string1", "string2"... "string100"]), mainly so that the fluffer doesn't freak out

@damonmcc you can't "review" since this was your PR originally, but it should be good to go

Commit 4 finalized now and working properly

approved!


Refactoring of the Forms Implementation

This is a refactoring effort in scope of 2.0 release.
This task is about moving core Forms functionality from the SDK to the Rasa Open Source repo.
Possible point is also to make it easier to use Forms for the end users.
More information has to be added to the description.

Update: forms (and possibly going away from them), is a part of "The rule to rule them all" discussion.

Closing in favor of #6176


Write specification for new always construct, and update docs for spawn

Instead of a single spawn-concept, we propose to introduce separate constructs. A new always-section shall include behavior that is repeatedly executed at the same rate as new instructions are fetched. The existing spawn-keyword marks statements that are allowed to execute concurrently with other instructions in the main pipeline.

Initial version is done (diff) -- we'll fine-tune the spec as we implement it in the front-end and downstream tools.


fixed title not showing when custom sql is applied

Steps to recreate:

build a map
apply custom query (then the create dataset from query or clear view appears)
click 'fixed title' in the options doodad
See a title below the sql query box:

It will be fixed in new editor, so closing :).


Width and Height Window Properties are Ignored when SystemDecorations is Set to BorderOnly

Describe the bug
When the SystemDecorations property of a Window is set to BorderOnly, the Width and Height properties don't have any effect. However, they do work when SystemDecorations is set to either None or Full.
To Reproduce

Set up a new Avalonia Project.
Go to MainWindow.axaml.
Add Width="450" and Height="450".
Add SystemDecorations="BorderOnly".
Run the program.

Expected behavior
No response
Avalonia version
11.0.10
OS
Windows
Additional context
No response

cc @emmauss

@Elbon-Eastmage does it also happen using 11.1.0-beta1?

I can reproduce it on master.


iPad running iOS 12 -- Stuck on Splash Screen

The App Store is rejecting my application because of this:

We discovered one or more bugs in your app when reviewed on iPad running iOS 12 on Wi-Fi.

Everything works fine in the simulator and on my older iPhone. I don't have an actual iPad device to test on, and I see nothing in the simulator logs. Any idea what I can do to fix this? Any idea why it would freeze at the splash screen on iPad but not on iPhone devices?

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v0.9.7-pre.61, on Mac OS X 10.12.6 16G29, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
[✓] Android Studio (version 3.1)
[✓] VS Code (version 1.27.2)
[✓] Connected device (2 available)

• No issues found!

Workaround... by completely removing all Derived Data and all intermediate build files, then building from the command line, then building a release in Xcode, the correct kernel blob is created and the app can progress beyond the launch screen.

cc @chinmaygarde any ideas?

or cc @xster

@jeffmikels I followed the workaround but still facing the same issue. Any fix/alternate workaround?

Similar to #24887

Did you run flutter build ios --release command before exporting ipa from Xcode?

Yes, I tried that too. Still not working :(

I followed the workaround but still facing the same issue.

In this case we would at least need more information about what's different in your case.

Ok, so this is strange. I tried running on the Simulator iPhone and iPad and everything is working fine. Also, a recent build of mine was passed by Apple. (Previous build was rejected because it was stuck on splash screen.) But now, a tester who uses iPad says it doesn't proceed from the splash screen (I asked two people who have iPads to test, and for both of them the problem remains). For an iPhone guy, the app is working fine.
I am unable to debug the issue but can't as everything is working fine on Simulator.

The simulator never seems to have the splash screen freeze problem for me either, but I still sometimes get them on an actual device.
I have reliable builds, but I have made a few changes to my system:

I created a second scheme named "Runner-Release" that only builds for release mode
I always run flutter packages get and flutter build ios first and then immediately build an Archive with the Runner-Release scheme selected.
I also test this build on at least one physical device. If it gets stuck on the splash screen, I run the following commands:

# leftover xcode compilation files
rm -rf $HOME/Library/Developer/Xcode/DerivedData/*
rm -rf $HOME/Library/Developer/Xcode/DerivedData/*
rm -rf $HOME/Library/Developer/Xcode/DerivedData/*

# destroy entire flutter cache (will be redownloaded and rebuilt)
# rm -rf $HOME/Library/Flutter/bin/cache/*

# sometimes Flutter doesn't recompile the frameworks
rm -rf ios/Flutter/App.framework ios/Flutter/Flutter.framework

# remove the entire pub-cache
rm -rf ~/.pub-cache/*

# now, remove the build directory
rm -rf build

# now remove the .packages file
rm -f .packages

# now remove the plugins directory
rm -rf .flutter-plugins

pushd ios
pod deintegrate
rm -rf Pods Podfile.lock
rm -rf .symlinks/*
popd

flutter packages get

Please, this is a major issue. We have not been able to update our app on the app store for weeks.
Please, is there any way to bypass this?

It's hard to find a workaround without more information, for example how to reproduce this issue, what is actually happening when the launch screen freeze.
@wilburt

@kangwang1988, I currently don't have a physical iPad to test this but what I did was

run flutter build ios
select Product > Archive to produce a build archive and went ahead to submit the app.

Few days, I got a response from App Store Connect that the app is freezing on the launch screen on iPads.

@wilburt
Sorry to hear that. But this is so little information to diagnose it. Besides, if we can't reproduce it, how can we ensure that it get fixed.

@wilburt try flutter build ios --release before archive

Still having some release ios build stuck at launch screen only on release ad hoc distribution...

@wilburt 0.10.2 of what? How can I use it?

@pcegarra I meant version 0.10.2 of flutter in the beta channel. However, I don't it matters anywhere because I pushed to the appstore with version 1.2.1 and there were no issues. Just ensure you do flutter clean, flutter build ios --release before heading over to XCode to Archive.

Still having some release ios build stuck at launch screen only on release ad hoc distribution...

@g-balas I have the same problem, only with the ad hoc distribution profile. Could you already figure out the problem in the meantime?

I've run up against this quite a few times @jeffmikels answer above does the trick (I have to close Xcode first)
https://github.com/flutter/flutter/issues/22765#issuecomment-449618558

I solved it by running the bulid without "debug executable" in the scheme.

We were hit by this bug too. It has been 2 weeks now, our app is always rejected by apple because it can't pass the tests on an iPad with iOS 12.2 and WiFi an it's stuck on splash screen.
It does work without any issue on the simulator and on a real iPhone.
We don't have a real iPad to test.
We are submitting an iPhone only build, we'll see it that'll work for now.

Nope, rejected again. Apple still run the iPhone app on an iPad because apparently all the iPhone apps are required to run on iPad but at iPhone resolution.

@martinellimarco If you archive your app on XCode with iPhone only target, the app won't be needed to run on an iPad and the Apple testers won't run it on an iPad, solving your problem. I got my app accepted this way.

@DoubleHub In our case they tested the app on iPad even if it was an iPhone only app. iPhone only apps are supposed to run on iPad too, with iPhone resolution (black bars all around).
I asked the reviewer to ignore the iPad results and they published, but I'm sure they didn't test the app at all on iPhone, because the approved app was crashing on iPhone too at startup with "Engine run configuration was invalid."
In the end I discovered that I can reproduce the issue if I sign the app for ad hoc distribution and install it on my iPhone from an https domain.
To solve it I had to build everything in production mode, disabling every bit of configuration that was involved in some way into debug mode. After that I had to clean the project a couple of time and get rid of the pub cache. From there I was able to constantly build stable releases that didn't crash, neither on iPad nor on iPhone. Apple approved my app upgrades 3 times in a row and I didn't get a single crash report since.

@martinellimarco That's good to hear

Hi, i've same issue.. any updates?

We discovered one or more bugs in your app when reviewed on iPad running iOS 12.3.1 on Wi-Fi.
Stalls after launch.

On iPad simulator and on iPhone with iOS 12.3.1 works seamlessly...
[✓] Flutter (Channel beta, v1.7.8+hotfix.2, on Mac OS X 10.14.4 18E226, locale it-IT)
    • Flutter version 1.7.8+hotfix.2 at /Users/omarceretta/development/flutter
    • Framework revision 2e540931f7 (6 days ago), 2019-07-02 09:31:07 -0700
    • Engine revision b1cb0d9e9b
    • Dart version 2.4.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/omarceretta/Library/Android/sdk
    • Android NDK at /Users/omarceretta/Library/Android/sdk/ndk-bundle
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • CocoaPods version 1.7.3

[✓] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 35.3.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

Today I am facing the same issue for my Flutter App. I updated my iPad iOS version 12.3.1, and when I run the scheme in Debug mode there was no issue. But when I change the scheme from 'debug' to 'release' and run in my iPad, the splash screen shows just white and doesn't forward. So Apple is right. I am still trying to figure out how to solve....

@pcegarra I meant version 0.10.2 of flutter in the beta channel. However, I don't it matters anywhere because I pushed to the appstore with version 1.2.1 and there were no issues. Just ensure you do flutter clean, flutter build ios --release before heading over to XCode to Archive.

Finally I able to fix the issue by following this suggestion. Thank You

This just started for me, literally last night doing a new-feature build. Rolling back, fully cleaning up behind me, and reverting to the last version that passed app store check now doesn't work either. This started completely out of the blue, without new libraries or dependencies, etc. Each time I hit a snag in flutter, it's always due to the entire "workaround" nature of Flutter on devices. Between Firebase crashing the app hard and choosing to go without push notifications for the moment, to 10 or 11 builds after I start using Flutter, this problem showing up, regardless of a number of builds that worked fine. I like what Flutter has to offer, generally speaking, but being dead in the water weeks and weeks into an app rebuild, I feel like it's time wasted at this point. No crash logs. No ability to diagnose or debug it. No apparent way of even really determining where it stopped. The only thing I can say for sure is that the very first thing my app does on start up, after whatever housekeeping Flutter and the iOS layers do before starting the app, is call home to the server to validate the stored login token. That call never reaches the server. That is the only thing I can say for sure. :(

@chornbe what's the output of flutter doctor -v?

admins-MBP:diary_app_flutter chris$ flutter doctor -v
[✓] Flutter (Channel unknown, v1.8.1, on Mac OS X 10.14.5 18F132, locale en-US)
• Flutter version 1.8.1 at /Users/chris/development/flutter
• Framework revision d3eee57c0b (11 days ago), 2019-07-08 11:04:24 -0700
• Engine revision 3c51a7bfff
• Dart version 2.5.0 (build 2.5.0-dev.0.0 b5aeaa6796)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
• Android SDK at /Users/chris/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.2.1, Build version 10E1001
• CocoaPods version 1.7.1
[✓] iOS tools - develop for iOS devices
• ios-deploy 1.9.4
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 37.1.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[✓] VS Code (version 1.36.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.2.0
[✓] Connected device (3 available)
• VZiPhone • 6f36b379bd44e2fa094fdf06023bdbf51d7205da • ios            • iOS 12.3.1
• macOS    • macOS                                    • darwin-x64     • Mac OS X 10.14.5 18F132
• Chrome   • chrome                                   • web-javascript • Google Chrome 75.0.3770.142
• No issues found!

Basically all of the above, combined, seems to work consistently, but it's silly to have to do these weird measures.
Exit XCode if running
Close out code editor (I use VSCode for Flutter work)
Run flutter clean
Start XCode
Modify the scheme: -> force release, turn off debug
Exit XCode
Just for good measure, Flutter clean again
Pray to all the gods you didn't accidentally introduce a Firebase library
Run flutter build ios --release
You might have a good build, but you don't know. At all.
Start XCode and do ZERO else but make sure "Generic IOS device" is selected, product -> archive, and then immediately upload (for test flight or review or whatever)
If you have debugging or more coding to do again later, then
Modify the scheme: -> return to previous values
Immediately exit XCode
Flutter clean
Get to work
If not, light some sage to wave around the computer, circle the room thrice and again, and back out of the room slow, so as not to startle the fragile bits.
PS... you've probably also unwittingly broken the Android build, but... that's Android. I don't care. :D
Doing all these steps, I've now got 1) two consistent builds working, and 2) less faith that this fragile mess will hold up. But here we are.

Basically all of the above, combined, seems to work consistently, but it's silly to have to do these weird measures.
Exit XCode if running
Close out code editor (I use VSCode for Flutter work)
Run flutter clean
Start XCode
Modify the scheme: -> force release, turn off debug
Exit XCode
Just for good measure, Flutter clean again
Pray to all the gods you didn't accidentally introduce a Firebase library
Run flutter build ios --release
You might have a good build, but you don't know. At all.
Start XCode and do ZERO else but make sure "Generic IOS device" is selected, product -> archive, and then immediately upload (for test flight or review or whatever)
If you have debugging or more coding to do again later, then
Modify the scheme: -> return to previous values
Immediately exit XCode
Flutter clean
Get to work
If not, light some sage to wave around the computer, circle the room thrice and again, and back out of the room slow, so as not to startle the fragile bits.
PS... you've probably also unwittingly broken the Android build, but... that's Android. I don't care. :D
Doing all these steps, I've now got 1) two consistent builds working, and 2) less faith that this fragile mess will hold up. But here we are.

I laughed way more than I should have at this post

Basically all of the above, combined, seems to work consistently, but it's silly to have to do these weird measures.
Exit XCode if running
Close out code editor (I use VSCode for Flutter work)
Run flutter clean
Start XCode
Modify the scheme: -> force release, turn off debug
Exit XCode
Just for good measure, Flutter clean again
Pray to all the gods you didn't accidentally introduce a Firebase library
Run flutter build ios --release
You might have a good build, but you don't know. At all.
Start XCode and do ZERO else but make sure "Generic IOS device" is selected, product -> archive, and then immediately upload (for test flight or review or whatever)
If you have debugging or more coding to do again later, then
Modify the scheme: -> return to previous values
Immediately exit XCode
Flutter clean
Get to work
If not, light some sage to wave around the computer, circle the room thrice and again, and back out of the room slow, so as not to startle the fragile bits.
PS... you've probably also unwittingly broken the Android build, but... that's Android. I don't care. :D
Doing all these steps, I've now got 1) two consistent builds working, and 2) less faith that this fragile mess will hold up. But here we are.

I did all of them, and rejected once again from Apple due the Blank Screen.
Any other recommendation?
[√] Flutter (Channel stable, v1.7.8+hotfix.3, on Microsoft Windows [Version 10.0.18362.239], locale en-US)
    • Flutter version 1.7.8+hotfix.3 at C:\Users\User1\MyDrive\Android\Service\flutter
    • Framework revision b712a172f9 (13 days ago), 2019-07-09 13:14:38 -0700
    • Engine revision 54ad777fd2
    • Dart version 2.4.0

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\User1\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 37.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] VS Code (version 1.33.1)
    • VS Code at C:\Users\User1\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.2.0

[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

I recently ran into this issue on not just iPads but iPhones as well. The app loaded fine in the simulator but was stuck at the splash screen on Release builds on physical devices.
running through steps listed in the script here seems to have resolved the issue for me.

Remove DerivedData are the point for me.

I am experiencing the same issue.  I have done around 30 or so successful builds with no issue to iOS and now my app is being rejected being unable to go past the launch (splash) screen on iOS 12.4 on iPad with Wifi.  I have tried the suggestions here, but I'm now just being rejected.  Despite a fairly large amount of refactoring, there is very little reason I can see in my code or dependencies for this to have happened (in the version which succeeded I added a lot of new dependencies around Firebase, but this succeeded, so I assumed it didn't get stuck on the iPad).  I'm going to have to commandeer an iPad to try and see if I can recreate the issue.

Workaround... by completely removing all Derived Data and all intermediate build files, then building from the command line, then building a release in Xcode, the correct kernel blob is created and the app can progress beyond the launch screen.

Can you please add the exact steps that you followed, apologies for the specifics but it looks like there is a large number of people having the same issue. Also specifically with regards to what you did after the correct kernal blob. Did you use application loader to release that version. I'm very new to iOS so the details would be really appreciated

This just happened to us as well:
_

"We discovered one or more bugs in your app when reviewed on iPad running iOS 13.1.2 on Wi-Fi.
Specifically, your app became unresponsive. No action occurred when we tapped anywhere on the screen."

_

What helped in my case I have documented here...
Maybe somebody from the Flutter community with more knowledge about Flutters startup pickups can explain why the above workaround helps...

Solved for me:
Delete pods folder and podfile.lock
flutter clean
flutter build ios --release
Let's finish
Then Run in emulator via xcode. Its working now.

https://github.com/flutter/flutter/issues/27844#issuecomment-464734407 was the cause of this problem for me.

Since this seems to be worked around by cleaning DerivedData and flutter cleaning, and we haven't seen reports for more than a year, I suspect this was something like https://github.com/flutter/flutter/issues/24887 and was fixed with https://github.com/flutter/flutter/pull/42029 and definitely with https://github.com/flutter/flutter/pull/70224.
If anyone is seeing this on a recent version of Flutter, please let us know by opening a new bug and completely filling out the template.  Closing.

It would be helpful to see an example of an app that is reproducing this issue on iPads.
Barring that, we'd like to look at any spindumps or crash logs (Xcode > Window > Devices and Simulators > select iPad > View Device Logs) that happen when the device is stuck.
If you can get a sysdiagnose from the device to check the logs from system_logs.logarchive (please don't post it on GitHub, there's too much personally identifiable information) or watch the Console for the device while it's happening to know if there's any logging when the slash screen first gets stuck that would also be helpful.
Please make sure you're following all the instructions at https://flutter.dev/docs/deployment/ios#create-a-build-archive.


Prop comments not present in declaration file when prop has defaults

I've seen a couple issues for this (#1434, #1261, #703) which all indicate the issue is resolved yet I'm still seeing this problem when using vue-tsc to generate the types for a component library.
I ran npm init vue@latest to test this and created the following MyButton.vue component.
import type { PropType } from 'vue'

export type Variant = 'primary' | 'secondary' | 'success' | 'danger'

const props = defineProps({
  /**
   * The variant of the button.
   */
  variant: {
    type: String as PropType<Variant>,
    default: 'primary',
  },
})

When running vue-tsc --declaration --emitDeclarationOnly I get the following declaration file for the component:
import type { PropType } from 'vue';
export declare type Variant = 'primary' | 'secondary' | 'success' | 'danger';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    /**
     * The variant of the button.
     */
    variant: {
        type: PropType<Variant>;
        default: string;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * The variant of the button.
     */
    variant: {
        type: PropType<Variant>;
        default: string;
    };
}>>, {
    variant: Variant;
}>, {
    default: (_: {}) => any;
}>;
export default _default;
declare type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};

For whatever reason when I use this component in a project I don't see the JSDoc and Ctrl + Click takes me through to the line that has variant: Variant;.

I've also tried declaring props with withDefaults(defineProps<{}>()) but it yields the same result. As soon as the default is removed and the prop is marked as required the JSDoc comes through correctly.
Versions
Vue: 3.2.47
Vite: 4.1.1
vue-tsc: 1.1.2
If there's any other information you'd need please let me know. I'm hoping this is just an oversight on my behalf. Cheers.

I think defineComponent have been change so the solutions of the past don't work.

I will see how to fix to types.

We are also running into this issue when trying to build an npm package of our component types (d.ts files). Did you ever make headway on finding a way to fix this? I'm happy to do some digging around on this, but not sure where to start looking. As in, I don't even know what if this is a core vue issue or a language-tools issue.

Same issue here. Is there some workaround to make it work?


Letters instead of numbers for optimisation problem components

I'm not sure that numbering the optimisation problem components helps in understanding the formulation process (i.e., the define an order in the general formulation), especially when they then appear out of order in e.g. defining eqs. 5.9 and 5.10. It also doesn't help that you have (0) parameters and then (2) objectives - somehow I keep thinking objectives when I see (0)!
Signposting them with colours and a symbol is quite nice though - breaks up the monotony a little - but letters could be easier to track? I.e. (P) parameters, (O) objectives, (V) variables, and (C) constraints.

This is a good idea!


Cluster upgrades - any consideration?

This is a fantastic tool that you've put together. :) I would like to know if any consideration has been given to cluster upgrades in hetzner-kube. i.e. A new version of Kubernetes has been released and needs to be rolled out to the master node and workers.
Having used GKE for a while, from what I understand of the process for worker nodes is: a) new nodes are spun up, b) workloads drained from existing nodes and migrated to the new nodes c) old nodes are killed. This is performed on a rolling basis. I'm not sure on the specifics of the process for the master node, but hopefully I've conveyed my point well enough.
Thanks.

I ran into the need to perform an upgrade of my cluster. As I only use HA clusters in my setups, this is a non-trivial step. Here are my steps to do a backup:
Backup
Depends on how paranoid you are, you should save:

manifests
etcd
workload storage

Control Plane

get the latest kubeadm

export VERSION=$(curl -sSL https://dl.k8s.io/release/stable.txt)
curl -sSL https://dl.k8s.io/release/${VERSION}/bin/linux/amd64/kubeadm > /tmp/kubeadm
chmod a+rx /tmp/kubeadm
mv /tmp/kubelet /usr/bin/kubeadm

upgrade the control plane using the generated hetzner-kube on all master nodes

kubeadm alpha phase controlplane scheduler --config master-config.yaml
kubeadm alpha phase controlplane controller-manager --config master-config.yaml
kubeadm alpha phase controlplane apiserver --config master-config.yaml

if you are using the kube-prometheus addon, add these lines to /root/master-config.yaml:
controllerManagerExtraArgs:
  address: <IP_ADDRESS>
schedulerExtraArgs:
  address: <IP_ADDRESS>

warning: think about firewall rules when opening these
kubelet
upgrade kubelet on all nodes

export VERSION=$(curl -sSL https://dl.k8s.io/release/stable.txt)
curl -sSL https://dl.k8s.io/release/${VERSION}/bin/linux/amd64/kubelet > /tmp/kubelet
chmod a+rx /tmp/kubelet
mv /tmp/kubelet /usr/bin/kubelet
systemctl restart kubelet

Community question:
@kabudu @JohnnyQQQQ @pierreozoux @eliasp
We could move this logic into the tool. But as mentioned above, cluster upgrades are a complicated topic. This solution currently relies on alpha tools from kubeadm. There is no fixing of versions. It just installs the latest release. I don't know what is the best thing to do:

add this to the docs, don't provide any automatism into the tool
doing a simple upgrade routine under alpha subcommand, like kubeadm. This would look like `hetzner-kube cluster alpha upgrade [plan|apply]
the ultimate upgrade feature, beginning from 2. extending with a generic version fixing, adding specific upgrade for minor version. This would lead to the most stable upgrade experience, but the contributers should maintain new upstream version from kubernetes...the "lot of work" I mentioned earlier

WDYT?

Option 2 seems like a good halfway house to me.

Personally I think that we should start with option 1 right now and take option 2 into consideration for the next major release.
We would need to get a list of all common edge-cases in which an update is not possible and catch those exceptions. IMHO If we would like to ship a feature like this, it shouldn't harm the more inexperienced users in first place.

There is no fixing of versions

This is a good point. We should check if the new versions found by export VERSION=$(curl -sSL https://dl.k8s.io/release/stable.txt) is already supported (by the upgrade routine) or not.

about the "next major" release...currently, we have no major release, yet. The next would then be 1.0. I'm still thinking what milestones I want to reach for this version.
So, who is gonna code this? :trollface:

Hello!
Kubeadm support upgrading with external etcd since May. So, this should help for hetzner-kube upgrade ?
We follow your project since many months, but we would like to be sure if we install it in production, we could upgrade it after.
Or may be it's still not recommended to uses hetzner-kube in production ?

@xetys , I'm, most probably, can help with this, since i have plans to use this tool for production. so going to do some investigation about how to achieve that. also maybe then it will be not bad idea to add functionality to select version of kubernetes to deploy (optional and maybe overthinking)

There is now a kubeadm upgrade apply <kubernetes-versio>. I think those can be implemented into the current workflow. I am thinking about some possible designs on how to do this with hetzner-kube and will keep this issue updated with some ideas.
More information about it.

There are also straight forward ways how to do clean upgrade since 1.13. We also could support this.