post-receive GIT hook is running from my local machine - githooks

I have written a simple echo statement in post-receive file present in .git/hooks. After me making a push operation I am not able to see the echo statement in my console output. Which means the post-receive server related hook has not been executed.
If I try some local hooks like pre-commit hook those scripts gets executed.
What are the steps that I need to follow to make a server related hook to execute.

post-receive, as a server-side hook, does not get executed by clients that are pushing data to servers.
To set up a post-receive hook, you will want to modify the hooks of the Git repo on the server you're pushing to. If you are looking to use these hooks to do something on your local client, then you will need to use a client-side hook (or get the server to communicate with the client manually on post-receive). The closest you will get for client-side hooks is the pre-push hook (Git does not have a post-push hook).

Related

Implement publish button with SWR / Tanstack query

I'm fetching data from the server to initially populate a form. This form is then edited by the user. Those modifications shouldn't be send be immediately send to the server however, only if the user presses a publish button. I don't want to store serverside draft state either. The modifications still need to be "state" in a way, that multiple components read from it and should be updated immediately as the user types (so I can't just keep the data in the DOM and get it from there on publish).
One way to accomplish that would be to disable refetching in SWR, modify the cache manually with the mutate() or useSWR() hook and a local "fetcher" (which just returns local data instead of fetching from the server). On publish, it does basically the same, only with the "server" fetcher, which sends the current cache to the server.
The other option would be to keep the client modifications in a seperat state manager.
I think both would technically work, so I'm asking more for the recommended way here.

react-query as local state manager

Hi is there any public project/example using react-query exclusively as a local state manager for a react app?
I can only find projects where it's used to fecth data from an API.
It looks like React query works only with outside data of your app:
React Query is a type of state manager, specifically designed to
manage asynchronous state that you get from outside of your app, so
server-state, API state, or anything else that is not local client
state. With that said, it's easy and even encouraged to keep use React
Query along side a global state manager for your client state.
Its very common for existing applications that after moving their
server state to React Query, their client state is extremely small and
doesn't even need an external library like Redux. However, some
applications actually do have a lot of local client state to manage
and something like Redux is warranted.
I will link to a talk about this very subject very soon. But you can
feel good pressing forward using both React Query for anything that is
asynchronous data and Redux for anything that is local and
synchronous.

how to make that when the data on the server changed independently of the reducer application also changed

For example, there is an application. The user sits on the main page and needs to understand that there are new orders.
I download data only at the beginning of app using redux-thunk. It seems I can not subscribe to the update with a server change change.
If it's impossible to do this on redux-thunk, what libraries do you use or approaches?

How to add universal support existing react project

I've created a react redux project, now how do I add some SEO functionalities to project? I do not want to waste much time while refactoring codes.
You need to setup the redux store on the server and pass its initial state down to the client, so that the server-render and initial client render don't differ
Not all life cycle functions are called on the serverside, mainly componentDidMount is not called. This indeed helps if you want to do some AJAX data fetching (which you only want to do on the client).
If you are using react-router you need to setup the serverside route matching
Here are some more details: React can be used on server side rendering. What does that mean?

Redux and saving data?

I come from RoR world, and would like to change my application using Redux and React.
React is very simple to understand, you build it up and connect to Redux using web-sockets (Why not just xhr?), Redux accept different actions and respond to React etc.
What I don't understand is, do you save all users in redux store? Or do you use another noSQL to save them? And when I terminate the redux store and start it up again, does my data vanish? I can't find article describing this?
Redux manages state of the client side. Example of what redux handles:
filter in table changed (set state to "loading" and replace table with spinner)
results were loaded (display results in the table)
loading of results failed (show error message)
It does not handle remote communication in itself. I assume that you got the impression that you needs websockets from this tutorial. What happens there is that redux is used on server as well as on client. And websockets are used to make the communication between server and client realtime. The same actions that are executed locally are executed on server and that allows you to propagate them to other clients.
More about AJAX calls and handling asynchronousness in redux:
How to make AJAX request in redux
redux-thunk
redux-saga

Resources