fix(rpc agent): handle properly cross rpc relations - #220
Merged
Conversation
matthv
reviewed
Jun 16, 2026
matthv
left a comment
Member
There was a problem hiding this comment.
The fix is good, but since the bug involved silent data loss (no errors were reported), it would be a good idea to add a non-regression test to buildSchema
matthv
approved these changes
Jun 16, 2026
forest-bot
added a commit
that referenced
this pull request
Jun 16, 2026
## [2.10.1](https://github.com/ForestAdmin/forestadmin-experimental/compare/rpc-agent@2.10.0...rpc-agent@2.10.1) (2026-06-16) ### Bug Fixes * **rpc agent:** handle properly cross rpc relations ([#220](#220)) ([e222f02](e222f02))
forest-bot
added a commit
that referenced
this pull request
Jul 16, 2026
## [1.13.1](https://github.com/ForestAdmin/forestadmin-experimental/compare/datasource-rpc@1.13.0...datasource-rpc@1.13.1) (2026-07-16) ### Bug Fixes * **datasource-rpc:** prevent infinite loop in reconciliateRpc when using rename ([#221](#221)) ([febb11b](febb11b)) * **rpc agent:** handle properly cross rpc relations ([#220](#220)) ([e222f02](e222f02))
forest-bot
added a commit
that referenced
this pull request
Aug 5, 2026
# [2.9.0](https://github.com/ForestAdmin/forestadmin-experimental/compare/plugin-filtered-relationship@2.8.0...plugin-filtered-relationship@2.9.0) (2026-08-05) ### Bug Fixes * add an interface of chart ([#152](#152)) ([3e93638](3e93638)) * add requested_id in approval request ([#172](#172)) ([0a2876c](0a2876c)) * **agent-tester:** add permission level for current user to support rails agent ([#146](#146)) ([7c50a2f](7c50a2f)) * **agent-tester:** change collection name on segment export csv ([#165](#165)) ([18a11a0](18a11a0)) * **agent-tester:** chart are not well loaded because a bad http method was used ([#147](#147)) ([4147916](4147916)) * **agent-tester:** force release ([#153](#153)) ([99864e0](99864e0)) * **agent-tester:** force the release ([#150](#150)) ([7a88a43](7a88a43)) * **agent-tester:** remove load form and load layout ([#154](#154)) ([2af8652](2af8652)) * **agent-testing:** allow null or undefined values on fill helper ([#142](#142)) ([0230844](0230844)) * **agent-testing:** fill helper on action form ([#143](#143)) ([fdf7bc7](fdf7bc7)) * allow aggregation by date ([#208](#208)) ([4622350](4622350)) * **ci:** test ci ([#178](#178)) ([4268e92](4268e92)) * **ci:** try the new setup ([#176](#176)) ([b03006f](b03006f)) * configure semantic-release npm plugin for OIDC auth ([ea6f439](ea6f439)) * cosmos nested agregation ([#162](#162)) ([a0c7c12](a0c7c12)) * **cosmos:** rename reserved aliases ([#205](#205)) ([8f72858](8f72858)) * **datasource-cosmos:** increase maxConditions default to 1000 ([#212](#212)) ([96df1f5](96df1f5)) * **datasource-cosmos:** set cosmos id as non sortable ([#174](#174)) ([29baba2](29baba2)) * **datasource-rpc:** prevent infinite loop in reconciliateRpc when using rename ([#221](#221)) ([febb11b](febb11b)) * explicitly set npm registry for publishing ([6b89230](6b89230)) * **filtered relationship:** enhance bahavior to handle more case ([#138](#138)) ([995cf9f](995cf9f)) * fix aggregation when using a reserved keyword ([#207](#207)) ([7200f0b](7200f0b)) * fix virtual object selection and edition ([#183](#183)) ([852ff32](852ff32)) * force release ([#151](#151)) ([76b93bc](76b93bc)) * implement pagination cache ([#192](#192)) ([4d80176](4d80176)) * improve nested fields support ([#164](#164)) ([8acc227](8acc227)) * improve performances ([#191](#191)) ([b798b08](b798b08)) * improve scalability ([#186](#186)) ([8f69026](8f69026)) * make database name optional ([#189](#189)) ([dc93255](dc93255)) * readability ([#190](#190)) ([95d4761](95d4761)) * release agent-rpc ([fd47a08](fd47a08)) * **rpc agent:** handle properly cross rpc relations ([#220](#220)) ([e222f02](e222f02)) * **rpc agent:** release ([8f532a0](8f532a0)) * **rpc agent:** use schema path option ([#215](#215)) ([4c700ec](4c700ec)) * **rpc datasource:** fix introspection parsing ([b3978a1](b3978a1)) * **rpc datatource:** allow connect ruby as rpc ([#219](#219)) ([5034d74](5034d74)) * rpc stack connection ([#169](#169)) ([e88a2ba](e88a2ba)) * **rpc:** handle sa schema properly with multi stack ([#218](#218)) ([c8016dc](c8016dc)) * use Cosmos DB compatible functions for date aggregation ([#209](#209)) ([f4be4e2](f4be4e2)) * use npm CLI with OIDC instead of semantic-release npm plugin ([d9e3386](d9e3386)) ### Features * **actions:** ease the field set and the retrieval ([#140](#140)) ([8a924b4](8a924b4)) * add cosmos db datasource ([#159](#159)) ([0b25187](0b25187)) * add datasource-stripe ([#198](#198)) ([cc3be30](cc3be30)) * add hasura graphql datasource ([#194](#194)) ([5db0b0a](5db0b0a)) * add introspection config ([#187](#187)) ([fc470d3](fc470d3)) * **agent-tester:** add a csv export on collection ([#156](#156)) ([fe64937](fe64937)) * **agent-tester:** add a way to override permissions from the agent tester ([#168](#168)) ([1d219cb](1d219cb)) * **agent-tester:** add charts to collection ([#149](#149)) ([3a2e8c8](3a2e8c8)) * **agent-tester:** add csv export on segment ([#157](#157)) ([0538935](0538935)) * **agent-tester:** add live query segment ([#158](#158)) ([1961202](1961202)) * **agent-testings:** split agent control and testing into separate directories ([#141](#141)) ([0bf4699](0bf4699)) * **api chart:** allow customizing api chart with query or body parameters ([#211](#211)) ([6d3eb65](6d3eb65)) * **approvals:** add a parameter in action.execute to validate approval ([#171](#171)) ([b8b4333](b8b4333)) * **cosmos:** add RU consumption logs ([#204](#204)) ([c7af33e](c7af33e)) * **datasource graphql hasura:** fix release ([a843269](a843269)) * **datasource graphql hasura:** relase datasource ([#206](#206)) ([c105758](c105758)) * **datasource-airtable:** add Airtable datasource package ([#200](#200)) ([155e6fa](155e6fa)) * **nested object:** use arrow notation ([#167](#167)) ([58a99e0](58a99e0)) * **rpc agent:** add mark collection as rpc option on add datasource ([#195](#195)) ([6372499](6372499)) * **rpc:** add introspection option ([f113580](f113580)) * **rpc:** handle SA returning file ([#217](#217)) ([08cc659](08cc659)) * support manual schema definition in cosmos ([#188](#188)) ([d819342](d819342)) * **testing:** add helper to get json field on action form ([#137](#137)) ([dfc25e9](dfc25e9)) * **testing:** introduce a rpc client ([#139](#139)) ([c2a3259](c2a3259)) * trigger release ([#185](#185)) ([1b378db](1b378db)) ### Performance Improvements * rollup Week/Quarter from Day-level queries ([#210](#210)) ([9528843](9528843))
forest-bot
added a commit
that referenced
this pull request
Sep 11, 2026
# [1.3.0](https://github.com/ForestAdmin/forestadmin-experimental/compare/plugin-define-enum@1.2.0...plugin-define-enum@1.3.0) (2026-09-11) ### Bug Fixes * add an interface of chart ([#152](#152)) ([3e93638](3e93638)) * add requested_id in approval request ([#172](#172)) ([0a2876c](0a2876c)) * **agent-tester:** add permission level for current user to support rails agent ([#146](#146)) ([7c50a2f](7c50a2f)) * **agent-tester:** change collection name on segment export csv ([#165](#165)) ([18a11a0](18a11a0)) * **agent-tester:** chart are not well loaded because a bad http method was used ([#147](#147)) ([4147916](4147916)) * **agent-tester:** force release ([#153](#153)) ([99864e0](99864e0)) * **agent-tester:** force the release ([#150](#150)) ([7a88a43](7a88a43)) * **agent-tester:** remove load form and load layout ([#154](#154)) ([2af8652](2af8652)) * **agent-testing:** allow null or undefined values on fill helper ([#142](#142)) ([0230844](0230844)) * **agent-testing:** fill helper on action form ([#143](#143)) ([fdf7bc7](fdf7bc7)) * allow aggregation by date ([#208](#208)) ([4622350](4622350)) * **ci:** test ci ([#178](#178)) ([4268e92](4268e92)) * **ci:** try the new setup ([#176](#176)) ([b03006f](b03006f)) * configure semantic-release npm plugin for OIDC auth ([ea6f439](ea6f439)) * cosmos nested agregation ([#162](#162)) ([a0c7c12](a0c7c12)) * **cosmos:** rename reserved aliases ([#205](#205)) ([8f72858](8f72858)) * **datasource-cosmos:** increase maxConditions default to 1000 ([#212](#212)) ([96df1f5](96df1f5)) * **datasource-cosmos:** set cosmos id as non sortable ([#174](#174)) ([29baba2](29baba2)) * **datasource-rpc:** prevent infinite loop in reconciliateRpc when using rename ([#221](#221)) ([febb11b](febb11b)) * explicitly set npm registry for publishing ([6b89230](6b89230)) * **filtered relationship:** enhance bahavior to handle more case ([#138](#138)) ([995cf9f](995cf9f)) * **filtered relationship:** improve logging and replace name only if necessary ([bc595b3](bc595b3)) * fix aggregation when using a reserved keyword ([#207](#207)) ([7200f0b](7200f0b)) * fix virtual object selection and edition ([#183](#183)) ([852ff32](852ff32)) * force release ([#151](#151)) ([76b93bc](76b93bc)) * implement pagination cache ([#192](#192)) ([4d80176](4d80176)) * improve nested fields support ([#164](#164)) ([8acc227](8acc227)) * improve performances ([#191](#191)) ([b798b08](b798b08)) * improve scalability ([#186](#186)) ([8f69026](8f69026)) * make database name optional ([#189](#189)) ([dc93255](dc93255)) * readability ([#190](#190)) ([95d4761](95d4761)) * release agent-rpc ([fd47a08](fd47a08)) * **rpc agent:** handle properly cross rpc relations ([#220](#220)) ([e222f02](e222f02)) * **rpc agent:** release ([8f532a0](8f532a0)) * **rpc agent:** use schema path option ([#215](#215)) ([4c700ec](4c700ec)) * **rpc datasource:** fix introspection parsing ([b3978a1](b3978a1)) * **rpc datatource:** allow connect ruby as rpc ([#219](#219)) ([5034d74](5034d74)) * rpc stack connection ([#169](#169)) ([e88a2ba](e88a2ba)) * **rpc:** handle sa schema properly with multi stack ([#218](#218)) ([c8016dc](c8016dc)) * use Cosmos DB compatible functions for date aggregation ([#209](#209)) ([f4be4e2](f4be4e2)) * use npm CLI with OIDC instead of semantic-release npm plugin ([d9e3386](d9e3386)) ### Features * **actions:** ease the field set and the retrieval ([#140](#140)) ([8a924b4](8a924b4)) * add cosmos db datasource ([#159](#159)) ([0b25187](0b25187)) * add datasource-stripe ([#198](#198)) ([cc3be30](cc3be30)) * add hasura graphql datasource ([#194](#194)) ([5db0b0a](5db0b0a)) * add introspection config ([#187](#187)) ([fc470d3](fc470d3)) * **agent-tester:** add a csv export on collection ([#156](#156)) ([fe64937](fe64937)) * **agent-tester:** add a way to override permissions from the agent tester ([#168](#168)) ([1d219cb](1d219cb)) * **agent-tester:** add charts to collection ([#149](#149)) ([3a2e8c8](3a2e8c8)) * **agent-tester:** add csv export on segment ([#157](#157)) ([0538935](0538935)) * **agent-tester:** add live query segment ([#158](#158)) ([1961202](1961202)) * **agent-testings:** split agent control and testing into separate directories ([#141](#141)) ([0bf4699](0bf4699)) * **api chart:** allow customizing api chart with query or body parameters ([#211](#211)) ([6d3eb65](6d3eb65)) * **approvals:** add a parameter in action.execute to validate approval ([#171](#171)) ([b8b4333](b8b4333)) * **cosmos:** add RU consumption logs ([#204](#204)) ([c7af33e](c7af33e)) * **datasource graphql hasura:** fix release ([a843269](a843269)) * **datasource graphql hasura:** relase datasource ([#206](#206)) ([c105758](c105758)) * **datasource-airtable:** add Airtable datasource package ([#200](#200)) ([155e6fa](155e6fa)) * **define enum plugin:** allow filtering on the main field ([#222](#222)) ([905afca](905afca)) * **nested object:** use arrow notation ([#167](#167)) ([58a99e0](58a99e0)) * **rpc agent:** add mark collection as rpc option on add datasource ([#195](#195)) ([6372499](6372499)) * **rpc:** add introspection option ([f113580](f113580)) * **rpc:** handle SA returning file ([#217](#217)) ([08cc659](08cc659)) * support manual schema definition in cosmos ([#188](#188)) ([d819342](d819342)) * **testing:** add helper to get json field on action form ([#137](#137)) ([dfc25e9](dfc25e9)) * **testing:** introduce a rpc client ([#139](#139)) ([c2a3259](c2a3259)) * trigger release ([#185](#185)) ([1b378db](1b378db)) ### Performance Improvements * rollup Week/Quarter from Day-level queries ([#210](#210)) ([9528843](9528843))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix cross-RPC relation assignment in
RpcAgent.buildSchemaIn agent.ts, the
rpcRelationsmap entry for a collection was only being populated inside the RPC-collection branch, causing cross-RPC relations to be dropped. The fix moves the assignment outside that branch so all non-empty relation maps are included regardless of collection type.Changes since #220 opened
RpcAgent.buildSchemato validate cross-RPC relation handling [0429318]Macroscope summarized 88be7bc.