Commit 2fd68be
fix(plugin-list): gate speculative $select fields by the object's real schema (#1710)
A list view auto-includes view-binding fields (kanban groupBy, calendar/
gantt/timeline dates, gallery image, timeline status/priority) in $select so
alternate view modes render populated. These were added unconditionally on the
assumption that "the projection ignores unknown names" — but some backends
(notably the cloud multi-tenant runtime) reject an unknown $select column with
an EMPTY result set, so a single phantom field zeroes the whole list. An
AI-built `product` view requesting status/due_date/image then showed "no data"
even though rows existed.
Gate the speculative additions through addSpeculative(), which only keeps a
field present in the object schema (objectDef.fields, already loaded before the
fetch). User-declared columns and expand roots are untouched (already valid).
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 56571d6 commit 2fd68be
2 files changed
Lines changed: 120 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
983 | 983 | | |
984 | 984 | | |
985 | 985 | | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
986 | 1014 | | |
987 | 1015 | | |
988 | 1016 | | |
989 | 1017 | | |
990 | 1018 | | |
991 | | - | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
992 | 1022 | | |
993 | 1023 | | |
994 | 1024 | | |
| |||
1002 | 1032 | | |
1003 | 1033 | | |
1004 | 1034 | | |
1005 | | - | |
1006 | | - | |
1007 | | - | |
| 1035 | + | |
1008 | 1036 | | |
1009 | 1037 | | |
1010 | 1038 | | |
| |||
1017 | 1045 | | |
1018 | 1046 | | |
1019 | 1047 | | |
1020 | | - | |
1021 | | - | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
1022 | 1051 | | |
1023 | 1052 | | |
1024 | 1053 | | |
1025 | | - | |
1026 | | - | |
| 1054 | + | |
| 1055 | + | |
1027 | 1056 | | |
1028 | 1057 | | |
1029 | 1058 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
645 | 645 | | |
646 | 646 | | |
647 | 647 | | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
648 | 731 | | |
649 | 732 | | |
650 | 733 | | |
| |||
0 commit comments