Status Update
Comments
va...@google.com <va...@google.com>
va...@google.com <va...@google.com> #2
I attached a repro project. This is the stacktrace printed from the Retrofit error (I included the keep rules for the Kodein issue):
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
at retrofit2.HttpServiceMethod.parseAnnotations(HttpServiceMethod.java:365)
at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:4)
at retrofit2.Retrofit$1.invoke(Retrofit.java:7)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy1.getAllBreeds(Unknown Source)
at com.example.api.DogBreedApiImpl.getAllBreeds(DogBreedApi.kt:5)
at com.example.kodein7.MainActivity$onCreate$1.invokeSuspend(MainActivity.kt:5)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7660)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
m....@gmail.com <m....@gmail.com> #3
va...@google.com <va...@google.com> #4
R8 fullmode will remove all attributes for classes that are not kept. Attributes and annotations can only be read by reflection and for full mode we require an explicit keep rule to keep the signatures (and other attributes).
As you point to, adding keep rules for the types in kodein will force R8 to keep the signatures.
For retrofit, you will have to keep the api classes. Interestingly, you also have to keep the kotlin.coroutines.Continuation as well. Adding the below rules fixes the issue in the sample for me (note, you should refine the keep rule for the api to only keep what is needed).
-keep class com.example.api.** { *; }
-keep class kotlin.coroutines.Continuation
I will make a pull request on retrofit to add kotlin.coroutines.Continuation
to the rules we consume.
m....@gmail.com <m....@gmail.com> #5
Will R8 strip the signature even if I have -keepattributes Signature
set in my rules?
If so, is there a rule that could be used to keep the signature just for the api classes?
va...@google.com <va...@google.com>
co...@monogroup.com <co...@monogroup.com> #6
Yes, R8 in full-mode will strip all signatures for not-kept classes if using -keepattributes Signature
. The only way to keep the generic signature for a class is if you keep it.
Having a rule for only keeping certain attributes would actually be quite nice, sort of like:
-keep,Signature class com.example.api.* { *; }
would allow developers to more fine-grained describe what they would like to keep. It would break compatibility though.
We are btw removing all attributes for not kept classes, such as InnerClasses, EnclosingMethod etc.
n....@gmail.com <n....@gmail.com> #7
I found that -keep, allowobfuscation, allowoptimization class com.example.api.**Endpoints { *; }
fixes the issue (at least in the sample project).
Is this new behavior for 7.0.0 (or whatever version of R8 is used with it)? In AGP 4.2.0 this wasn't happening.
Maybe somewhat related, but it looks like consumerProguardFile
isn't working on AGP 7.0.0-beta01. I tried adding these rules to the consumer-rules.pro
file in their respective modules in my real project, and it didn't work unless I put it into my app module's proguard file.
The library gradle file (technically a buildSrc precompiled script) looks like:
plugins {
id("com.android.library")
}
android {
compileSdk = project.compileSdkVersion
defaultConfig {
consumerProguardFile(project.file("consumer-rules.pro"))
minSdk = project.minSdkVersion
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
...
}
bh...@gmail.com <bh...@gmail.com> #8
[Deleted User] <[Deleted User]> #9
Oh that's slightly unfortunate (for me I guess). I've been using full-mode for years, but I think I need to turn it off now because it's affecting too much of my code (it's a very large project). Every time I fix one issue, there's another one that pops up right after it (looks like any class that uses generics with reflection).
Although, I just tested with android.enableR8.fullMode=false
and removed the new keep rules, and I'm still seeing these issues.
I'll try to repro the consumerProguardFile and the fullMode=false
in the sample project.
ke...@gmail.com <ke...@gmail.com> #10
Oh actually it looks like with fullMode=false
I still need:
-keep, allowobfuscation, allowoptimization class org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest
-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest
but none of the other keep rules I had to define for my project (including the retrofit endpoint classes or Continuation
).
Still looking at the consumerProguardFile in the sample project.
ra...@gmail.com <ra...@gmail.com> #11
I managed to get all of the rules needed to keep fullMode=true
. It wasn't fun, and I'm sure this will cause issues in the future if there is a new type that requires its signature being kept for reflection, etc...
This was the final set of rules I needed to add:
-keep class kotlin.coroutines.Continuation
-keep, allowobfuscation, allowoptimization class retrofit2.Response
-keep, allowobfuscation, allowoptimization class com.myapp.api.**Endpoints { *; }
-keep, allowobfuscation, allowoptimization class org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest
-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest
-keep, allowobfuscation, allowoptimization class com.squareup.sqldelight.ColumnAdapter
-keep, allowobfuscation, allowoptimization class * extends com.squareup.sqldelight.ColumnAdapter
-keep, allowobfuscation, allowoptimization class com.myapp.epoxy.GenericListEvent
Is there documentation anywhere about what full-mode does? That probably would've been helpful while debugging this. Also an override for keeping attributes in full-mode would be nice.
Now that I got that out of the way, I'll start looking at the consumerProguardFile
issue, and see if I can repro it.
jo...@bqn.com.uy <jo...@bqn.com.uy> #12
Looks like the consumerProguardFile
issue must've been transient while I was figuring out all the other issues. It's working fine now.
Thanks for all the help!
ca...@secondstoryrealty.com <ca...@secondstoryrealty.com> #13
It also seems to work for me. I am not a gradle expert because I can never figure out exactly when something is run or evaluated. The problems could perhaps come from the mutating of the list:
consumerProguardFiles.clear()
consumerProguardFiles += file("consumer-rules.pro")
Setting the rules should just work.
consumerProguardFiles ("consumer-rules.pro")
ma...@knovik.com <ma...@knovik.com> #14
I understand your frustration with having things that worked before no longer working after upgrading. However, no matter the mode (compat or full) these issues all arise from R8 not knowing that things should be kept. All optimizations we do are only allowed to be done if the program behavior is the same - except for reflective use and stack-traces. When there is reflective use one has to specify keep rules to ensure proper behavior. It is extremely difficult for developers that use libraries with reflective behavior to figure out what is going on if they do not specify proguard rules or incorrect rules. On the other hand, if they specify to broad rules (like -keep class * { *; }
, R8 will not be able to shrink anything. That is also why we try to assist as much as we can with updating rules for libraries.
If you switch to non-fullmode you may not see any issues or you may see some issues if there are keep rules that are "missing". As you point to in
Regarding removing signatures and other attributes of non-kept members in full mode. Say we only need one method in our app that is only used to look at the generic signature. Adding -keepattributes Signature
in compat mode will force the keep of all signatures in your entire app and there is no way to avoid it. The generic signatures takes up quite a lot of code, so this is just not ideal.
ho...@roche.com <ho...@roche.com> #15
I understand. It's just that these issues are very hard to debug, because it's kind of like finding a needle in a haystack (although I learned some new tricks this time around :)
That's why I think it would be helpful to have -keepattributes Signature
work in full mode. Even though it will result in a lot of code being kept that doesn't need to be, it can be helpful when running into an issue like this one. Debugging it took quite a few days, and blocked me from some other work. It would've been nice to use -keepattributes Signature
so that I could've fine tuned it when I had some time.
Also as discussed in #6 the ability to specify specific things to keep (like Signature
) on a rule by rule basis would be very helpful.
As an aside, is there any documentation outlining the differences between compat and full mode?
ja...@nasserlaw.com <ja...@nasserlaw.com> #16
Branch: main
commit 47229a4d42aef7a892bd0172757d1383e88ed9cc
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Wed Jun 02 11:47:56 2021
Add additional information to compatibility faq regarding full-mode
Bug: 188690067
Bug: 188703877
Change-Id: I754395adf818d3cd678512e969af0feeb9af3e60
M compatibility-faq.md
lu...@keynest.com <lu...@keynest.com> #17
ra...@gmail.com <ra...@gmail.com> #18
I think retrofit
already includes the necessary rules, except for the ones I added in the pull request:
The rules are:
# Retain service method parameters when optimizing.
-keepclassmembers,allowshrinking,allowobfuscation interface * {
@retrofit2.http.* <methods>;
}
and
# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy
# and replaces all potential values with null. Explicitly keeping the interfaces prevents this.
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface <1>
Instead of keeping things like **EndPoint, which will hit anything that is called that, these rules keep members of classes if they are annotated with @GET
, @POST
etc. If adding the rules in
do...@gmail.com <do...@gmail.com> #19
Hello!
Same issue here where newer versions of R8 break ktor 😞
To me, it's more a regression rather than "Intended Behavior".
Do you already have a reproducer or should I make one and attach it there?
au...@infinit-o.com <au...@infinit-o.com> #20
Louis, it would be great if you could share a sample project that uses ktor and breaks with R8.
lu...@keynest.com <lu...@keynest.com> #21
Branch: 3.0
commit 8e61ce64f89420200dfd9c41ce338e856aca8368
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Tue Jun 22 17:06:29 2021
Version 3.0.55
Bug: 188703877
Change-Id: If5aa5e97d9d566b89bdc892dadc7a673f09afb65
M src/main/java/com/android/tools/r8/Version.java
lr...@musselmanandhall.com <lr...@musselmanandhall.com> #22
Branch: 3.0
commit 903df024b8d22a2172f25b3abe2e8c2e8defe9dc
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Tue Jun 22 17:04:26 2021
Apply soft pinning to targeted methods
Bug: 188703877
Change-Id: Id538794491937a55e477a35fdaf1677b79a92af5
M src/main/java/com/android/tools/r8/shaking/Enqueuer.java
A src/test/java/com/android/tools/r8/shaking/annotations/AlwaysRetainRetentionAnnotationTest.java
do...@gmail.com <do...@gmail.com> #23
In relation to this we updated
The changes to enable full mode are:
https://github.com/chrisbanes/tivi/commit/308a7f518ec81866cdcb8404489bb3e73db9daff https://github.com/chrisbanes/tivi/commit/472cef6f8ebbde6743789ef7cbe5e8f26cfa1426
The changes include an extra rule needed for Retrofit to work, which has now been included in Retrofit's consumer rules:
If you are still having issues with R8 3.0/3.1 in full mode, please don't hesitate to reopen this bug.
jo...@pwc.com <jo...@pwc.com> #24
I think this issue not only with Retrofit but also other libraries, e.g. ktor, firebase.
For me,
still need to keepthis rule - Firebase database
getValue(object : GenericTypeIndicator<T>() {})
still doesn't work - Algolia, ktor still doesn't work, I use these rules as workaround
-
-keep, allowobfuscation, allowoptimization class com.algolia.search.endpoint.** { *; } -keep, allowobfuscation, allowoptimization class io.ktor.util.reflect.** { *; }
-
ma...@gmail.com <ma...@gmail.com> #25
Indeed, this is not specific to Retrofit, but to code that accesses generic signatures using reflection.
Would it be possible for you to share a reproduction of the issues your are seeing (or refer to an open source app that uses these libraries and don't work when updating to R8 >=3.0)?
ma...@knovik.com <ma...@knovik.com> #26
It is not the same problem, but I believe it is related. I have Type class of GSON:
new TypeToken<LocalDate>(){}.getType();
AGP 7.0 removed all type attributes. So, I added keep
rule as mentioned in this issue. However, the type information is still not completed. Smali code:
Actual:
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/reflect/TypeToken;"
}
.end annotation
Old behavior and expected one:
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/reflect/TypeToken<",
"Lj$/time/LocalDate;",
">;"
}
.end annotation
Rule I used:
-keep class com.fatboyindustrial.gsonjavatime.Converters** { *; }
What is the single rule to keep all Type information for all classes, which extends TypeToken
? Would be nice to put this rule to gson itself, because it should be a very common problem.
[Deleted User] <[Deleted User]> #27
Actually, it seems my problem is the same as #24. I made a reproduction.
lu...@keynest.com <lu...@keynest.com> #28
Thanks for taking the time to share a reproduction.
The app is reflectively accessing the generic signatures of com.google.gson.reflect.TypeToken
and its subclasses.
After removing the rule -keep class com.fatboyindustrial.gsonjavatime.Converters** { *; }
and adding the following rules instead, the app prints 'works' upon launch.
# Keep generic signature of TypeToken class and its subclasses.
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
I'll send out a pull request to add these rules to
gu...@gmail.com <gu...@gmail.com> #29
mi...@airbus.com <mi...@airbus.com> #30
Looks like this still isn't fixed on the GSON side because of
ad...@zalando.de <ad...@zalando.de> #32
Can I keep parameter generic signatures?
ay...@gmail.com <ay...@gmail.com> #33
Yes, you should be able to achieve this by adding a -keep
rule for the corresponding method. If this does not work for you, please open a new issue in the R8 component at
jj...@downloadtoolbox.com <jj...@downloadtoolbox.com> #34
Yeah this is pretty much a requirement for my company to use google tasks. I need a way to see all tasks in a single place and since tasks doesn't support different user endpoints use of a service account with domain wide delegation approach is pretty much dead in the water.
So us adding ALL tasks to chat spaces is an option but we'd still need a way to do auditing on the tasks. Ergo we would need to be able to pull the tasks from the chats and spaces via the API.
y....@manitou-group.com <y....@manitou-group.com> #35
ka...@letsmoveonline.tech <ka...@letsmoveonline.tech> #36
dm...@usc.edu <dm...@usc.edu> #37
pu...@uptodatewebdesign.com <pu...@uptodatewebdesign.com> #38
[Deleted User] <[Deleted User]> #39
As it stands, we still need to use JIRA because of this.
he...@pedro.plus <he...@pedro.plus> #40
Thanks.
[Deleted User] <[Deleted User]> #41
mc...@texasmedicalcareplans.com <mc...@texasmedicalcareplans.com> #42
lu...@keynest.com <lu...@keynest.com> #43
[Deleted User] <[Deleted User]> #44
al...@attentio.org.pl <al...@attentio.org.pl> #45
lo...@me.com <lo...@me.com> #46
au...@clarewellclinics.co.uk <au...@clarewellclinics.co.uk> #47
gi...@reevolutiva.com <gi...@reevolutiva.com> #48
How could we say to our customers that this is a feature and not an issue, if they can see task in their task list, but no in our app?
We must to celebrate the birthday of this issue?
np...@paulinocontadores.com.ar <np...@paulinocontadores.com.ar> #49
ki...@kdev.pl <ki...@kdev.pl> #50
er...@publipresse.fr <er...@publipresse.fr> #51
at...@pepkorit.com <at...@pepkorit.com> #52
of...@segments.at <of...@segments.at> #53
ll...@oningroup.com <ll...@oningroup.com> #54
Edit: To be clear, we need all tasks to be available via API. It's not just the Chat tasks that are missing! It's also tasks created for Google Docs, etc.
ra...@gmail.com <ra...@gmail.com> #55
an...@andamp.io <an...@andamp.io> #56
cy...@plutus-research.com <cy...@plutus-research.com> #57
as...@legacy.learnplatform.com <as...@legacy.learnplatform.com> #58
me...@legacy.learnplatform.com <me...@legacy.learnplatform.com> #59
kr...@pwc.com <kr...@pwc.com> #60
[Deleted User] <[Deleted User]> #61
I've been relatively new users to Google Workspace (before usually worked on Ms Office or dedicated ERP systems) and I enjoyed it a lot for its availability and simplicity. However, I knew google tasks are not ideal but enough for simple project or task management. I thought it is also effective (providing its integration with some others apps, like todoist). And it's only when I digged in into this subject I realized that there's a problem with tasks created from Google chat or Google Docs. In the and, not solving this issue puts into questionmark the whole idea of using google tasks. What for if only some of them can be automated.
na...@gmail.com <na...@gmail.com> #62
I like Google Chat. However, Slack and Teams are more productive due to the lack of this feature.
ma...@toho.ne.jp <ma...@toho.ne.jp> #63
ma...@venturelabs.team <ma...@venturelabs.team> #64
ma...@soumirantes.com.br <ma...@soumirantes.com.br> #65
da...@valuegraphics.com <da...@valuegraphics.com> #66
cy...@gmail.com <cy...@gmail.com> #67
en...@angiodroid.com <en...@angiodroid.com> #68
ro...@desidara.com <ro...@desidara.com> #69
At least RESPOND to people, Google. This is starting to look more like arrogance than anything else.
be...@visible.tech <be...@visible.tech> #70
j....@i-t-c.fr <j....@i-t-c.fr> #71
Can you give us an ETA for this API Improvement ? Thanks.
an...@jarcredit.com <an...@jarcredit.com> #72
[Deleted User] <[Deleted User]> #73
ms...@prisma.com <ms...@prisma.com> #74
jo...@gmail.com <jo...@gmail.com> #75
j....@i-t-c.fr <j....@i-t-c.fr> #76
--
*Tél :* 01 85 76 39 37*Visitez notre nouveau site internet !
go...@ergonperu.com <go...@ergonperu.com> #77
ll...@oningroup.com <ll...@oningroup.com> #78
be...@gmail.com <be...@gmail.com> #79
jw...@gmail.com <jw...@gmail.com> #80
ol...@liber.com.au <ol...@liber.com.au> #81
ad...@nairobidesignweek.com <ad...@nairobidesignweek.com> #82
ma...@pointofrental.com <ma...@pointofrental.com> #83
It is a massive inefficiency to have a list of tasks to organise yourself and you can't group them by importance easily as you have to scroll. This is where third party products like TasksBoard come in; where they allow you to view and organise your Google tasks in a much more readable format.
This however is also unusable as any tasks created and assigned in a Google Doc are not visible in Tasksboard due to this issue that has been around for over 2 years.
ki...@kdev.pl <ki...@kdev.pl> #84
There is no any responsible person for this issue... it's sad.
gr...@gmail.com <gr...@gmail.com> #85
ca...@gmail.com <ca...@gmail.com> #86
jb...@gmail.com <jb...@gmail.com> #87
ma...@kemmer.team <ma...@kemmer.team> #88
as...@instructure.com <as...@instructure.com> #89
bl...@cedargroveleedsmedia.org <bl...@cedargroveleedsmedia.org> #90
je...@uneedle.com <je...@uneedle.com> #91
be...@gmail.com <be...@gmail.com> #92
ch...@reducemyinsurance.net <ch...@reducemyinsurance.net> #93
ji...@unitelmasapienza.it <ji...@unitelmasapienza.it> #94
jo...@hallo-nomina.de <jo...@hallo-nomina.de> #95
ma...@dkpdesigns.com <ma...@dkpdesigns.com> #96
+1billion
le...@zebrapig.com <le...@zebrapig.com> #97
an...@amalgerol.com <an...@amalgerol.com> #98
jo...@gmail.com <jo...@gmail.com> #99
ch...@gmail.com <ch...@gmail.com> #100
Need this feature
al...@yoxel.com <al...@yoxel.com> #101
We need this feature too!
[Deleted User] <[Deleted User]> #102
bm...@smglobalgroup.com <bm...@smglobalgroup.com> #103
yg...@wayfair.com <yg...@wayfair.com> #104
ch...@googlemail.com <ch...@googlemail.com> #105
ra...@passenger-clothing.com <ra...@passenger-clothing.com> #106
jb...@gmail.com <jb...@gmail.com> #107
qu...@airbus.com <qu...@airbus.com> #108
ww...@smarttokenlabs.com <ww...@smarttokenlabs.com> #109
pk...@arista.com <pk...@arista.com> #110
fa...@gmail.com <fa...@gmail.com> #111
[Deleted User] <[Deleted User]> #112
[Deleted User] <[Deleted User]> #113
jp...@google.com <jp...@google.com>
ro...@canva.com <ro...@canva.com> #114
sa...@hotmail.com <sa...@hotmail.com> #115
my...@gmail.com <my...@gmail.com> #116
ya...@gmail.com <ya...@gmail.com> #117
je...@uptodatewebdesign.com <je...@uptodatewebdesign.com> #118
me...@corrdyn.com <me...@corrdyn.com> #119
jo...@hallo-nomina.de <jo...@hallo-nomina.de> #120
ru...@kaffa.no <ru...@kaffa.no> #121
a2...@gmail.com <a2...@gmail.com> #122
ki...@gmail.com <ki...@gmail.com> #123
ef...@wefitgroup.com <ef...@wefitgroup.com> #124
ch...@blueprinteducation.org <ch...@blueprinteducation.org> #125
This is a must! A bot/chat app being able to interact with a space is great but tasks is such a core feature to a Google Space and needs to be a part of that API somehow!!!
ma...@kissflow.com <ma...@kissflow.com> #126
su...@gmail.com <su...@gmail.com> #127
jo...@fenwig.co.uk <jo...@fenwig.co.uk> #128
ca...@matc.edu <ca...@matc.edu> #129
[Deleted User] <[Deleted User]> #130
vr...@salala.de <vr...@salala.de> #131
je...@uptodatewebdesign.com <je...@uptodatewebdesign.com> #132
pd...@mese.gr <pd...@mese.gr> #133
ph...@imlakeshorganics.com <ph...@imlakeshorganics.com> #134
I use Zapier and would like to see their integration expanded once a new API is released.
ee...@clubfair.org <ee...@clubfair.org> #135
li...@telling.eu <li...@telling.eu> #136
However, when the API is not completed, management will not have an overview across projects. When an entire management team is unable to combine tasks into one overview, it can have several significant business impacts. Here are some potential consequences:
1. Lack of Coordination and Collaboration:
Without a consolidated overview, different teams and departments may be working in silos, leading to a lack of coordination and collaboration.
Duplication of efforts can occur, as teams may not be aware of each other's tasks and activities.
2. Inefficiency:
The absence of a unified task overview can result in inefficiencies, with managers and employees spending more time trying to gather information and coordinate efforts.
Delays in decision-making and project timelines can occur, negatively impacting overall productivity.
3. Misaligned Priorities:
Without a clear overview, there is a risk of misaligned priorities among different teams or departments.
The organization may struggle to focus on critical tasks and objectives, leading to wasted resources and missed opportunities.
4. Poor Communication:
A lack of task integration can result in poor communication flow within the organization.
Important information may not be communicated effectively, leading to misunderstandings and potential errors in execution.
5. Increased Risk of Errors:
When tasks are not consolidated into one overview, there is a higher likelihood of errors and mistakes.
Critical details may be overlooked, and the lack of visibility into the overall picture can lead to suboptimal decision-making.
6. Difficulty in Monitoring Progress:
Monitoring the progress of various tasks becomes challenging without a centralized overview.
Managers may struggle to assess the status of projects, identify bottlenecks, and take corrective actions in a timely manner.
7. Impact on Employee Morale:
Employees may feel frustrated and demotivated when they perceive a lack of organization and coordination.
A disjointed approach to task management can contribute to a negative work environment and impact employee morale.
8. Customer Satisfaction:
If tasks related to customer service, product development, or other customer-facing activities are not well-coordinated, it can result in poor customer experiences.
This, in turn, can affect customer satisfaction and loyalty.
9. Competitive Disadvantage:
In today's fast-paced business environment, organizations need to be agile and responsive. A lack of task integration can make it difficult to adapt quickly to changing market conditions. Competitors with more streamlined operations may gain a competitive advantage.
To address these issues, Google should invest in fixing this API, to ensure that tasks are effectively combined into a cohesive overview for the entire management team, aka people who work across projects.
de...@everlastbrands.com <de...@everlastbrands.com> #137
be...@plugable.com <be...@plugable.com> #138
da...@quarksoft.com <da...@quarksoft.com> #139
le...@maasi.eu <le...@maasi.eu> #140
This integration is NEEDED. As well as many others (such as reminders to be visible in gmail's calendar add-on, or documents approvals to be made available via APIs.... c'mon workspace could be THE answer, you're loosing grip!)
I give you 2 months more, or I'll start migrating my companies to Microsoft. Enough is enough
da...@innoarea.com <da...@innoarea.com> #141
js...@gmail.com <js...@gmail.com> #142
ra...@azimutbenetti.com <ra...@azimutbenetti.com> #143
Pa...@sensenumbers.com <Pa...@sensenumbers.com> #144
tasks in spaces are useless
tasks in docs are half way useless beacuse there is no overview, no sharing ...
:-(
rk...@watech.cz <rk...@watech.cz> #145
ph...@villbrygg.com <ph...@villbrygg.com> #146
na...@hanabitech.com <na...@hanabitech.com> #147
ul...@larian.com <ul...@larian.com> #148
sh...@mylocalchemist.co.uk <sh...@mylocalchemist.co.uk> #149
ta...@appgenix-software.com <ta...@appgenix-software.com> #150
mu...@codeforpakistan.org <mu...@codeforpakistan.org> #151
hu...@gmail.com <hu...@gmail.com> #152
jo...@hallo-nomina.de <jo...@hallo-nomina.de> #153
an...@sofist.co <an...@sofist.co> #154
ho...@gmail.com <ho...@gmail.com> #155
al...@getabearhug.com <al...@getabearhug.com> #156
su...@scanifly.com <su...@scanifly.com> #157
ja...@localmetric.es <ja...@localmetric.es> #158
se...@inovasense.pt <se...@inovasense.pt> #159
mi...@gmail.com <mi...@gmail.com> #160
di...@gmail.com <di...@gmail.com> #161
+1
ja...@wccusd.net <ja...@wccusd.net> #162
ma...@mgsq.it <ma...@mgsq.it> #163
Da...@neo.com.au <Da...@neo.com.au> #164
fa...@uber.com <fa...@uber.com> #165
ma...@intentio.co.za <ma...@intentio.co.za> #166
fe...@elate.xyz <fe...@elate.xyz> #167
jp...@google.com <jp...@google.com> #168
I am marking this issue as FIXED
as the internally reported issue has been marked as FIXED
. Please note that there may be a delay in rolling this out to production. Thank you for your patience and please comment here if the issue remains.
ma...@intentio.co.za <ma...@intentio.co.za> #169
jp...@google.com <jp...@google.com> #170
Should already be available:
di...@gmail.com <di...@gmail.com> #171
Looking at the Tasks API module on GCP it would seem it hasn't been updated since last year (please see attached screenshot)
The assignmentInfo object is also not pulling through, which would lead me to believe that it is still being rolled out in phases or not yet available. Could you please advise on this?
Thanks in advance.
st...@steegle.com <st...@steegle.com> #172
In reply to #171 the only way I could get the API explorer to show me tasks from a space was to enable the showAssigned and showHidden options on the list action - I hope this helps.
di...@gmail.com <di...@gmail.com> #173
ja...@nasserlaw.com <ja...@nasserlaw.com> #174
"Output only. Information about the Chat Space where this task originates from. This field is read-only."
jp...@google.com <jp...@google.com> #175
See the feature request in
pa...@reclaim.ai <pa...@reclaim.ai> #176
This issue does not seem to be resolved for me or any of our customers.
h-...@biglobe.co.jp <h-...@biglobe.co.jp> #177
I was able to retrieve tasks assigned in Google Chat spaces using Google Apps Script!
The key was enabling the showAssigned option when calling the Google Tasks API in the Advanced Service.
By running const tasks = Tasks.Tasks.list(taskListId, { showAssigned: true });
, I got it working.
[Deleted User] <[Deleted User]> #178
The key was enabling the showAssigned option when calling the Google Tasks API in the Advanced Service. By running const tasks = Tasks.Tasks.list(taskListId, { showAssigned: true });
Description
If you create and assign a task from a Google Chat room, it will appear on the default list on the official Google Tasks client but can't get fetched with the API.
Many thanks