Tom Harding
e08b89df65
Allow a custom list of ignored headers in actions
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10968
GitOrigin-RevId: 308a2c92e2c4b075ff2f55c94c82572f2fe85a7b
2024-07-30 15:32:00 +00:00
Samir Talwar
98ee4e3d27
Enforce the session variable name prefix.
...
In certain circumstances, all HTTP headers were included in the set of session variables. This has now been reduced to only the session variables. This change affects a number of areas, including the HTTP logs, JWT claims, rate limiting, and accessing session variables in Kriti code.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10964
GitOrigin-RevId: fc573cd89f7c0f1a17b9e8a56396f31e70669650
2024-07-29 15:53:06 +00:00
Samir Talwar
a8d1002175
server: Factor out authentication-related code into a new namespace, Hasura.Authentication
.
...
In preparation for tightening up the various ways in which we construct and work with session variables, I am trying to move the behavior into the same module(s) as the data types, so that we can avoid exposing the internals of data structures in favor of smart constructors and conversions.
The session variable code was split between `Hasura.RQL.Types.Roles`, `Hasura.RQL.Types.Session`, and `Hasura.Session`, with the first two containing most of the data structures (and some logic) and the latter containing the rest of the logic. These files do not interact with the rest of `Hasura.RQL`, though they are depended upon by that namespace.
I have refactored these files into a new namespace, `Hasura.Authentication`. It now looks like this:
1. Role types are now in `Hasura.Authentication.Role`.
2. Header constants were moved from `Hasura.Server.Utils` to `Hasura.Authentication.Headers` (plural) to avoid cycles.
3. Header logic was moved from various places into `Hasura.Authentication.Header` (singular) for the same reason.
4. Session variable types and logic live together in `Hasura.Authentication.Session`.
5. User info types and logic live together in `Hasura.Authentication.User`.
This new structure is cycle-free and generally avoids importing the rest of the code, which means we should be able to start pruning the list of exports and locking down session variable construction.
No behavior was changed in this changeset.
The majority of changes are to the imports in a number of files; everything depends on these things. By splitting into multiple files, we also reduce the surface area of an individual import, which was a pleasant side-effect of this work.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10960
GitOrigin-RevId: 7cb962c06483cd9b92b80432aed5cabecb465cda
2024-07-29 06:02:56 +00:00
Tom Harding
4e6394355d
Return correct type when an update_many has no arguments
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10954
GitOrigin-RevId: 214163f4f4764ea66194bf26bfe202a807771e90
2024-07-26 16:19:18 +00:00
Tom Harding
0080e32e3c
Remove empty subscription results
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10952
GitOrigin-RevId: 5581a416323877a92aa25a96398a62a88581c165
2024-07-26 09:08:48 +00:00
Tom Harding
4320eb0b71
Add some more Show
instances
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10950
GitOrigin-RevId: 20fee6351ee4a8bceabddf12bee50c3101ad78fa
2024-07-25 10:24:39 +00:00
Samir Talwar
934cb3e25e
server: Remove headers from error details.
...
In rare cases, sensitive headers were written to the GraphQL Engine logs. These cases are now handled correctly to avoid logging sensitive information.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10946
GitOrigin-RevId: a9d66532245789a16cf91936d53bbfce19d272a4
2024-07-24 09:32:01 +00:00
Tom Harding
3f15dfd1f5
Don't set columns to NULL when nullable variables are omitted
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10921
GitOrigin-RevId: 01779e0d02d4de1ca56d84f3d11f5e7513b87676
2024-07-19 11:59:52 +00:00
Philip Lykke Carlsen
69219958d6
Postgres: Quote custom scalar types in SQL
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10914
GitOrigin-RevId: 1ea4690b801913b4fc3fa8631090e3caa76b1cdc
2024-07-05 12:22:49 +00:00
Toan Nguyen
a8d60c3f82
server: add session_variables attribute to GraphQL spans
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10896
GitOrigin-RevId: 18faecd1f0107e502ffbc1d3fb39419d2ff1fff0
2024-06-24 10:07:21 +00:00
Toan Nguyen
7aef8f7102
server: add auth hook span and correct server SpanKind for OpenTelemetry spans
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10887
GitOrigin-RevId: b6b947c00a24a30c480427b533ab617f217c6884
2024-06-21 16:59:09 +00:00
Gil Mizrahi
4b884d3d47
add a flag to disable native query validation
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10889
GitOrigin-RevId: 43f2b83fe99b1e0fd514ccaed4888694351fadfc
2024-06-21 11:49:40 +00:00
Philip Lykke Carlsen
ed97e858f7
Actually thread through where those 60 seconds come from
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10864
GitOrigin-RevId: be54d96199eb34d27dbd60b814b297f658c8be8a
2024-06-17 13:56:12 +00:00
paritosh-08
2eb4a26268
add graphql query to traces
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10868
GitOrigin-RevId: 0d59478586183d98e38d45d3c928f75a3f25e970
2024-06-13 18:32:56 +00:00
Philip Lykke Carlsen
b4737fdd77
Revise JWK refresh documentation
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10863
GitOrigin-RevId: 3de651232cd5d3b5a5e4c78e90afc2cad063fcbf
2024-06-12 12:19:16 +00:00
Rakesh Emmadi
8e664002c5
server: include action type in action-handler-log
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10861
GitOrigin-RevId: 874cff7dcd287aed61e6d4806fb4733c2ba14982
2024-06-11 06:47:24 +00:00
Rakesh Emmadi
7e0d0d2c35
server: Handle and log spock internal errors
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10860
GitOrigin-RevId: 213e48563d91599429ecb91da521dd71f1f9b1c4
2024-06-10 16:06:41 +00:00
paritosh-08
cf41d2abd9
add postgres query to traces
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10853
GitOrigin-RevId: b47c7077fc8fc7115ab05dffe93195abfeb4131d
2024-06-06 18:26:03 +00:00
Samir Talwar
44ad07eeab
server/tests-py: Fix up the Redis tests so they run.
...
This fixes the existing tests around query caching and other Redis-related behaviors so they actually run.
Some of the tests still fail because of a couple of bugs, but the error messages are now meaningful.
They do not yet run in CI. We will enable them once they are fixed.
I added a bit of extra logging; we now log the Redis server host and port. I also left in the `Show` instance derivations I used for debugging, as I don't think they'll harm anything and might be useful in the future.
The changes are as follows:
1. I added a `redis` server to the tests and configured both HGE and the test runner to talk to it.
2. I fixed up the action tests so they set up and tear down correctly, including a fix to the output type of the action.
3. Caching has been implemented for actions with client header forwarding, so I have changed the test accordingly.
4. Tests now fail correctly if the response headers are wrong but the body is correct.
5. I have updated the keys in the response headers as the algorithm for generating them seems to have changed.
6. A few improvements have been made to the Python tests to handle lint warnings and improve logging.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10839
GitOrigin-RevId: 5d31a376346190b5c7b398b4dee84b88a9d1b18b
2024-05-28 15:12:10 +00:00
Gil Mizrahi
813d4cee5e
Explicitly close the connection after a native query validation step finishes
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10830
GitOrigin-RevId: 30eed2140da4cbc694ec5ef399d6dbbc78ee9007
2024-05-23 11:53:30 +00:00
Daniel Harvey
61f2b6d462
Somewhat improve a bunch of log messages
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10826
GitOrigin-RevId: 5eacf178f27e7fda9bf3014f158e4325d17b1acd
2024-05-22 09:44:19 +00:00
Daniel Harvey
9054800f3a
Setup scheduled events off the main thread
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10823
GitOrigin-RevId: 379d010c768c7e94198682565852d214fb257291
2024-05-17 16:07:51 +00:00
Tom Harding
cfb7b58c90
Ensure closed streaming subscription handlers are cleared up correctly
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10814
GitOrigin-RevId: dee142742ea1803753cc858df60f6a5ccad8c43f
2024-05-17 13:50:57 +00:00
Daniel Harvey
0201cf5f29
Change 'preparing data' to 'unlocking all locked scheduled events'
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10816
GitOrigin-RevId: cd2d96df900359b52d30458a5bc2ddfb136a78b6
2024-05-14 11:18:54 +00:00
Anon Ray
aa109ba331
fix: deregister relevant connection pool metrics when part of the source config is modified
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10786
GitOrigin-RevId: 6ba7a1db1df19453c59de3f41d0e0d9de93d3a8e
2024-05-13 11:45:38 +00:00
Toan Nguyen
ce5ff4c367
server: support env template for otel status
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10764
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitOrigin-RevId: 3dfb3478cefc8ffa9067295293203e06b3eac90c
2024-04-17 07:25:44 +00:00
hasura-bot
98938047b7
Alter log level of garbage collector message ( fix #10172 )
...
GITHUB_PR_NUMBER: 10173
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/10173
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10738
Co-authored-by: Adam Malone <3642111+typhonius@users.noreply.github.com>
GitOrigin-RevId: 3926af6bbac0081f9510e1bdcc9a5d2c5fa2c515
2024-03-19 16:29:26 +00:00
Samir Talwar
4d1254bdce
server: Log the query execution time on errors.
...
The server now logs timing information on error when possible, e.g. when an SQL query fails.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10730
GitOrigin-RevId: e63a773d6c58df27d23b01f53b9b895dcf290e55
2024-03-18 15:51:22 +00:00
paritosh-08
b0a3ff1d0f
add operation_name
and parameterized_query_hash
to hasura_graphql_requests_total
metric
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10725
GitOrigin-RevId: b19df2a17e94e72dde790a54e01e290b581aa560
2024-03-18 14:45:09 +00:00
Rakesh Emmadi
083f321feb
server: improve recreateTriggerIfNeeded
arrow function
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10724
GitOrigin-RevId: dc8e42da21801cc9a2f49e1c126d26b6d5f2e766
2024-03-14 08:19:52 +00:00
pranshi06
d4740a08a1
server: fix behaviour of error field for query and subscription in asynchronous actions
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10685
GitOrigin-RevId: a0deb276814b63c784a820964d3dbb320ffedae9
2024-02-22 14:21:18 +00:00
Brandon Simmons
7b3ce7d927
server: don't use 'auto-update' for log timestamp cache/refresh
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10662
GitOrigin-RevId: abefec7649098cfb6e4cc906210bc709c25301b0
2024-02-06 22:07:58 +00:00
kodiakhq[bot]
dd3bbef2fe
Jberryman/ghc 9.6.4
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10615
GitOrigin-RevId: 8a45c92bec8444d5ec0aed125f4aa96d9c684728
2024-01-23 19:47:53 +00:00
Tom Harding
cc588a1ed3
Add support for ilike
and nilike
operators in BigQurey
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10638
GitOrigin-RevId: 6e97d480282b19ef0c87e08719e6421c09665d15
2024-01-23 15:28:21 +00:00
Rakesh Emmadi
f8b71fa94e
server/pro/cloud: consider session variables and http headers from connection templates for query caching
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10625
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
GitOrigin-RevId: 3bf7896437cb5bc40c491e6feac7c43e7d2c7e6e
2024-01-17 06:48:31 +00:00
Krushan Bauva
8b34100606
server: add a flag to specify header precedence when calling webhook in actions and input validations
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10594
GitOrigin-RevId: 84f58b7b957630e2fc527ece09c026bf07f3027a
2024-01-11 13:26:36 +00:00
hasura-bot
63d90dcf69
Allow reading data connector agent URLs from environment variables
...
GITHUB_PR_NUMBER: 10077
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/10077
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10585
Co-authored-by: Nick DeGroot <1966472+nickthegroot@users.noreply.github.com>
Co-authored-by: Daniel Chambers <1214352+daniel-chambers@users.noreply.github.com>
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitOrigin-RevId: 9169e9250cbbee0fc9d47b503ead5e2219c98bc6
2024-01-04 23:23:32 +00:00
paritosh-08
7f1f0606ed
add config to prioritize data/error for remote schema fields
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10528
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: 49d0d7cbcc73fb0876d7ac3f5a1a8ff61ff800e8
2023-12-19 13:30:30 +00:00
pranshi06
004602c37f
server: fix HTTP request structure leak in Async Actions
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10549
GitOrigin-RevId: e628fc161546c4899dc39a571290ddf0af2e2d83
2023-12-18 10:31:58 +00:00
Rakesh Emmadi
e6ca36dcb1
server: insert updated metadata and schema sync notifications in a transaction
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10558
GitOrigin-RevId: e3bb0ef2378162a5fdccc7131a584f4200404afd
2023-12-18 08:59:44 +00:00
Rakesh Emmadi
7fd9f0fd7c
server: insert schema sync notifactions as soon as metadata is updated in the storage (hot fix)
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10552
GitOrigin-RevId: 33886b5a1b648373053e1aa2920bdabeb5df69a7
2023-12-13 16:18:55 +00:00
Daniel Harvey
72e50c1556
chore: check we have fields in our Logical Model before outputting a parser
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10550
GitOrigin-RevId: 85f83274f696e381da68547bf7af098ea8f5ac11
2023-12-13 12:32:00 +00:00
Samir Talwar
ae5279ccda
Apply HLint's new proposed fixes.
...
Upgrading HLint brought in a bunch of new suggestions for improvements to the code.
I thought I'd go through them quickly and get them in.
This is not all of them, just the ones I thought were reasonable.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10505
GitOrigin-RevId: cefd661e9dcb973843b421fd0e31a5c5ffe4720f
2023-12-07 09:16:33 +00:00
pranshi06
94f01cfbb0
server: fix condition to classify requests to Apollo persisted queries
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10514
GitOrigin-RevId: c7ada21af3984761e8521f0fc8092e27367cdc02
2023-12-06 10:56:44 +00:00
Samir Talwar
d39f30c38c
Allow for columns without known types in MS SQL Server.
...
Sometimes, the `sys.types` table will not contain a type for a given column.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10506
GitOrigin-RevId: 7407e715a75d196f1bc0408d05f00804f85cbc55
2023-11-23 10:32:56 +00:00
Samir Talwar
0373beaed0
Upgrade nixpkgs, bump Haskell tool versions, and fix the new HLint errors.
...
Maintenance work to keep our server tools up to date.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10503
GitOrigin-RevId: 4402e39a5600d14c1e7d5eb4c91b152c2111f315
2023-11-22 09:02:34 +00:00
pranshi06
e80bf147f8
server: fix hide_aggregation_predicates
and hide_stream_fields
experimental features
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10485
GitOrigin-RevId: b7791c0244fb868d4a857a2e245ec25d05345a17
2023-11-15 16:03:58 +00:00
Rakesh Emmadi
970024569c
server: reject null values for non-null variables
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10333
GitOrigin-RevId: b778c225400cfb698570f58044b38396a685a6b6
2023-11-13 22:47:57 +00:00
Karthikeyan Chinnakonda
44584c021d
Revert "Skip more unnecessary ET recreation"
...
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10470
GitOrigin-RevId: 7990b0b6c554e1c128996769e914abb89938ffbe
2023-11-08 16:06:36 +00:00
hasura-bot
77a23320b6
Omit Server
Header from Server Responses by Default
...
GITHUB_PR_NUMBER: 9769
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/9769
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10427
Co-authored-by: Andrew Louis <996681+andrewlouisx@users.noreply.github.com>
GitOrigin-RevId: 5cf62d10965d408954b996788f87a3c0d43a5126
2023-10-30 11:16:20 +00:00