Tested on version 2.0.8 on Drupal 10.4.2. Works as expected, marking as RTBC
Unfortunately I am also running into this issue for one customer. He has purchased items before, and now when he tries to go through the checkout, he has the same payment intent ID, preventing him to checkout.
"error": {
"code": "payment_intent_unexpected_state",
"doc_url": "https://stripe.com/docs/error-codes/payment-intent-unexpected-state",
"message": "You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.",
"payment_intent": {
"id": "pi_*************",
"object": "payment_intent",
"amount": 144,
"amount_details": {
"tip": {
}
},
"automatic_payment_methods": null,
"canceled_at": null,
"cancellation_reason": null,
"capture_method": "automatic",
"client_secret": "******************",
"confirmation_method": "automatic",
"created": 1739086429,
"currency": "cad",
"description": null,
"last_payment_error": null,
"livemode": true,
"next_action": null,
"payment_method": "pm_***************",
"payment_method_configuration_details": null,
"payment_method_types": [
"card"
],
"processing": null,
"receipt_email": null,
"setup_future_usage": null,
"shipping": null,
"source": null,
"status": "succeeded"
},
"request_log_url": "https://dashboard.stripe.com/logs/req_***********",
"type": "invalid_request_error"
}
I tried to remove the stripe data from the commerce_order table in the database, hoping it would create a new payment intent, but I think there is caching or something else working because the 'data' column was updated/reverted with the same payment intent ID after I ran
update commerce_order set data = '' where order_id = 127419;
Ok after some review I found a couple issues
1) If there are no facet summary fields created, trying to add one to the view breaks as found in comment #74. Instead, there should be a check for empty facet summaries and show a link to /admin/config/search/facets directing the user to add one.
2) Summary Facet doesn't show current search string when Show a text when there are no results
is selected. Unchecking the no results box allows the Show the current search string
to appear
3) Adding a facet summary in the views filter criteria runs into a PHP error due to SearchApiDisplay not returning anything when it should return a string. Adding the facet summary in the views header doesn't have this issue. A quick fix for this one is below
/**
* {@inheritdoc}
*/
public function getCount(): ?string {
$search_id = $this->getDisplay()->getPluginId();
if ($search_id && !empty($search_id)) {
if ($this->searchApiQueryHelper->getResults($search_id) !== NULL) {
return $this->searchApiQueryHelper->getResults($search_id)
->getResultCount();
}
}
return NULL;
}
sagesolutions → created an issue.
I tried adding the MR #185 to both 3.0.0 and the 3.0-dev version. The patch applies successfully to both, but when I enable the module and try to add a facet summary to the header region of the view, I run into an error:
"The submitted value in the Facet summary" element is not allowed
I don't see a field for editing. I try to remove it, and it errors out again with the same error. I have to end up closing the popup and canceling my view changes to get rid of the field.
Looks like OpenSearch doesn't support autocomplete, See https://www.drupal.org/docs/8/modules/search-api/getting-started/server-... →
Tested out the hard limit patch, and it resolves this issue. Marking this ticket as a duplicate.
I'm using OpenSearch as the indexing backend, on Drupal 10 and Facets 3.0.0. The default is 10 items when no limit is set. Adding this patch allowed me to set the limit so I could show more.
Marking as RTBC
Setting a hard limit may fix this, but I haven't tested it yet
Also running into this issue. I'm trying to list our topics (25 or so) as a facet, but only 10 are shown. I'm using OpenSearch as the indexing backend, on Drupal 10 and Facets 3.0.0
I tested MR #11 with mysql, and the new tag is added properly. I can confirm this issue is specific to postgres
I tested MR #11 with postgres, but still running into the same error when trying to add a new tag via the autocreate option
SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for type bigint: "$ID:sage" LINE 6: ..., '468', '175', '469', '176', '140', '44', '202', '$ID:sage'...
sagesolutions → created an issue.
Added patch to site and created a test in VWO. Site is working as expected, see added screenshots
The PR looks like it can handle <meta name="format-detection" content="telephone=no">
now which is great. Can you also update it so colons are allowed? In my case I need to add twitter:data1
meta tags
sagesolutions → created an issue.
Needed to update Twitter to X. The MR #15 works for me. Kudos for adding the update script as well!
Marking as active as this could be a new feature instead of poor design.
Currently there is no way to add `twitter:data1` meta tags to add meta data when sharing over slack. See https://whitep4nth3r.com/blog/level-up-your-link-previews-in-slack/ as an example
Ok tested on staging. Unfortunately I still needed to run #33
$entity_type = \Drupal::entityTypeManager()->getDefinition('commerce_order_report');
\Drupal::entityDefinitionUpdateManager()->installEntityType($entity_type);
Can we add this to another update_hook in the address module? If so, we need to also add a check if \Drupal::entityTypeManager()->getDefinition('commerce_order_report') exists first in case there are sites that do not have commerce installed.
I also ran into this issue.
These are the steps that worked for me
- Adding the MR 46 as a patch
- reverting back to 9200 update via
drush ev "\Drupal::keyValue('system.schema')->set('address', (int) 9200)";
- rerunning
drush updb
- running the code from #33. I used
drush php
I will test the MR in a staging environment to see if it fixes the issue.
I think once the MR is added, I shouldn't have to run code from #33, correct?
Tested and works properly. Thanks for the quick MR!
@sayan_k_dutta I think its ok that the label and the name fields are the same.
When the tag is added to the html, it uses the name variable
sagesolutions → created an issue.
I upgraded to Drupal 10.3 and updated rules to 4.0-dev and ran into this issue.
I had a slightly different error, but the patch #12 still fixed it
TypeError: Drupal\typed_data\PlaceholderResolver::scan(): Argument #1 ($text) must be of type string, null given, called in /web/modules/contrib/rules/src/Plugin/RulesDataProcessor/TokenProcessor.php on line 69 in Drupal\typed_data\PlaceholderResolver->scan() (line 180 of /web/modules/contrib/typed_data/src/PlaceholderResolver.php).
composer.json file looks good to me. Marking as RTBC
sagesolutions → changed the visibility of the branch 3481806-ignore-tracking-ip to hidden.
Tested on the 3.x-dev branch and Image loading attributes are now working properly. Thanks @mrshowerman!
I could not apply the MR #18 diff to any logical branch. I tried version 3.0.2, version 3.1.0, dev-3.x#2fe16c7a9f0c511bbcaa44499a4fb61fa0f9854c, and the latest 3.x-dev branch.
Patching all of them failed.
Created a settings form and updated the hook_user_login. Please review!
Adding some extra context here since I am looking into a similar situation....
The masquerade module calls all the user_login hooks via
// Call all login hooks when making user login.
$this->moduleHandler->invokeAll('user_login', [$user]);
So any module hooking into the user_login
hook will have no idea if the user is masqueraded or not.
sagesolutions → created an issue.
Hi @cmlara,
Thanks for the thorough response.
I see that the image urls on my site are actually pointing to the cdn domain and loading the file directly from the cdn s3 bucket; not using the /s3 path. I'm okay with closing this ticket.
sagesolutions → created an issue.
sagesolutions → created an issue.
I also ran into this issue of nothing being sent to the queue on save. Enabling the purge_queuer_coretags module fixed it for me as well.
I agree, config should be saved in the configuration, not in the state. This will be helpful for importing and exporting across environments.
I think it would also be helpful if there was an option to purge immediately when the node expires instead of moving it into the trash. This could be a configurable setting.
sagesolutions → created an issue.
Patch #2 applies to version 2.0.0-alpha0, but the MR-15 does not. I'm guessing that the Merge Request only applies to the 2.0.x-dev version
Applied patch and it is now working on Drupal 10.
Marking as RTBC
Also ran into this issue and MR #5951 worked for me
Looks like this is fixed in 3.0 branch. Closing ticket
I believe this issue is fixed in https://www.drupal.org/project/private_message/issues/3365542 💬 Loading previous messages and listing last messages doesn't work RTBC
I've also used #156 and that fixed the issue for me.
sagesolutions → created an issue.
The patch #11 was working for version 5.2, however it no longer applies to version 7.1.0
These patches and Merge requests 3 and 5 are all related to the 1.x version. Please update the Merge request to work with version 2.x
@SocialNicheGuru I doubt it. Ideally they will tag a new release when they merge the MR
I have a similar issue regarding fivestar. Randomly ratings on comments disappear. It happens from time to time seemingly random
I've added the fivestar field to my user comments and see data in the comment_field_user_rating table for existing comments. However, for ratings on comments that have disappeared, they are not in this table. It's very strange since the comment is on the site and all other data on the comment is there, except the fivestar rating.
Added patch that fixes the previous message issue. Please review!
At some point the javascript functions were updated to use `() =>` notation.
However, using that broke the ability to use `$(this)` inside them. See https://www.freecodecamp.org/news/the-difference-between-arrow-functions... for a review of arrow functions.
I've replaced the `() =>` with `function()` and that worked for me. Will create a patch / MR shortly.
I am also experiencing this issue. Not sure if this was a js caching issue or not, but after updating my site I ran into this same thing.
Can confirm patch #6 does not fix the issue.
This is a javascript issue, which is breaking not only the load previous link, but all other links on the page no longer work when viewing the thread.
I can confirm that you can send 25 messages just fine, but once the "Load Previous" link appears, you cannot submit the next one.
Whichever link you click on a link or button, the page submits to "/private-message/ajax-callback/get_old_messages? token=W2RZzcxI6isICC5_MZYFCantGuhyx_slkOhHC8zUul8&threadid=123456&messageid=NaN" which has an e.preventdefault() which prevents the page from submitting/ loading.
Fixed the issue of reloading the message I just sent.
Ready for review!
After further testing, this is close to working but there is still an issue. When I send a message to someone, I see it appear in the chat above. However, once the get_new_messages is called, my message that I just sent appears again. It only appears an extra time once, but still not ideal.
Hi Stephen,
If you disable javascript, you will always need to manually refresh to see new messages appear. Ithink an easier way to test is to include the patch from https://www.drupal.org/project/private_message/issues/3424499 🐛 Stuck on undefined URL Needs review and then test with javascript enabled.
I've created a MR for review. It's a bit hard to test since https://www.drupal.org/project/private_message/issues/3424499 🐛 Stuck on undefined URL Needs review is not merged yet.
I found the easiest way to test is to test with two browsers A and B and disable Javascript on B. Login to browser A with user 1 go to your private message chat with user 2. Then, send a message from user 2 on browser B to user 1. Back on browser A you should see the message appear without refreshing.
Also, all messages now no longer load every minute!
Please review!
Merge request fixes the undefined urls and allows users to load the private messages when clicking on links from the inbox block. Also user can click on any other link on the page and be redirected to that page as expected.
For hiding the ban/unban links in the actions area I don't see an easy way except using CSS.
Please review!
There are other tickets related to the window darkening and sending messages now tagged to this ticket.
For the access denied issue, This is fixed when setting the proper permissions.
I'm also running into this issue. Having all links broken when viewing private messages is critical issue. Bumping up priority
sagesolutions → created an issue.
Added list of banned users on the ban/unban page.
Please review!
sagesolutions → created an issue.
+1 RTBC
Merge Request #72 works for me.
Alternatively, we could add the async tag on the script to improve pagespeed.
You can also load Stripe.js using the async or defer attribute on the script tag. Note, however, that with asynchronous loading any API calls will have to be made only after the script execution has finished.
Ah yes, Stripe wants to be loaded everywhere
To best leverage Stripe’s advanced fraud functionality, include this script on every page, not just the checkout page. This allows Stripe to detect suspicious behavior that may be indicative of fraud as customers browse your website.
I wonder if we could have a config setting to only load on /cart and /checkout/* pages instead of the entire site?
sagesolutions → created an issue.
sagesolutions → created an issue.
I've managed to update my EventSubscriber to work with the new workflow updates. Below is what works for me, maybe it will help others while upgrading.
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents(): array {
return [
'workflow.post_transition' => 'onWorkflowPostTransition',
];
}
public function onWorkflowPostTransition(WorkflowTransitionEvent $event): void {
switch ($event->getTransition()->getToSid()) {
case "permit_status_workflow_pending" :
$this->onPendingTransition($event);
break;
case "permit_status_workflow_open":
$this->onOpenTransition($event);
break;
case "permit_status_workflow_approved":
$this->onApprovedTransition($event);
break;
case "permit_status_workflow_declined":
$this->onDeclinedTransition($event);
break;
}
}
I ran into this issue as well. Turns out I still had
{{ attach_library('classy/node') }}
in my twig template files which was causing the issue. The issue disappeared once I removed that line from all my template files.
Hi @johnv,
I like the getEntity() and getWorkflow() methods in the WorkflowTransistionEvent class. I can work with that. Please commit these updates :)
+ public function getWorkflow() {
+ return $this->transition->getWorkflow(); // CHANGED
+ }
+
+ public function getEntity() {
+ return $this->transition->getTargetEntity(); // CHANGED
+ }
For the subscribed events, I liked the ability of what was there before. Using the original patch, I can subscribe to each individual workflow change. For example:
public static function getSubscribedEvents(): array {
return [
'permit_status_workflow.permit_status_workflow_creation.post_transition' => 'onCreationTransition',
'permit_status_workflow.permit_status_workflow_draft.post_transition' => 'onDraftTransition',
'permit_status_workflow.permit_status_workflow_open.post_transition' => 'onOpenTransition',
'permit_status_workflow.permit_status_workflow_pending.post_transition' => 'onPendingTransition',
'permit_status_workflow.permit_status_workflow_approved.post_transition' => 'onApprovedTransition',
'permit_status_workflow.permit_status_workflow_declined.post_transition' => 'onDeclinedTransition',
];
}
But now, I can only subscribe to the one post transition event. Then in the called function, I need to check the transition to/from and break apart from there. This seems a bit messier than before.
@johnv
Was it intentional to remove the entity and workflow from the WorkflowTransitionEvent?
In my eventsubscriber, I used the $event->getEntity() method to get the node.
+
+ /**
+ * The workflow.
+ *
+ * @var \Drupal\workflow\Entity\WorkflowInterface
+ */
+ protected $workflow;
+
+ /**
+ * The entity.
+ *
+ * @var \Drupal\Core\Entity\ContentEntityInterface
+ */
+ protected $entity;
...
+ public function __construct(WorkflowTransition $transition, WorkflowInterface $workflow, EntityInterface $entity) {
+ $this->transition = $transition;
+ $this->workflow = $workflow;
+ $this->entity = $entity;
+ }
+
+
+ /**
+ * Gets the workflow.
+ *
+ * @return \Drupal\workflow\Entity\WorkflowInterface
+ * The workflow.
+ */
+ public function getWorkflow() {
+ return $this->workflow;
+ }
+
+ /**
+ * Gets the entity.
+ *
+ * @return \Drupal\Core\Entity\EntityInterface
+ * The entity.
+ */
+ public function getEntity() {
+ return $this->entity;
+ }
Also, I used a specific event to trigger my subscribed events. For example 'permit_status_workflow.permit_status_workflow_open.post_transition' => 'onOpenTransition',
Is this still possible? I think this functionality has been removed??
+ /**
+ * Dispatches a transition event for the given phase.
+ *
+ * @param string $phase
+ * The phase: pre_transition OR post_transition.
+ */
+ protected function dispatchTransitionEvent($phase) {
+
+ $workflow = $this->getWorkflow();
+
+ $event = new WorkflowTransitionEvent($this, $workflow, $this->getTargetEntity());
+ $event_dispatcher = \Drupal::getContainer()->get('event_dispatcher');
+
+ $events = [
+ // For example: 'my_custom_workflow.my_custom_transition.pre_transition'.
+ $this->getWorkflowId() . '.' . $this->getToSid() . '.' . $phase,
+ // For example: 'my_custom_workflow.pre_transition'.
+ $this->getWorkflowId() . '.' . $phase,
+ // For example: 'workflow.pre_transition'.
+ 'workflow.' . $phase,
+ ];
+
+ foreach ($events as $event_id) {
+ $event_dispatcher->dispatch($event, $event_id);
+ }
+ }
+
Thank you! I've opted in for security coverage.
sagesolutions → created an issue.
@dabley, good call. I've updated my comment :)
Thanks for the updated readme file.
sagesolutions → created an issue.
sagesolutions → created an issue.
@Engineer_UA Can we get an updated version of this module for Drupal 10?
Note that https://www.drupal.org/project/node_auto_expire/issues/3255643 → will need to be fixed/merged before a D10 version is ready.
Thanks!
Thanks for the fix @ankithashetty