FCM.presentLocalNotification not working on iOS

rn 39.2
rn-fcm: 2.5.2
iOS 10.1
The below method is not working on iOS 10.1, it does not show a local notification when the app is in foreground:
RCT_EXPORT_METHOD(presentLocalNotification:(id)data resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
{
  if([UNUserNotificationCenter currentNotificationCenter] != nil){
    UNNotificationRequest* request = [RCTConvert UNNotificationRequest:data];
    [[UNUserNotificationCenter currentNotificationCenter] addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
      if (!error) {
        resolve(nil);
      }else{
        reject(@"notification_error", @"Failed to present local notificaton", error);
      }
    }];
  }else{
    UILocalNotification* notif = [RCTConvert UILocalNotification:data];
    [RCTSharedApplication() presentLocalNotificationNow:notif];
    resolve(nil);
  }
}

However if I go back to the older code that it is only:
    UILocalNotification* notif = [RCTConvert UILocalNotification:data];
    [RCTSharedApplication() presentLocalNotificationNow:notif];
    resolve(nil);

it works fine
how can I add logs on native code to debug properly this? or add a breaking point?
cc @MechanicKim had the same issue

I've added some logs on the code
RCTLogWarn(@"PPP %@", [UNUserNotificationCenter currentNotificationCenter]);
RCTLogWarn(@"PPP1: %@", data);
RCTLogWarn(@"PPP2: %@", request);
I've noticed that request has the following format:
YellowBox.js:69 PPP2: <UNNotificationRequest: 0x17422aea0; identifier:<PHONE_NUMBER>360, content: <UNNotificationContent: 0x1742e3d00; title: (null), subtitle: (null), body: Blue comentou no seu post: "Lucas ", categoryIdentifier: brandlovers.LIKE, launchImageName: , peopleIdentifiers: (
), threadIdentifier: , attachments: (
), badge: (null), sound: <UNNotificationSound: 0x1700ab6a0>, hasDefaultAction: YES, shouldAddToNotificationsList: YES, shouldAlwaysAlertWhileAppIsForeground: NO, shouldLockDevice: NO, shouldPauseMedia: NO, isSnoozeable: NO, fromSnooze: NO, darwinNotificationName: (null), darwinSnoozedNotificationName: (null), trigger: <UNCalendarNotificationTrigger: 0x17403d8c0; dateComponents: <NSDateComponents: 0x174151930>
    Calendar Year: 2016
    Month: 12
    Leap month: no
    Day: 13
    Hour: 18
    Minute: 9
    Second: 12, repeats: NO>>

I guess that shouldAlwaysAlertWhileAppIsForeground: NO should be true to be able to show the notification while the app is in foreground

@sibelius it is fixed in 2.5.2 please verify
where is shouldAlwaysAlertWhileAppIsForeground?

shouldAlwaysAlertWhileAppIsForeground is this variable: UNNotificationRequest* request
result of UNNotificationRequest* request = [RCTConvert UNNotificationRequest:data];

interesting. I don't see it in my xcode intellisense. Are you sure it is an exposed property?

I'm not sure
I just add a RCTLogWarn(@"PPP2: %@", request); to print it on chrome debug
idk if this helps

it could be a private property

I got the same problem and tried to go back to older code.
FCM.presentLocalNotification isn't still working on iOS

I can confirm this :(

@VinZenTz1989 @yannickoo are you using the latest version?

@evollu yes I'm using 2.5.2

what is the error message? Can you try adding id: 'some id' into payload?

I also tried it with id property but IIRC you added that in fb9a3bf3d9023a6b81d2e659b41026df356ad260 😕
One question I always had: Where could I find a correct implementation in AppDelegate.m because I saw different implementations and the code from the README.md seems to be incomplete because things like settings the APNS token or telling Firebase that user opened notification is missing.
Is there chance that local notifications could not work because there is some code missing in AppDelegate.m?

read me is correct. Setting APNS token is done by FCM SDK automatically.
Are you seeing local notification not showing up or red screen?

No red screen there is just no change in the UI.

fixed in 2.5.3

@evollu I guess this should be enough right? Still not seeing local notifications in foreground :(
FCM.presentLocalNotification({
  body: 'body',
  show_in_foreground: true
})

have you rebuilt ios?

Wow nice I could get a local notification! Unfortunately it's not showing up when adding sound property.

what sound value are you passing

I tried notification and notification.wav (one of them worked in the past) and the audio file is properly referenced in Ressources.

is there any error in xcode log?

There is only <FIRInstanceID/WARNING> Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)" but this shouldn't be relevant for this issue.

does it work if you comment out line 250-259

Magic :dizzy: I can hear the custom notification sound again :)

ok so it works for old API but not new one?

Exactly. I'm using iOS 10.2 btw

there must be a way, let me check

can you replace line 48 with
NSString* sound = [RCTConvert NSString:details[@"sound"]];
  if(sound != nil){
    content.sound = [UNNotificationSound soundNamed:sound];
  }

Does not work when using the current implementation at line ~250. I guess I need to switch back to your suggestion from https://github.com/evollu/react-native-fcm/issues/226#issuecomment-267678456.

sure you can do the work around. I will play with it myself and figure out the fix.

@yannickoo just played with it. works for me

Just updated the 📦 and it works!

@evollu sorry for replying late.
Just updated everything works fine.

@VinZenTz1989 do you receive remote and background notifications for your app with the latest code?

it does work on the latest branch, tks @evollu for the hard work
however, it is showing 2 notifications instead of just 1

@sibelius I don't have this issue. Do you have more detail?

this is my function to handle push notification, appLink will go to screen based on url deeplinking
export function handlePush(notif) {
  if (!notif) {
    return;
  }

  if(notif.local_notification) {
    //this is a local notification
    console.log('local notification: ', notif.local_notification)

    if (notif.opened_from_tray) {
      // Cancel notification
      FCM.cancelLocalNotification(notif.id);
      if (notif.url) {
        appLink(notif.url, navigator);
      }
    }

    return;
  }

  if(notif.opened_from_tray) {
    //app is open/resumed because user clicked banner
    console.log('opened_from_tray: ', notif.opened_from_tray)
    if (notif.url) {
      appLink(notif.url, navigator);
    }
    return;
  }

  const userInteraction = AppState.currentState === 'background';
  if (userInteraction) {
    if (notif.url) {
      appLink(notif.url, navigator);
    }
  } else {
    console.log('presentLocal');
    FCM.presentLocalNotification({
      id: new Date().getTime().toString(),
      title: notif.title,
      body: notif.body,
      url: notif.url,
      icon: 'ic_notification',
      large_icon: 'ic_notification',
      color: '#e34056',
      priority: 'high',
      auto_cancel: false,
      click_action: 'brandlovers.LIKE',
      show_in_foreground: true,
      // priority: "high",
    })
  }
}

If you pass show_in_foreground in push notification body, you don't need to call presentLocalNotification manually.

this notification come from my backend, so I can't have show_in_foreground in the push notification body, because I don't know if the user will have the app opened or not, so if the app is in foreground I create a local notification from the remote notification

when you say you see 2 notifications, are they both remote? or one is local?

A receive a remote notification that do not show up in the tray neither for the user,
this remote notification will create a local notification, after that
this line will be called twice:
console.log('local notification: ', notif.local_notification)

so it is not notification showed twice, but the callback gets called twice? are you using iOS?

this only happens on ios, on android the behavior is correctly

can you add break point in AppDelegate.m on both onLocalNotificationReceive and willReceiveNotification? I suspect both of them are called

@evollu should we implement willReceiveNotification? You didn't mention it in README file.

oh I mean willPresentNotification

onLocalNotificationReceived is didReceiveLocalNotification ?

This is the flow when the app is on foreground on ios

receive remote notification
handlePush: localNotification: false (gcm.message_id: 0:1482235706845068%58fc5f4058fc5f40)
calls willPresentNotification: show_in_foreground is false, so call completionHandler(UNNotificationPresentationOptionNone);
handlePush: localNotification: false (yep, again: gcm.message_id: 0:1482235706845068%58fc5f4058fc5f40, the same as above)
calls willPresentNotification: show_in_foreground is true, so call completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionSound);
handlePush: localNotification: true
handlePush: localNotification: true

I think the flow is kind of confusing, feel free to ask more information
didReceiveLocalNotification has not been called

ah, can you check if didReceiveRemoteNotification is called first?
add if([UNUserNotificationCenter currentNotificationCenter] != nil){ return; } in line 71 in AppDelegate.m

I cannot get any notification to show up when the app is in foreground. When I try to present a local notification, I can log it, but no banner is shown, and nothing shows up in the Notification Center.
I also tried to send show_in_foreground: true from the server, but the notification still didn't show up, when the app is running in foreground. Everything works as expected when the app is in background.
Any ideas what the issue could be?
Here's the code for the local notification:
FCM.presentLocalNotification({
  title: notif.title,
  body: notif.body,
  priority: "high",
  local: true,
  data: notif.data
});

@stefanwuest what is your payload on server side?

This is my payload on the server side:
$fields = array(
			'to' => $deviceToken,
			'collapse_key' => 'new_message',
			'data' => [
				'custom_notification' => [
					'title' => 'Test',
					'body' => $messageTxt,
					'sound' => 'default',
					'data' => $custom,
					'show_in_foreground' => true
				]
			],
			'notification' => [
				'title' => 'Test',
				'body' => $messageTxt,
				'sound' => 'default',
				'data' => $custom,
				'show_in_foreground' => true
			]
		);

I had a same experience.
But I could resolve this problem. For resolving this problem.

Update version
Please refer readme and fix android setting.
Android setting for using this service has been changed.
Test local notification!

I succeed through this process.
I hope that my recommendation will help you.
Good luck!
2017-01-05 15:14 GMT+09:00 stefanwuest<EMAIL_ADDRESS>
This is my payload on the server side:
$fields = array(
'to' => $deviceToken,
'collapse_key' => 'new_message',
'data' => [
'custom_notification' => [
'title' => 'Test',
'body' => $messageTxt,
'sound' => 'default',
'data' => $custom,
'show_in_foreground' => true
]
],
'notification' => [
'title' => 'Test',
'body' => $messageTxt,
'sound' => 'default',
'data' => $custom,
'show_in_foreground' => true
]
);
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/evollu/react-native-fcm/issues/226#issuecomment-270571972,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALlkF-y_2DHXVj6e1xXolr41_MBEwx8Cks5rPIo2gaJpZM4LMJmh
.

@stefanwuest are you trying to target both platform? Which platform are you having issue now?

@evollu yes, trying to target both platforms. the problem is now on iOS when the app is in foreground. I tried your suggested payload, but still no success.
I can log the notification, but no banner showing up, and nothing is in notification center.

when you are in foreground, notification are sent through FCM socket rather than APN (it is a firebase behavior), which means you need to build a local notification specifically.
To verify that, you can add break points in notification handlers in AppDelegate.m and nothing should be triggered

I was not able to have a local notification show up (see my first post in this issue).
Here's the call for that again:
FCM.presentLocalNotification({
  title: notif.title,
  body: notif.body,
  priority: "high",
  local: true,
  data: notif.data
});

FCM.presentLocalNotification({
  title: notif.title,
  body: notif.body,
  priority: "high",
  show_in_foreground: true,
  data: notif.data
});

Got it. Seems like my notif.title and notif.body was undefined. Thanks for the help!

aha...
@sibelius can I close this now?

yep, I'll reopen if needed

hey i am getting same problem
i am manually triggering  this
FCM.presentLocalNotification({
     vibrate: 500,
     title: "Hello",
     body: "Test Notification",
     big_text: "i am large, i am large, i am large, i am large,",
     show_in_foreground: true,
     number: 10
   });

its working in android but not in ios why???

@chitaranjanxelpmoc check your notification permission


Types of an npm peer dependency is being listed under devDependencies

My module has a peer dependency which i'm specifying like this
mappings: {
<EMAIL_ADDRESS>{
      name: "pg",
      version: "8.x.x",
      peerDependency: true,
    },
  }

but the generated package.json file has @types/pg listed under devDependencies rather than peerDependencies
{
  "peerDependencies": {
    "pg": "8.x.x"
  },
  "devDependencies": {
    "@types/node": "^18.11.9",
    "picocolors": "^1.0.0",
    "@types/pg": "8.x.x"
  }
}

Can you show your full code so I can try to reproduce? I don't think dnt ever inserts @types/x packages other than @types/node or if a package is specified in a shim, but I may be mistaken.
In this case you can probably just add the "@types/pg": "8.x.x" to the peer dependencies:
await build({
  // etc...
  package: {
    // etc...
    peerDependencies: {
      "@types/pg": "8.x.x",
    },
  },
});

Ahh i was adding it inside shims which was adding the types to devDependencies i guess, after commenting it out and adding @types/pg to peerDependencies as you suggested worked!
here's my code btw
//scripts/build_npm.ts
import { build, emptyDir } from<EMAIL_ADDRESS>
await emptyDir("./npm");

await build({
  packageManager: "pnpm",
  typeCheck: "both",
  entryPoints: [
    {
      name: ".",
      path: "./mod.ts",
    },
  ],
  outDir: "./npm",
  shims: {
    // see JS docs for overview and more options
    deno: true,
    // custom: [
    //   {
    //     package: {
    //       name: "pg",
    //       version: "8.x.x",
    //       peerDependency: true,
    //     },
    //     typesPackage: {
    //       name: "@types/pg",
    //       version: "8.x.x",
    //       peerDependency: true,
    //     },
    //     globalNames: [
    //       {
    //         name: "pg",
    //         exportName: "default",
    //       },
    //     ],
    //   },
    // ],
  },
  mappings: {
<EMAIL_ADDRESS>{
      name: "pg",
      version: "8.x.x",
      peerDependency: true,
    },
  },
  package: {
    // package.json properties
    name: "your-package",
    version: Deno.args[0],
    description: "Your package.",
    license: "MIT",
    repository: {
      type: "git",
      url: "git+https://github.com/username/repo.git",
    },
    bugs: {
      url: "https://github.com/username/repo/issues",
    },
    peerDependencies: {
      pg: "8.x.x",
      "@types/pg": "8.x.x",
    },
  },
  postBuild() {
    // steps to run after building and before running the tests
    Deno.copyFileSync("LICENSE.md", "npm/LICENSE.md");
    Deno.copyFileSync("README.md", "npm/README.md");
  },
});

// mod.ts
import { Client } from<EMAIL_ADDRESS>
export const Connect = (client: Client) => {
  return client;
};

Yeah, shims are only for globals. That looks better. Glad that solved it!


[SUPPORT] What Class Name to use for hoodie.errortable.write.class

I'm trying out Hudi error tables, but I'm having trouble finding the documentation for the hoodie.errortable.write.class value.
As per my understanding we have to extend this class and provide suitable implementation.

I assumed there was a default class or implementation provided, but it seems there isn't. Is there a default implementation available for this? If not, could we kindly request one be added?

@soumilshah1995 There is no implemented class out of the box. You need to implement, can refer this test class - https://github.com/apache/hudi/blob/master/hudi-utilities/src/test/java/org/apache/hudi/utilities/sources/TestJsonKafkaSource.java

got it got it makes sense

Do we plan to establish a generic default implementation for clients? I'm wondering if it would be beneficial to provide a standardized default option for clients

@ad1happy2go i'm trying to have this implemented. However, not able to test it. I've created record level errors but the values are not going in error_table. Checked in the HTTP callback as well error counts are not coming in. Also, i did checked the test kafka implementation but still not able to reproduce it. If there are any misconfigurations on the error_table configs I do get the error from hudi. Any help is highly appreciated.

maybe Aditya or someone can help us to get simple POC working for this that way lot of people and engineer will benefit from this @singhaniaayush

Thanks @singhaniaayush Lets have working session to understand this issue.

I was able to connect with @singhaniaayush and provided the feedback. Let us know if you are able to implement it,. Thanks.


Action helper class has logging error

Just tried writing an action with a helper class. While this works, curious why I'm seeing this logging error simply by adding the second class.
stderr: 'No handlers could be found for logger "st2.st2common.util.loader"

Here's a simple example that produces the above error.
from st2actions.runners.pythonrunner import Action

class HelperAction(Action):
    def run(self):
        pass

class Helper(object):
    pass

You only see this once you add the helper class.
(I see the same when the helper class has a real body to it too, this is just the simplest way to reproduce.)

Just remembered that I can put helper classes in a lib directory inside actions. Still curious why we only see this issue in these conditions, but I guess I can close the issue since this isn't the recommended approach anyway. :)


Read true_image_sum, fixes #1180

What is the difference here between the true_image and true_image_sum? Should it really be a separate attribute ?

@kosack See the connected issue #1180, it is essentially the same as true_image.sum(), but simtel can be configured to only store the sum, not the individual pixel values.


Fix silently including all hosts on typo

Making a typo in the name of a group, either in an inventory file
or in an include in deploy.py, results in all hosts being silently
ignored. This is due to the inventory returning None for unknown
group names.
This fixes the issue by not accepting unknown groups anymore.

@hoh this is now fixed as per enabling lower/uppercase inventory groups @ https://github.com/Fizzadar/pyinfra/commit/4ff751dc17561ac94c7d8b16938fa8649c997286 :)

@Fizzadar great, thx 👍


java.lang.NegativeArraySizeException

java.lang.NegativeArraySizeException
at java.util.Arrays.copyOf(Arrays.java:2271)
at org.nustaq.serialization.util.FSTOutputStream.grow(FSTOutputStream.java:92)
at org.nustaq.serialization.util.FSTOutputStream.ensureFree(FSTOutputStream.java:71)
at org.nustaq.serialization.coders.FSTStreamEncoder.writeStringUTF(FSTStreamEncoder.java:302)
at org.nustaq.serialization.FSTObjectOutput.writeObjectWithContext(FSTObjectOutput.java:392)
at org.nustaq.serialization.FSTObjectOutput.writeObjectInternal(FSTObjectOutput.java:319)
at org.nustaq.serialization.serializers.FSTMapSerializer.writeObject(FSTMapSerializer.java:48)
at org.nustaq.serialization.FSTObjectOutput.writeObjectWithContext(FSTObjectOutput.java:455)
at org.nustaq.serialization.FSTObjectOutput.writeObjectInternal(FSTObjectOutput.java:319)
at org.nustaq.serialization.FSTObjectOutput.writeObject(FSTObjectOutput.java:284)
at org.nustaq.serialization.FSTObjectOutput.writeObject(FSTObjectOutput.java:193)
...
when i use fst to  serialize HashMap<String,String>.i guess because the size of map is to big,

but when i test one data in map,there is no exception.i guess the root cause is FST try to read the map to byte[].but the size of map is to large.

Current limit of serialized object size is like 1.3GB (int range). Is your data that big ? In case of yes, you need to somehow split up the object graph and write separate smaller objects.
However its possible to hit the limit by wrong usage, so if your data is not expected to be that big I need some sample on how you use FST (and which version).

My data is more than 1.3GB,i think it is this cause.I use ObjectOutpuStream of jdk to serialize it now.the file is 3GB,but,it is slow when i use ObjectOutputStream of jdk.how can i improve the limit?

It's caused by int index limit, cannot fix that. You might try to split up the graph like:
myHugeMap.entrySet().forEach( entry -> {

     byte key[] = fstConf.asByteArray( entry.key() );
     byte value[] = fstConf.asByteArray( entry.value() );

     fileOutputStream.writeInt( key.length );
     fileOutputStream.write( key );

     fileOutputStream.writeInt( value.length );
     fileOutputStream.write( value );

});

You mean that i should serialize my HashMap data each entry?

 But it's impossible to fix arrays size limits. In theory i could flush my buffer once it grows too large, however as currently object references are marked hashed by index position, this will require major changes.
I'll mark this as enhancement for future releases.

Hello, thanks for your very useful package!
If you are able to make this enhancement it would be very helpful to me as well. I am experiencing the same NegativeArraySizeException while serializing a very large hashmap used as a cache. I've attempted to write the data one element at a time like this, but the error persists:
FileOutputStream fileOut = new FileOutputStream(serialPath); GZIPOutputStream zout = new GZIPOutputStream(new BufferedOutputStream(fileOut)); FSTObjectOutput out = new FSTObjectOutput(zout); out.writeObject(new Integer(cache.size()),Integer.class ); for(String key : cache.keySet()){     out.writeObject(key,String.class );     out.writeObject(cache.get(key),TripInformation.class ); } out.close(); zout.close(); fileOut.close();
My next workaround idea is to break the serialization up into separate files, but this is quite tedious. If you have other thoughts on a workaround, that would be much appreciated.
Thanks again!

Same problem here with data to serialize of 4.6 GB. No problem with standard serialization, but your fst is so quick on smaller examples! I hope that it is possible to break the 1.3 limit. My problem is that the objects I want to serialize are not in my code, but in a third party and I don't wont to modify they code, or split everything.
By curiosity, why is there a 1.3 limit?
Thanks!
Mehdi


choice for different portals

title says it all : would be nice to be able to select more than one portal for Sia.

Thanks @ihubgit. Long been a feature I have been meaning to add. Your task is in our todo list https://siasky.net/rAA_As-xjYDoBmk6gDAOEMiOCfX9k_8rSVIvU1n30elM3A

@tomShoutTheSecond I've marked this as ready for review, you had reviewed most of the logic, I've just added some UIs that you can scrutinise if you like :)

@ihubgit SkyDrop <IP_ADDRESS> is submitted and awaiting approval from Google/Apple. This update adds support for customising your Skynet portal :)


Shitty example

This should probably be a private repository until it is better documented and has some kind of functionality. It is misleading and a timesink in its current state.

While we appreciate community feedback, the title of this comment is inappropriate and not appreciated. This is a demo repo, not a full application, and not the library it is intended to demonstrate. As such, it will remain as is.

Sorry for the wording. I did miss some more information in the readme about how this can be used, and it did not run in any way locally, and thus it is probably worth looking into how this can be more helpful

Thanks for the update. I agree this is not documented well, we should have a better example, but that's just not high on our priority list right now. If we're lucky, @crandmck can update the readme with some better information on how to use this example app, and what it does (and why). There are some additional docs on our web site, which we should probably link to from here.

I'll try to find time to improve these and the pub-sub docs in general, but @jakerella is correct that this is not a top priority.  I did at least add links in the README to the other relevant docs.


Box Composities - Discrepencies between Contact and Visualisation Sizes

Hi,
I'm a engineer trying to use MuJoCo to model a chain-pulley system, and was told to avoid using tendons as they cannot impart friction/torque on solid objects, so have been looking to the cable composite. However, I have encountered some odd behaviour when using a box geometry for composite elements.

The size of the geometry used for contact, and that which is colored by the vmax attribute in the elasticity plugin appears to be correct based on the input values for the geom. However, boxes with Z size twice the specified value also seem to be visualised when using the mujoco.viewer.
It appears that the specified X size value for the box geom only applies to the last element, while the rest are calculated based on the specified size and number attributes in the composite specification.

The second point is not really a problem, but I don't think this behaviour is mentioed anywhere within the documentation for composites so may be worth including.
Here is an image from the end of a composite chain highlighting the above:

Here is the model I used to generate the above image:
<mujoco>
    <asset>
        <texture name="grid" type="2d" builtin="checker" rgb1=".1 .2 .3"
            rgb2=".2 .3 .4" width="100" height="100" mark="edge" markrgb=".4 .5 .6"/>
        <material name="grid" texture="grid" texrepeat="1 1" texuniform="true"
            reflectance=".2"/>
    </asset>

    <extension>
        <plugin plugin="mujoco.elasticity.cable"/>
    </extension>

    <worldbody>
        <body name="Pulley" pos="0 0 .75" >
            <joint type="hinge" axis="0 1 0"/>
            <geom name="Pulley" type= "cylinder" size=".25 .1" euler="90 0 0" material="grid"/>
        </body>

        <body name="slider_b" pos=".5 0 .75" >
            <joint type="slide" name="sliderx" axis="1 0 0"/>
            <joint type="slide" name="sliderz" axis="0 0 1"/>
            <geom type="sphere" size=".05" />
            <site name="anchor" />
        </body>

        <body name="weight" pos="-.25 0 0" >
            <joint type="free" />
            <geom type="cylinder" size=".1 .25" />
            <site name="weightsite" pos="0 0 .125" />

            <composite type="cable" offset="0 0 .25" curve="0 0 s" size="1" count="10 1 1" initial="none" >
                <joint kind="main" damping=".1" armature=".01" />
                <geom type="box" size="0.1 .025 .02" />
                <plugin plugin="mujoco.elasticity.cable">
                    <config key="twist" value="2e6"/>
                    <config key="bend" value="2e6"/>
                    <config key="vmax" value=".2"/>
                </plugin>
            </composite>
        </body>

    </worldbody>

    <equality>
        <connect name="chain_actuator" body1="B_last" body2="slider_b" anchor="0.1 0 0" solimp="0.6 0.99 0.005 0.5 3" solref=".01 1"/>
    </equality>

    <actuator>
        <position name="Xpos" joint="sliderx" ctrlrange="-.5 .5" ctrllimited="true" kp="1e5" />
        <velocity name="Xvel" joint="sliderx" ctrlrange="-.5 .5" ctrllimited="true" kv="100" />
        <position name="Zpos" joint="sliderz" ctrlrange="-.5 .5" ctrllimited="true" kp="1e5" />
        <velocity name="Zvel" joint="sliderz" ctrlrange="-.5 .5" ctrllimited="true" kv="100" />
    </actuator>
</mujoco>

Hi, what you are seeing is a skin, if you disable skins it should disappear (you can do it automatically by assigning a group>2 to the composite skin in the XML see https://mujoco.readthedocs.io/en/latest/XMLreference.html#composite-skin). I'm not quite sure why the skin is so far away from the cable though, I will investigate when I have time.


Don't show command usage without permission

In my opinion the command usage should not be visible to users that don't have permission. Not sure if you will agree with this PR

Since the help is publicly available on my wiki anyway, may as well for the privacy of the server owner.


Add Type Prefix to Issue Labels

Add prefixes to issues labels related to their type.
Examples:

issue-addressed -> workflow: issue-addressed
Mgmt -> Plane: Mgmt
Service Bus -> Service: Service Bus

Concerns:

Proper Syntax:

Should the type be added to the label as a prefix or suffix?
How should the type be separated from the actual label text? Dash or colon?
Some existing labels are all lower case with dashes and some have the first letter capitalized with spaces. Should the types have a unified styling or should they match the style of the labels in their type.

Updating the existing labels:

We currently don't have an automated way for us to update labels. We can push new labels out, but they won't overwrite the old labels.
We cannot remove the old labels then add the new labels. We need to update the labels, so the issue tagged with the old labels get the updated version.

Updating GitHub Action rules:

All GitHub Action rules need to be updated to use the new issue labels.

Assigning this to @JimSuplizio since he'll do this work, but it's important that @jsquire provide input and @ronniegeraghty should probably run this change past all the language leads as well.

Well, this opens up the question:  If we're going to go through all of this, can we PLEASE stop doing a 2-label system?   The whole pink+yellow classification is difficult to work with and causes issues.   I think everyone (especially @joshfree ) would love to see us adopt a consistent format with a single label.
For example, something like:

area-service-bus
area-service-bus-mgmt

would be better than

service: Service Bus  +  plane: Data
service: Service Bus +  plane: Mgmt

Also, @ronniegeraghty - be aware that this overhaul will invalidate all the ML models for the AI service.   If we just rename in place, I can retrain and we won't lose confidence.   If we make the more wholistic change that I'm advocating for, we'll end up needing to do some scripting to fix up the old issues so that we can retrain.

Attempting to bridge the problem by adding a prefix to the label description so people can search the description prefix.

I've assigned this to both @ronniegeraghty and myself because, if this ends up getting done, the work won't be just on my plate.

We've currently fixed the issue at hand by adding a Prefix to labels' description. This allows someone to search the labels for the prefix in the description and get a list of all the labels used in the Resolution process.


Assimp UnsatisfiedLinkError

Version
3.3.2 (nightly)
Platform
macOS arm64
JDK
Temurin open jdk 11.0.14
Module
Assimp
Bug description
Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: Failed to dynamically load library: /var/folders/8g/vxjf7j550jd4xkth7t28mcj00000gn/T/lwjglwizzardo/3.3.2-build-2/macos/arm64/org/lwjgl/assimp/libassimp.dylib(error = null)
	at org.lwjgl.system.macosx.MacOSXLibraryDL.loadLibrary(MacOSXLibraryDL.java:33)
	at org.lwjgl.system.macosx.MacOSXLibraryDL.<init>(MacOSXLibraryDL.java:20)
	at org.lwjgl.system.macosx.MacOSXLibrary.create(MacOSXLibrary.java:27)
	at org.lwjgl.system.APIUtil.apiCreateLibrary(APIUtil.java:113)
	at org.lwjgl.system.Library.loadNative(Library.java:367)
	at org.lwjgl.system.Library.loadNativeFromLibraryPath(Library.java:356)
	at org.lwjgl.system.Library.loadNative(Library.java:270)
	at org.lwjgl.system.Library.loadNative(Library.java:228)
	at org.lwjgl.assimp.Assimp.<clinit>(Assimp.java:168)

if I try to load the lib manually:
Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: /private/var/folders/8g/vxjf7j550jd4xkth7t28mcj00000gn/T/libassimp.dylib: dlopen(/private/var/folders/8g/vxjf7j550jd4xkth7t28mcj00000gn/T/libassimp.dylib, 0x0001): Library not loaded: @rpath/libdraco.1.dylib
  Referenced from: /private/var/folders/8g/vxjf7j550jd4xkth7t28mcj00000gn/T/libassimp.dylib
  Reason: tried: '/Users/runner/work/assimp/assimp/build/bin/libdraco.1.dylib' (no such file), '/Users/runner/work/assimp/assimp/build/bin/libdraco.1.dylib' (no such file), '/Users/wizzardo/Library/Java/liberica-11.0.14/lib/server/./libdraco.1.dylib' (no such file), '/Users/wizzardo/Library/Java/liberica-11.0.14/lib/server/../libdraco.1.dylib' (no such file), '/Users/wizzardo/Library/Java/liberica-11.0.14/bin/../lib/jli/libdraco.1.dylib' (no such file), '/usr/lib/libdraco.1.dylib' (no such file)

previous snapshot version (3.3.2-1) works fine
Stacktrace or crash log output
No response

Hey @wizzardo,
The problem was the support for KHR_draco_mesh_compression added with #773. I assumed that the Draco library would be statically linked into the Assimp shared library, but turns out it's a separate binary. The next 3.3.2 snapshot will bundle both shared libraries in the Assimp native jar.
Thanks!

LWJGL 3.3.2 snapshot 3 is now available and Assimp is working again.


Error is thrown when multiple instances of the same es-hadoop library are deployed

I'm testing a tool that deploys and runs jobs in hadoop. It appears that the tool deploys libraries in 2 different ways, so they appear twice in a job's classpath.
When I added es-hadoop reference to that tool, I observed an error "Multiple ES-Hadoop versions detected in the classpath; please use only one", even though it was the same very version.
Is it possible to compare versions (or hash values) of es-hadoop in classpath and allow to proceed if they match?

Classpath duplication is a problem. The check in fact has been added since way too many times people had issues because of it (old version vs new). And almost always it is hard to figure out the issue since folks are unaware of the classpath for so many reasons.
Further more, it is not unheard of folks deploying es-hadoop.jar along with es-hadoop-hive or es-hadoop-spark even though only one jar needs to be deployed.
Since adding the check, the bug reports on this front has decreased significantly.
I'm not sure what tool you are using but deploying the same jar twice is simply not a good idea.
I'd like to help however there are way too many reasons for the check to remain in place than to remove it.

FYI, I am running into this issue under some special circumstances and wonder if a compromise could be made, such as a sysprop that suppresses the check for advanced users.  I can submit a PR if you'll open to this approach, in which case I would need to know what sysprop to use to toggle this behavior on/off?
Right now I have to build a custom version of this library to disable that check to get our Spark jobs to run in our environment-- granted, we are running a somewhat esoteric setup.  I'll spare most of the details, but the short of it is this:
We use an application jar with a manifest classpath which our job submitter will read and sync (as necessary) any missing/updating jars that it doesn't already contain in it's repository.  After sync'ing needed jars, it submits a spark job with the same application jar and the --jars Spark-submit argument with the HDFS locations for all of the jars.  Since Spark doesn't honor the application jar's manifest, it only sees one copy of the jar in it's classpath, but this library sees two (the one in the manifest (I think) and the one passed via --jars)

https://stackoverflow.com/a/63353843/9633499


Tabs: tab size changes when no icon theme is enabled

@misolori can you take a look, I can reproduce in stable already, I think this maybe a regression from the icon font work.
Steps:

disable icons (icon theme = null)
open some tabs
open a side editor
reduce the size of the first editor group until a scrollbar should appear

=> 🐛 the tab close button moves

To be clear: we have a setting for this where I would expect the tab size of reduce its size:

So we need to make sure that things still work with that enabled

I just tested this in earlier versions (June update) and it reproduces the same behavior, so it's not a regression from the icon work. This appears to happen when the length of the tab name doesn't pass our min-width of 120px, if the tab name is longer than it will always fit.
Is the expected (default) behavior that the tab button never shrinks unless enabled by workbench.editor.tabSizing?

OK let me assign myself to revisit this.

Yeah it should never shrink. And the fact that it does not when icons are enabled shows that something is off.

This was an easy fix, applied flex-shrink: 0 when tab sizing is fit (which is the default):

ok, maybe that got lost a while ago, thanks


24H2 Invalid access to memory location.

Brief description of your issue
I just upgraded to 24H2 and System Informer just randomly crashed with the message saying 0xC0000005 (Invalid access to memory location)
Dump file: https://drive.google.com/file/d/1P8r1kP9vGyEkvxIuBWVuYeK8E50k4A7k/view
Steps to reproduce (optional)
I am not sure it was very random wasn't doing anything
Expected behavior (optional)
No response
Actual behavior (optional)
No response
Environment (optional)
- System Informer version 3.1.24244.0 (41365e9c) x64.
- Windows 11 Pro x64, 24H2, 26100.1742
- Windows Kernel 10.0.26100.1742

Duplicate of #2201


rfc2136 provider only logs as debug

RFC2136 provider only logs add/remove RR messages under debug:
https://github.com/kubernetes-incubator/external-dns/blob/master/provider/rfc2136.go#L245
Other providers log these messages as info:
https://github.com/kubernetes-incubator/external-dns/blob/master/provider/google.go#L297
https://github.com/kubernetes-incubator/external-dns/blob/master/provider/coredns.go#L362
rfc2136.go should log RR add/remove events as info so debug doesn't need to be enabled for normal operation.

/remove-lifecycle stale


fix(config): renew rate-limit if user attempts req in limit time window

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
565

Relevant Lines:
565

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
565

Relevant Lines:
565

💛  - Coveralls


Mypy error on validators when using create_model

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
When using create_model() to dynamically create a  model, as described in the documentation,  mypy gives an error, saying the the type given to the __validators__ keyword argument is of the wrong type; it expects a type of classmethod but is getting something else instead.
Example (the sample on the linked documentation verbatim):
from pydantic import ValidationError, create_model, field_validator

def username_alphanumeric(cls, v):
    assert v.isalnum(), 'must be alphanumeric'
    return v

validators = {
    'username_validator': field_validator('username')(username_alphanumeric)
}

UserModel = create_model(
    'UserModel', username=(str, ...), __validators__=validators
)

user = UserModel(username='scolvin')
print(user)
#> username='scolvin'

try:
    UserModel(username='scolvi%n')
except ValidationError as e:
    print(e)
    """
    1 validation error for UserModel
    username
      Assertion failed, must be alphanumeric [type=assertion_error, input_value='scolvi%n', input_type=str]
    """

config file:
[mypy]
plugins = pydantic.mypy

mypy output:
pydantic_validators_test.py:14: error: Argument "__validators__" to "create_model" has incompatible type "dict[str, _V2ValidatorClsMethod | Callable[[Any, ValidationInfo], Any] | _OnlyValueValidatorClsMethod | Callable[[Any], Any]]"; expected "dict[str, classmethod[Any, Any, Any]] | None"  [arg-type]

I've also tried defining the validator function within a class and using the @classmethod decorator to try and make mypy see it as a class method.
However that doesnt work either-  mypy perceives the type of classmethods returned value to be "classmethod[Any, Any, Any] | staticmethod[Any, Any] | partialmethod[Any].
Looking at the definition of field_validator, none of the overloads have a return type that matches what __validators__ wants ( classmethod[Any, Any, Any]), so this looks like a mismatch within pydantic to me.
Unless I've misunderstood something, I believe the type of __validators__ should be adjusted to include the return values of functional_validators.
Python, Pydantic & OS Version
python -c "import pydantic.version; print(pydantic.version.version_info())"

             pydantic version: 2.7.4
        pydantic-core version: 2.18.4
          pydantic-core build: profile=release pgo=true
                 install path: /Users/foobar/1_10/.venv/lib/python3.11/site-packages/pydantic
               python version: 3.11.4 (main, May 21 2024, 16:01:49) [Clang 15.0.0 (clang-15<IP_ADDRESS>)]
                     platform: macOS-14.4.1-arm64-arm-64bit
             related packages: mypy-1.10.0 fastapi-0.105.0 typing_extensions-4.12.2
                       commit: unknown

@jonathan-hill-visasq,
Thanks for reporting this. Agreed, I think we can relax that annotation.


Update Node and NPM to latest LTS version

Use frontend-m-p 1.12.1
This closes #731
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@davidjgonzalez Ping


Should summary be included?

As far as I know, details/summary is moderately popular. Authors who use this library on nodes with summary in them might see some weird behaviors.

The difficulty with summary is that only the first summary element within a detail element should be considered focusable; any other should not. And a summary element outside of a detail element should not be focusable.
I mean, maybe we’re over-thinking it and we just consider all summary focusable for sake of simplicity? But it would be technically incorrect.
Or maybe now that the :has() selector has good support:
detail:has(summary) summary:first-of-type

Is it spec-compliant to have >1 summary in details? How does the browser even handle that? 🧐 I’d check if I weren’t on my phone.
If > 1 summary is allowed, I think we could get the right behavior without :has():
details > summary:first-of-type

No?

I’m not entirely sure. Similarly, although a summary should be a direct descendant of a detail element, I think browsers might support having a div in between (or other element) for styling purposes, which means the > might be riskY?

Yes, I guess we can just add summary. Probably good enough? I’d argue better considering too many elements focusable than not enough. I’ll issue a commit.

Addressed in #9.


Order of years in ion-datetime picker

How can I change the order of years in ion-datetime picker? Currently it is showing in decreasing order. I want to show years in picker in increasing order.

Hello! Thanks for opening an issue with us! As this seems like more of a support question i will urge that you ask this question on our forum or on our slack channel. Thanks for using Ionic!


Backfill Flickr invalid license fix

Description

#3440 shipped a fix for an invalid license seen in our Flickr records, which fixes the matter going forward. As noted in that PR, some production records already have the invalid license url. That means the attribution string in the API, for example, contains an invalid link.
To fix those records we need to run a batched_update with the following configuration:
{
  "batch_size":10000
  "dry_run":false
  "query_id":"fix_invalid_flickr_license"
  "resume_update":false
  "select_query":"WHERE meta_data->>'license_url' = 'https://creativecommons.org/licenses/by-nd-nc/2.0/jp/'"
  "table_name":"image"
  "update_query":"SET meta_data = jsonb_set(meta_data, '{license_url}', '"https://creativecommons.org/licenses/by-nc-nd/2.0/"')"
  "update_timeout":3600
}

Once done, the next image data refresh will bring the correct data into the API.
Note: Ideally we should wait until the Flickr popularity refresh batched update is not also running.

The batched_update was completed ✔


User not aware of what submitting is in Cavern Survival

The user didn't know what submission meant in Cavern Survival. Is there information about this displayed to the user before they enter multiplayer levels? If so, can we make it more prominent?

And if we moved Cavern Survival until after the real-time playback submit button is introduced, that would help out here. I'll just make some tasks in Cavern Survival level itself to do this and #2098.


Code incompatible with latest FitBit Studio SDK?  Versa 3?

Pulled the code and tried to build and run in FitBit Studio and got...
Unsupported SDK
Your project is using an SDK version not supported by Fitbit Studio. You can either upgrade your project, or export your project to develop it offline.
Upgrading your project may require you make changes to code to comply with new API changes.

it seems dosen't work with the Fitbit Studio.
Internal error during build. Guru Meditation: TypeError: Cannot put file: unknown data type "undefined"


Inconsistent podspec version in tags

Podspec version in 1.0.5-swift2 and 1.0.5 tags is still using 1.0.4.

I restructured the whole repository, deleted the separate swift-2 branch, made master compatible with Swift 2.0, so this is fixed now!


build: update deployment

This PR updates the releasing process and the corresponding documentation.

One of the TODOs is ditching the gitflow workflow, which would translate to getting rid of the current main branch and renaming the current dev branch to main (and keeping it as the default branch on GitHub).
I originally liked the stable release version separation that gitflow allows (having the last stable release version at the HEAD of the main branch), but having tested tagging versions in dev and using that to publish a GitHub release, I think that it would suffice. Basically that would just mean one less step compared to the current workflow, i.e. not merging the release PR to both dev and main, but just to the current dev, which would be renamed to main.
I think that'd make more sense, what do you think @sshazril?

One of the TODOs is ditching the gitflow workflow, which would translate to getting rid of the current main branch and renaming the current dev branch to main (and keeping it as the default branch on GitHub).
I originally liked the stable release version separation that gitflow allows (having the last stable release version at the HEAD of the main branch), but having tested tagging versions in dev and using that to publish a GitHub release, I think that it would suffice. Basically that would just mean one less step compared to the current workflow, i.e. not merging the release PR to both dev and main, but just to the current dev, which would be renamed to main.
I think that'd make more sense, what do you think @sshazril?

I think given we have release tags to inform stakeholders of non-experimental builds, we can probably get rid of the main/dev separation (since we can treat formal releases as the 'main' bug-free versions).


Wrapping macro and conditional compilation semantics

C macros can do anything - create types, procs, conditionally enable parts of the code or define simple constants. All of this has to be somehow converted to nim macros if possible. Boost wave should be pretty useful for solving this problem.

https://www.reddit.com/r/nim/comments/pti32g/comment/hdwxzaq/?utm_source=share&utm_medium=web2x&context=3
https://irclogs.nim-lang.org/29-09-2021.html#13:11:16
https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=1494&context=sis_research
https://www.cs.cmu.edu/~ckaestne/pdf/tse17-refactoringifdef.pdf
https://ruche-home.net/program/boost/wave#hooks-member-expanded-macro
http://mbeddr.com/files/tomassettiratiu-extractingvariabilityfromcandliftingittombeddr.pdf

Many macro definitions are relatively simple, which means there are multiple steps of different complexity:

[ ] Wrap standalone macro constants like #define GIT_CLONE_OPTIONS_VERSION 1
[ ] Wrap group of macros that should've been an enum - https://github.com/haxscramper/hcparse/issues/10
[ ] Convert macros to templates #define get_field(arg) (arg)->name
[ ] Map macro semantics to the nim macro - need to find concrete examples of where this is done and how to meaningfully port this to nim. #define MAKE_STRUCT(name) struct name {};.  Maybe Qt macros from #25 would be a good starting point?
[ ] Macro can be hidden inside of the ifdef section, this should be accounted for as well. Need to get the AST of the macro preprocessor

https://code.woboq.org/gtk/include/glib-2.0/gobject/gtype.h.html#_M/G_DECLARE_INTERFACE

Algorithm description from the IRC discussion -
I think the only way to properly map conditional compilation and related
logic is to try and get the proper /AST/ of the macro, or
#ifdef/elif/ifndef/if check. Parsing preprocessor statements is easier -
I already have a boost-wave based lexer that can report all the tokens
encountered, assembling elements to the tree structure is not that
difficult. Main proble is a macro defines themselves - if replacement list
does not contain any special metaprogramming tokens (## and # for
concatenation and stringification respectively) it could be parsed directly
using tree-sitter. This functionality is related to the
https://github.com/haxscramper/hcparse/issues/12
If macro contains concatenation tokens it becomes somewhat more
problematic, but those case be handled by replacing <tok> ## <tok> with
specially constructed token names like TOK_INDEX_1_CONCAT_TOK_INDEX_2.
But we still to operate under assumption that token body forms a valid C
code, which is of course not the case.

If expaded body contains a completely invalid entry, like #define unless(epxr) if (!(expr)) I don't think we can (or should) try to port
it properly.
If expanded body contains call to another macro we might treat it
differently.

If the expansion is currently not valid, but macro expansion would make
it correct, we try to analyze a semi-expanded version (do one step, try
expansion again).
If the expansion is valid we wrap things as regular macro -
SOME_MACRO_CALL() is translated as-is.

It is necessary to overlay conditional compilation on top of the API description. That is - CxxEntry should itself might  information about conditional compilation. This would make type graph construction a lot more complex, since various groupings must be considered at once in order to deal with mutually recursive type uses wrapped in conditional compilation logic.


Support ESM

Describe the bug
After following the getting started guide and building i get the message info - [next-export-optimize-images]: Configuration was not loaded.  and the build doesnt appear to have optimized any images.
Here is my next.config.mjs
import rehypeShiki from '@leafac/rehype-shiki'
import nextMDX from '@next/mdx'
import { Parser } from 'acorn'
import jsx from 'acorn-jsx'
import escapeStringRegexp from 'escape-string-regexp'
import * as path from 'path'
import { recmaImportImages } from 'recma-import-images'
import remarkGfm from 'remark-gfm'
import { remarkRehypeWrap } from 'remark-rehype-wrap'
import remarkUnwrapImages from 'remark-unwrap-images'
import shiki from 'shiki'
import { unifiedConditional } from 'unified-conditional'
import withExportImages from 'next-export-optimize-images'

/** @type {import('next').NextConfig} */
const nextConfig = withExportImages({
  pageExtensions: ['js', 'jsx', 'ts', 'tsx', 'mdx'],
  output:'export',
  // images: {unoptimized:true},
  path: {
    fs: false,
    path: false
  },
  experimental: {
    webpackBuildWorker: true,
},

})

function remarkMDXLayout(source, metaName) {
  let parser = Parser.extend(jsx())
  let parseOptions = { ecmaVersion: 'latest', sourceType: 'module' }

  return (tree) => {
    let imp = `import _Layout from '${source}'`
    let exp = `export default function Layout(props) {
      return <_Layout {...props} ${metaName}={${metaName}} />
    }`

    tree.children.push(
      {
        type: 'mdxjsEsm',
        value: imp,
        data: { estree: parser.parse(imp, parseOptions) },
      },
      {
        type: 'mdxjsEsm',
        value: exp,
        data: { estree: parser.parse(exp, parseOptions) },
      },
    )
  }
}

export default async function config() {
  let highlighter = await shiki.getHighlighter({
    theme: 'css-variables',
  })

  let withMDX = nextMDX({
    extension: /\.mdx$/,
    options: {
      recmaPlugins: [recmaImportImages],
      rehypePlugins: [
        [rehypeShiki, { highlighter }],
        [
          remarkRehypeWrap,
          {
            node: { type: 'mdxJsxFlowElement', name: 'Typography' },
            start: ':root > :not(mdxJsxFlowElement)',
            end: ':root > mdxJsxFlowElement',
          },
        ],
      ],
      remarkPlugins: [
        remarkGfm,
        remarkUnwrapImages,
        [
          unifiedConditional,
          [
            new RegExp(`^${escapeStringRegexp(path.resolve('src/app/blog'))}`),
            [[remarkMDXLayout, '@/app/blog/wrapper', 'article']],
          ],
          [
            new RegExp(`^${escapeStringRegexp(path.resolve('src/app/work'))}`),
            [[remarkMDXLayout, '@/app/work/wrapper', 'caseStudy']],
          ],
        ],
      ],
    },
  })

  return withMDX(nextConfig)
}

My image component
import Image from 'next-export-optimize-images/image'

   <Image
            src={sourceImage}
            className=""
            alt="a tiny image."
          height={'512'}
          width={'465'}
          />
        </div>

Desktop (please complete the following information):

debian
firefox

Additional context
The error message:

><EMAIL_ADDRESS>build
> next build && next-export-optimize-images

info - [next-export-optimize-images]: Configuration was not loaded. (This i)
  ▲ Next.js 14.2.3

   Creating an optimized production build ...
 ✓ Compiled successfully
 ✓ Linting and checking validity of types
 ✓ Collecting page data
 ✓ Generating static pages (10/10)
 ✓ Collecting build traces
 ✓ Finalizing page optimization

Route (app)                              Size     First Load JS
┌ ○ /                                    4.41 kB         146 kB
├ ○ /_not-found                          138 B          87.2 kB
├ ○ /about                               361 B           142 kB
├ ○ /blog                                363 B           142 kB
├ ○ /contact                             516 B           127 kB
├ ○ /process                             2.48 kB         135 kB
└ ○ /work                                363 B           142 kB
+ First Load JS shared by all            87.1 kB
  ├ chunks/563-980961a6dc58e512.js       31.5 kB
  ├ chunks/669fb589-43a640a2bf7dd213.js  53.6 kB
  └ other shared chunks (total)          1.95 kB

○  (Static)  prerendered as static content

next-export-optimize-images: Optimize images.
info - [next-export-optimize-images]: Configuration was not loaded. (This i)

- Collect images in public directory -

- Image Optimization -
Optimization progress |████████████████████████████████████████| 100% || 0/0

Successful optimization!
^C

I have the same issue, it seems like next-export-optimize-images won't accept config files that have .cjs or .mjs extensions, it seems like it only accepts .js files.
In my case, this makes it impossible for the export-images.config.js to correctly resolve the imports needed to create the remoteImages array dynamically. It's a shame, it basically means it's currently not possible to use remote images unless one manually hardcodes every single value into this file.

https://github.com/dc7290/next-export-optimize-images/issues/861

In the case of your config file, I think the following will work.
return withMDX(await nextConfig)


force close stream if keep-alive disabled. don't allocate when taking a buffer.

Happy to expand on details if necessary.

The buffer change is super clear to me. The shutdown is less so. I'd expect that just dropping the streams would close the sockets. Is that sometimes not happening?

I don't believe dropping the stream closes the socket unless the peer closes the socket as well. This results in socket leaks when you using something like NGINX on top of Hyper because the sockets are never closed. What's more, if the client simply ignores the Connection: close header (which is what NGINX does), then you also get a socket leak. Among other things, this makes it pretty easy to DoS the server by sending it data that it never reads.

Dropping a TcpStream should close it automatically, thanks to this destructor. I wonder if since the sockets are duplicated, it works less well. Anyway, I don't see an issue with actually calling it, so I'm fine merging.


Multiple layer with slider

Hey,
I have one another issue.
Can i work with multiple layers in slidercontrol.
As right now i am not able to figure out any solution.
Thanks,
Jay

This currently not possible. You would have to somhow bring the features from the different layers into one array.
The initial setup is done in the "onAdd" method:
this.options.markers = [];

        //If a layer has been provided: calculate the min and max values for the slider
        if (this._layer) {
            var index_temp = 0;
            this._layer.eachLayer(function (layer) {
                options.markers[index_temp] = layer;
                ++index_temp;
            });
            options.maxValue = index_temp - 1;
            this.options = options;
        }


Is there a way to print the output of fmin_l_bfgs_b on a file and not on screen?

Hello everyone,
I have a question about the usage of the function fmin_l_bfgs_b.
In my code I perform two optimizations inside a bigger loop, something like:
for ...
    res_1 = fmin_l_bfgs_b(f1, iprint=1001, ...)
    ....
    res_2 = fmin_l_bfgs_b(f2, iprint=1001, ...)
    ...

and I would like to see the full output for all the optimizations.
In order to save it into a file I simply write from the command line: "python program.py > program.out" but unfortunately this way the output looks unreadable as sometimes the different prints overlap.
Is there a way to force the function fmin_l_bfgs_b to write its output on a file instead of screen?
Thank you in advance for your help and I apologize if this was the wrong section.

Hi @martinanibbi, sorry but this is not a support channel. We don't have the bandwidth to answer user questions. Please post on StackOverflow or the user mailing list instead.
You problem can be googled it's a general Python thing to redirect the output to files.


Improves MultiSelect

What feature or improvement do you think would benefit Files?
The multi selection is convenient, but not pretty, especially in grid mode.
Here are some suggestions for improving it.

Hide SelectAll checkbox when folder is empty. It's pretty ugly to see that box checked for an empty folder.
Put the MultiSelect toggle back in the selection menu. It was very convenient. Other settings are also available in the toolbar menus.
Associate a hotkey to MultiSelect.
Show the box only when hovering over the element in grid mode. (If you can't enable/disable it easily).

Requirements
The command already exists. It can be used in the menu.
You can modify the views (SelectAllCheckBox, Grid).
Files Version
<IP_ADDRESS>
Windows Version
10.0.22621.1265
Comments
Useless checkbox

We're currently working on some drastic changes to the multiselect behavior.

The changes have been merged and are available in v2.4.51.


Map requires types that implement Copy

Any reason for choosing that as a requirement as opposed to Clone?

Ideally we wouldn't require Copy or Clone, but sadly they're required to provide the get interface we currently have (i.e., fn get(&self, key) -> V). Because of the nature of the concurrent map, we can't easily provide get(..) -> &V like traditional maps. The likely path forward here is to have get take a closure that is given &V, but that requires some more work on our part.
The reason we currently require Copy over Clone is to discourage users from using values that are expensive to clone in the map (since their get would become pretty slow). That might not be a good way to do so, but I think I'd rather see a move to get with a closure rather than moving to Clone. @AndrewTShen @saligrama what do you think?

At least you could provide an additional set of get methods that takes a closure, such as get_with, so the option is available for larger types.

I completely agree! The codebase belongs to @AndrewTShen and @saligrama though — I'm just mentoring them — so I'll let them make the final call.


Add documentation for evaluation scripts

https://github.com/computational-cell-analytics/micro-sam/tree/dev/finetuning/evaluation

Add documentation for the current full setup of evaluation:

AMG
AIS
Iterative Prompting (starting with point / box)

Exposing the validation and test paths, for the users to make use of them

(add hints that the users need to translate the volumes to 2d slices if they want to use the scripts automatically)

I'm assembling these in one spot to address documentation. I'll close this for now.


Template gradle project

We should provide a template gradle project to kickstart using the SDK.

Done. See the examples


VALUES (CAST(foo AS VARCHAR(1024))) silently truncates string to 1024 characters

The resource reference DAO code uses VALUES in some upsert statements. Because the length of the VARCHAR is given in the cast, the string value is silently truncated as shown below:
fhir=> SELECT * FROM (VALUES (1, cast('1234567890' as varchar(8)))) AS t (num,letter);
 num |  letter
-----+----------
   1 | 12345678
(1 row)

fhir=> SELECT * FROM (VALUES (1, cast('1234567890' as varchar))) AS t (num,letter);
 num |   letter
-----+------------
   1 |<PHONE_NUMBER>
(1 row)

This may hide issues where the input string is too long for the database field and the request should be rejected instead of being inserted incorrectly.

need discussion for the right behavior which needs to be documented


Willis-Ekbom Disease

Restless legs syndrome, currently listed as "Ekbom Disease".

Thank you for the feedback.  This will be added, and the description for Ekbom disease has been changed to delusional parasitosis.


p2p: investigate why re-dialing persistent peers consumes so many resources

There are reports from node operators that while the p2p layer is attempting to reconnect to a persistent peer (typically because it is unavailable, offline, etc.) the overall performance of node degrades substantially.
The method responsible for persistently attempt to dial a peer address is p2p.Switch.reconnectToPeer(*NetAddress). There is nothing really special on it in terms of resource consumption. The main calls are for dialing the peer address, which is the same p2p.Switch.DialPeerWithAddress(*NetAddress) used to dial any address, and sleeps.
The re-dialing is done using a standard (hard-code) procedure, summarized here. In summary, there are 20 attempts with linear intervals (5s plus a random jitter up to 3s), then the intervals are exponential, increasing powers of 3s, using the same jitter. At most 10 attempts are performed with exponential intervals, so at most 30 attempts are performed in total.
Turning the parameters used by this procedure configuration parameters has been proposed several times by block operators.
But this issue should focus, in my opinion, on understanding the source of the overhead that has been observed.

I can confirm the report of delays while attempting to connect to a persistent peer.
Eventually, we just stopped configuring them, and always used seeds only.


Feat request: Expose walk/iterator interface for JSON Pointer

Hi, currently the pointer package only exposes post-iteration dicts/index - it would be nice if the walk function an iterator/generator interface was exposed, e.g.,
for (const [ptr, val] of pointer.entries(myPointer))
  ...

Maybe entries, flatEntries, primitives, or something like that, to select what to iterate over.

I cobbled together one:
import { join } from "json8-pointer"

/* JSON Pointer iterator
 *
 * yields [ entryPath, entryObj, entryKey, parentPath, parentObj ]
 * but other values of course ignorable, so this works fine:
 *
 * for (const [key, val] of entries(obj)) console.log(key, val)
 */
export function* entries(tree) {
  const isContainer = (o) => typeof o === "object" && o !== null
  const isEnumerable = (o) => Array.isArray(o) || o instanceof Set
  const isKeyvalue = (o) => typeof o === "object" || o instanceof Map

  yield [[], tree]
  yield* children([], tree)

  function* children(parentPath: [], parentObj: any) {
    if (!isContainer(parentObj)) return
    if (isEnumerable(parentObj)) {
      let c = 0
      for (const childObj of parentObj) {
        const childKey = String(c++)
        const childPath = join(parentPath, childKey)
        yield [childPath, childObj, childKey, parentPath, parentObj]
        yield* children(childPath, childObj)
      }
      return
    }
    if (isKeyvalue(parentObj)) {
      for (const [childKey, childObj] of Object.entries(parentObj)) {
        const childPath = join(parentPath, childKey)
        yield [childPath, childObj, childKey, parentPath, parentObj]
        yield* children(childPath, childObj)
      }
      return
    }
    throw new TypeError(parentObj + " is not a structure")
  }
}


[Feature] manipulate keyboard position for animating open/close

It would be nice to be able to manipulate the positioning of the keypad during closing and showing to enable a "pull down to close" "pull up to show" feature as can be done on native.

would be really great!

Would still love to see this


Ellipsis hides required-marker (material)

We use ngx-formly in our application and are absolutely thrilled. We have a small suggestion for improvement. The required-marker under material is currently hidden by the ellipsis if there is not enough space. We have a suggestion on how to easily rebuild it. The required-marker should not be part of the string indicated by the ellipsis. It concerns the following code in the class 'material / form-field / src / form-field.wrapper.ts':
<mat-label * ngIf = "to.label && to.hideLabel! == true">
       {{to.label}}
       <span * ngIf = "to.required && to.hideRequiredMarker! == true" class = "mat-form-field-required-marker"> * </span>
     </mat-label>

Change proposal:
<mat-label * ngIf = "to.label && to.hideLabel! == true" style = "display: flex">
<span style = "text-overflow: ellipsis; overflow: hidden">
        {{to.label}}
</span>
        <span * ngIf = "to.required && to.hideRequiredMarker! == true" class = "mat-form-field-required-marker" style = "padding-left: 3px"> * </span>
      </mat-label>

What do you think of this suggestion? We are currently manipulating the DOM in a custom wrapper as suggested ... but that is not a nice solution.
Thanks and Greetings
Christian

if we use ellipsis here, the required marker will disappear so I think it better to leave it as it is for now :pray:.


Error when encoding request parameter which contains dynamic byte data

Hi,
Test case is UNKNOWN with encoding error when using Routine Control By Name keyword
Test steps:
${param_dict}=    Create Dictionary    switch_id=0    ports=b'\x01\x02\x04\x05\x06\x08\x09'
${response}=      Routine Control By Name    SwitchPortStatistics_Start    ${param_dict}

Error:
[ ERROR ] Failed to encoding SwitchPortStatistics_Start message.
Reason: MinMaxLengthType is currently only implemented for strings and byte arrays

Thank you,
Ngoan

Hi @test-fullautomation ,
When investigating this issue, I found that it comes form the odxtools library, the data type bytearray should be handled along with bytes when checking instance of given value.
I have raised the ticket for that library as this issue https://github.com/mercedes-benz/odxtools/issues/351.
However, from our library, the temporary solution should be added to avoid this issue.
I implemented it and provide the PR as soon as the verification is fine.
Thank you,
Ngoan

Hi Ngoan,
very good!
Thank you,
Thomas

PR for odxtools library https://github.com/mercedes-benz/odxtools/pull/353

The fix from odxtools is available in new version https://github.com/mercedes-benz/odxtools/releases/tag/8.2.1 (also on pypi).
The temporary solution in PR #28  can be kept or removed (when using new version odxtools lib) from our robotframework-uds library,

very good!


chore(package): update kronos-interceptor to version 2.5.0

Codecov Report

Merging #102 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #102   +/-   ##
======================================
  Coverage    90.9%   90.9%
======================================
  Files           1       1
  Lines          22      22
======================================
  Hits           20      20
  Misses          2       2

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update df9744f...2ba69f8. Read the comment docs.

Coverage remained the same at 82.143% when pulling 2ba69f81a43435138beac7c7557cb5bf92c859a8 on greenkeeper/kronos-interceptor-2.5.0 into df9744fa2b95902a14449b59c332349c86e7ac18 on master.


fix(Activity Tracker): adds remapping to other regions

PR summary

Atracker Changes version 1 and 2: Adds in service regions remapped for the following:

provider region
ATracker region

ca-tor
us-east

br-sao
us-south

eu-fr2
eu-de

jp-tok
eu-de

jp-osa
eu-de

in-che
eu-de

PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

Current vs new behavior

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

As I mentioned on slack, please re-gen both services with the latest version of the SDK generator (v3.57.1).  Thanks!

:tada: This PR is included in version 0.28.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Incorrect npm version on npmjs

I tried installing this from npm and it says the package hasn't been updated for over 3 years (version 0.0.1-alpha). However, looking at the GitHub code, it looks like it was updated recently. How do I install this from GitHub directly?

+1

Try to run "npm i https://github.com/chrfalch/react-native-worklets"
I worked for me

Thanks for your help, installing as your suggested worked.
@patras1 I keep getting
TypeError: Cannot read property 'createContext' of undefined
import { Worklets } from 'react-native-worklets/src/types'

const fibonacci = (num) => {
  'worklet'
  if (num <= 1) return 1
  return fibonacci(num - 1) + fibonacci(num - 2)
}

export const workletTest = async () => {

 const context1 = Worklets.createContext('my-new-thread-1')
 alert('reated context')
  const worklet = Worklets.createRunInContextFn(fibonacci)
  alert("RUNNNING")
const result = await worklet(50)
console.warn(`Fibonacci of 50 is ${result}`)
}

Any idea why?

We just now published to npm; react-native-worklets-core


Additional features

This PR adds three more features and fixes one small typo. Thank you very much for this project, I like the design and idea very much!

Hmm... this is my first time accepting contributions like this.  Have you got the "Allow edits from maintainers" turned off?
See: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork
Thanks

@rosswintle I am sorry, it seems that checkbox does not exist as I accidentally seemed to have forked the repo as an organisation.
See https://github.com/isaacs/github/issues/1681 and https://github.community/t/how-can-we-enable-allow-edits-from-maintainers-by-default/2847/8 and https://github.com/whatwg/html/pull/3881#issuecomment-668467097 as to why I think this is the case.
Would it help if I gave you maintainer access to my fork? Or shall I push and PR again from a private fork?

Don't worry - I'll fix my end somehow. Thanks!

Will merge this and then add on #17 (if you want to see how I modified it).
Key things:

Backticks didn't work in descriptions (this is fixed in #17)
Ordering of items (I'm putting newest at the top)
Some tweaks to the text and resoruce links.

Thanks for getting this researched and added!


add github push task, using util function in pipeline/utils.

I also added a fake repository for testing in test/fake-repos.
Once we had extended the Python and Java GRPC client pipelines in artman to optionally publish generated code, we wanted to extend the Go pipeline to do the same. For Go the standard practice for publishing is simply to upload code to a GitHub repository. Since the task of uploading generated code to a GitHub repository might be useful for other languages as well, we want to add a task that will upload a folder to a GitHub repository (independent of the particular language). Code similar to this will also be used for publishing API protos from google3 to GitHub.
This commit uses the GitHub API's JSON over HTTP methods to create and push the commit, because libraries that wrap the GitHub API did not provide the required methods.
The implementation follows these steps (suggested on the API page), manipulating git internals to publish the output folder:

get the current commit object
retrieve the tree it points to
retrieve the content of the blob object that tree has for that particular file path
change the content somehow and post a new blob object with that new content, getting a blob SHA back
post a new tree object with that file path pointer replaced with your new blob SHA getting a tree SHA back
create a new commit object with the current commit SHA as the parent and the new tree SHA, getting a commit SHA back
update the reference of your branch to point to the new commit SHA

[Current coverage][cc-pull] is 69.89%

Merging [#50][cc-pull] into [master][cc-base-branch] will increase coverage by 0.76%

@@             master        #50   diff @@
==========================================
  Files            28         29     +1
  Lines           881        930    +49
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            609        650    +41
- Misses          272        280     +8
  Partials          0          0

Powered by Codecov. Last updated by [b9b2e6c...4a68fe1][cc-compare]
[cc-base-branch]: https://codecov.io/gh/googleapis/artman/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/googleapis/artman/compare/b9b2e6c0d42a0698b6ee59f4e755e7f2e603f8aa...4a68fe1dd3abc1dc640f828ff8dd983fa4c5d29d?src=pr
[cc-pull]: https://codecov.io/gh/googleapis/artman/pull/50?src=pr

The new fake repo is huge... (is it all of artman?). Can we test against a tiny fake repo containing just one or a few files, each file of only one or a few lines?

Why don't we simply invoke git command instead of using github APIs?

@jmuk Using git command is one option that I once discussed with Mehash before he started implementing. Using git definitely will work for artman but not as simple as maven/pypi is, because the former would require steps like git clone/add/commit/push instead of a single publish step. I would definitely agree that direct use of git command brings lots of benefits. On the other hand, the use of API/library gives us better control and error handling. In addition, the same code will be reused in some other gapic projects where the runtime won't be able to have access to git binary.

@geigerj Yeah, it's all of artman. I agree that we don't need something so big for testing. I'll make the repo smaller on my next commit.

@geigerj @ethanbao @jmuk  PTAL. Updated the commit message and made the fake repo much smaller.

@ethanbao @jmuk PTAL.
I added a commit with responses to your initial comments. I made the fake test directories even smaller. I also made the test code simpler.
I also made a change in functionality after a discussion with Ethan. The previous commit created an entirely new tree, and deleted files that were in the remote repo but not in the local repo. This commit leaves such files alone. It will still overwrite files in the remote repo with content from the local files, however. The commit message has been updated to reflect this.

LGTM

@geigerj @ethanbao PTAL. Responded to comments. Also made other changes (mentioned in commit message)

@geigerj @jmuk PTAL. Tests now mock at os and requests level as suggested. I use a fake directory structure with pyfakefs, so I deleted the fake local repo. I also responded to Jacob's comments on the docstrings.

Two nits, then LGTM

LGTM


Update pkg distribution repos with #110

Can you also update the distribution repos with the fix to #111?
https://github.com/cloudinary/pkg-cloudinary-jquery
https://github.com/cloudinary/pkg-cloudinary-jquery-file-upload

Fixed.

Thanks!


ARTEMIS-2191 Makes PostOfficeImpl::route common paths inlineable

It allows PostOfficeImpl::route to have a better inlining while dealing with common paths that require to be fast.
It includes some optimisation to reduce the allocations on the hot paths.

I will provide soon some number to justify these changes from the perf pov: from code quality pov it is a refactoring to make the code simpler to read in methods that are supposed to be called very often.
The 2 commits are be left there just to simplify the code review: I will squash them into one if it will be approved.
@michaelandrepearce @clebertsuconic Feel free to review it :+1:

@franz1981 can you hold this?
or better.. can you send these optimizations into my new-amqp branch?
I have optimized routing to cache it.. and it would take me longer to refactor your changes in than yourself doing it.

@clebertsuconic No worries I can just wait to review the PR that you will send too, so we keep separate the changes.
Or you are curious to see if it helps your part too?

I have verified that the code isn't changing the current behaviour: the only failures I see are the same intermittent ones we have on CI (on master).

@franz1981 close this please? it will cause me a lot of headache if someone merged it before my branch?
I'm pulling your change with my PR.

@franz1981, I'd still love to see numbers whenever you get the chance to post them. :+1:

@franz1981 your changes (on my branch) are causing a few failures.
I really like your optimizations here. but can you close this. .and resend once I'm done?

@clebertsuconic I have tun the CI and it seems to work has expected (no additional failures), it's strange :O

@jbertram TBH I haven't had the chance to measure it as it deserves, but I have found that it produces much less garbage (several MB/sec). I hope to find some time to do a fair comparison with master

@franz1981 the failures I mentioned are on my branch.
I am asking you to defer your PR until after I merge mine on AMQP performance.
This route change I'm making is a bit more functional than yours. It seems yours is a refactoring while mine had functionality involved.. hence I'm asking you to defer it
Adding your change in top of mine added failues (the one you sent).


Modus Content tree - No enough space between the tree view indicator line and drag and drop icon

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have read the contributing guidelines

Describe the issue
Modus Content tree - No enough space between the tree view indicator line and drag and drop icon
Please refer the below screenshot:

Reduced test cases
No response
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Chrome, Firefox, Microsoft Edge
What is the issue regarding ?
@trimble-oss/modus-web-components
What version of npm package are you using ?
No response
Priority
Medium
What product/project are you using Modus Components for ?
QA
What is your team/division name ?
QA
Are you willing to contribute ?
None
Are you using Modus Web Components in production ?
No response

@soniakaukonen to link the Figma issue

@msankaran0712  https://github.com/trimble-oss/modus/issues/473

@enowak1031 @egunther39 Can you provide guidelines? The figma has an example with drag handle and another one with highlighter. But it doesn't have an example with both. Please advise.
https://www.figma.com/file/wyfVJUHWRMkeCfdB38HFEE/Modus---Web?type=design&node-id=5350-22364&mode=design&t=psa94OESLQgkDfVw-11

https://github.com/trimble-oss/modus/issues/542


dynamic tokens

Great project, can you clearly indicate where the dynamic tokens is implemented in the code

The code for dynamic tokens is as follows:
https://github.com/PKU-YuanGroup/Chat-UniVi/blob/main/ChatUniVi/model/cluster.py


Access to cluster with kubectl from outside through a LB returns "tls internal error" if the hostname of the LB is "too long"

Environmental Info:
k3s version v1.21.7+k3s1 (ac705709)
go version go1.16.10

Node(s) CPU architecture, OS, and Version:
Linux node-a.infra 5.11.0-1022-aws #23~20.04.1-Ubuntu SMP Mon Nov 15 14:03:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Cluster Configuration:
NAME             STATUS   ROLES                       AGE     VERSION
node-a.infra   Ready    control-plane,etcd,master   3d21h   v1.21.7+k3s1
node-b.infra   Ready    control-plane,etcd,master   3d21h   v1.21.7+k3s1
node-c.infra   Ready    control-plane,etcd,master   3d21h   v1.21.7+k3s1

Describe the bug:

Steps To Reproduce:

Installed K3s on the first node with: curl -sfL https://get.k3s.io | K3S_TOKEN=k3s_token_s33d K3S_KUBECONFIG_MODE="644" sh -s - server --cluster-init --disable traefik --disable servicelb
Installed K3s on the other nodes with: curl -sfL https://get.k3s.io | K3S_TOKEN=k3s_token_s33d K3S_KUBECONFIG_MODE="644" sh -s - server --server https://$FIRST_NODE_IP:6443 --disable traefik --disable servicelb

Expected behavior:
Setted up an Internet-facing Network Load Balancer @ AWS to point to the 3 servers using their internal IPs (the LB is in the same AZ of the node server).
The NLB is configured to let TLS/SSL passthrough in a transparent way.
Then configured ~/.kube/config to access to cluster from outside with kubectl.
Expected behavior:
ubuntu@bastion:~$ kubectl get node
NAME            STATUS  ROLES                                  AGE      VERSION
node-a.infra   Ready    control-plane,etcd,master   3d21h   v1.21.7+k3s1
node-b.infra   Ready    control-plane,etcd,master   3d21h   v1.21.7+k3s1
node-c.infra   Ready    control-plane,etcd,master   3d21h   v1.21.7+k3s1

Actual behavior:

ubuntu@bastion:~$ kubectl get node
Unable to connect to the server: remote error: tls: internal error

Additional context / logs:

The host of the NLB is something like:
https://myapp-k8s-kubectl-lb-ce46e65e0732a4b9.elb.eu-central-1.amazonaws.com:6443
BUT if I setup a NLB with a shorter name like:
https://test-lb-159a7101ccb92a28.elb.eu-central-1.amazonaws.com:6443
it works like a charm

After additional tests using CNAME dns record to point the NLB I can confirm that is just matter of length

After additional research pointed out by the great @kladiv it seems an RFC related thing:
https://community.letsencrypt.org/t/ssl-for-a-63-character-max-number-of-characters-domain-name-s/36387/16
The X.509 Subject field “CommonName” is limited to 64 characters per RFC 5280 151, pages 120 and 124
Maybe it should be documented somehow?


feat: Add priorityClass and maxUnavailable to sysdig-agent helm chart

Description
This PR contains two changes that help us in our production environments:

It adds a priorityClass to the sysdig-agent helm chart. It is created and also configured in the DaemonSet. This change is needed, because in situations when there are not enough resources available in the worker nodes, the sysdig-agent is one of the first pods that is preempted. The new priorityClass configures a higher priority so that this does not happen anymore. This is directly copied from how it is already handled for the logdna-agent: https://github.com/terraform-ibm-modules/terraform-ibm-observability-agents/blob/main/chart/logdna-agent/templates/priorityclass.yaml
It adds the 25% maxUnavailable setting to the DaemonSet to speed up the rollout of changes. We have clusters that have more than 300 nodes and rolling out changes to that takes too much time, so we get terraform timeouts. This change solves that problem.

Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

:tada: This PR is included in version 1.29.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Kolnovel domain change

Source information
Kol novel
Steps to reproduce
Kol novel domain got changed
Expected behavior
The source doesnt work
Actual behavior
The domain must be changed to the new one
LNReader version
1.1.19
Android version
One ui 6
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 1.1.19.
[X] I have updated all installed extensions.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

.dist/plugins.json


[Enhancement] get_column_values support read from delta column files

Fixes #20436
get_column_values should read column value from delta column file first. If it doesn't exist, then read value from main segment file.
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

@Mergifyio backport branch-3.1


Metal Trace Changes: #8062 Prefetcher stall_flag and Dispatcher wait clear_count sem change

Hi @pgkeller here are 2 changes discussed a week ago for the trace hang I was facing (now resolved via https://github.com/tenstorrent/tt-metal/issues/7793, this wasn't needed) that we said would be good to submit.
I wil probably squash the 3 related prefetcher-stall changes if you like them.
I went back and forth with the implementation a bit (whether to early return in read_from_pcie() and rely on code in caller function to barrier and increase fence on the cmd being stalled on,  or early return in fetch_q_get_cmds() but add a few lines to end of read_from_pcie() to handle the barrier of the cmd being stalled on, so I left them as seperate commits, in the end I think the version I left it off with is safest (early exit at the top of fetch_q_get_cmds())
Don't have any tests that seem to expose bugs / rely on these changes though.

test_prefetcher smoke test was hanging, probably because EXEC_BUF is not setting stall_flag=1 (MSB in FetchQ entry), so I added assert in cq_prefetcher just now to catch when exec_buf is seen and we are not in STALLED state (we should be) and sure enough it fires.  TODO: Update test_prefetcher.cpp ...somewhere.... to account for this.

all-post-commit CI run: https://github.com/tenstorrent/tt-metal/actions/runs/8962469388
test_prefetcher smoke test was hanging, probably because EXEC_BUF is not setting stall_flag=1 (MSB in FetchQ entry), so I added assert in cq_prefetcher just now to catch when exec_buf is seen and we are not in STALLED state (we should be) and sure enough it fires. TODO: Update test_prefetcher.cpp ...somewhere.... to account for this.

It's a little ugly, but at the end of gen_prefetcher_exec_buf_cmd, as the last line, you could OR the flag into the previous cmd_sizes entry, I think that'll work

Thanks, yeah I arrived at same conclusion.  Updated test for this (and a tiny bit more as per our offline discussion, needed to change cmd_sizes from uint16_t to uint32_t to carry MSB since FetchQ entry is 32 bit right now) and now test is passing again. Squashed changes, should be release candidate now if you can take another final peak plz.

Unfortunately one more issue here:  test_prefetcher smoke test is hanging on ExecBuf when run in "split prefetcher" mode via -spre flag, CI link:
https://github.com/tenstorrent/tt-metal/actions/runs/8986425622/job/24682654291#step:8:1372
CMD:
./build/test/tt_metal/perf_microbenchmark/dispatch/test_prefetcher -t 1 -i 5 -x -spre

With watcher, It hits my assert to show that the "stall flag" is missing from FetchQ entry MSB. My test change is somehow not getting applied properly in split prefetcher mode.  I have no experience with split prefetcher mode yet, so I don't know what fix is (test fix or prefetcher kernel fix).  Got this feedback from @pgkeller :
So, split prefetcher is splitting to the _h and _d versions.  The issue is that w/o a stall, prefetch_h could keep sending cmds to prefetch_d while prefetch_d is trying to use the same buffer for exec_buf commands coming from dram.  So, prefetch_h stalls w/ the exec_buf and prefetch_d release it at the end of the trace.  In test_prefetcher, this is handled in gen_prefetcher_exec_buf_cmd_and_write_to_dram (I wish I had more comments there).  Guessing something is going wrong w/ this pathway

Trying to look more, open to suggestions.

I pushed a possible fix, change to cq_prefetch.cpp that seems to work (but I don't know why), can you double check if it's the right fix, @pgkeller  ?

Hey @pgkeller, wanted to circle back here.. my changes passed all-post-commit after I submitted that fix, you mentioned offline it looked good, but that split-prefetcher doesn't need the stall feature.  Should I go ahead and merge, or leave it open and someone can work on making these changes not apply to split prefetcher somehow?  Don't think I'll get a chance to spend anymore time here soon.
FYI @tt-aho

Let's sit on this for a bit - there are some other changes coming for prefetcher that interact and I'm not sure how that will all settle out

These changes were merged with a different pr that needed these changes to fix tests.


Feature Request: Enddate for lending

Hi, can you please implement a enddate for lending?
The bot should automatic decrease the lendingtime till the specific date is reached ( - 2 days min lending time)
So, for example, I can have on 01.05.2016 all coins available.
thx

Good one, I should implement it.

If there are 40 days left until the deadline, but the bot wants to lend some high rate coins for 60 days, should it lend at 40 days or the 2 day default?

I agree, should be 40 in that case.


[SPARK-47851][CONNECT][DOCS] Document pyspark-connect package

What changes were proposed in this pull request?
This PR proposes to document the installation for pyspark-connect package
Why are the changes needed?
So the end users can install pure Python library.
Does this PR introduce any user-facing change?
Yes, it documents pyspark-connect package, and links the quickstart as well.
How was this patch tested?
Manually built the docs and checked:
cd python/docs
make clean html
open build/html/index.html

Was this patch authored or co-authored using generative AI tooling?
No.

Locally tested.
Merged to master.


Usable Key and Mouse Names

Add in a set of constants for all of the keys on the keyboard, so that PIXI.input.getKeyDown() can actually use PIXI.mouse.PRIMARY or PIXI.key.SPACE.
Current usage for spacebar: PIXI.input.getKeyDown(" ")
Desired usage for spacebar: PIXI.input.getKeyDown(PIXI.key.SPACE)
Current usage for primary mouse button: PIXI.input.getMouseDown(0)
Desired usage for primary mouse button: PIXI.input.getMouseDown(PIXI.mouse.PRIMARY)

For keyboards, event.code is way more usable (and actually gives access to the numpad, if present). Documentation can explain this for users of Zephyr.


Personal BCeIDs logging into SSO do not contain their email address

What's the issue?
Personal BCeID SAML payloads do not contain the email address while logging into SSO.
How do I know if I have the issue?
If your application has users which are logging in with a Personal BCeID and presented with an error message similar to this issue: OCP-SSO 68. Issue does not impact basic or business BCeID users.
Why are emails not being passed?
We have met with the WAM team and they have provided the following:

It appears to be by design. Back in 2009 when Personal BCeID was introduced it was decided that in order to ensure protection of personal information for personal BCeID PI such as email addresses, first name and last name would not be populated in BCeID’s Active Directory. If an application required those attributes they had to make web service calls to BCeID directly.

What do I do if my realm has an issue?
As recommended in ocp-sso issue 68:

Ask a realm admin to change the following login settings:
Realm Settings -> Login tab -> Login with Email -> set to false
Duplicate Emails -> set to true

Moving to closed as personal bceid is no longer offered


Installation

How do you install/run this?

https://github.com/yubiuser/pihole_adlist_tool/issues/9

I get ./pihole_adlist_tool is a directory

change into the directory
cd pihole_adlist_tool
make the script executable
chmod +x ./pihole_adlist_tool
and start it
./pihole_adlist_tool


Adds license cache

I don't understand if it's needed, sometimes the licence check complains, but most of the time it does not, do you understand why?

@aduminuc / @klyr
So the reason that license check complains sometimes is due to GitHub rate limit. As I understand it license check used GH token to fetch repositories and look for license file. GH sometimes blocks those fetch actions even when using access token. (https://github.com/goph/licensei#github-authentication)
It make sense to maintain a cache to avoid repetitive fetch calls to the same repo over and over, i didn't had time to research it more.

Resurrect this PR.


[162] Issue #162 - June 18, 2020

To contribute to this issue, simply leave a comment here. Please also review our contributing guidelines.
The current draft for this issue in _drafts/. If you want to contribute directly, feel free to open a pull request.

https://twitter.com/slava_pestov/status/1271259363693527041

Really extensive discussion about async/await https://forums.swift.org/t/await-async-part-deux/37491/30

https://twitter.com/daveverwer/status/1271447550936186882
https://swiftpackageindex.com/
https://forums.swift.org/t/introducing-the-swift-package-index/37512

https://wwdcwatch.party/
https://github.com/twostraws/wwdc/blob/main/README.md
by @twostraws & Co

SSWG-0013: Swift AWS Lambda Runtime
https://forums.swift.org/t/sswg-0013-swift-aws-lambda-runtime/37466

Running many operations, concurrently, but in batches

So here's some more example code for a question that I've been asked repeatedly: How can I run a large number of operations whilst limiting this to N running at the same time. You may want to do that if you have to do many HTTP requests to a website but you don't want to overload the website and say do only 10 at the same time.

https://forums.swift.org/t/running-many-operations-concurrently-but-in-batches/37518

Static Thread Safety
https://forums.swift.org/t/static-thread-safety/37542/2

https://twitter.com/k__mahar/status/1270384667565400066

Excited to announce that we've released v1.0 of the MongoDB Swift driver!
https://www.mongodb.com/blog/post/announcing-release-official-swift-driver

Seem to have missed that one for the last issue :(

https://www.wwdcnotes.com/

A way to check for unique storage in standard library collections
https://forums.swift.org/t/a-way-to-check-for-unique-storage-in-standard-library-collections/37595

SSWG-0014: Swift Backtrace
https://forums.swift.org/t/sswg-0014-swift-backtrace/37602