Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add dialogOpened activitytype #1110

Merged
merged 19 commits into from
Sep 16, 2024

Conversation

Fargekritt
Copy link
Contributor

@Fargekritt Fargekritt commented Sep 10, 2024

Description

Added dialogOpened as an activityType, and added validation for dialogOpened

Related Issue(s)

#1078

Verification

  • Your code builds clean without any errors or warnings
  • Manual testing done (required)
  • Relevant automated test added (if you find this hard, leave it and we'll help out)

Documentation

  • Documentation is updated (either in docs-directory, Altinnpedia or a separate linked PR in altinn-studio-docs., if applicable)

Summary by CodeRabbit

  • New Features

    • Introduced a new activity type "DialogOpened" for enhanced tracking of user interactions with dialogs.
    • Added functions to manage dialog activities, including setting and adding activities.
  • Bug Fixes

    • Improved validation rules for dialog activities to ensure proper handling of TransmissionId based on activity type.
  • Tests

    • Expanded test coverage for dialog creation and updates, ensuring correct handling of new activity types and validation scenarios.

@Fargekritt Fargekritt force-pushed the feature/add-dialogOpened-activitytype branch from 480e770 to b4af999 Compare September 10, 2024 12:20
@Fargekritt Fargekritt force-pushed the feature/add-dialogOpened-activitytype branch from a4a787d to 16d54f1 Compare September 11, 2024 08:36
@Fargekritt Fargekritt force-pushed the feature/add-dialogOpened-activitytype branch from 8015d7d to 832e2f4 Compare September 12, 2024 10:40
@Fargekritt Fargekritt marked this pull request as ready for review September 12, 2024 11:13
@Fargekritt Fargekritt requested a review from a team as a code owner September 12, 2024 11:13
@Fargekritt Fargekritt force-pushed the feature/add-dialogOpened-activitytype branch from 410c337 to 577f286 Compare September 16, 2024 06:15
@elsand
Copy link
Member

elsand commented Sep 16, 2024

@coderabbitai full review

Copy link
Contributor

coderabbitai bot commented Sep 16, 2024

Actions performed

Full review triggered.

Copy link
Contributor

coderabbitai bot commented Sep 16, 2024

Walkthrough

The changes introduce a new enumeration value, DialogOpened, to the ActivityType and DialogActivityType enums, enhancing the schema to track user interactions with dialog windows. Various validation rules are added to ensure that the TransmissionId property is appropriately managed based on the activity type. The database schema is updated to include the new activity type, and several tests are introduced or modified to validate the creation and updating of dialog activities, ensuring proper handling of both valid and invalid scenarios.

Changes

Files Change Summary
docs/schema/V1/schema.verified.graphql, docs/schema/V1/swagger.verified.json Added DIALOG_OPENED and DialogOpened to ActivityType enum, enhancing schema expressiveness.
src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs Introduced mapping for DialogOpened event type.
src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/NotificationCondition/NotificationConditionValidator.cs, src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs, src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommandValidator.cs Added validation rules for TransmissionId based on dialog activity type.
src/Digdir.Domain.Dialogporten.Domain/Dialogs/Entities/Activities/DialogActivityType.cs, src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/ObjectTypes.cs Added DialogOpened to DialogActivityType.Values and ActivityType enums.
src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240910063003_AddDialogActivityDialogOpened.Designer.cs, src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240910063003_AddDialogActivityDialogOpened.cs, src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/DialogDbContextModelSnapshot.cs Created migration to add DialogOpened to the database schema and updated model snapshot.
src/Digdir.Tool.Dialogporten.GenerateFakeData/DialogGenerator.cs Modified fake data generation to exclude TransmissionOpened activity type temporarily.
tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/Common/Events/DomainEventsTests.cs Enhanced tests to validate creation of dialog activities with new activity types.
tests/k6/common/dialog.js, tests/k6/common/testimports.js, tests/k6/tests/serviceowner/all-tests.js, tests/k6/tests/serviceowner/dialogCreateActivity.js, tests/k6/tests/serviceowner/dialogCreatePatchDelete.js, tests/k6/tests/serviceowner/dialogUpdateActivity.js Added or modified tests to cover dialog creation, updating, and activity management, ensuring robust validation.

Poem

🐰 In the land of dialogs, bright and new,
A DialogOpened blooms, a lovely view.
With rules to keep our data neat,
And tests that dance on tiny feet.
Hooray for changes, let’s all cheer,
For every hop brings us good cheer! 🎉


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    -- I pushed a fix in commit <commit_id>, please review it.
    -- Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    -- @coderabbitai generate unit testing code for this file.
    -- @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    -- @coderabbitai generate interesting stats about this repository and render them as a table.
    -- @coderabbitai read src/utils.ts and generate unit testing code.
    -- @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    -- @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Outside diff range and nitpick comments (1)
tests/k6/common/dialog.js (1)

143-149: Nitpick: Consider setting activities to undefined instead of using delete.

The static analysis tool suggests avoiding the delete operator for performance reasons. As an alternative, you can set the activities property to undefined instead of deleting it:

 export function setActivities(dialog, activities) {
     if (activities == null) {
-        delete dialog.activities;
+        dialog.activities = undefined;
         return;
     }
     dialog.activities = activities;
 }

However, this is a low-priority suggestion and the performance impact is likely negligible in most scenarios. The current implementation is correct and can be left as is.

Let me know if you'd like me to submit a PR with this change.

Tools
Biome

[error] 145-145: Avoid the delete operator which can impact performance.

Unsafe fix: Use an undefined assignment instead.

(lint/performance/noDelete)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 6029620 and 577f286.

Files selected for processing (19)
  • docs/schema/V1/schema.verified.graphql (1 hunks)
  • docs/schema/V1/swagger.verified.json (2 hunks)
  • src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs (1 hunks)
  • src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/NotificationCondition/NotificationConditionValidator.cs (1 hunks)
  • src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs (2 hunks)
  • src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommandValidator.cs (1 hunks)
  • src/Digdir.Domain.Dialogporten.Domain/Dialogs/Entities/Activities/DialogActivityType.cs (1 hunks)
  • src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/ObjectTypes.cs (1 hunks)
  • src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240910063003_AddDialogActivityDialogOpened.Designer.cs (1 hunks)
  • src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240910063003_AddDialogActivityDialogOpened.cs (1 hunks)
  • src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/DialogDbContextModelSnapshot.cs (1 hunks)
  • src/Digdir.Tool.Dialogporten.GenerateFakeData/DialogGenerator.cs (1 hunks)
  • tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/Common/Events/DomainEventsTests.cs (1 hunks)
  • tests/k6/common/dialog.js (1 hunks)
  • tests/k6/common/testimports.js (1 hunks)
  • tests/k6/tests/serviceowner/all-tests.js (1 hunks)
  • tests/k6/tests/serviceowner/dialogCreateActivity.js (1 hunks)
  • tests/k6/tests/serviceowner/dialogCreatePatchDelete.js (6 hunks)
  • tests/k6/tests/serviceowner/dialogUpdateActivity.js (1 hunks)
Additional context used
Biome
tests/k6/common/dialog.js

[error] 145-145: Avoid the delete operator which can impact performance.

Unsafe fix: Use an undefined assignment instead.

(lint/performance/noDelete)

Additional comments not posted (29)
tests/k6/common/testimports.js (1)

27-30: LGTM! Verify the usage of the modified exports.

The changes to the exports from dialog.js look good. The addition of setActivities and addActivity enhances the module's capability to handle activities, while the removal of setProcess suggests a shift away from that functionality.

These changes reflect an evolution in the module's interface to align with current needs. However, ensure that the code importing these functions is updated accordingly.

Run the following script to verify the usage of the modified exports:

Verification successful

To further investigate the inconsistency with the setProcess function, we need to gather more information. Let's run additional scripts to check for other files importing setProcess and look for recent changes that might explain this inconsistency.


Approval confirmed. Cleanup of setProcess references recommended.

The removal of setProcess from the exports in tests/k6/common/testimports.js is verified and appears to be part of an intentional cleanup process. The function is not being imported or actively used in other parts of the codebase, as evidenced by the lack of imports and recent activity related to it.

However, there are still some remnants of setProcess in other files that should be addressed:

  • tests/k6/common/testimports.js
  • tests/k6/common/dialog.js
  • tests/k6/tests/enduser/dialogSearch.js
  • tests/k6/tests/serviceowner/dialogSearch.js

Recommendation: Create a follow-up task to remove these remaining references to setProcess to maintain consistency across the codebase.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of the modified exports from dialog.js.

# Test 1: Search for the usage of the added exports. Expect: At least one occurrence of each.
rg --type js -A 5 $'setActivities|addActivity'

# Test 2: Search for the usage of the removed export. Expect: No occurrences.
rg --type js -A 5 $'setProcess'

Length of output: 10732


Script:

#!/bin/bash
# Description: Check for other files importing setProcess and look for recent changes

# Test 1: Search for imports of setProcess from testimports.js
echo "Files importing setProcess from testimports.js:"
rg --type js "import.*setProcess.*from '.*testimports\.js'" -l

# Test 2: Check recent commits mentioning setProcess
echo -e "\nRecent commits mentioning setProcess:"
git log -n 5 --grep="setProcess" --pretty=format:"%h - %s" --since="2 weeks ago"

# Test 3: Check if there are any open pull requests mentioning setProcess
echo -e "\nOpen pull requests mentioning setProcess:"
gh pr list --search "setProcess in:title,body" --state open --limit 5 --json number,title,url

Length of output: 545

src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240910063003_AddDialogActivityDialogOpened.cs (1)

20-26: LGTM!

The Down method correctly reverts the changes made by the Up method by deleting the inserted record based on the Id value. This ensures that the migration can be rolled back safely.

tests/k6/tests/serviceowner/all-tests.js (3)

5-5: LGTM!

The import statement for dialogCreateActivity is correctly added, aligning with the list of alterations provided in the summary.


11-11: LGTM!

The import statement for dialogUpdateActivity is correctly added, aligning with the list of alterations provided in the summary.


17-23: LGTM!

The function calls to dialogCreateActivity and dialogUpdateActivity are correctly added to the main exported function, aligning with the AI-generated summary.

src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/NotificationCondition/NotificationConditionValidator.cs (1)

25-29: LGTM!

The new validation rule for TransmissionId is implemented correctly. It enforces the requirement for TransmissionId to be null when ActivityType is DialogOpened.

The custom error message clearly communicates the validation condition, making it easier for consumers to understand and fix any validation errors. This aligns with the best practice discussed in the past review comments.

src/Digdir.Domain.Dialogporten.Domain/Dialogs/Entities/Activities/DialogActivityType.cs (1)

40-45: LGTM!

The addition of the new enum member DialogOpened with a value of 7 is a non-breaking change that enhances the functionality of the DialogActivityType enum. The summary comment provides a clear description of the purpose of the enum member.

src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs (1)

23-23: LGTM!

The new mapping for the DialogOpened event type is added correctly to the CloudEventTypes class. It follows the existing pattern and naming convention, allowing the system to recognize and handle the event appropriately.

src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/ObjectTypes.cs (1)

72-75: LGTM!

The addition of the DialogOpened enum member to the ActivityType enum is a valuable enhancement. It allows the system to represent and track the activity of opening a dialog, which is consistent with the existing enum members. The assigned value maintains the sequential numbering, and the GraphQLDescription attribute provides a clear description of the enum member's purpose, improving the clarity of the GraphQL API for developers.

tests/k6/tests/serviceowner/dialogUpdateActivity.js (1)

1-115: LGTM!

The test suite for dialog update activities is well-structured and comprehensive. It covers various scenarios, including both valid and invalid cases, ensuring that the dialog update functionality behaves as expected.

The use of describe blocks helps in organizing the tests, making the code more readable and maintainable. The cleanup phase at the end is a good practice to ensure that the test environment remains clean for future test runs.

Overall, the tests enhance the reliability of the service owner interface.

tests/k6/tests/serviceowner/dialogCreateActivity.js (1)

1-119: Excellent test coverage for dialog creation with activity types!

The test suite covers a good range of scenarios for dialog creation with various activity types. It ensures that the API handles both valid and invalid activity types correctly. The test cases follow a clear Arrange-Act-Assert pattern, making them easy to understand and maintain.

Some suggestions for improvement:

  1. Consider extracting the common setup code into a beforeEach hook to avoid duplication.
  2. Consider using more descriptive names for the test cases to clarify the scenario being tested.
  3. Consider adding more test cases for edge cases, such as missing required fields or invalid data types.

Overall, the test suite looks great and provides good coverage for the dialog creation functionality.

tests/k6/tests/serviceowner/dialogCreatePatchDelete.js (5)

1-13: LGTM!

The new imports uuidv7 and setActivities are necessary for the added test cases and utility functions. The imports look good.


Line range hint 27-41: Great job adding more assertions!

The new assertions for createdAt, updatedAt, and revision properties improve the test coverage and ensure the correctness of the dialog object after creation. The logic and format checks are accurate.


Line range hint 54-67: Good update to ensure unique URLs!

Using uuidv4() to generate a unique URL for the API action endpoint in each test run is a good practice. It prevents potential conflicts and makes the test more robust.


Line range hint 75-88: Excellent additions to the test case!

The new assertions for updatedAt and revision properties after patching the dialog improve the test coverage and ensure the correctness of the dialog object. Checking that updatedAt is different from createdAt and verifying the update of the revision property are important validations.


89-185: Comprehensive test cases for dialog creation with activity types!

The new test cases cover various scenarios for creating dialogs with different activity types, including both valid and invalid cases. The use of uuidv7() for generating unique activity IDs is a good practice.

The assertions check for the expected status codes and response structures based on the activity type, ensuring the correct behavior of the API. The test cases are well-structured and follow a consistent pattern of setup, act, and assert, making them readable and maintainable.

Overall, these test cases significantly improve the test coverage for dialog creation with activity types. Great job!

docs/schema/V1/schema.verified.graphql (1)

279-280: LGTM!

The new enum value DIALOG_OPENED is a valid addition to the ActivityType enum. It follows the naming convention and includes a clear comment describing its purpose. This change enhances the schema's ability to represent and track user interactions with dialogs.

tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/Common/Events/DomainEventsTests.cs (2)

40-43: LGTM!

The code segment correctly links the transmissionOpenedActivity to a transmission by setting its TransmissionId property. This is necessary to ensure that the activity is correctly associated with a transmission when creating a dialog.


50-51: LGTM!

The code segment correctly adds the generated fake transmission to the createDialogCommand. This is necessary to ensure that the dialog is created with the correct transmission data.

src/Digdir.Tool.Dialogporten.GenerateFakeData/DialogGenerator.cs (1)

253-262: Temporary exclusion of TransmissionOpened activity type.

The changes temporarily exclude the TransmissionOpened activity type from the list of possible types for random picking when generating fake dialog activities. This is indicated by the comment referencing a GitHub issue, suggesting that further revisions to the generator are planned.

Consider monitoring the referenced issue (#1123) for updates on the planned revisions to the generator, which may address any limitations or concerns related to the current implementation.

src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommandValidator.cs (2)

399-406: LGTM!

The new validation rules for TransmissionId based on the Type property are implemented correctly:

  • When Type is DialogActivityType.Values.DialogOpened, TransmissionId must be null. This ensures that a dialog opened activity does not reference any transmission.
  • When Type is DialogActivityType.Values.TransmissionOpened, TransmissionId must not be empty. This mandates that a transmission opened activity must reference a valid transmission.

These rules enhance the validation logic and improve data integrity by enforcing constraints on TransmissionId based on the activity type.


Line range hint 1-398: Skipped review.

The UpdateDialogCommandValidator class has no code changes to review.

Also applies to: 407-500

src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs (2)

135-135: Looks good!

Adding an empty line here improves the readability by separating the validation rules for different properties.


415-422: LGTM!

The new validation rules for the TransmissionId property based on the Type of the dialog activity are implemented correctly. They ensure that:

  • For a DialogOpened activity, the TransmissionId must be null, indicating that a dialog opened event should not reference any transmission.
  • For a TransmissionOpened activity, the TransmissionId must not be empty, ensuring that a transmission opened event must reference a valid transmission.

These rules improve data integrity by enforcing the expected behavior of the TransmissionId property based on the activity type.

src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/DialogDbContextModelSnapshot.cs (1)

461-465: Looks good! Verify if existing activity handling code needs updates.

The new DialogOpened activity type has been added correctly to the DialogActivityType enum.

To ensure the new activity type is handled correctly throughout the codebase, run the following script:

If the script highlights any code that needs to be updated, please make the necessary changes. Let me know if you would like me to suggest the required code changes.

src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240910063003_AddDialogActivityDialogOpened.Designer.cs (2)

434-469: LGTM!

The new DialogOpened activity type is being added correctly to the DialogActivityType seed data. The Id and Name values are consistent with the existing entries.


379-418: Looks good!

The new DialogId property in the DialogActivity entity is defined correctly. It establishes the necessary relationship between activities and dialogs.

docs/schema/V1/swagger.verified.json (2)

855-856: Looks good!

The addition of the "SignatureProvided" enum value expands the set of possible activity types that the application can handle. This is a non-breaking change that enhances the functionality.


865-866: LGTM!

The addition of the "DialogOpened" enum value expands the set of possible activity types, allowing the application to handle events related to dialog opening. This non-breaking change enhances the functionality, which aligns with the PR objective.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
46.2% Duplication on New Code (required ≤ 3%)

See analysis details on SonarCloud

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range and nitpick comments (1)
tests/k6/common/dialog.js (1)

143-149: Consider an alternative approach to remove the activities property.

The function correctly handles setting the activities property of the dialog object based on the provided activities argument.

However, the static analysis tool has flagged the usage of the delete operator on line 145 as a potential performance issue. While the impact may be negligible in this specific scenario, consider an alternative approach to remove the activities property without using the delete operator.

Apply this diff to remove the activities property by assigning undefined:

 export function setActivities(dialog, activities) {
     if (activities == null) {
-        delete dialog.activities;
+        dialog.activities = undefined;
         return;
     }
     dialog.activities = activities;
 }
Tools
Biome

[error] 145-145: Avoid the delete operator which can impact performance.

Unsafe fix: Use an undefined assignment instead.

(lint/performance/noDelete)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 577f286 and a22135e.

Files selected for processing (1)
  • tests/k6/common/dialog.js (1 hunks)
Additional context used
Biome
tests/k6/common/dialog.js

[error] 145-145: Avoid the delete operator which can impact performance.

Unsafe fix: Use an undefined assignment instead.

(lint/performance/noDelete)

Additional comments not posted (1)
tests/k6/common/dialog.js (1)

151-157: LGTM!

The addActivity function is implemented correctly and handles adding an activity to the dialog's activities array appropriately. The null checks and array initialization are handled properly.

Copy link
Member

@elsand elsand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@Fargekritt Fargekritt merged commit 711fa6d into main Sep 16, 2024
22 of 23 checks passed
@Fargekritt Fargekritt deleted the feature/add-dialogOpened-activitytype branch September 16, 2024 08:00
arealmaas pushed a commit that referenced this pull request Sep 16, 2024
🤖 I have created a release *beep* *boop*
---


##
[1.18.0](v1.17.0...v1.18.0)
(2024-09-16)


### Features

* add dialogOpened activitytype
([#1110](#1110))
([711fa6d](711fa6d))
* Add process and precedingProcess to dialog as optional fields
([#1092](#1092))
([2bf0d30](2bf0d30))


### Bug Fixes

* Allow setting UpdatedAt when creating Dialog
([#1105](#1105))
([481e907](481e907))
* Authorize access to dialog details for any mainresource action
([#1122](#1122))
([a7e769a](a7e769a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
@coderabbitai coderabbitai bot mentioned this pull request Nov 1, 2024
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants