#dev-general

1 messages · Page 421 of 1

cinder flare
#

okay so actually can you help me understand this function and rewrite it because I am extremely confused on what it does

cinder flare
#
function getSchema(request) {
    let fields = cc.getFields();
    [
        'id', 'serverTime', 'hostname', 'online', 'productName', 'patchLevel', 'buildNumber', 'loggedOnUser',
        'timezone', 'lastCheckin', 'appVersion', 'cloudProvider', 'instanceID', 'containmentState', 'realTimeStatus',
        'intelVersion', 'intelTimestamp', 'ExdPluginStatus', 'exdContentVersion', 'exdEngineVersion', 'malwareGuard',
        'malwareGuardQuarantineStatus', 'malwareContentVersion', 'malwareMgContentUpdated', 'malwareMgEngineVersion',
        'malwareMgCoreEngineVersion', 'malwareProtectionStatus', 'malwareAVstatus', 'malwareAVQuarantineStatus',
        'malwareAvContentVersion', 'malwareAvContentUpdated', 'malwareAvEngineVersion', 'quarantineActions',
        'fips', 'proRemSvcStatus', 'kernelServicesStatus', 'machineName', 'uptime', 'regOrg', 'regOwner', 'platform',
        'vmGuest', 'virtualization', 'gmtoffset', 'domain', 'primaryIpv4Address', 'primaryIpAddress', 'mac',
        'totalphysical', 'availphysical', 'ExdPluginVersion', 'EndpointUIStatus', 'EndpointUIVersion', 'LogonTrackerStatus',
        'LogonTrackerVersion', 'ProcessTrackerStatus', 'ProcessTrackerVersion', 'UACProtectStatus', 'UACProtectVersion',
        'AmsiStatus', 'AmsiVersion', 'EventStreamerStatus', 'EventStreamerVersion', 'HostRemediationStatus', 'HostRemediationVersion'
    ].forEach(fieldId => {
        fields = _getField(fields, fieldId);
    });

    fields.setDefaultMetric('online');
    fields.setDefaultDimension('id');
    return {
        'schema': fields.build()
    };
}```
old wyvern
#

oh god

cinder flare
#

and that went into my first switch

#

I don't really understand what it's doing, or what fields.build does

old wyvern
#

You just seem to be setting fields to the last result of _getField(fields, fieldId) in the first few lines

#

Or wait no

#

I got it

#

That should be a fold ig

cinder flare
#

a what now

old wyvern
#

Whats cc? @cinder flare

cinder flare
#

that's the Google Apps Script like thing

old wyvern
#

Alright

cinder flare
#

const cc = DataStudioApp.createCommunityConnector();

#

it seems like its just concatenating the result of every single _getField and then returning it

jovial warren
#

is it just me or does that look like JS

cinder flare
#

typescript

jovial warren
#

ah, the language that fixes JS

cinder flare
#

it tries

#

can't do much when the API is in JS and doesn't give you any type info

jovial warren
#

from what I've heard, the typing is very very strict in TS

cinder flare
#

yes, but optional

#

I gave up trying to type this whole file because it's not worth manually setting types for like the 2 functions I have

#

i don't even know what they are lol

#

oh yeah Yugi it did

#

because that function took it, added the dimension, then returned it

old wyvern
#
function getSchema(request) {
  let fields = Object.values(configuration).map((value) => value.id).reduce((acc, id) => { acc = _getField(acc, id) }, cc.getFields())
  fields.setDefaultMetric('online');
  fields.setDefaultDimension('id');
  return {
        'schema': fields.build()
  };
}
#

That should be it

#

Also

#

Now that I think of it

#

why are you ignoring the parameter?

#

request

#

seems to not even be touched on in the function

cinder flare
#

it only tells you the locale in this function

#

the api is weird I agree

#

in getData, it tells you what fields it wants

old wyvern
#

ah

#

Anyway

#

Try the function I sent

#

Might also wanna format it

cinder flare
#

well I also need the actual fields attribute lol

cinder flare
#

it doesn't like it

old wyvern
#

hmm wait

#

oh right

#

one sec

#

annotate the types star

#

acc should be Field

cinder flare
#

id also Field?

old wyvern
#

no

#

string

#

oh also

#

remvoe the acc =

#

it should sut return the new acc value it seems

#

My bad

cinder flare
#

also _getField no longer exists

#

that's the switch statement method

old wyvern
#
function getSchema(request) {
  let fields = Object.values(configuration).map((value) => value.id).reduce((acc, id) => _getField(acc, id), cc.getFields())
  fields.setDefaultMetric('online');
  fields.setDefaultDimension('id');
  return {
        'schema': fields.build()
  };
}
cinder flare
#

that we deprecated in favor of the object

old wyvern
#

What did you change it to?

cinder flare
#

it doesn't exist anymore

#

it was replaced by the object

old wyvern
#

Can you send a paste of yoru current class?

#

?paste

compact perchBOT
#
FAQ Answer:

Paste Services
When asking for help with a config/menu/code issue please use one of these:
(However we do prefer if you used our paste :))
HelpChat Paste - Usage
Hastebin

cinder flare
#

Connector.ts

#

Definitions.ts

old wyvern
#

add in this @cinder flare

function getField(field: Field, id: string) {
  const section = definitions.dataDefinitions[id]
  return (
      section.dim(field)
            .setId(section.id)
            .setName(section.name)
            .setType(section.type)
  );
}
eternal compass
#

@jovial warren I'm on btw

cinder flare
#

kk

#

it's still mad at me

old wyvern
#

What does the error say?

jovial warren
#

oh wait what

cinder flare
eternal compass
#

I joined ._.
is that bad?

#

ahh ok

old wyvern
#

ah reduce requires both to be of the same type of ts

#

thats annoying

#

Lemme check for any alternative

#

one min

cinder flare
#

👍

jovial warren
#

I was curious as to how you joined, then realised how

cinder flare
old wyvern
#

try specifying the generic as Field star

#

Also in your original github code it seems to use different types for Field

#

original

import Fields = GoogleAppsScript.Data_Studio.Fields;

new

import Field = GoogleAppsScript.Data_Studio.Field;
cinder flare
#

sorry, the generic?

old wyvern
#

yes star

cinder flare
#

what would that be

eternal compass
#

@jovial warren

old wyvern
#
  let fields = Object.values(configuration).map((value) => value.id).reduce<Field>((acc, id) => getField(acc, id), cc.getFields())
  fields.setDefaultMetric('online');
  fields.setDefaultDimension('id');
  return {
        'schema': fields.build()
  };
}```
#

Also again

#

I think you may have an issue on the types you're actually using

#

Is it Fields

#

or Field

cinder flare
#

oh I didn't even know reduce had a generic

#

those are two different things

old wyvern
#

cc.getFields() returns Fields?

quiet depot
#

howdy

cinder flare
old wyvern
#

hi

quiet depot
#

what ya working on

cinder flare
#

look everything works except for acc

old wyvern
#

Does getField also return a Fields?

#

If so specify the type as Fields

#

the acc and initial value must be of same type

cinder flare
old wyvern
#

change getField's argument and name to specify as Fields

cinder flare
old wyvern
#

The field parameter as well

cinder flare
#

ohhhhh

#

you did it!

#

god I wish I understood typescript

old wyvern
#

lit

#

lol

#

tbh you might be able to use kotlin/js

cinder flare
#

okay I don't understand kotlin that well either

#

I'm a one-trick Java pony

old wyvern
#

Im not really sure what its supposed to do

old wyvern
cinder flare
#

okay so also typescript let fields = cc.getFields(); const fieldIds = request.fields.map(field => field.name); fieldIds.forEach(fieldId => { fields = _getField(fields, fieldId); });

#

how fix that

old wyvern
#

tell me what the error is first

#

xD

quiet depot
#

is this for your mongo/docker adventure

cinder flare
#

well its that _getField doesn't exist

old wyvern
#

change it to getField

cinder flare
#

oh wait can I just copy paste the other code

old wyvern
#

wait

cinder flare
#

oh i see

old wyvern
#

Why do you have the weird forEach thing

cinder flare
#

oh it worked

#

dude Yugi

old wyvern
#

wher eis this from?

cinder flare
#

I just copy pasted from some medium article

#

this is in getData

old wyvern
#

This is what reduce was supposed to fix

#

xD

#

What you're doing with that snippet is a weird version of reduce

cinder flare
old wyvern
#

a horrible mutable one

quiet depot
#

o

cinder flare
#

okay so should I copy paste the code from the other method into here

old wyvern
#

Yes

cinder flare
#

okay sick

old wyvern
#

oh alos

#

I just realized

#

change the let for a const

cinder flare
#

for fields?

old wyvern
#

no in that function

#

keep it as a const if it doesnt require to be changed

cinder flare
#

what

old wyvern
#

pretty much the same reason as we use final in java

cinder flare
#

change let fields = to const fields = ?

old wyvern
#

yes

cinder flare
#

okay you said no

#

so I was scared

old wyvern
#

oh I thought you meant fields of some object

#

xD

cinder flare
#

oh uh

#
    const rows = data['data'].map(dataPoint => {
        return {
            values: fieldIds.map(fieldId => _getDataField(dataPoint, fieldId))
        };
    });```
#

in getData

old wyvern
#

wha

cinder flare
old wyvern
#

What was fieldIds initially?

cinder flare
#

so this is the other switch statement

#

that was the thicc array of fieldIds I think

old wyvern
#

name of function?

cinder flare
#

oh no it was const fieldIds = request.fields.map(field => field.name);

#

that's in getData

old wyvern
#

alrighty

hot hull
#

Can someone explain to me how you draw pixels using opengl lol

cinder flare
#

please use SFML

#

if you wanted to die doing perlin noise, you will literally exist'nt trying to use raw opengl

hot hull
#

link

cinder flare
#

oh wait is this in C

#

or Jav

old wyvern
#

Why not just raylib frost?

#

It can handles meshes as well

hot hull
#

Because it's doodoo

cinder flare
#

oop

old wyvern
#

It works fine

hot hull
#

It doesn't tho

old wyvern
#

wdym?

#

What issue are you getting?

#

its already an abstraction over opengl

#

You'll once need more work to directly use opengl

hot hull
#

Check any of my screenshot and you'll see the issue

old wyvern
#

What should I look for in them?

#

The fps?

hot hull
#

Yes lol

old wyvern
#

Thats becaus eyou're rendering a lot of cubes

#

Which is why I asked you to use meshes

hot hull
#

Does it have any documentation at all

old wyvern
#

You'll have the same issue with using just opengl

cinder flare
#

I said meshes too!!!!

#

yay i was right :)

old wyvern
hot hull
#

Will do

old wyvern
#

Most of the bindings are the same with just the jaylib imports

#

The bindings do miss some stuff tho I think

cinder flare
#

dude Yugi you are literally the best man

#

we're so close, one last function and it's over and like, an actually good codebase lol

old wyvern
#

xD

#

Oh also

#

I forgot

#

I was right earlier

#

lambdas dont create a scope

#

Altho I think in this case that might be in your favour

cinder flare
#

oh good!?

#

yay?

#

lmao

old wyvern
#

Possibly xD

#

I mean if typescript doesnt give any errors i assume its right?

half harness
cinder flare
#

yeah!

half harness
#

bm for staff

cinder flare
#

I think he already applied lol

half harness
#

oh

#

if i applied i'd get denied 100%

#

lol

prisma wave
prisma wave
cinder flare
#

very nice!

prisma wave
#

you have to actually write why you'd be good

#

which is boring

cinder flare
#

oh man

half harness
#

lol

cinder flare
#

they should just know

prisma wave
#

i should get accepted by name alone

cinder flare
#

you should have enough clout that they know you're good

half harness
#

frosty is talking

cinder flare
#

oh dang wait, I think you're the last helpful

half harness
#

what is he going to say :p

hot hull
#

nothing

cinder flare
#

if you become Support, it'll eradicate the species!

prisma wave
#

ironic is helpful

#

😟

cinder flare
#

who

half harness
#

how do i make this on the bottom

#

im not used to it being on the side

dawn hinge
#

You don't

prisma wave
cinder flare
# half harness um

new material update, go to your material settings and turn off the new stripe thing

pale shell
prisma wave
#

i dont think he's very active

quiet depot
#

wadu hek

cinder flare
#

I've literally never heard of him

prisma wave
#

there's 1 other i think maybe

pale shell
steel heart
#

Isn’t like andre also helpful

quiet depot
#

does andre have it?

half harness
cinder flare
#

no

quiet depot
#

hm

steel heart
#

Mb sxt was

quiet depot
#

don't think sx had it

old wyvern
#

no sx didnt

cinder flare
old wyvern
#

yea

prisma wave
half harness
#

🥲

steel heart
#

Lol

dawn hinge
#

I have it!

pale shell
#

Satisfactory, good game

half harness
old wyvern
#

Wait

half harness
#

actually i gtg for 15 minutes

dawn hinge
#

After a few hours dkim

quiet depot
half harness
#

but when 1v1

old wyvern
#

The bot was supposed to give agoogle form link?

half harness
#

oh

pale shell
#

I haven't even got my dev role yet, I applied ages ago no response

half harness
#

ok

quiet depot
#

yes yugi

prisma wave
#

oh yeah tanguy

old wyvern
#

I didnt get one

#

xD

#

welp

dawn hinge
#

@half harness ok

cinder flare
#

the only person I know in that list is my boi girl bridget

quiet depot
#

@pallid gale something might have gone wrong there

old wyvern
#

rip

pale shell
#

Piggy, when do the role apps for like dev get checked

half harness
#

ive never seen the wolfe guy talk

prisma wave
#

why cant i ping them

#

oh nvm

#

discord bad

cinder flare
quiet depot
#

i've been going through the list untouched

#

soon

half harness
#

what

cinder flare
#

wait piggy if you get to mine, don't

prisma wave
#

yeah wolfe doesn't seem to be very active

cinder flare
#

just ignore it

steel heart
#

The helpful role is like the most og role of this discord, give me

pale shell
half harness
quiet depot
#

wolfe seems to mainly give support in #guilds

#

glare probably game him the role

old wyvern
#

oh it fixed it

hot hull
#

We were stripped of this role due to this dictatorship led discord

prisma wave
#

probably yeah

#

wait does support remove helpful

cinder flare
#

for a second there I was like "woah Frosty, don't wanna ruin your chances"

prisma wave
#

😟

cinder flare
#

then I realized you already were Support lol

pale shell
#

Bm for helpful

old wyvern
#

💀

pale shell
#

He's barley even active tho

quiet depot
prisma wave
pallid gale
pale shell
#

Wtf bm

half harness
prisma wave
pale shell
#

You got it

prisma wave
#

ive had it for like a year lmao

cinder flare
#

i presumed #dev-general was where the kinda smart people talked

#

not necessarily about dev stuff all the time lol

pallid gale
#

pretty much more off topic than development

cinder flare
#

yeah!

half harness
#

#spam

quiet depot
#

smh cube

prisma wave
#

boris johnson 🥲

pale shell
#

Funny, if I ping a stuff in my app does it get denied?

quiet depot
#

yes

#

wait what

pale shell
#

Bm test it pls

quiet depot
#

I read that wrong

cinder flare
#

in your app?

prisma wave
#

no

dawn hinge
#

Do it odin

pale shell
#

Pls

quiet depot
#

cube people were talking about dev stuff before

steel heart
#

Can we bring back food channel

quiet depot
#

star and yugi were talking about javascript for a while

prisma wave
#

get banned again odin

steel heart
#

Please

prisma wave
#

it will be funny

pale shell
#

:(

#

No, I wanna help some more people before I go.

cinder flare
steel heart
#

Someone anonymously instantiated super intelligence in Yugis brain I swear star

cinder flare
#

dude they really did

#

this man is a beast at TypeScript shit

#

I was so confused

steel heart
#

Lol

cinder flare
#

he singlehandedly refactored this entire project essentially

old wyvern
#

what final solution star?

cinder flare
#

the last bit of getData?

old wyvern
#

Ah one sec

#

xD

cinder flare
#

haha

prisma wave
#

final solution? 🤨

cinder flare
#

he was thinking so hard he forgot what he was thinking about!

cinder flare
old wyvern
#

😳

old wyvern
#

Lemme find the message

cinder flare
#

well yeah it was an old thing

#

that is now gone

old wyvern
#

Ah

#

You still have requests tho?

#

as the argument

cinder flare
#

yes

old wyvern
#

So it should still be valid

cinder flare
#

well neither fieldIds nor _getDataField exist anymore

#

both were deleted because of the new object system

#

so I think we need another map and reduce thingy

old wyvern
#

Is fields Ids just the ids from the config?

cinder flare
#

const fieldIds = request.fields.map(field => field.name);

#

that's what it was

old wyvern
#

Lemme check you field construction snippet one sec

#

Its the section name instead of the id I think

#

so go with this

const fieldNames = Object.values(definitions.dataDefinitions).map((value) => value.name)
#

actually rename that to fieldNames too

#

There we go

cinder flare
#

also do I rename something in that rows thing

old wyvern
#

weird, I assume its just an issue with ts not getting the type due to the Object.values

#

try using access operator

#

like value['name']

cinder flare
#

yeah that worked

#

so what do I change in the rows declaration

old wyvern
#

Might also want to specify the type as string

cinder flare
#

uh fieldNames is an array

old wyvern
old wyvern
#

declare it as an array of strings

cinder flare
#

String[]?

#

ah

old wyvern
#

string[]

cinder flare
#

what's the differnce

old wyvern
cinder flare
#

yeah im lookin

#

const data: Object = JSON.parse(httpResponse.getContentText())

lunar cypress
#

@prisma wave now beginning to work on the 8values fork for programming concepts. need help

old wyvern
cinder flare
#

neither of those functions exist, still lol

old wyvern
#

Which one?

#

_getDataField?

cinder flare
#

fieldnames instead of fieldids, I presume?

#

and yeah that doesn't exist

old wyvern
#

o hyea

cinder flare
#

is it getField instead of _getDataField

old wyvern
#

Lemme check your old code

cinder flare
#

I put it in and it's not complainign

old wyvern
#

I dont think so

#

data fields return the result of the data function in your definitions

cinder flare
#

is that not what we're looking for?

old wyvern
#

Nope

#

also in that case

#

I think there was a mistake in your old source possibly

#

seems you actually do need the Id

#

and not the name

cinder flare
#

okay well the old one worked

#

so I dunno

old wyvern
#

Maybe you missed some part

cinder flare
#

no I definitely copied word for word from the medium article lol

old wyvern
#

lol

#

Check your old getDataField function tho

#

Its checking through the Ids

#

Im mostly sure you do actually need the Ids instead of the name here

cinder flare
#

ah yes I do

old wyvern
#

So ig switch the fieldNames back to fieldIds and in the map function get the id instead of the name

cinder flare
#

okay sick

#

and then leave getField in place of _getDataFields?

old wyvern
#

No

#

use the data function from your config

#
definitions.dataDefinitions[name](dataPoint)
#

so

data['data'].map((dataPoint) => ({ 
      values: fieldNames.map(name => definitions.dataDefinitions[name](dataPoint)) 
}));```
cinder flare
#

do you mean dataDefinitions['id']

#

cause it ain't names

old wyvern
#

yes

#

wait

cinder flare
old wyvern
#
const fieldNames = Object.values(definitions.dataDefinitions).map((value) => value['id'])
#

this

#

not dataDefinitions['id']

#

That refers to something different

old wyvern
cinder flare
#

you literally told me to do that

old wyvern
#

ther

cinder flare
#

oh

old wyvern
cinder flare
#

look good?

old wyvern
#

Seems like it

cinder flare
#

okay phew

#

please god let this work

old wyvern
#

xD

cinder flare
#

okay so uh

hot hull
#

fps go brrrr, in the minus probably

cinder flare
#

the linking ain't doing great

static zealot
cinder flare
#

yeah man Frosty has been putting in the work!

old wyvern
cinder flare
#
ReferenceError: definitions is not defined
    at getField(Connector:31:19)
    at [unknown function](Connector:40:45)
    at getSchema(Connector:40:10)```
#

var section = definitions.dataDefinitions[id];

#

the line in question

hot hull
old wyvern
#

Oh try removing the call to definitions

#

use dataDefinitions directly

cinder flare
#

oh wtf I can do that

old wyvern
#

Probably

cinder flare
#

okay hang on

old wyvern
#

depends on what that google compiler thing does

cinder flare
#
TypeError: Cannot read property 'newDimension' of undefined
    at buildDimension(Definitions:4:56)
    at getField(Connector:32:21)
    at [unknown function](Connector:46:45)
    at getSchema(Connector:46:10)```
#

ugh

#

it doesn't like your method thingy I don't think

#
var buildDimension = function (fields) { return fields.newDimension(); };```
#

this is what it turned your thing into

old wyvern
#

That should work

#

Gimme a min

#

Can you send your current source?

cinder flare
#

Connector.ts

#

Definitions.ts

old wyvern
#

oh star

#

You need to pass the field

#

in getField

#
function getField(field: Fields, id: string): Fields {
    const section = dataDefinitions[id]
    return (
        section.build(field)
            .setId(section.id)
            .setName(section.name)
            .setType(section.type)
    )
}```
#

my bad

#

@cinder flare

cinder flare
#

yugi don't apologize you're my hero okay

old wyvern
#

😅

cinder flare
#
TypeError: fields.newDimension is not a function
    at buildDimension(Definitions:4:56)
    at getField(Connector:32:21)
    at [unknown function](Connector:40:45)
    at getSchema(Connector:40:10)```
old wyvern
#

Thats weird

#

it worked before right?

cinder flare
#

yes the github version worked

old wyvern
#

hmm

cinder flare
#
var buildMetric = function (fields) { return fields.newMetric(); };
var buildDimension = function (fields) { return fields.newDimension(); };```
#

that's what it did to your bois

#

if that means anything

old wyvern
#

No thats fine

cinder flare
#

I mean, I can just go back and put those functions there manually if I have to

old wyvern
#

Maybe you need the fields import in that other file as well

cinder flare
#

no it specifically got mad at me for trying

#

it was like "already defined"

old wyvern
#

What did it say?

#

ah

#

hmm

#

Is there any output window where you can print to debug?

cinder flare
#

uh I don't think so?

#

possiblyt

hot hull
#

How do I create an image from my height map

cinder flare
#

maybe in the error message?

#

that's what it says about Feilds

prisma wave
#

import A = B?

cinder flare
#

import B = M?

old wyvern
#

😮

prisma wave
#

😮

cinder flare
#

okay yes I can do logs

#

what would you like me to log

old wyvern
#

The argument received in the build functions

#

i.e, the fields variable

cinder flare
#

okay

#

is it fields.tostring?

#

is that a thing in javascript

old wyvern
#

ussually the functions convert the object to string themselves

#

Are you using console.log?

cinder flare
#

yes

old wyvern
#

Just pass the object

hot hull
#

Good answer, thanks

old wyvern
old wyvern
cinder flare
#

so uh

#

nothing

#

are you sure it's not section.build(id)?

#

yes it is not

old wyvern
#

Try printing the section in getField

cinder flare
old wyvern
#

Now try printing the field from it instead

cinder flare
old wyvern
#

ok so now, in getSchema, try printing out the result of ``cc.getFields()`

cinder flare
old wyvern
#

Very weird

#

star

#

try changing the getField function to this

function getField(field: Fields, id: string): Fields {
    const section = dataDefinitions[id]
    section.build(field)
            .setId(section.id)
            .setName(section.name)
            .setType(section.type)
    return field
}

@cinder flare

#

Cant seem to find much of any other difference that may cause this

forest pecan
#

what

#

how are people in invite only

cinder flare
#

that fixed it!

old wyvern
#

Go to any channel and ask cube to move you in pulse

old wyvern
forest pecan
#

@hot hull ban!

#

ban this man!

cinder flare
#
    TypeError: dataDefinitions[fieldId] is not a function
    at [unknown function](Connector:91:82)
    at [unknown function](Connector:91:26)
    at getData(Connector:90:29)```
old wyvern
#

oh yea

#

it should be```dataDefinitions[fieldId].data(dataPoint)

cinder flare
#

which part

#

the first of getfield?

old wyvern
#

in getData

#

the part with rows

cinder flare
#
    const rows = data['data'].map((dataPoint) => ({
        values: fieldIds.map(fieldId => dataDefinitions[fieldId](dataPoint))
    }))```
#

this part?

old wyvern
#

Yes

#

it should be

    const rows = data['data'].map((dataPoint) => ({
        values: fieldIds.map(fieldId => dataDefinitions[fieldId].data(dataPoint))
    }))
steel heart
#

Map this dude loves public fields

#

Not me

cinder flare
#
TypeError: Cannot read property 'charAt' of undefined
    at data(Definitions:43:33)
    at [unknown function](Connector:91:83)
    at [unknown function](Connector:91:26)
    at getData(Connector:90:29)```
#
        'data': function (entity) {
            var onlineStatus = entity[_this.id];
            return onlineStatus.charAt(0).toUpperCase() + onlineStatus.slice(1);
        }```
#

the function in question

#

oh probably just add a null check or something?

old wyvern
#

Does JS have safe call operator now?

cinder flare
#

uh

#

oh it does

old wyvern
#

Awesome

#

Use that ig

cinder flare
#

okay I am really impressed typescript has the null safety operator

old wyvern
#

Even js does I think

#

bm mentioned it once

cinder flare
#

whattt

old wyvern
cinder flare
#

hey wait does the ?. operator check for undefined too

old wyvern
#

yes

cinder flare
#

is there an elvis operator

old wyvern
#

Yes

#

??

cinder flare
#

ooooooooooohh

old wyvern
cinder flare
#
            if (date !== undefined) {
                return date.substring(0, 15)
            }
            return date```
#

okay how can I condense that

prisma wave
#

date?.substring(0, 15)

old wyvern
#

^

cinder flare
#

okay just checking im kinda dumb

forest pecan
#

lmao staff requests

#

i would die

onyx loom
#

nullish coalescing operator

#

nulish

forest pecan
#

@steel heart

#

should i do a staff request

#

lmfao

static zealot
#

he did

#

so you should as well

forest pecan
#

ok lol

static zealot
#

bcz its nice getting rejected

forest pecan
#

"Rate our plugins below based on how well you know them."

old wyvern
#

🥲

forest pecan
#

🥲

#

"Is there anything else we should know when considering your application?"

i get paid to make configuration files for other people

#

imagine if someone said that

#

lol

steel heart
forest pecan
#

lmfao

#

@serene cave

steel heart
#

Also I haven’t applied yet

forest pecan
#

me neither

#

i have like no experience for the plugins at all

#

🥲

steel heart
#

I have lol

static zealot
steel heart
#

Yeah

static zealot
#

ah Ic

#

I was confused for a sec then I remembered that having a channel doesn't mean you have applied xD

steel heart
#

I was about to do it but then I got decision anxiety

static zealot
#

huh

#

I did it

steel heart
#

Again?

static zealot
#

they'll probably accept me

steel heart
#

Lol

static zealot
#

bcz I told them I have 30 instagram followers

steel heart
#

Idk r u trolling or what lol

static zealot
#

and they'll get a lot of users from that

#

I actually did apply saying that

#

also where they asked what I'd do when there's a situation going on I said "I'd tell them to KINDLY FUCK OFF"

#

I didn't lie tho

#

xD

steel heart
#

Lmao

#

Well Idk if I’m suited tbf

static zealot
#

they'll tell you if you are nor not

steel heart
#

I’d rather figure that part out before applying

static zealot
#

I mean do you even want to be a staff member?

steel heart
#

Hmm originally yeah but now when I think of it I don’t know, like both yeah and no

static zealot
#

oh man 417. this is a new record 😢

#

I guess its time to play some more cs:go

static zealot
#

I mean if its just to brag about it idk if its worth it

quiet depot
#

whats your guys' opinion on mutable static fields?

#

access level is irrelevant

cinder flare
#

did you mean: global state

prisma wave
#

bad

cinder flare
#

are we not sending only the requested columns

static zealot
quiet depot
#

serious opinion pls

#

this is for a role request

static zealot
#

ah ok. I don't use static and also I'm not allowed to have an opinion

quiet depot
#

lol

#

I agree with bm personally

static zealot
#

ok time to delete every java project before applying fingerguns /s

quiet depot
#

is there any legitimate reasons you guys can think of for there to be a mutable static field in a codebase?

prisma wave
#

i think most people would agree it's bad

#

hmm

old wyvern
#

You did need the values from the request

hot hull
#

¸no Piggy

cinder flare
#

god damnit

prisma wave
#

i mean, doing it might be useful but you should be encapsulating it a lot ofc

old wyvern
#

@cinder flare Change it back to this const fieldIds = request.fields.map(field => field.name);

quiet depot
prisma wave
#

hmm

steel heart
prisma wave
#

possibly okay then

steel heart
#

Like the lazy static singleton design

prisma wave
#

there's probably a better way of doing it

old wyvern
prisma wave
#

yeah

old wyvern
#

And I mean only in the case of private

quiet depot
#

okie

old wyvern
#

What does it say?

cinder flare
#

same

old wyvern
#

Send current source

#

Or actually maybe just update it on a separate branch on git

cinder flare
#

Connector.ts

#

Definitions.ts

old wyvern
#

Try printing out rows

cinder flare
#
    [ { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] },
  { values: [ undefined ] } ]```
old wyvern
#

try printing out fieldIds

cinder flare
surreal prawn
#

Oh wait

#

LMAo

#

wrong channel

#

sorry

ocean quartz
cinder flare
#

@old wyvern 😬

old wyvern
#

Might be the issue with the captured this I assume

cinder flare
#

fuuuck

#

so how do I resolve that lol

old wyvern
#

I guess just replace the this.id calls with the actual id of that section

#

dealing with js closures can be mind numbing

cinder flare
#

that is so weird

old wyvern
#

Dont forget to change the other one's that use this too

cinder flare
#

fuuuuu

old wyvern
#

lol

cinder flare
#

okay so progress

#

but it still no worky

old wyvern
#

Whats wrong now?

cinder flare
#

samet hing

old wyvern
#

Send ss

cinder flare
#

different amount of rows

#

Definition.ts

#

Connector.ts

quiet depot
#

star

#

got any good projects I can review

cinder flare
#

no

quiet depot
#

ur gh is kinda empty

old wyvern
#

oh wait

cinder flare
#

i said skip my request

old wyvern
#

star

cinder flare
#

im a fool

quiet depot
#

lol

old wyvern
#

I got the issue I think

#

xD

cinder flare
#

I mean I guess the one I'm working on rn

quiet depot
#

js one?

cinder flare
#

yea

old wyvern
#

or wait no

#

nvm

quiet depot
#

lemmo does the js ones

cinder flare
#

oh no

#

okay

#

skip mine

#

i regret asking

old wyvern
#

You could*send piggy any of your projects from your main account in private

quiet depot
#

lots of people do that ^

cinder flare
#

well I merged my accounts

#

so that's like all of them besides one

#

but it's not active

#

you see I talk in here a lot more than I code as of right now

old wyvern
#

ah

cinder flare
#

also im a shitty dev anyways lmao

old wyvern
#

star

#

is it fine* if I help you resolve this later?

#

I have to finish a few chapters

prisma wave
#

@static zealot SHUT UP

static zealot
prisma wave
#

YES

cinder flare
old wyvern
#

Alrighty

cinder flare
#

you're carrying this project on your shoulders lol

old wyvern
#

lol

forest pecan
#

starr who the hell is ethan delany

#

lmao

#

oh wait

#

nvm lmao ik

#

i saw one of your github repos and it had the name

cinder flare
#

👀

#

don't dox me like that

#

@staff send help

half harness
#

ur name is ethan delany?

forest pecan
#

lmfao i wont send the pfp in here i promise

#

nah

half harness
#

🤨

#

time to stalk star

forest pecan
#

lmao

forest pecan
half harness
#

oh

forest pecan
#

epic face

half harness
#

it is ethan

cinder flare
#

thanks

half harness
#

he put it to the public

#

lol

cinder flare
#

that's an old pic

prisma wave
#

poor conclure

forest pecan
#

lol

quiet depot
#

@steel heart soz conclure

#

frankly I don't think you're too far off

forest pecan
#

wait what

quiet depot
#

I accidentally accepted him

forest pecan
#

for staff?

#

lol

quiet depot
#

well I purposely accepted him

old wyvern
prisma wave
#

he saw the gates of heaven and got pulled back to hell

quiet depot
#

then he proceeded to show me everything I missed that was wrong with his code

half harness
#

🥲 🥲

quiet depot
#

so I had to remove the role

half harness
#

ooooof

old wyvern
#

sadge

half harness
#

thats cruel

forest pecan
#

good thing i didnt show you my bad code

#

(:

cinder flare
#

see this is why I just retract my application before I get embarrassed

forest pecan
#

guys

#

look at this

#

this was from years ago

#

lol

oak raft
#

Clean ass GitHub 😫

steel heart
half harness
#

conclure trying to defend his dev role

quiet depot
#

I'll take a look tomorrow

steel heart
#

👍

quiet depot
#

I said in dev chat I should probably give this a break

forest pecan
steel heart
#

Yeah

quiet depot
#

12 am code reviewing is apparently not a good idea

steel heart
#

Lol evidently

cinder flare
#

nah that's the best time

oak raft
#

“Lgtm”

forest pecan
#

12 am is the best time to get into discord vc and talk with friends

#

i swear i become 10x higher at 12 am lmao

ocean quartz
forest pecan
#

lol nice

cinder flare
lavish notch
quiet depot
#

lol

old wyvern
forest pecan
#

honestly its better than like 80% of the plugins out there

cinder flare
#

idk >>>>>>

quiet depot
#

even back then I followed naming conventions 😉

forest pecan
#

always following naming conventions

#

since you were in the womb

half harness
forest pecan
#

lol

half harness
#

why does it have a fork

#

who forked it

forest pecan
#

bardy

#

lol

half harness
#

oh

forest pecan
#

i think its cause u made it private

#

lol

#

and he wanted to get a copy

#

before

half harness
#

ohh

forest pecan
#

then you set it to public

ocean quartz
quiet depot
ocean quartz
quiet depot
old wyvern
#

This is the oldest I can find

cinder flare
#

Adventure? never heard of it

half harness
#

why

old wyvern
#

Idek what it does anymore

quiet depot
#

yugi when is that from?

old wyvern
#

tf are alt keys

#

idk

quiet depot
#

mine are from april 2015

half harness
#

back when i used github desktop and eclipse

ocean quartz
old wyvern
#

4-6 years ago probably

forest pecan
#

"onEnable has been enabled"
😂

half harness
#

wat

half harness
forest pecan
#

piggy's screenshot

half harness
#

lol

jovial warren
steel heart
#

Lol

hot hull
#

Conclure..

steel heart
#

Yeah

forest pecan
hot hull
#

just saw dev chat

steel heart
#

Hahah lol yeah

forest pecan
#

conclure if u didnt remind him

#

of your bad code

#

you would've been good

#

lol

steel heart
#

I mean I can really just blame forge and fabric

forest pecan
#

conlure dead dog

quiet depot
#

i do feel pretty bad tho

#

=xpedit add @quiet depot -20000

compact perchBOT
#

@quiet depot, Done.

steel heart
#

Yeah and to be totally transparent it would be nicer to get the role legit

quiet depot
#

=xpedit add @steel heart 20000

compact perchBOT
#

@quiet depot, Done.

steel heart
#

Lol why

forest pecan
#

LMFAO

steel heart
#

I mean thanks a lot piggy

hot hull
#

Where's my XP for the abuse I suffered earlier

forest pecan
#

no

#

you dont get xp

quiet depot
#

lol

forest pecan
#

you get ban

cinder flare
#

a pension for your family after your untimely demise

hot hull
#

Still no clue how to make my terrain mapping an image so I can convert it into a mesh

cinder flare
#

do you have a data structure that stores all the individual blocks?

hot hull
#

no, but I can make it

cinder flare
#

okay make that

#

then use that to check if the face has no block next to it

steel heart
#

Pog

cinder flare
#

then add that to the mesh

hot hull
#

k, gimme a bit

old wyvern
#

What even is this

#

What are they trying to say?

distant sun
#

Fans as superheroes?

hot hull
#

Someone please nuke this world already

forest pecan
hot hull
#

Slovenia

dawn hinge
#

No wait

dawn hinge
#

Wait a few years

hot hull
#

Since Stan died marvel has gone to shit

distant sun
#

No lol

hot hull
#

yes

forest pecan
#

didnt they use a hologram or smthing

#

in the next movies

#

for subsitute

ocean quartz
hot hull
#

Amazing

hot hull
old wyvern
hot hull
#

cube marches? Interesting

old wyvern
hot hull
#

That's cool

#

I am a fucking genious tho

#

Worked first fucking try

#

(Ignore the white spots, not accounting for double height difference yet)

old wyvern
#

lol

hot hull
#

gonna offset the generation tho so you can even see it properly

old wyvern
#

whats the fps now?

prisma wave
#

Rust = triple the fps instantly

old wyvern
#

With* that mesh you should be able to use much higher render distance btw

old wyvern
hot hull
#

oo there's another i gotta try later

#

That'll be used for non blocky visualisation tho

prisma wave
#

maybe if they rewrote GHC in Rust it would be not so SLOW

static zealot
#

is Haskell dead now?

#

Rust is the new black?

prisma wave
#

Haskell and Rust are equal

half harness
#

rust 🤢

prisma wave
#

excuse me

hot hull
#

Did you just ew rust

prisma wave
#

rust and go are the Only good imperative languages

ocean quartz
#

Sir, we only trully ew JavaScript and PHP

oblique heath
#

what about c#

onyx loom
#

🥲

prisma wave
#

C# is fine apart from the conventions

ocean quartz
#

Yeah C# is fine

onyx loom
prisma wave
#

that's the only good convention

#

The rest suck 😌

half harness
#

allman 🤢

cinder flare
#

yikes how can such a genius have such an incorrect opinion on braces

prisma wave
#

🙄

hot hull
#

I mean BM is right, and y'all are idiots

prisma wave
#

Thank you

#

me frosty and kali are the smartest people here

#

the rest of you are stupid

cinder flare
#

😆

hot hull
#

I think I'm losing my dev role if I show this code :kek:

ocean quartz
#

Haskell indentation is the best one

cinder flare
#

yeah if you use allman your dev role is gone

#

reduced to atoms

prisma wave
cinder flare
#

is it bad that indentation style could literally make me cry before I click Code -> Reformat Code in IntelliJ?

jovial warren
#

wanna see something really strange?

#

you see this right?

onyx loom
hot hull
#

Looks aight