Need help with custom fields

I would like to add a custom field to strapi but the plugin does not seem to work, and I am out of ideas as to why.

Here is my server/index.ts:

export default ({ strapi }: { strapi: Strapi }) => {
		name: 'link',
		plugin: 'fields',
		type: 'string'

The admin/src/index.ts:

register(app: any) {
		const plugin = {
			id: pluginId,
			initializer: Initializer,
			isReady: false,


			name: 'link',
			plugin: 'fields',
			type: 'string',
			intlLabel: {
				id: "",
				defaultMessage: "Link",
			intlDescription: {
				id: "",
				defaultMessage: "Paste any link",
			components: {
				Input: async () => import("./components/LinkInput"),

Any finally the .components/LinkInput:

import React from "react";
import { useIntl } from "react-intl";

interface LinkInputProps {
  attribute: { type: string; [key: string]: unknown };
  disabled?: boolean;
  intlLabel: any; // Replace 'any' with the actual type for intlLabel
  name: string;
  onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
  required?: boolean;
  value?: string;

export const LinkInput: React.ForwardRefRenderFunction<HTMLInputElement, LinkInputProps> = (props, ref) => {
	const { attribute, disabled, intlLabel, name, onChange, required, value } = props;

	const { formatMessage } = useIntl();

	const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
			target: { name, type: attribute.type, value: e.currentTarget.value },
		} as React.ChangeEvent<HTMLInputElement>);

	return (

I was following the documentation Strapi provides, but in some cases I had to do things differently, because it was not even compiling.

Edit: The plugin does not even show up in the admin panel, only in the plugin list. (it is enabled, I have an other plugin that works perfectly fine)

Issue was solved by updateing to v4.15.5.

However a new issue arrived

If I try to use my new field this happens on restart