Thanks for the feedback (I didn't expect a deliberate removal either :) ).
I have hidden the MR!414 and set the ticket to RTBC.
jan kellermann → changed the visibility of the branch 3499361-ckeditor-does-not to hidden.
Therefore, I created a new fork and MR!417 that only fixes the bug and does not make any other changes in code or function.
Feel free to test and give feedback. Thanks a lot.
MR solves the problem for me. Unfortunately, MR still makes changes to the code that are not directly related, for example removing the 3rd parameter when calling the chat() function. Therefore I cannot give an RTBC.
jan kellermann → made their first commit to this issue’s fork.
@marcus_johansson I got stuck in communication here, sorry.
Yes, AnythingLLM is a RAG out of the box and so no actions are needed in the module. So it would be good if the array was queried beforehand.
I added this commit ("You may need..." instead of "You will need...").
I have updated the fork.
For me the patch works. Because I am not working with actions I did not set RTBC.
> Could you provide any insights into why you wanted a new operation type?
AnythingLLM provides ONE endpoint for embedding AND storing embedded data in vector database. AnythingLLM is an abstraction layer also (you can choose which LLM for embedding and which VDB for storing the data). This means we cannot separate embedding and saving in the vector database.
@akulsaxena: Thank you for feedback. I added operationtype to cspell because the hook name "operation_type" would be misleading.
@marcus_johansson: Thank you again for feedback and the strategic thinking. We need this for search-api because AnythingLLM directly provides an endpoint for the indexing (embedding incl. vdb).
I added the invoke call.
Please review and feedback.
Thank you!
jan kellermann → created an issue.
For testing you can use the /user/password
page without further config (only enable antibot) and I uploaded
webform.webform.test_3406484.yml →
which you may import and use for multi-page webform tests.
In general the scope of this issue moved. The webform-bug seems to be fixed without this issue.
Interesting is comment #5 🐛 Antibot blocks multistep webform submission if user fails to move mouse pointer Active where several new a11y problems are mentioned that call into question the functioning of the module in general for accessibility reasons.
The MR!23 tries to solve this problems and attempts to balance accessibility and spam protection.
@danrod: Thank you for testing. The patch antibot-issue-3406484-2.patch
you used is almot 13 months old. Please test with current issue fork.
I changed the test to fill in the form data via JS instead of using Mink because Mink simulates the keystroke events.
Test added.
Default tests ran successfully.
Default Test-only failed as expected:
There was 1 failure:
1) Drupal\Tests\user\FunctionalJavascript\UserRegisterFormTest::testRegistrationFormStorage
Written not strictly necessary Drupal.visitor.name to localStorage without consent.
Failed asserting that false is true.
Please review.
There are other behaviors in the form.js file besides fillUserInfoFromBrowser.
I have not checked if the forms use other behaviors (e.g. formSingleSubmit), but would recommend to deprecate the attachment later, as contrib modules or custom code could use behaviors from this file.
Thank you for fixing. The MR is already for 11.x.
Die stabile Version 3.0 ist veröffentlicht! Ich habe eben die letzten Terms übersetzt.
Danke für Eure Unterstützung und Euren Zuspruch auf dem Weg zu dieser Version.
We just released Klaro! 3.0.0 stable release → .
Thank you all for this journey the last weeks - it was awesome!
Please review and feedback.
Change record added: https://www.drupal.org/node/3498836 →
I created the new child issue #3498834 🐛 Dont use core's prepopulate function for core forms (Privacy) Active with issue description according to template.
I also created a new change record. The old change record → from this issue can be deleted.
I hope that this will speed up the process.
I set priority to normal because depecration is not as important as getting the core compliant with data protection laws.
jan kellermann → changed the visibility of the branch 3498834-dont-use-cores to hidden.
jan kellermann → changed the visibility of the branch 2409107-11x-only-disable-for-core to hidden.
jan kellermann → created an issue.
Tested in company and set RTBC.
Thank you for MR! We remove the whole library because it is not used.
The bug occurs in the context module due to the missing assignment of IDs. This is solved in issue #3277701.
Therefore, I think this issue can be closed as a wontfix.
Issue fork Updated to 5.x - maintainers should change merge target to 5.x
Tested and RTBC.
Thank you for the patch.
jan kellermann → made their first commit to this issue’s fork.
I was also not able to reproduce this issue on the 5.x branch when using field_group 3.6 and Drupal 10.3.
Please give more information to reproduce.
jan kellermann → made their first commit to this issue’s fork.
D7 is EOL. I tested on D11 with current 2.x branch and could not reproduce on Safari on iOS18.
If this problem occurs further, we should create a patch for 2.x.
Antibot is more effective after this change than before, but can still be bypassed. If I have understood correctly, Antibot is bypassed by saving and transferring the key. This means that we need more variance in the key.
Suggestion:
Generate the antibot key using the form_token (does webform actually use form_token? I couldn't find one, in this case use the form_build_id). However, this would mean that the antibot key is generated and transmitted per form and no longer per page (but IMHO this does not require any major adjustment, there should also be no differences in caching, because the cache duration is analogous to form_token or form_build_id). Was there a reason why a separate key was generated back then?
Remark:
In issue #3406484, a condition was added as to whether an event isTrusted, which may also improve the quality.
The solution of allowing clicks and querying the isTrusted attribute can significantly reduce the effectiveness of the module. We have therefore created a new merge request that adds an adjustable time component (default 5 seconds) to the click event.
Please review / feedback.
jan kellermann → made their first commit to this issue’s fork.
jan kellermann → made their first commit to this issue’s fork.
Merged and fixed.
Set to RTBC after final discussing on slack.
Just resolving last stylelint issues and then merge.
Thank you all for feedback and testing. We couldn't have done it without your support!
How do you think OSM is loaded? The Leaflet module is already supported. We have to interrupt the integration, so we need information about the integration
And which URLs should we integrate? Many countries have their own URLs that can be integrated via iframe, for example. See also this list: https://wiki.openstreetmap.org/wiki/Using_OpenStreetMap#Maps
Merged.
Thank you for feedback.
RTBC
I would suggest 180 days.
In Drupal-CMS Recipe the expiration is set to 30 days.
Danke nochmal! Die v1 kommt hoffentlich in den nächsten 7 Tagen, einige neue Translations kommen dann noch, aber ich mache Euch Vorschläge :)
jan kellermann → made their first commit to this issue’s fork.
Many thanks for the comprehensive and accurate feedback again. It is a great pleasure to work with you!
title and description
Changed in code and README now. ("also" is correct because there is a standard-style with drupal colors and additional three styles for the known themes).
Olivero
notice: (windows high contrast)
> the notice dialog has no focus outline
Fixed.
consent (windows high contrast mode)
> the toggles dont have a focus outline.
On windows they have a 2px dotted white outline (I removed now the transition of 0,4 seconds).
Claro:
consent (windows high contrast mode)
> the close button is not autofocused like without the WHCM
On windows the outline is visible.
Gin:
windows high contrast mode
I force now the outline for links.
Also done:
- Removed transition from slider buttons.
- Added reverse icon for high contrast mode.
Thanks for the suggestion to chat directly and clarify what needs to be done before the merge.
Ihen I'll postpone this issue and we'll wait as suggested for specific descriptions of the requirements from @schwankde.
As there has been no feedback for 2 months, I set the priority to normal.
Merged. Thank all for feedback and testing. Close this issue.
@junaidpv tested in #3496849.
Thank you for feedback. The I merge #3495565.
Already fixed in 3.5.1 - see #3466125
Could not reproduce.
- I installed a new D10.4 and required
drupal/geolocation:^3.14
. - I enabled
geolocation_leaflet
(drush automatically installed all further modules.) - I added a new geo field to content type basic page with display
Geolocation Formatter - Map
without any further options. - I created a new node with a geolocation.
- I viewed this node as anonymous user with and without JS aggregation and also with multiple
drush cr
.
Can you provide more information? Maybe a screenshot of network tab in your browsers DevTools?
I also adjusted the Drupal versions to ^10.2 || ^11
.
Worked on #3496782 and did not see that you resolved this issue before in patch #6.
Because for #3496782 the MR!11 is already created and most other changes already part of 3.x-dev branch, I only tested the last open topic: Fixing the paragraph edit form (disabling the checkbox was not possible).
Your patch resolved the problem so I opened MR!12. With these two MRs a D11 release should be possible.
Thank you for all your work on this great module.
jan kellermann → made their first commit to this issue’s fork.
Could reproduce WSOD and the patch fixed the problem.
I created a MR (with a shortened category description).
jan kellermann → made their first commit to this issue’s fork.
jan kellermann → made their first commit to this issue’s fork.
I am working to implement as you suggested.
What is done:
- shorten the expiration of privateStorage to 24h.
- adding ProviderProxy to AiAssistantApiRunner because it is used multiple times.
- initializing provider ad threadID in AiAssistantApiRunner::setAssistant().
- removed separate logic for custom threadID-naming and garbage collector because of shorter expiration time.
- AiAssistantApiRunner::generateUniqueHash() gets sessionID from provider.
- AiAssistantApiRunner::setThreadsKey() sets the sessionID in provider also.
- AiAssistantApiRunner::unsetThreadsKey() resets the sessionID in provider also.
- AiAssistantApiRunner::getTempStore() now uses the threadID as prefix and returns directly data array (adjusted all calls to getTempStore()).
- Added AiAssistantApiRunner::setTempStore() and AiAssistantApiRunner::deleteTempStore().
But I struggle with the mixup of threadID/sessionID-setting and storage because in my opionion they should be independent from each other. I suggest to split this option up to in AssistantAPI settings form:
SessionID:
- use always the same sessionID
- use for every chat a new sessionID
History:
- no history
- store in session
- store in database
And for deepchat I suggest to use the deepchat history and make this configurable in block settings. You can make the number of message configurable:
$deepchat['requestBodyLimits'] = [
'maxMessages' => 10,
];
Of course then we ne the possibility to pass the histore to the assistant.
Sorry for such huge proposals to change the structure.
A first step could be to create a component for this issue queue. Maybe "ai_chatbot (DeepChat)"?
Hi Marcus, great! I tested your patch and extended the MR.
Unfortunately i had to add some "hacky" code also to reload the thread_id in deepchat-object.
Please review.
There is already an issues to review. Plese checkout this code and try: #3495565 ✨ Config for Drupal module Google Tag 2.x Active
If you want test manually, plese add
gtm.js
gtag.js
https://www.googletagmanager.com/ns.html
to the "Advaced > Sources" field and clear cache after this.
Updated the fork.
RTBC to the commits on modules/ai_assistant_api/src/AiAssistantApiRunner.php.
I dont know if the warning in modules/ai_assistant_api/src/Form/AiAssistantForm.php is neccessary.
jan kellermann → made their first commit to this issue’s fork.
PHPstan doesnt like the short hand version. Fixed to longer version.
Please review.
The file was refactored and now the problem occurred in 2 places with other line numbers. I used the shorthand version ??
.
If this fits pleace RTBC.
jan kellermann → made their first commit to this issue’s fork.
Yes, an event could be a lightweight solution. But I dont like to mix different ways for the same thing: Both are calls from chat client.
I am making a proposal for an API extension including interface and trait so that it is compatible with existing code.
The larger problem is, that the thread id is not sending to chat-API-call - so we cannot use the thread ID for creating a session. The only parameter is the last tag. I don't know how safe it is to use the last tag?
The deepchat block sets the attribute additionalBodyProps
with all data sending additional to message. While generating block we cannot add the thread id because the code is cached. So we have to inject this via JS.
I added this to JS.
Please feedback and review (sorry Marcus for all the work).
jan kellermann → created an issue.
No, sorry. Test positive but was wrong.
The problem seem that the reset-session is sending and using a thread_id. And the messages for this thread ID will be deleted with the session. But deepchat send no thread ID so all messages are stored without thread_id directly in session - and will not be deleted with reset.
I moved in y new commit the reset button before setting the thread_id. ow the session is cleared.
But I think deepchat should use the thread_id, so this solution is only hotfix.
BTW: Where are the sources for the deepchat.budle.js? I didnt find in source.
Okay, found it. The history is stored in session, so $this->resetMessageHistory();
has to be called also.
(BTW I dont really understand the interaction of session, thread and tempstore. Why more than one thread if you are in a single user session?)
jan kellermann → created an issue.
I dont think so:
Further development of the AI DeepChat module has been integrated into the
AI module, with AI DeepChat now available as a submodule of the AI module. Please refer to the AI module for continued updates, enhancements, and support. Please also post any issues to the issue queue of the AI module.
There is already a ajax callback. I open a feature request to send the ajax-request to the provider, too.
At first glance I cannot find the problem why the session is not cleared.
The history is also saved in session or database (depending on setting).
I therefore suggest sending an ajax request to delete the history on server. Ideally, this must also be sent to the provider plugin (if it is still storing data - which we have to do in our provider module for Anything LLM).
Maybe just a beginning. Please add your comments and feedback.
jan kellermann → created an issue.
Fixed link to module page and added link to provider config form.
I had no idea what to link for "install".
jan kellermann → created an issue.
Merged,
jan kellermann → created an issue.
too early in the morning... correct status now.
The pipeline failed in phpunit (max PHP version)
for Drupal\Tests\ai_assistant_api\FunctionalJavascriptTests\Form
.
That's not related to this MR. So please review.
jan kellermann → created an issue.