Why is “groupBy” a static method and not on the Array Prototype?

The MDN docs state:

Note: In some versions of some browsers, this method was implemented as the method Array.prototype.group(). Due to web compatibility issues, it is now implemented as a static method.

However, similar issues arose with flat (see SmooshGate) but this was resolved by renaming the term to flatten. Why didn’t TC39 take the same approach with groupBy and find a non-conflicting name?

aws ec2 cors err when trying to connnect frontend(vercel ) backend ec2?


const allowedOrigins = [ 

  // "http://localhost:3000",
  "https://neuera.in", 
  "https://www.neuera.in", 
];

const corsOptions = {
  origin: (origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => {
    // Allow requests with no origin (mobile apps, Postman, server-to-server)
    if (!origin) {
      console.log("✅ No origin header - allowing request");
      return callback(null, true);
    }

    if (allowedOrigins.includes(origin)) {
      console.log(`✅ CORS allowed for origin: ${origin}`);
      callback(null, true);
    } else {
      console.warn(`❌ CORS blocked origin: ${origin}`);
      callback(new Error(`CORS policy violation: Origin ${origin} not allowed`));
    }
  },
  credentials: true,
  optionsSuccessStatus: 200,
  methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],
  allowedHeaders: [
    'Origin',
    'X-Requested-With',
    'Content-Type',
    'Accept',
    'Authorization',
    'Cache-Control',
    'X-API-Key',
    'Access-Control-Allow-Headers',
    'Access-Control-Allow-Origin'
  ],
  // Explicitly set headers for debugging
  preflightContinue: false
};

// Apply CORS BEFORE other middleware
app.use(cors(corsOptions));

// Security headers (configure after CORS)
app.use(helmet({
  crossOriginResourcePolicy: { policy: "cross-origin" },
  // Disable some helmet defaults that might interfere
  contentSecurityPolicy: false,
  crossOriginEmbedderPolicy: false
}));

frontend:-rtqk

export const api = createApi({
  baseQuery: customBaseQuery,
  reducerPath: "api",
  tagTypes: ["Projects", "Tasks", "Users", "Teams"],
  endpoints: (build) => ({
    getAuthUser: build.query({
      queryFn: async (_, _queryApi, _extraoptions, fetchWithBQ) => {
        try {
          const user = await getCurrentUser();
          const session = await fetchAuthSession();
          if (!session) {
            // Format errors according to RTK Query expectations
            return {
              error: {
                status: 401,
                data: 'No session found'
              } as FetchBaseQueryError,
            };
          }
          const { userSub } = session;
          // const { accessToken } = session.tokens ?? {};

          const userDetailsResponse = await fetchWithBQ(`users/${userSub}`);
          const userDetails = userDetailsResponse.data as User;
          if (userDetailsResponse.error) {
            return { error: userDetailsResponse.error };
          }


          return { data: { user, userSub, userDetails } };
        } catch (error: unknown) {
          const errorMessage = error instanceof Error ? error.message : "Could not fetch user data";
          return {
            error: {
              status: 'CUSTOM_ERROR',
              data: errorMessage
            } as FetchBaseQueryError,
          };
        }
      },
    }),

im trying to host my frontend on vercel(nextjs) and backend(node+ex) on aws ec2 but im keept getting this cors err , i have done this but none if this works any idea , i have created api.neuera.in for api calls but still nothing working,
Do I need to add something to the EC2 instance like a proxy or Nginx rule, even though i hvae nginx setup on ec2?
i want to connnect my frontend and backend?

Change tooltip type when moving between grids in chart

I have a graph with multiple y-axes/x-axes, and currently, ECharts does not allow for different tooltip types between grids. I have three y-axes/grids within one graph, and for the first two, I would like to have a tooltip set as trigger: 'axis', and for the third one, trigger: 'item'.

I wanted to implement a solution following this example where I would dynamicly change tootlip trigger caching mouse move event. The problem with this solution is that mouseup or mousemove are only triggered when the mouse touches the object in the graph (line or dot), but I would like the solution where the event would already trigger when the mouse moves to the third graph area or goes back to the area of the second graph/grid. I didn’t find any other suitable mouse event that would cover that.

Is there any solution to change the tooltip trigger when going between different graph areas/grids in the charts?

Cannot read text file with JavaScript from Java web project

I am working on Java Spring Boot project and I have JavaScript program in it. I want to read txt file from static folder with JS. The code is working when I am testing it in Visual Studio Code, but not in Java project. It seems require is not working here. I try it with require(path), but it`s not working as well.
How can I read the file from Java project?
And how can I test it except alert?

const fs = require("fs");
const loadFile = async () => {
  try {
    const data = await fs.promises.readFile("officesData.txt", {
      encoding: "utf-8",
    });
    console.log(data);
  } catch (error) {
    console.error(error);
  }
};
loadFile();

doget function in apps script no longer works [closed]

The doget function in apps script no longer works.
It worked before, I don’t know if it’s due to the Google chrome update? I don’t see any bug in my code in google script, javascript, html or css.

The error message is as follows, but it is in the Google code.

enter image description here

Avoid using document write()

But I don’t have this function in my code.

What can I do?

Thanks

How to prevent ImageDecode on tileLayer?

I have tiles which are the same for more then one zoom. So I load them with only one resolution with the following code:

public createTileSystemLayerGroup(systemInfo: SystemTileInfo) {
    const zIndex = 4 + systemInfo.priority;
    this.customerProjection = systemInfo.epsgId;
    const tileServerUrl = `http://localhost:8080/tiles/${systemInfo.id}/${systemInfo.tileSize}/{x}/{y}`;

    const extent = [systemInfo.sw_x, systemInfo.sw_y, systemInfo.ne_x, systemInfo.ne_y];
    const resolution = systemInfo.tileSize / 1890; 
    const source = new XYZ({
        url: tileServerUrl,
        projection: this.epsgId,
        tileGrid: new TileGrid({
            extent: extent,
            origin: [systemInfo.sw_x, systemInfo.ne_y], // Achtung: OL erwartet Ursprung oben links
            resolutions: [resolution], // nur eine Zoomstufe!
            tileSize: 1890,
        }),
        cacheSize: 512,
    });


    const tileLayer = new TileLayer({
        source: source,
        zIndex: zIndex,
    });

    const tileSystemLayerGroup = new LayerGroup({
        visible: true,
        layers: [tileLayer],
        minZoom: systemInfo.minZoom,
        maxZoom: systemInfo.maxZoom,
        zIndex: zIndex,
    });

    this.slippyMap.checkHighestZIndex(zIndex);
    tileSystemLayerGroup.setProperties({ title: systemInfo.title });
    return tileSystemLayerGroup;
}

This works correctly and gives me the correct tiles from my tile server. But when I zoom in and out or pan my map sometimes starts lagging. With the browser performance tool I discovered that this is caused by an ImageDecode (which is called by OpenLayers internally ?).

How can I prevent the image decoding, or how can I make it faster and why is it only called sometimes?

Note: My tiles are in PNG and 3780×3780 pixels

Here is a screen of the performance tool:
performance tool of the browser

I tried to change, that I have more than one resolution, but the problem there is, that i can´t get the tile in the right position from my TileServer then.
Reducing the image size helps to reduce the time the ImageDecode needs, but it still appears. I want to add an solution where the ImageDecode isnt executed.

unable to Remove full screen toogle from google maps -new autocomplete

I have implemented google map’s new auto complete. I however want to restrict the map to a small div within my page.

The problem is that googles have a full screen toggle button on the top right corner that override any CSS restrictions i place on the map. Is there a way to remove full screen toggle/override google’s toggle button

this is my script:

html:

<div class="container">
      <div class="map-container">
        <div id="map"></div>
      </div>
</div>

CSS:

#map-container{
    height: 650px;
    width: 650px;
}

#map {
    max-height: 600px;
    max-width: 600px;
}

JS:

async function initMap() {

  map = new google.maps.Map(document.getElementById('map'), {
        center,
        zoom: 13,
        mapId: '4504f8b37365c3d0',
        mapTypeControl: false,
    });

const placeAutocomplete = new google.maps.places.PlaceAutocompleteElement();
    //@ts-ignore
    placeAutocomplete.id = 'place-autocomplete-input';
    placeAutocomplete.locationBias = center;
    const card = document.getElementById('place-autocomplete-card');
    //@ts-ignore
    card.appendChild(placeAutocomplete);
    map.controls[google.maps.ControlPosition.TOP_LEFT].push(card);
    // Create the marker and infowindow.
    marker = new google.maps.marker.AdvancedMarkerElement({
        map,
    });
    infoWindow = new google.maps.InfoWindow({});


}

This is the toggle button on the far right top corner:

enter image description here

How to Check if User-Entered Numbers Match Winning Lottery Numbers in Any Order (JavaScript)?

I’m working on a simple lottery number checker using JavaScript for my website. The user enters three numbers through a form, and I have three winning numbers stored in an array. I want to check if the user’s numbers match the winning numbers, regardless of the order.

Here’s my current setup:

function checkWin() {
    const winningNumbers = [3, 5, 8];
    const userNumbers = [
        parseInt(document.lotteryForm.input1.value),
        parseInt(document.lotteryForm.input2.value),
        parseInt(document.lotteryForm.input3.value),
    ];

    // Need logic to compare both arrays in any order
    if (/* arrays match, any order */) {
        alert("Congratulations! You matched all the winning numbers!");
    } else {
        alert("Sorry, try again!");
    }
}


  1. How can I check if the userNumbers array contains all the same numbers as the winningNumbers array, in any order?

  2. Is it better to use sort() and compare, or should I loop through and use .includes()?

  3. What’s the cleanest and most efficient method?

flipkart api error{“code”:400,”message”:”Unable to process JSON”}

facing issue with the order fetching on flipkart seeller api i have already verified with the endpoint with the flipkart api i need the exatc one who had already working on it
POST https://api.flipkart.net/oauth-service/oauth/token?grant_type=client_credentials&scope=Seller_Api (OAuth Token)

  • GET https://api.flipkart.net/sellers/v3/shipments/handover/counts?locationId=[REMOVED] (Vendor Pickup Count — WORKING)
  • GET https://api.flipkart.net/sellers/v3/shipments?locationId=[REMOVED] (Shipments — FAILS)
  • GET https://api.flipkart.net/sellers/v3/orders?locationId=[REMOVED] (Orders — FAILS)
  • GET https://api.flipkart.net/sellers/v3/shipments?states=APPROVED,READY_TO_DISPATCH&locationId=[REMOVED] (Shipments with states — FAILS)
  • `POST https://api.flipkart.net/sellers/v3/shipments/filter
    ”'{
    “type”: “preDispatch”,
    “filter”: {
    “states”: [
    “APPROVED”,
    “READY_TO_DISPATCH”
    ],
    “locationId”: “”
    },
    “pagination”: {
    “pageSize”: 50,
    “pageNumber”: 1
    }
    }
    Response:
    {“code”:400,”message”:”Unable to process JSON”}”’

Issue over 1600 columns when create multi column in postgres using laravel

I have use laravel 11 and postgres 17, when I use import file to create column for table in database (file only have ~500 rows, which means it will create about 500 new columns for the table). But I get error SQLSTATE[54011]: Too many columns: 7 ERROR: tables can have at most 1600 columns even though my table originally only had 18 columns. Here my functions:

DB::beginTransaction();
try {
   ... read data from file ...
   foreach ($data as $record) {
      $sql = "ALTER TABLE "$record[0]" ADD COLUMN IF NOT EXISTS "$record[1]" $record[2]($record[3]);"
      Log::debug('insert >>> ' . $sql);
      DB::statement($sql);
      # this query below I use to check number of column in table after insert.      
      $qlCountCol = "SELECT count(*) as temp FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'custom_object_bc1d0996-7911-41c0-bfda-374680f6e614'"; 
      $respo = DB::select($qlCountCol);
      Log::debug($obj->table_name . ' >>>>>> col >>>> ' . json_encode($respo[0]));
   }
   DB::commit();
} catch (Exception $e) {
   DB::rollBack();
   report($e);
   throw $e;
}

And I get log as below:

....
[2025-06-30 01:24:37] local.DEBUG: insert >>> ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_e0ab6fa8-e4f7-4bee-b8ed-1d0bb4975118" BIGINT  ;  
[2025-06-30 01:24:37] local.DEBUG: custom_object_bc1d0996-7911-41c0-bfda-374680f6e614 >>>>>> col >>>> {"temp":385}  
[2025-06-30 01:24:37] local.DEBUG: insert >>> ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_739b4b6f-4c49-43d0-8840-b4559fec8601" BIGINT  ;  
[2025-06-30 01:24:37] local.DEBUG: custom_object_bc1d0996-7911-41c0-bfda-374680f6e614 >>>>>> col >>>> {"temp":386}  
[2025-06-30 01:24:37] local.DEBUG: insert >>> ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_1a43292d-e691-4d73-a3d6-52f65822dfce" BIGINT  ;  
[2025-06-30 01:24:37] local.DEBUG: custom_object_bc1d0996-7911-41c0-bfda-374680f6e614 >>>>>> col >>>> {"temp":387}  
[2025-06-30 01:24:37] local.DEBUG: insert >>> ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_4cc4dcf0-216e-4260-b7ee-00e4192bbaf7" BIGINT  ;  
[2025-06-30 01:24:37] local.DEBUG: custom_object_bc1d0996-7911-41c0-bfda-374680f6e614 >>>>>> col >>>> {"temp":388}  
[2025-06-30 01:24:37] local.DEBUG: insert >>> ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_0f4a5850-da64-4d9f-88b6-e5d676b4b3dc" BIGINT  ;  
[2025-06-30 01:24:37] local.DEBUG: custom_object_bc1d0996-7911-41c0-bfda-374680f6e614 >>>>>> col >>>> {"temp":389}  
[2025-06-30 01:24:37] local.DEBUG: insert >>> ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_de47c89a-29c7-4180-a1da-b4d143fa8b1c" BIGINT  ;
[2025-06-30 01:24:37] local.ERROR: SQLSTATE[54011]: Too many columns: 7 ERROR:  tables can have at most 1600 columns (Connection: default, SQL: ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_de47c89a-29c7-4180-a1da-b4d143fa8b1c" BIGINT  ;) {"userId":1,"exception":"[object] (Illuminate\Database\QueryException(code: 54011): SQLSTATE[54011]: Too many columns: 7 ERROR:  tables can have at most 1600 columns (Connection: tenant, SQL: ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614" ADD COLUMN IF NOT EXISTS "field_de47c89a-29c7-4180-a1da-b4d143fa8b1c" BIGINT  ;) at /src/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825)

I don’t know why my table just have 389 columns but I getting error over 1600 columns of postgres. Please explain for me why I’m geting this error and how to resolve it. Thanks.

PS:
I think is not error of PHP and laravel. I have try insert with psql query as below I getting same errors. (limit char post I can’t paste full query but it simple as below)

ALTER TABLE "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614"
    ADD COLUMN IF NOT EXISTS "field_b23058d5-de8b-4b99-a405-a3500b66d33a" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_fb93ff3e-7ced-48fc-9b42-cde892151c68" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_e1d56b40-f37c-406a-8703-ab1a6d0930ff" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_cb6b05da-3882-4c85-aa49-d0bdd0b0641f" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_bc797a62-cb29-413c-bf64-bd32ac82cb4e" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_892c85e9-e740-4b8a-ac37-b98a1c2678a4" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_ac87a2dd-a679-4716-95a2-d3abf1b32886" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_dd425cb6-4ee3-4b4f-9403-37ec424e59f0" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_e365f94f-4beb-40bd-9ac8-6339391a1c11" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_2db92de6-9419-44e1-bfdc-757c6bde52da" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_12915b57-fd61-40d1-93dd-dd1994baec4e" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_f88ed3f7-04cf-4db9-8297-7bc44f1c094c" JSONB,
    ADD COLUMN IF NOT EXISTS "field_e9a28e0f-ede5-445f-8f07-96617ef759cf" VARCHAR(255),
    ADD COLUMN IF NOT EXISTS "field_3b859643-b359-4adc-b3c4-9f1ac3b2fd41" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_c74b07c2-8311-4027-83c4-b745d88c3960" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_b357fe9a-f50c-446d-ba65-71db4b7bcb20" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_38cd0f1f-a26d-4b8b-84c3-a04051c5e2e4" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_1451940a-43e8-4935-bcc2-b2a732260d21" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_145d9521-6483-4c90-aef9-42aa2c8cf1e2" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_e1806caa-67bc-44fa-95a3-bb5fd63d92fd" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_7675886b-ff57-4b92-8911-585c0783e192" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_735797bc-7644-47c7-886b-5f01ec6b1558" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_d015393b-6ae9-4af6-8b21-ad2b92c90f7b" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_14e382ac-6247-4867-a3f8-8528fd019fc9" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_705be07f-a407-4892-b367-675d1b87cc0d" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_144cf94c-bb50-456b-82d5-6805cb4c59b7" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_0ff561b2-596f-46ae-a290-d3cf7a9b256c" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_9281c4c2-91fd-49cc-9575-729dce9bf669" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_2bf72685-0515-481f-8e0b-b64d1b242c61" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_d811281c-5821-4145-806c-1bd66f573f99" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_88e3d912-fe60-41a8-b030-d3fa18a426d4" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_93d47e04-9414-4c48-adaf-ab7d366d7efa" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_d299459b-d4e3-47b6-a855-36d11634195c" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_9115abd9-89d1-4888-92ec-d9ade862077a" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_e06a4cc4-5581-4623-b2f8-714652ce574b" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_8da5a451-f91a-4465-b527-6e99aeaf5bb8" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_aa8938f2-4b55-4036-bd3a-c05d8b93a191" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_5078b490-ee17-4bce-9d01-47eba010ebe2" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_dc9ce45f-3692-42d7-afd8-2ab7af1709dd" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_3af0dcc1-e624-431e-96ba-5fae69e4762f" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_71fbee40-5b13-4ef8-b3f7-7f496d944867" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_aaf1d70d-4e7b-4735-80f5-ade6956cdbc3" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_dc820da3-539b-4c6d-a108-7061b9aef69c" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_abe56663-b39e-4bb4-89ce-b1b70503df17" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_8d7db4ba-786c-4d62-b360-ed2df1c6969d" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_deba0917-a1cf-4343-b18e-127d22aacdca" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_b1bf0bb4-e3ba-495f-a397-94e7be7b89cd" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_033e1090-0ebd-4f80-b82e-858b39296bf9" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_fdba15df-a89c-4943-aaa6-85c1111e697e" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_59a03046-4b87-4093-bceb-489739e8793f" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_faaa39f7-69c8-4dd7-b9d6-937531b08870" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_f0dd7ac8-0469-4143-8e68-60959ebee538" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_f946f78c-b7d1-4827-b34a-0bb9483a9c19" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_8126f4d7-4d4f-48f2-8823-5a4e8a80693c" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_7935ff59-63e9-4da0-ad1a-51efe6a0ba58" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_193d1cb4-c383-4d2d-848c-aa6f5f8e571e" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_4678d5b9-7e14-4366-b225-39df6b826401" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_19d2f6b3-912a-43d4-8945-8624d6cfbc90" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_e1eade5b-b2f5-4987-990a-69d6f1225c42" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_9a78d50e-6283-411a-8905-54217fcb74c1" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_e3ab0679-b426-45bf-af4c-702a1910bb1c" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_90545d3d-1d7a-4c35-a48f-286ab4aa0752" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_9212dfc2-86ac-42b5-8ab7-e84d6a8ee98e" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_b6b9c15b-68f2-400b-b993-a8a3225c18a8" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_fb73c25f-6fcb-40fb-8f5d-097ecb251611" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_9d356167-ff6f-4787-8478-f6d879ae089b" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_b6dd4ccd-a092-4133-97ed-6692a0f994f0" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_cba4e187-97af-4e7a-a13f-d8164bd977bf" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_c0738d8c-ea33-47cb-91b6-29187c95b6d4" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_77a16feb-3b35-45fc-ab2f-aeb286606d87" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_43adf597-3f90-475c-9ea0-a01b671dd07e" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_da46313b-eef8-49a6-a868-43b6df107c32" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_35e22a68-fc8f-45f2-8157-3bf9cd118a0a" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_63089c3f-9741-41c2-b729-069116a35b22" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_8157276f-08a5-41bd-a5e9-31fb2f20cff6" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_bf42f320-6ba6-470f-bc7e-81f71cf3f7ef" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_9e3b04d7-fbe0-4605-ab9c-263dce772508" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_f9a11b2a-7929-4133-a31e-3544e34c1efb" BIGINT,
    ADD COLUMN IF NOT EXISTS "field_c00f53d1-8aa8-4242-b55f-0bf3fc8d3b9e" BIGINT, ....

with table have structs as belows

create table "custom_object_bc1d0996-7911-41c0-bfda-374680f6e614"
(
    id                bigserial
        primary key,
    user_managed_id   uuid         default gen_random_uuid(),
    name              varchar(255),
    owned_by          bigint
        constraint custom_object_bc1d0996_7911_41c0_bfda_374680f6e614_owned_by_for
            references users
            on delete cascade,
    layout_id         bigint
        constraint custom_object_bc1d0996_7911_41c0_bfda_374680f6e614_field_layout
            references custom_field_layouts
            on delete cascade,
    role_id           bigint
        constraint custom_object_bc1d0996_7911_41c0_bfda_374680f6e614_role_id_fore
            references roles
            on delete cascade,
    path_id           bigint
        constraint custom_object_bc1d0996_7911_41c0_bfda_374680f6e614_path_id_fore
            references paths
            on delete cascade,
    corporate_number  varchar(255),
    marksetil_label   jsonb,
    timset_label      jsonb,
    created_at        timestamp(0) default CURRENT_TIMESTAMP,
    created_by        bigint
        constraint custom_object_bc1d0996_7911_41c0_bfda_374680f6e614_created_by_f
            references users
            on delete cascade,
    updated_at        timestamp(0) default CURRENT_TIMESTAMP,
    updated_by        bigint
        constraint custom_object_bc1d0996_7911_41c0_bfda_374680f6e614_updated_by_f
            references users
            on delete cascade,
    deleted_at        timestamp(0),
    deleted_by        bigint
        constraint custom_object_bc1d0996_7911_41c0_bfda_374680f6e614_deleted_by_f
            references users
            on delete cascade,
    system_updated_at timestamp(0),
    settings          jsonb
);

PS2:
I tested it and it is correct according to this comment table can have at most 1600 columns in postgres openerp

Refresh marker Google maps on Apache server [closed]

I can’t refresh marker only, without refreshing whole Google map. Location is sent every 10 seconds from esp32 to Apache server. The only way to refresh marker position is to refresh whole map0 which is not my goal. I’d like to refresh only markers without reloading whole map or website.

<?php foreach($rows as $row){ ?>


    var location = new google.maps.LatLng(<?php echo $row['lat']; ?>, <?php echo $row['lng']; ?>);
    function refreshMarker(){

// if marker exists and has a .setMap method, hide it
  function SetMarker(location, map) {
    //Remove previous Marker.
    if (marker == null) {
        marker.setMap(null);
    }
}
    //marker.setMap(map);
    var marker = new google.maps.Marker({
        position: location,
        icon: betw,
        title:"<?php echo $row['lat']; ?>, <?php echo $row['lng']; ?> , <?php echo $row['time']; ?> , <?php echo $row['altitude']; ?> m, <?php echo $row['speed']; ?> km/h, <?php echo $row['temperature']; ?> °C",
        map: map
    });
    
 setTimeout(refreshMarker, 1000);}
 refreshMarker();

            
<?php } ?>  

Charaters not seeing each other on the same grid 5*5(25 tiles) [closed]

My characters cannot see each other or the npc’s when they are on the same city(city is a grid 5*5 with 25 tiles). i’m using the programs XAMPP, Visual Studio Code e phpMyAdmin para a base de dados SQL, atualluy this work a few days ago, but i add several mechanics to the game and it doesn’t happen anymore, i also have an issue with the XAMPP that re-start two days agora and didn’t start the SQL, i need to delete some data files and re-start the XAMPP so te SQL start working again and the Apache too.

Estou a alguns dias tentar corrigir sem sucesso, eu tenho um funtions.php e o ficheiro onde tenho a UI chamado game.ph.

Alguém me pode ajudar por favor!

I already check the SQL to see if the tables and colums are correct, they are, also if in the database if the two characters were really in the same city and planet, i check if the planet id and planeta map were the same, it is.

i try to debug to see if i could resolve it but went over my head, but after a few days everything seems to be ok with the code, without any erros i could see but still the same.

TYPO3 selectTree, choose everything not in relation as Startingpoint

Without any startingPoints the selectTree just renders this empty selectTree:

empty selectTree

But I want it to load every Item it has in its relationship
basicly setting the startingPoints dynamically to every item not sorted in
it should look like this:
wished image

My current TCA:


'config' => [
    'type' => 'select',
    'renderType' => 'selectTree',
    'multiple' => true,
    'MM_hasUidField' => true,
    'foreign_table' => 'tx_mysite_domain_model_item',
    'allowed' => 'tx_mysite_domain_model_item',
    'MM' => 'tx_mysite_domain_model_item_mm',
    'treeConfig' => [
        //'startingPoints' => '???'
        'childrenField' => 'children',
        'appearance' => [
            'expandAll' => true,
            'showHeader' => true,
        ],
    ],
]

How to remove hardcoded library version info from minified JS files in Django production?

‘m using Django to serve static files in production, and I’ve noticed that many of the third-party JS libraries (like jQuery, Bootstrap, JSZip, and Moment.js) include hardcoded version numbers inside the minified files.

For example:

/*! jQuery v3.3.1 */
“version”: “3.7.1”
[123222
These version details are accessible to anyone via the browser’s DevTools, and I’m concerned this could expose the application to targeted attacks if any of the libraries are outdated.

Questions:

What is the best way to strip or hide these version numbers from minified JS/CSS in a Django production environment?

Should I re-minify third-party libraries myself before using them in Django?

Are there best practices or tools recommended for this kind of hardening?

Thanks!

Hovertemplate in ShadowDOM not showing

I’m building a custom Sankey widget as a web component. I’m using plotly.js and the plot renders correctly, but hover tooltips don’t appear at all. Does plotly.js currently support hover tooltips for Sankey traces inside Shadow DOM?

I tried global CSS styling, but this did not solve the problem.