[BUG] Background notifications are not catched

Describe the bug
I'm integrating Azure Notification Hubs in an iOS app. I use the azure notification hub portal to send a notification to my app.
While the app is in foreground the notification is received and the function "func notificationHub(didReceivePushNotification:)" is called. I'm able to read the payload.
But while the app is in background, the notification is displayed by the OS as a banner, when I click on it, then the app is put back to foreground but the function "func notificationHub(didReceivePushNotification:)" is never called.
I've tried with the SwiftUI sample app, and I have the same behaviour.
Could this be because of the Token based authentication to the APNs ?
Is the Test Send function able to send background notifications ?
Exception or Stack Trace
The first time I click on the banner (log from the sample app):
2020-09-23 16:48:40.186513-0400 SampleNHAppSwiftUI[6769:2781293] [connection] nw_read_request_report [C1] Receive failed with error "Software caused connection abort"

To Reproduce
Steps to reproduce the behavior:

Go to Azure notification Hub portal / Test Send
pick Apple for the platforms
leave the payload as is
send the notification
the notification is sent and received

Code Snippet
in the AppDelegate:
MSNotificationHub.start(connectionString: connectionString, hubName: hubName)

in the SceneDelegate
MSNotificationHub.setDelegate(self)
MSNotificationHub.setLifecycleDelegate(self)

...

func notificationHub(_ notificationHub: MSNotificationHub!, didReceivePushNotification message: MSNotificationHubMessage!) {
    NSLog("Received notification: %@; %@", message.title ?? "<nil>", message.body ?? "<nil>")
}

Expected behavior
While in background, the notification is displayed as a banner. When the banner is clicked, the app is put in foreground and the notification payload is accessible in the function "func notificationHub(didReceivePushNotification:)"
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: iOS 14
IDE : Xcode 12
Version of the Library used: 3.1.1
the method swizzling is still activated
I'm using a Token based authentication with the APNs (not a Certificate method)

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ x] Bug Description Added
[ x] Repro Steps Added
[ x] Setup information Added

[UPDATE]
The only way I can make it work is by making the AppDelegate conform to UNUserNotificationCenterDelegate and call UNUserNotificationCenter.current().delegate = self before starting MSNotificationHub.start
Do you confirm ?

@twittemb to confirm, have you enabled Background Modes and Remote Notifications as noted in the [Pushing Background Updates to Your App]?(https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app)

@mpodwysocki
Yes. In fact I have done my tests with the SwiftUI sample app (adapted to my notification hubs data).
I have remade the test this morning and If I don't add the UNUserNotificationCenterDelegate conformance and the delegation in the AppDelegate, then background notifications are not read in the application.
Once I add that, I have foreground and background notifications (for silent notifications as well as alert notifications)

@twittemb will investigate the other scenarios.  The test send I believe does not do the proper APNS headers for content-available which is required here.

Additionally, the notification’s POST request should contain the apns-push-type header field with a value of background, and the apns-priority field with a value of 5. The APNs server requires the apns-push-type field when sending push notifications to Apple Watch, and recommends it for all platforms. For more information, see Create and Send a POST Request to APNs.

I guess there might be an issue with the swizzling because we must make the AppDelegate conform to UNUserNotificationCenterDelegate and set the delegate for UNUserNotificationCenter.current().delegate = self.
Overall I’ve made everything work but there is some plumbing to do that is not specified in the documentation.

@twittemb It's an issue with our sample apps as they should be setting the delegate immediately during application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

Thanks for the follow up. So I guess we can close this issue ?
I think it could be nice to amend the README to reflect that, wouldn't it ?

If I may, I think the Swift / SwiftUI sample apps should be updated also right ?

@twittemb they will be updated, just verifying through review that this is the correct approach before I merge the PR

ok great, thanks.
For the issue https://github.com/Azure/azure-notificationhubs-ios/issues/101, Am I right when I must deactivate the method swizzling to access a User response to a notification with a category (with custom actions) ?

@twittemb you do not have to disable swizzling if you don't want to, no, as I show in my examples as I get the actions and save them to a variable as noted in the AppDelegate

@mpodwysocki Hi,
Is there a way to register to the APNs for Provisional Push with the Azure NH SDK ?
Thanks.

@twittemb let's close this issue and please open a feature request for Provisional Push.


FeaturePickListener not returning properties

TO REPRODUCE THE ISSUE, FOLLOW THESE STEPS:

Set FeaturePickListener on MapController
Set TouchInput.TapResponder on MapController
Pick feature onSingleTapConfirmed with given x,y
Add MapData:mapData = mapController.addDataLayer("mz_search_result");
Add properties to mapData:

HashMap<String, String> properties = new HashMap<>();
properties.put("searchIndex", "1");
mapData.addPoint(point, properties);

Touch search result icon

RESULT:

Observe that returned properties in FeaturePickListener are empty

EXPECTED RESULT:

Expect properties to contain "searchIndex" : "1"

ENVIRONMENT:

Galaxy S6 Edge, Android 6.0.1
Tangram 0.4.6 and newer
Last working tangram version was 0.4.5

Had a chat with @sarahlensing offline about this.
Post 0.4.5 we added the ability to pick any feature drawn on the map, and with this change featurePickListener was modified to work for any non-point (text) styled geometry and labelPickListener was added for any point(/text) styled geometry (even for MapData sources).
In the above example and in the android sdk, featurePickListener was being used with points styled MapData, which should work with labelPickListener.
We can probably discuss ideas for the sdk to provide an unified interface for this for the sdk users.
Closing this issue.


Chromy breaking when an element has position absolute css property

When a page under test has an element with position absolute property, and this element has no relative parent, BackstopJS or Chromy (i dont know) breaks.
Here`s the output:
ChromyJS returned an unexpected error while attempting to capture a selector. TypeError: Cannot read property 'length' of null at Chromy._screenshotMultipleSelectors$ (/usr/local/lib/node_modules/backstopjs/node_modules/chromy/dist/index.js:1388:27) at tryCatch (/usr/local/lib/node_modules/backstopjs/node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js:62:40) at Generator.invoke [as _invoke] (/usr/local/lib/node_modules/backstopjs/node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js:296:22) at Generator.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/backstopjs/node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js:114:21) at tryCatch (/usr/local/lib/node_modules/backstopjs/node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js:62:40) at invoke (/usr/local/lib/node_modules/backstopjs/node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js:152:20) at /usr/local/lib/node_modules/backstopjs/node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js:162:13

thank you for reporting.
could you attach a minimal reproduction code?

To contextualize:
I`m testing visual regression (with BackstopJS) against an application that uses react with style components
Here's the code for the issued component:
export const Wrapper = styled.div`
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;`

Our paliative solution was to put a position relative on the body.
Also, if I remove the position absolute from the style, the test works fine.

I'm using chromy in backstopjs as well and can confirm that adding:
body {
  position: relative;
}

To the page I was testing made these errors go away. Thanks @andrepm06 for the tip!


Support for react ^17?

Will this be updated for use with React 17?
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>|| ^17.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/@material-ui/core
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/ra-compact-ui
npm ERR!       ra-compact-ui@"*" from the root project
npm ERR!   1 more (react-dom)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/ra-compact-ui
npm ERR!   ra-compact-ui@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

what is the solution for this . I can't able to install ra-compact-ui

Hey guys! Sorry for the late response and delayed support of the library! I'm back on it so it will get upgraded very soon - stay tuned and thanks for taking the time to drop an issue!

Any update to this?

Tested with 17 and works. Would you except a PR or since it's so simple, just change the dependencies?

also experiencing this - is there any updates or did anyone find a solution?


feature: IconicFonts support

Did you check the docs?

[X] I have read all the lazy.nvim docs

Is your feature request related to a problem? Please describe.
Yes, I’d like to use different icons in the lazy.nvim config for better alignment and variety.
Describe the solution you'd like
Support additional patched fonts to provide alternative icons.
Describe alternatives you've considered
Add an option in lazy.nvim to support IconicFonts for using alternative icons.
Additional context
IconicFonts will support most Neovim plugins over time.
Alternative icons in lazy.nvim could look like this image:

well the icons are configurable so what exactly is the thing you want here?
add a preset for these?
if so I think it doesn't make too much sense to add such a thing.
I'd just open a pr with an example config in the config docs like the one with emojis.

I thought it might be useful to add these to the config for more icon choices, but now think I was wrong.

@max397574 If it doesn't make sense, it's because the patched fonts aren't compatible with NerdFonts code points right now. So, I'll close this issue, and once they are compatible, I'll submit a PR to mention that IconicFonts (optional) in the Getting Started requirements section. Does that make sense?


Some Suggestions for some code improvement and a question related to removed functions

Hello there again!
I am actively looking at this and i noticed that the code has changed a lot in the last year or so. Glad to see you are working on the project!
There's some new things i found that are kind of difficult to understand just at first glance and i would recommend renaming a lot of the variables that are like i or H or F or E or something like one letter variables to be more descriptive.
Just as an example, i am not sure what the bottom lines do exactly.
like what values do s, J, Z, E, m represent?
window.heap = (J, s) => {
                let E;
                switch (J) {
                    case Int8Array: E = Module.HEAP8; break;
                    case Int16Array: E = Module.HEAP16; break;
                    case Int32Array: E = Module.HEAP32; break;
                    case Uint8Array: E = Module.HEAPU8; break;
                    case Uint16Array: E = Module.HEAPU16; break;
                    case Uint32Array: E = Module.HEAPU32; break;
                    case Float32Array: E = Module.HEAPF32; break;
                    case Float64Array: E = Module.HEAPF64; break;
                }
                const Z = J.BYTES_PER_ELEMENT; const m = Module._malloc(s * Z);
                const a = Array(1 + s); a[0] = ({ s, J, Z, E, m, free: () => Module._free(m) }); // ???
                for (let i = 0; i < s; i++) a[i + 1] = ({ p: m + (i * Z), get v() { return E[m / Z + i]; } }); // ????
                return a;
            };

There are some things that can be cleaned up too -- like:
switch (lastError) {
                    case FPDF.LAST_ERROR.SUCCESS:
                        return "success";
                        break; // break isn't needed because this is unreachable since there is a return above it. :)
                    case FPDF.LAST_ERROR.UNKNOWN:
                        return "unknown error";
                        break; // break isn't needed because this is unreachable since there is a return above it. :)
                    case FPDF.LAST_ERROR.FILE:
                        return "file not found or could not be opened";
                        break; // break isn't needed because this is unreachable since there is a return above it. :)
                    case FPDF.LAST_ERROR.FORMAT:
                        return "file not in PDF format or corrupted";
                        break; // break isn't needed because this is unreachable since there is a return above it. :)
                    case FPDF.LAST_ERROR.PASSWORD:
                        return "password required or incorrect password";
                        break; // break isn't needed because this is unreachable since there is a return above it. :)
                    case FPDF.LAST_ERROR.SECURITY:
                        return "unsupported security scheme";
                        break; // break isn't needed because this is unreachable since there is a return above it. :)
                    case FPDF.LAST_ERROR.PAGE:
                        return "page not found or content error";
                        break; // break isn't needed because this is unreachable since there is a return above it. :)
                    default:
                        return "unknown error";

And one last thing i see there is an open issue for related to the Bitmap memory leak (#33). I see that there was a function or two removed from the code and possibly some documentation around how to actually run the alternative would be helpful. I am not exactly sure how to get a pdf to render in this new way.
This function was removed:
PDFium_GetRenderPageDataSize(doc, pageNumber)

I am not sure how to actually get the render page data size now with these new functions. So any help in that sense would be great. I am able to execute basically every other function on FPDF/Pdfium
EDIT - I had this working in an earlier version using that other function, utilizing the pdfium.wasm file and the glue code. Pretty sure that was even back in January I updated it and it is working on that version. But i need to update it to stay in sync with the code.

Hi,
We are using the functions direct from PDFium C functions without need create custom code.
// index, width, height
getRender(i = 0, w, h) {
  const flag = FPDF.REVERSE_BYTE_ORDER | FPDF.ANNOT;
  const heap = Module._malloc(w * h * C);

  for (let i = 0; i < w * h * C; i++) {
      Module.HEAPU8[heap + i] = 0;
  }

  const bmap = FPDF.Bitmap_CreateEx(w, h, F, heap, w * C);
  const page = FPDF.LoadPage(this.wasmData.wasm, i);

  FPDF.Bitmap_FillRect(bmap, 0, 0, w, h, 0xFFFFFFFF);
  FPDF.RenderPageBitmap(bmap, page, 0, 0, w, h, 0, flag);
  FPDF.Bitmap_Destroy(bmap);
  FPDF.ClosePage(page);

  return heap;
}

Ok so the for loop is where my coffee is failing.
for (let i = 0; i < w * h * C; i++) { // i is already defined
      Module.HEAPU8[heap + i] = 0; // which i is this supposed to be using?
  }

In this instance, i is already defined in the above function method signature. So what value is that supposed to be?

Okay so i think i got a little farther. I have extracted all your classes to separate files and making this make more sense to me. But the variable names are still kind of arbitrary to me. I am having some issues figuring out what some of the single character variables mean. I see on this page that the C is supposed to be first_scan but i don't know what that means exactly. When i set it to null, it actually runs through, but it messes with the rest of the functions and the loops don't get hit. If i keep it at your default value of 4 then it doesn't run at all. Any guidance as to what the variables mean would be helpful.
Thank you!
Code i am talking about:
// index, width, height
getRender(i = 0, w, h) {
  const flag = FPDF.REVERSE_BYTE_ORDER | FPDF.ANNOT;
  const heap = Module._malloc(w * h * C); // <<<<<< here what is C? I know you declare a global C and set it C = 4, but that isn't working in my code.

  for (let i = 0; i < w * h * C; i++) {
      Module.HEAPU8[heap + i] = 0;
  }

  const bmap = FPDF.Bitmap_CreateEx(w, h, F, heap, w * C);
  const page = FPDF.LoadPage(this.wasmData.wasm, i);

  FPDF.Bitmap_FillRect(bmap, 0, 0, w, h, 0xFFFFFFFF);
  FPDF.RenderPageBitmap(bmap, page, 0, 0, w, h, 0, flag);
  FPDF.Bitmap_Destroy(bmap);
  FPDF.ClosePage(page);

  return heap;
}

Okay well i got it. It's not rendering as pretty as it was before in the previous version. Any tips to get it not to shift so much? Not sure why it's doing that. Also when i change pages, it is distorting the image on the canvas. I am playing with that, but it's rendering in like 5ms on each image and cleaning the heap. So it's managing memory pretty well in this way.

Distorted image. (every page turn it gets worse)

Hi,
@cetinsert can you help with these questions?
Thanks.

Yeah i would imagine doing this with a subArray() would be better, no?
new Uint8ClampedArray(
      this.Module.HEAPU8.subarray(
        someData
       somdData.length
      )
    );

As for all the single-letter characters in
const heap = (J, s) => {
  let     E;
  switch (J) {
    case    Int8Array: E = Module.  HEAP8; break;
    case   Int16Array: E = Module. HEAP16; break;
    case   Int32Array: E = Module. HEAP32; break;
    case   Uint8Array: E = Module. HEAPU8; break;
    case  Uint16Array: E = Module.HEAPU16; break;
    case  Uint32Array: E = Module.HEAPU32; break;
    case Float32Array: E = Module.HEAPF32; break;
    case Float64Array: E = Module.HEAPF64; break;
  }
  const  Z = J.BYTES_PER_ELEMENT;          const m           =  malloc(s * Z);
  const  a = Array(1 + s); a[0] = ({ s, J, Z, E, m, free: () => free(m) });
  for (let i = 0; i < s; i++) a[i + 1] = ({ p: m + (i * Z), get v() { return E[m / Z + i]; } });
  return a;
};
const H = (t, s, d) => f => { // type size default
  const [ m,  ...a ] = heap(t, s);
  const v = f(...a.map(x => x.p)); if (!v) { m.free(); return d; } // !v :: C* return value not 0
  const r =      a.map(x => x.v) ;           m.free(); return r;
};

...

i am having some issues with the subarray and how to format it, but i do think it would be faster. I was using that in a previous iteration but the data was different.

Okay well i got it. It's not rendering as pretty as it was before in the previous version. Any tips to get it not to shift so much? Not sure why it's doing that. Also when i change pages, it is distorting the image on the canvas. I am playing with that, but it's rendering in like 5ms on each image and cleaning the heap. So it's managing memory pretty well in this way.

Distorted image. (every page turn it gets worse)

@cetinsert do you know why this is happening? The image distortion? I can get an initial page to work, but when i change pages, it is like the bitmap doesn't get cleared or something or fails to render it properly.

Are you using pdfium.wasm in this project?
https://github.com/cetinsert/cetinsert

@quincarter, @paulocoutinhox I hope I have answered all the questions.

Thanks, you are TOP!

As for all the single-letter characters in
const heap = (J, s) => { // J = JS array type; s = typed array size
  let     E;
  switch (J) {
    case    Int8Array: E = Module.  HEAP8; break;
    case   Int16Array: E = Module. HEAP16; break;
    case   Int32Array: E = Module. HEAP32; break;
    case   Uint8Array: E = Module. HEAPU8; break;
    case  Uint16Array: E = Module.HEAPU16; break;
    case  Uint32Array: E = Module.HEAPU32; break;
    case Float32Array: E = Module.HEAPF32; break;
    case Float64Array: E = Module.HEAPF64; break;
  }
  const  Z = J.BYTES_PER_ELEMENT;          const m           =  malloc(s * Z);
  const  a = Array(1 + s); a[0] = ({ s, J, Z, E, m, free: () => free(m) });
  for (let i = 0; i < s; i++) a[i + 1] = ({ p: m + (i * Z), get v() { return E[m / Z + i]; } });
  return a;
};
const H = (t, s, d) => f => { // type size default
  const [ m,  ...a ] = heap(t, s);
  const v = f(...a.map(x => x.p)); if (!v) { m.free(); return d; } // !v :: C* return value not 0
  const r =      a.map(x => x.v) ;           m.free(); return r;
};

There's some new things i found that are kind of difficult to understand just at first glance and i would recommend renaming a lot of the variables that are like i or H or F or E or something like one letter variables to be more descriptive.

Just as an example, i am not sure what the bottom lines do exactly.
like what values do s, J, Z, E, m represent?

I am responsible for this bit of the code. Feel free to revise it as you see fit. I would prefer you keep the neat 2d alignment in place though.
inside heap:

J: JS type
E: emscripten type
Z: byte siZe of the array element type (..., UInt8 → 1; ... UInt32 → 4, ...)
s: array element size
i: array element index

inside H (which allocates heap space; calls f on it and frees the memory afterwards):

f: function to call on the temporary heap allocation

Also thanks a ton for the explanation here! :) this helps a lot

Are you using pdfium.wasm in this project? https://github.com/cetinsert/cetinsert

Yes. Exactly the same artefact from this repository. Custom JS bindings.
When I detect a leak, I nuke it and rebind ahead of time. That way I can keep rendering ad infinitum.

I have a similar solution in a web component in production on our app but an earlier version.

The difference in pdf.js and pdfium is the inherent way that WASM is compiled by the browser. Low end devices still struggle with pdf.js rendering. I have a side by side comparison in a video where PDF.js takes 12 seconds to render page 1 and pdfium takes 20ms. 6x CPU throttling and slow 3G Network.

I know. Also just updated https://github.com/paulocoutinhox/pdfium-lib/issues/71#issuecomment-1136147487 .

As for unfriendliness, this guy tops it all: https://셅.works/posts/mupdf/ though.

Hi,
I will refactor all and remake a lot of things in this project. And when i start it, i will change this too.
Im only finishing another open source project that is a requirement for me.
Stay tuned here and feel free to donate to help project development.
Thanks.

Hi,
All problems was fixed in new release.
You can check here:
https://github.com/paulocoutinhox/pdfium-lib/releases/tag/5407
The demo is here:
https://pdfviewer.github.io/
Can you add these new code to web viewer?
Feel free to donate to help project development.
Thanks.

Everything is ok? Left something?

Everything is ok? Left something?

Hi there! I have since left the project I was working on that implemented this solution. I have some of this stashed locally but it's been a while! I can try to pick it back up when I free up.

Ok, so i will close. Feel free if you need something. Thanks.

Hi,
I have updated everything.
You can now use the latest version.
Thanks.


[Container] Fix #16499: az container create: fix handling of return value from network_profiles.create_or_update

Description
This pull request fixes issue 16499
The implementation of 'az container create' is expecting the wrong return value from NetworkProfilesOperations.create_or_update().
NetworkProfilesOperations.create_or_update() is documented here:
https://docs.microsoft.com/en-us/python/api/azure-mgmt-network/azure.mgmt.network.v2020_06_01.operations.networkprofilesoperations?view=azure-python#create-or-update-resource-group-name--network-profile-name--parameters----kwargs-
Testing Guide
As described in issue 16499, run a command similar to the following using an empty resource group:
az container create --registry-username reguser  --location eastus  --registry-password regpassword  --name container-name  --resource-group container-resource-group  --image image:tag  --vnet container-vnet  --vnet-address-prefix <IP_ADDRESS>/16  --subnet container-subnet <IP_ADDRESS>/24  --subnet-address-prefix <IP_ADDRESS>/24
The command will fail the first time it is run because the azure-cli is expecting a different return value. The command will create the vnet, subnet, and network profile before failing. This allows the command to succeed the second time it is run.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

HI Everyone,
Is there anything I can do to help get this change approved? Maybe there's something I've missed.
Thanks.


Fix mediaflux query to include all children and sub-collections

This more closely mimics having specified collection in the top level of the xml

@carolyncole it looks like there is a reason we are not using the :collection parameter to query. There is a bug in Mediaflux that prevents pagination from working when we use the :collection parameter.
See note here: https://github.com/pulibrary/tiger-data-app/blob/main/app/models/mediaflux/http/query_request.rb#L51-L53
You can reproduce the bug as follows:
asset.query :collection 1098 :idx 3 :size 3
 :id -version "1" "1099"
    :id -version "1" "1100"
    :id -version "1" "1101"
    :cursor
        ...

asset.query :collection 1098 :idx 4 :size 3
    :id -version "1" "1099"
    :id -version "1" "1100"
    :id -version "1" "1101"
    :cursor
        ...

Notice how Mediaflux returned the exact same asset ids even when we asked for the second page of results.

@carolyncole it looks like there is a reason we are not using the :collection parameter to query. There is a bug in Mediaflux that prevents pagination from working when we use the :collection parameter.
See note here: https://github.com/pulibrary/tiger-data-app/blob/main/app/models/mediaflux/http/query_request.rb#L51-L53
You can reproduce the bug as follows:
asset.query :collection 1098 :idx 3 :size 3
 :id -version "1" "1099"
    :id -version "1" "1100"
    :id -version "1" "1101"
    :cursor
        ...

asset.query :collection 1098 :idx 4 :size 3
    :id -version "1" "1099"
    :id -version "1" "1100"
    :id -version "1" "1101"
    :cursor
        ...

Notice how Mediaflux returned the exact same asset ids even when we asked for the second page of results.

@hectorcorrea I did not change it to :collection because there is a bug.  :collection queries both the collection and all sub collections, so the old code was not equivalent to :collection. You need asset in collection or subcollection of to mimic the responses you getback when :collection is included.  This is ONLY an update to make the work around in our code work the same way as the :collection. I am unsure what your objection is.  This is truely confusing...  There is still the additional where clause.  I abosolutely did not change that.  Otherwise the PR would show it...


Add internal accessor for connection

$ ./gradlew :native-image-tests:compileKotlin
Starting a Gradle Daemon, 1 stopped Daemon could not be reused, use --status for details

> Task :native-image-tests:compileKotlin
w: /Users/yschimke/workspace/okhttp/native-image-tests/src/main/kotlin/okhttp3/SampleTest.kt: (64, 18): Parameter 'mode' is never used
w: /Users/yschimke/workspace/okhttp/okhttp/src/test/java/okhttp3/SessionReuseTest.kt: (58, 9): Name shadowed: tlsVersion
w: /Users/yschimke/workspace/okhttp/okhttp/src/test/java/okhttp3/SocketChannelTest.kt: (123, 18): 'supportsTlsExtensions(Boolean): ConnectionSpec.Builder' is deprecated. since OkHttp 3.13 all TLS-connections are expected to support TLS extensions.
In a future release setting this to true will be unnecessary and setting it to false
will have no effect.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.8.1/userguide/command_line_interface.html#sec:command_line_warnings

@swankjesse @JakeWharton requesting post review - want to get back to some working CI builds ASAP. Apologies.


await till all tasks completed

Maybe the doc is just lacking of this but how does one await the pool until all tasks completed?
Like this?
loop {
    if let Some(busy) = pool.busy_permits() {
        if busy == 0 {
            break;
        }
    }
    tokio::time::sleep(Duration::from_millis(100)).await;
}

Good day,
spawn results are regular futures join handles, so you can use any typical method.


Use traditional bind syntax in README

https://github.com/zenparsing/es-function-bind/issues/24#issuecomment-141102543

Thanks!


update font-fontawesome.rb

Thank you for the contribution. It needed some fixes, so they were made in ce267b1b155c3853fc4c0615730f00f925cab061. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


Extract Install Time during RPM analysis

Expands rpm metadata analysis to extract installtime & convert to ruby date object.

@chessbyte updated

@movitto Looks like the migration code is failing.  Please review Travis

Is there a BZ for this?  If so, can you make sure it's in the commit messages?

@Fryguy updated

I can see clearly now that travis is green!
@chessbyte @Fryguy  updated

@roliveri @chessbyte @Fryguy verified rpm install date is extracted & stored in db from UI fleece. Guest Applications page doesn't currently display install date but I'd imaging that'd be easy to add if needed. Should be ready for merge


[theme-watch] Using sed with -i caused a LOT of temp files to be uploaded

What caused it?
I ran this command to do a quick and dirty recursive find/replace:
find ./ -type f -exec sed -i -e 's/foo/bar/g' {} \;
Results?
About 400 dead files uploaded to the shop, such as:
Recieved Update event on snippets/sedWqDfOb
[x 400ish]

There's no way to remove them with the watcher because they don't exist locally. Thoughts on how to remove these files without manually having to delete 400 of them by hand?

Pretty sure the changes in 0.0.4 resolve this. If it's not the case, please feel free to reopen the issue.

Pretty sure the changes in 0.0.4 resolve this. If it's not the case, please feel free to reopen the issue.


Use the new "reporttelemetry" event in more viewer components

By utilizing the recently added "reporttelemetry" event, we can avoid having to manually pass in externalServices to a number of viewer components.

/botio-linux preview


Update Native agora sdk

When can we have latest native sdk in flutter. ?

I will publish a new version this week, but the API is different from the old version. You can choose whether to upgrade or not.

the prerelease version has been published


Bring Vim9 Variable Arguments to airline/themes

Vim9 now has variable arguments :h vim9-variable-arguments. This change refactors the current capabilities with vim9script variable arguments.
Now, there is no easy way to test this. I had to

clone vim-airline
use the local copy as my plugin — Plug ~/path/to/locally-clonned/vim-airline
for every change…

copy-paste the scenarios into an echo to check that the refactor works as should

I had to resort to this sort of testing because https://github.com/thinca/vim-themis/issues/74 is yet unresolved.
My test cases are below
generate_color_map with 6 variables
:echo airline#themes#generate_color_map([ 1, 1, 1, 1, '1' ], [ 2, 2, 2, 2, '2' ], [ 3, 3, 3, 3, '3' ], [ 4, 4, 4, 4, '4' ], [ 5, 5, 5, 5, '5' ], [ 6, 6, 6, 6, '6' ])

generate color_map with 3 variables
:echo airline#themes#generate_color_map([ 1, 1, 1, 1, '1' ], [ 2, 2, 2, 2, '2' ], [ 3, 3, 3, 3, '3' ])

get_highlight with extra arguments
:echo airline#themes#get_highlight('Foo', 'bold', 'italic')

get_highlight2 with extra arguments
:echo airline#themes#get_highlight2(['Foo','bg'], ['Foo','fg'], 'italic', 'bold')

cool thanks. Great to see some changes in vim9 script :)


Bing Channel - Submission In Review for Months

Bot Info

SDK Platform:  Node.js
SDK Version:  Latest
Active Channels:  Bing, Slack, Skype, Messenger, Email, Cortana
Deployment Environment:  Azure Bot Service

Issue Description

I submitted my bot for Bing channel through Bot Framework website. However, after about 2 months, it still says InReview under the "Published" column. In the documentation, it says I should expect an answer after a few business days.
I haven't received any kind of confirmation e-mail since I submitted for review.
The website does not allow me to submit for publishing again. The button is faded out.
Is the 2 months of waiting time normal? If not, how can fix this issue?
Thanks.
Code Example

No code involved for this issue.
Actual Results

Good afternoon.
Could you please provide your App Id?
Regards,
Francisco

Francisco, thank you for following up. Here is my App ID:
22bf42ae-86d0-45c1-8f6d-570bc2afa149
Thanks,
Yusuf

Hi muhammedyusuf-sermet,
Bing team is currently reviewing your bot. You can expect an answer soon.
I am going to close this issue. Feel free to reopen if necessary.
Francisco

Seems that your bot is not working properly / unresponsive.

I reviewed what caused that issue on Bing, and found out that it is about my organization's Azure subscription. We fixed it now. Thank you for the feedback.
Yusuf


Create unit test coverage report

Instead of printing coverage data to stdout, compile detailed coverage
information in a report and use a second tool to show a human-readable,
per-function summary.
The detailed coverage report file can be uploaded to SonarCloud.
Relates-to: #869
Relates-to: stolostron/backlog#22706
Signed-off-by: Daniel Farrell<EMAIL_ADDRESS>

The test that verifies that unit test failures result in job failures is correctly-failing because the go tool cover command's exit status is now last/reported, not the go test command.
[19:06:23.152] [shipyard]$ go tool cover -func unit_coverage.out
total:	(statements)	0.0%
[19:06:23.307] [shipyard]$ exit 0
Successfully remade target file 'unit'.
[19:06:23.310] [shipyard]$ make --debug=b unit
Error: Process completed with exit code 1.

The MD lint error will be fixed by https://github.com/submariner-io/shipyard/pull/874.

Someone should add the unit-projects label once this is ready to merge.


nccl: 2.12.10-1 -> 2.16.5-1

Description of changes
Version bump.
Passthru cudaPackages instead of cudatoolkit. No users in Nixpkgs currently so nothing breaks.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Failures

[x] tensorflow

Unrelated and reproducible on master.
https://gist.github.com/ConnorBaker/3ab689a988e0bb157b7312ae33bf33a5

Future work

Refactor to use cudaPackages instead of cudatoolkit and set NVCC_GENCODE using cudaFlags.
Refactor to use autoAddOpenGLRunpathHook
Refactor to remove dependency on cudatoolkit

cc @NixOS/cuda-maintainers

After doing
gh pr checkout 215552 \
    && gh pr checkout 215549 \
    && git checkout master \
    && git merge cudaGencode-fix --no-edit \
    && git merge nccl-2.16.5-1 --no-edit \
    && nixpkgs-review rev master

I got
Result of nixpkgs-review run on x86_64-linux 1

7 packages built:

cudaPackages.nccl
python310Packages.cupy
python310Packages.jaxlibWithCuda
python310Packages.tensorflowWithCuda
python310Packages.torchWithCuda
python311Packages.cupy
python311Packages.jaxlibWithCuda

Result of nixpkgs-review pr 215549 run on x86_64-linux 1

1 package failed to build:

python310Packages.tensorflowWithCuda

6 packages built:

cudaPackages.nccl
python310Packages.cupy
python310Packages.jaxlibWithCuda
python310Packages.torchWithCuda
python311Packages.cupy
python311Packages.jaxlibWithCuda

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/tweag-nix-dev-update-45/26397/1


feat: add auth0/auth0-cli

https://github.com/aquaproj/aqua-registry/pull/5653 auth0/auth0-cli: Supercharge your developer workflow
$ aqua g -i auth0/auth0-cli

Thanks.

Released. https://github.com/aquaproj/aqua-registry/releases/tag/v3.35.0


PR: Command e to move to end of current word

@mariacamilaremolinagutierrez, thanks a lot for keep contributing to spyder-vim!!
Please add a test for this new command in
https://github.com/spyder-ide/spyder-vim/blob/master/spyder_vim/tests/test_vim.py

@bgallois, could you finish this one by rebasing it and adding a test for it?

@ccordoba12, I added tests for the e command and fixed tests and behavior for the related w and b commands.

Thanks for working on this @bgallois 🥳


Added Alpine Linux support

Good version of #1566
I have added the support for Alpine Linux.
The pre-requisites to run Pi-VPN on Alpine are:

have bash installed (apk add bash)
obviously, run the scripts as root or have sudo installed (apk add sudo; echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel)

@MichaIng @4s3ti maybe there is a bug in the test version of Pi-VPN.
The tests only fail on focal and bionic distributions and not on xenial.
The bug don't seems related to any changes I've made.

@MichaIng @4s3ti maybe there is a bug in the test version of Pi-VPN. The tests only fail on Focal and Bionic distributions and not on Xenial. The bug don't seems related to any changes I've made.

don't think there is any bug ... Just triggered the  build and the current test is passing in all OS: https://app.travis-ci.com/github/pivpn/pivpn/builds/253283709 so should yours.
you can see the results of the failing tests by yourself, just click on the details.
here's the error: https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888207#L606-L610

@MichaIng @4s3ti maybe there is a bug in the test version of Pi-VPN. The tests only fail on Focal and Bionic distributions and not on Xenial. The bug don't seems related to any changes I've made.

don't think there is any bug ... Just triggered the build and the current test is passing in all OS: https://app.travis-ci.com/github/pivpn/pivpn/builds/253283709 so should yours.
you can see the results of the failing tests by yourself, just click on the details.
here's the error: https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888207#L606-L610

I know, but this error is generated by a piece of code that I haven't touch ...
The only change that I have made on scripts/backup.sh is related to the check of an installed package

@MichaIng @4s3ti maybe there is a bug in the test version of Pi-VPN. The tests only fail on Focal and Bionic distributions and not on Xenial. The bug don't seems related to any changes I've made.

don't think there is any bug ... Just triggered the build and the current test is passing in all OS: https://app.travis-ci.com/github/pivpn/pivpn/builds/253283709 so should yours.
you can see the results of the failing tests by yourself, just click on the details.
here's the error: https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888207#L606-L610

I know, but this error is generated by a piece of code that I haven't touch ... The only change that I have made on scripts/backup.sh is related to the check of an installed package

The reason why is not Failing on Xenial is because the scripts tests run in a different way allowing them to fail, the same error is still there:
https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888457#L487
indeed it seems not related with your changes but for some reason it is happening with your changes, not entirely sure why, and I am in the middle of house move hard for me to pay much attention.

@MichaIng @4s3ti maybe there is a bug in the test version of Pi-VPN. The tests only fail on Focal and Bionic distributions and not on Xenial. The bug don't seems related to any changes I've made.

don't think there is any bug ... Just triggered the build and the current test is passing in all OS: https://app.travis-ci.com/github/pivpn/pivpn/builds/253283709 so should yours.
you can see the results of the failing tests by yourself, just click on the details.
here's the error: https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888207#L606-L610

I know, but this error is generated by a piece of code that I haven't touch ... The only change that I have made on scripts/backup.sh is related to the check of an installed package

The reason why is not Failing on Xenial is because the scripts tests run in a different way allowing them to fail, the same error is still there:
https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888457#L487
indeed it seems not related with your changes but for some reason it is happening with your changes, not entirely sure why, and I am in the middle of house move hard for me to pay much attention.

I'm happy to show you a bug 😅

Some failures are related to the invalid user pi. Recent Raspberry Pi OS does not ship with this user anymore, but on first boot or via RPi Imager once can create a custom login user manually. Before doing anything with pi, check getent passwd pi > /dev/null first, or handling of any hardcoded user could be removed completely. But again, worth a different PR 😉.

@MichaIng @4s3ti maybe there is a bug in the test version of Pi-VPN. The tests only fail on Focal and Bionic distributions and not on Xenial. The bug don't seems related to any changes I've made.

don't think there is any bug ... Just triggered the build and the current test is passing in all OS: https://app.travis-ci.com/github/pivpn/pivpn/builds/253283709 so should yours.
you can see the results of the failing tests by yourself, just click on the details.
here's the error: https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888207#L606-L610

I know, but this error is generated by a piece of code that I haven't touch ... The only change that I have made on scripts/backup.sh is related to the check of an installed package

The reason why is not Failing on Xenial is because the scripts tests run in a different way allowing them to fail, the same error is still there:
https://app.travis-ci.com/github/pivpn/pivpn/jobs/576888457#L487
indeed it seems not related with your changes but for some reason it is happening with your changes, not entirely sure why, and I am in the middle of house move hard for me to pay much attention.

Glad I showed you a bug 😅

Not really sure if i will have time but (Maybe tomorrow) i will pull your fork and replicate it locally and try to get a hint.

Some failures are related to the invalid user pi. Recent Raspberry Pi OS does not ship with this user anymore (Ubuntu of course never did), but on first boot or via RPi Imager one can create a custom login user manually. Before doing anything with pi, check getent passwd pi > /dev/null first, or handling of any hardcoded user could be removed completely. But again, worth a different PR 😉.

PiVPN should be creating the user if it doesn't exist

I anticipate what @MichaIng will say and I say that the HTTP mirrors I use to install rsyslog are the official ones.
https://www.rsyslog.com/alpine-repository/

and I say that the HTTP mirrors I use to install rsyslog are the official ones.

Yes they are. The problem is that no authentication is done with plain HTTP, so a simple DNS-wise redirect, hosts entry, ISP wise manipulation etc could lead to a download of a different key or any other file, allowing the installation of a manipulated rsyslog. Or is there a second verification level apk includes? However, see my above comment: I wouldn't install rsyslog anyway which renders this question obsolete 😉.

and I say that the HTTP mirrors I use to install rsyslog are the official ones.

Yes they are. The problem is that no authentication is done with plain HTTP, so a simple DNS-wise redirect, hosts entry, ISP wise manipulation etc could lead to a download of a different key or any other file, allowing the installation of a manipulated rsyslog. Or is there a second verification level apk includes? However, see my above comment: I wouldn't install rsyslog anyway which renders this question obsolete wink.

Honestly, I don't know if there is a second verification level.

There are several non code changes with formatting, maybe it's time to come up with a code style guide (another PR). Mirroring, downloading and compiling grepcidr is probably overkill, think we should try replace it with a script (also another PR). Anyway, can you confirm functionality on Alpine @giulio-coa? I do not have an handy alpine installation now.

There are several non code changes with formatting, maybe it's time to come up with a code style guide (another PR). Mirroring, downloading and compiling grepcidr is probably overkill, think we should try replace it with a script (also another PR). Anyway, can you confirm functionality on Alpine @giulio-coa? I do not have an handy alpine installation now.

I have tried each change manually in an Alpine Docker Image and they work
I'm waiting to take a full and final test because @MichaIng  did not respond to the previous conversation

There is one more thing to do: add Alpine support to travis.yml ... but I don't know how to do it

There is one more thing to do: add Alpine support to travis.yml ... but I don't know how to do it

don't think it will be possible on travisCI .. but most likely i will move the CI to GH Actions.
Considering the size and importance of ths PR, for now I am more worried with:
1 - This addition is seamless and current functionality is still kept regardless, and this is not happening apparently, but need to investigate a bit here.
2 - The most active contributors have given their feedback
3 - The feedback is endorsed and the PR is clean.
Once all this is done i can merge to test and take care of the CI.

@giulio-coa - FYI, warnings when applying this PR:
../pr1567.diff:476: trailing whitespace.

../pr1567.diff:1036: space before tab in indent.
  	if eval "${CHECK_PKG_INSTALLED} sudo" &> /dev/null; then
../pr1567.diff:1449: space before tab in indent.
  	if eval "${CHECK_PKG_INSTALLED} sudo" &> /dev/null; then
warning: 3 lines add whitespace errors.

Fixed

I presume that to use PiVPN on Alpine-Linux, bash must be installed manually ?

Yep
Here are the pre-requisites

1. WireGuard is now not available in an Alpine container, is it? Since this is the major use case for Alpine, also of OP, I think it would be good to allow it for this case as well, but I'm not sure how to check for a hosts kernel module from within the container. Otherwise it could be just allowed (in a container) without checking for the kernel module.

There are no official Docker Images of WireGuard.
There are only 2 Open Source Images: one of linuxserver, which I think is the most reliable, and one published by another guy

1. WireGuard is now not available in an Alpine container, is it? Since this is the major use case for Alpine, also of OP, I think it would be good to allow it for this case as well, but I'm not sure how to check for a hosts kernel module from within the container. Otherwise it could be just allowed (in a container) without checking for the kernel module.

There are no official Docker Images of WireGuard. There are only 2 Open Source Images: one of linuxserver, which I think is the most reliable, and one published by another guy

For OpenVPN it's even worse
The linuxserver Docker Image is deprecated as they switched to WIreGuard and there is only one other image from a verified user

1. WireGuard is now not available in an Alpine container, is it? Since this is the major use case for Alpine, also of OP, I think it would be good to allow it for this case as well, but I'm not sure how to check for a hosts kernel module from within the container. Otherwise it could be just allowed (in a container) without checking for the kernel module.

There are no official Docker Images of WireGuard.
There are reliable 2 Open Source Images: one of linuxserver, which I think is the most reliable, and one published by another guy
For OpenVPN it's even worse
The linuxserver Docker Image is deprecated as they switched to WIreGuard and there is only one other image from a verified user
The linuxserver Docker Image is Debian-based, while the others I don't know

2. Does Alpine ship with busybox `sed` or so that it has these issues with combined options? @giulio-coa have you tested all other PiVPN scripts thoroughly? The same issue, provably also with `grep` might occur in many other places and I fear that future contributions might break it, when not thinking about this limitation. What about installing GNU sed as dependency to assure there are no subtle issues now or in the future with Alpine?

On Alpine Linux, some commands are installed in a reduced version.
For what have been my tests, using sed will not pose a problem as opposed to using grep
This is why grep is in Alpine's dependencies
If you want to add sed to the dependencies too, that's no problem for me

# sed --help
BusyBox v1.35.0 (2022-07-18 12:23:02 UTC) multi-call binary.

Usage: sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...
or: sed [-i[SFX]] [-nrE] CMD [FILE]...

        -e CMD  Add CMD to sed commands to be executed
        -f FILE Add FILE contents to sed commands to be executed
        -i[SFX] Edit files in-place (otherwise write to stdout)
                Optionally back files up, appending SFX
        -n      Suppress automatic printing of pattern space
        -r,-E   Use extended regex syntax

If no -e or -f, the first non-option argument is the sed command string.
Remaining arguments are input files (stdin if none).

# apk add sed
(1/1) Installing sed (4.8-r0)
Executing busybox-1.35.0-r15.trigger
OK: 11 MiB in 23 packages

# sed --help
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

  -n, --quiet, --silent
                 suppress automatic printing of pattern space
      --debug
                 annotate program execution
  -e script, --expression=script
                 add the script to the commands to be executed
  -f script-file, --file=script-file
                 add the contents of script-file to the commands to be executed
  --follow-symlinks
                 follow symlinks when processing in place
  -i[SUFFIX], --in-place[=SUFFIX]
                 edit files in place (makes backup if SUFFIX supplied)
  -l N, --line-length=N
                 specify the desired line-wrap length for the `l' command
  --posix
                 disable all GNU extensions.
  -E, -r, --regexp-extended
                 use extended regular expressions in the script
                 (for portability use POSIX -E).
  -s, --separate
                 consider files as separate rather than as a single,
                 continuous long stream.
      --sandbox
                 operate in sandbox mode (disable e/r/w commands).
  -u, --unbuffered
                 load minimal amounts of data from the input files and flush
                 the output buffers more often
  -z, --null-data
                 separate lines by NUL characters
      --help     display this help and exit
      --version  output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret.  All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

GNU sed home page: <https://www.gnu.org/software/sed/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
E-mail bug reports to<EMAIL_ADDRESS>

IMO your first proposal would be fine:

Allowed for non-Docker Alpine Linux if correct kernel is installed
Allowed for all Alpine Linux Docker containers, where the responsibility to have a WireGuard module on the host system is at user side.

We can add support for further container engines when there is someone to test it. It also depends on whether the container has actually access to network interfaces, so it makes sense to test this first.
IMO it would be better to add GNU sed as dependency for Alpine, but I'll leave this decision to others who better know about other PiVPN shell scripts.

These sysctl are not there to uncomment in /etc/sysctl.conf which means IP forwarding won't work.

The sed regex doesn't seem to work
# pivpn add
Enter a Name for the Client:  test
How many days should the certificate last?  1080
Enter the password for the client:
Enter the password again to verify:
sed: bad regex '\+': Repetition not preceded by valid expression
spawn ./easyrsa build-client-full test
[...command fails]

$programname is just openvpn on Alpine. By the way you are configuring rsyslog even if not installed. When not installed pivpn debug will try to read from /var/log/openvpn.log so you could fallback to grep /var/log/messages or something.

It was code already present
Like so much else that you made me correct 😅

It was code already present
Like so much else that you made me correct

Well... yes? It worked on debian and derivatives but require different approach to alpine.

It was code already present
Like so much else that you made me correct

Well... yes? It worked on debian and derivatives but require different approach to alpine.

Ok, so ?

It was code already present
Like so much else that you made me correct

Well... yes? It worked on debian and derivatives but require different approach to alpine.

Ok, so ?
I should add something like
if command -v rsyslog &> /dev/null; then
    echo "if \$programname == 'ovpn-server' then /var/log/openvpn.log
if \$programname == 'ovpn-server' then stop" | $SUDO tee /etc/rsyslog.d/30-openvpn.conf > /dev/null
fi

I should add something like

Actually it makes sense to preconfigure rsyslog, see here. Only $programname should be changed to according to the system. Here's how i would do it
if [ "${PLAT}" == 'Alpine' ]; then
    program_name='openvpn'
else
    program_name='ovpn-server'
fi

# shellcheck disable=SC2016
printf 'if $programname == '\''%s'\'' then /var/log/openvpn.log
if $programname == '\''%s'\'' then stop\n' "$program_name" "$program_name" | $SUDO tee /etc/rsyslog.d/30-openvpn.conf > /dev/null

I should add something like

Actually it makes sense to preconfigure rsyslog, see here. Just fix $programname according to the system. Here's how I would do it:
if [ "${PLAT}" == 'Alpine' ]; then
    program_name='openvpn'
else
    program_name='ovpn-server'
fi

# shellcheck disable=SC2016
printf 'if $programname == '\''%s'\'' then /var/log/openvpn.log
if $programname == '\''%s'\'' then stop\n' "$program_name" "$program_name" | $SUDO tee /etc/rsyslog.d/30-openvpn.conf > /dev/null

Done

unattended-upgrades is not available in Alpine. Alternative or disable?

This is still undecided. grep may be fragile, maybe just tell the user to take a look at /var/log/messages

What do you think could be the best solution?
What would be the piece of code to add?

What would be the piece of code to add?

You could wrap this against a ${PLAT} check to disable on Alpine for now.

:tada: This PR is included in version 4.1.0-test.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Added max. heat storage

CS7 results include maximum heat storage (MWh). If I understand correctly, only electricity storage is supported by the nomenclature, currently.

@amosschle heat storage could be included in the diverse storage systems that were defined in l  definitions/variable/tag_electricity_storage_types.yaml  ; As you are not referring to an electricity storage I would suggest to rename tag_electricity_storage_types.yaml  as tag_storage_types.yaml , and add a new section - Heat Storage Type: in which you could define - Energy Storage System|Heat ; then in technology.yaml you could define Max Storage|{Heat Storage Type} which would create the variable Max Storage|Energy Storage System|Heat  and give also the possibility to further create new variables Max Storage|Energy Storage System|Heat|system1 ..... (and naturally Max Storage|Energy Storage System|Heat=sum of all Max Storage|Energy Storage System|Heat|systemi
@erikfilias @danielhuppmann any idea?

@amosschle heat storage could be included in the diverse storage systems that were defined in l definitions/variable/tag_electricity_storage_types.yaml ; As you are not referring to an electricity storage I would suggest to rename tag_electricity_storage_types.yaml as tag_storage_types.yaml , and add a new section - Heat Storage Type: in which you could define - Energy Storage System|Heat ; then in technology.yaml you could define Max Storage|{Heat Storage Type} which would create the variable Max Storage|Energy Storage System|Heat and give also the possibility to further create new variables Max Storage|Energy Storage System|Heat|system1 ..... (and naturally Max Storage|Energy Storage System|Heat=sum of all Max Storage|Energy Storage System|Heat|systemi @erikfilias @danielhuppmann any idea?

I also agree with @sandrinecharousset about renaming the tag related to storage type and including these variables there.

Thanks for the quick review, @sandrinecharousset and @erikfilias. I've made the requested changes.

There can be only one tag-list per file, please revert the name change of the electricity-storage-type-file and put the heat-storage-types in a separate file.

included in #291

included in #291


Has this been used with October CMS?

Not aware if this has been used with OctoberCMS.
Please note that there is now a v4.
Thanks.


Failed to lookup Xcode UUID: command ["defaults", "read"] exited with code 1

Describe the bug
A clear and concise description of what the bug is. If you are using tauri-cli, please consider open an issue in Tauri main repo first.
cargo mobile init

output:
Generating base project...
Installing iOS toolchains...
info: component 'rust-std' for target 'aarch64-apple-ios' is up to date
info: component 'rust-std' for target 'aarch64-apple-ios-sim' is up to date
info: component 'rust-std' for target 'x86_64-apple-ios' is up to date
/opt/homebrew/bin/xcodegen
/opt/homebrew/bin/idevicesyslog
/usr/local/bin/pod
Apple dependencies are up to date
Installing `rust-xcode-plugin`...
Updating `rust-xcode-plugin` repo...
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
HEAD is now at 3030245 dd UUID for Xcode 14.0 and 14.1
action request: Failed to install Rust Xcode plugin; this component is optional,
so init will continue anyway, but Xcode debugging won't work until this is
resolved!
    Failed to lookup Xcode UUID: command ["defaults", "read"] exited with code 1
ln: /Users/admin/Desktop/hello/gen/apple/assets: No such file or directory
error: Asset dir couldn't be symlinked into Xcode project
    Failed to create a symbolic link from "../../assets" to directory "/Users/
    admin/Desktop/hello/gen/apple" (file and directory clobbering enabled): `ln`
    command failed: command ["ln", "-n", "-s", "-f", "../../assets", "/Users/
    admin/Desktop/hello/gen/apple/assets"] exited with code 1
admin@sscn-macos hello %

I tried:
defaults read

It can output a lot of information without failure.
Steps To Reproduce
Steps to reproduce the behavior. It must use cargo-mobile2 itself and wry template directly instead of tauri-cli.
cargo new hello
cd hello
cargo mobile init

Expected behavior
A clear and concise description of what you expected to happen.
I just want to build an iOS application.
Screenshots
If applicable, add screenshots to help explain your problem.
Platform and Versions (please complete the following information):
Host OS: macos14.5
Target OS:ios
Rustc:1.79.0
Ouput of cargo mobile doctor:
cargo mobile doctor
[✔] cargo-mobile v0.12.2
    • Contains commits up to ""
    • Installed at "~/.cargo/.cargo-mobile2"
    • macOS v14.5 (23F79)
    • rustc v1.79.0 (129f3b996 2024-6-10)

[!] Apple developer tools
    • Xcode v15.4
    • Active developer dir: "/Applications/Xcode.app/Contents/Developer"
    • ios-deploy v1.12.2
    • XcodeGen v2.42.0
    ✗ xcode-rust-plugin plugin absent
    ✗ xcode-rust-plugin lang spec absent
    ✗ xcode-rust-plugin lang metadata absent
    • xcode-rust-plugin is up-to-date
    ✗ Failed to check xcode-rust-plugin UUID status: Failed to lookup Xcode
      UUID: command ["defaults", "read"] exited with code 1
    • Development team: peng (PZB27U28WK)

[!] Android developer tools
    ✗ Failed to get SDK version: Failed to open "/Users/admin/android-sdk/tools/
      source.properties": No such file or directory (os error 2)
    • NDK v26.1.10909125 installed at "~/android-sdk/ndk/26.1.10909125"
/opt/homebrew/bin/ios-deploy

[✔] Connected devices
    • iPhone (iPhone SE)
admin@sscn-macos hello %

Additional context
Add any other context about the problem here.

I can consistently reproduce this when cargo mobile init is (re)invoked when the gen folder is already present. The workaround is to delete the gen folder and run it, but of course it would be better if this tool could automatically handle that case.

I will also try deleting gen.

Still unsuccessful:
admin@sscn-macos hello % rm -rf gen
admin@sscn-macos hello % clear
admin@sscn-macos hello % cargo mobile init
Generating base project...
Installing iOS toolchains...
info: component 'rust-std' for target 'aarch64-apple-ios' is up to date
info: component 'rust-std' for target 'aarch64-apple-ios-sim' is up to date
info: component 'rust-std' for target 'x86_64-apple-ios' is up to date
/opt/homebrew/bin/xcodegen
/opt/homebrew/bin/idevicesyslog
/usr/local/bin/pod
Apple dependencies are up to date
Installing `rust-xcode-plugin`...
Updating `rust-xcode-plugin` repo...
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
HEAD is now at 3030245 dd UUID for Xcode 14.0 and 14.1
action request: Failed to install Rust Xcode plugin; this component is optional,
so init will continue anyway, but Xcode debugging won't work until this is
resolved!
    Failed to lookup Xcode UUID: command ["defaults", "read"] exited with code 1
Generating Xcode project...
⚙  Generating plists...
⚙  Generating project...
⚙  Writing project...
Created project at /Users/admin/Desktop/hello/gen/apple/hello.xcodeproj
Installing Android toolchains...
info: component 'rust-std' for target 'aarch64-linux-android' is up to date
info: component 'rust-std' for target 'armv7-linux-androideabi' is up to date
info: component 'rust-std' for target 'i686-linux-android' is up to date
info: component 'rust-std' for target 'x86_64-linux-android' is up to date
Generating Android Studio project...
victory: Project generated successfully!
    Make cool apps! 🌻 🐕 🎉
admin@sscn-macos hello %

Hm interesting, my project built fine after that. At least the asset error seems to be fixed, but I am not sure what's going on with the Rust Xcode plugin.

I ran the following command according to the instructions of Rust Xcode Plugin:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

But the output is:
2024-08-22 07:50:44.434 defaults[8735:325806]
 The domain/default pair of (/Applications/Xcode.app/Contents/Info, DVTPlugInComp
 atibilityUUID) does not exist

May I ask what the situation is? Is it because my version of xcode is too high?


Fixed removeOSVersion() in PixelParamRemovalPlugin and updated tests.

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

develop

#4180   👈

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @anikiki and the rest of your teammates on  Graphite


V3 transaction

@auser I hope this is similar to what you might've done for #78. It's a little bit brittle - it can leak if the beginTransaction call isn't followed up with a tryCommitTransaction. If you had a different implementation strategy in mind I'd like to know :man_cartwheeling:

cc @Salakar @chrisbianca

@FrankSalad lmk when you add to the docs. As far as the dispatch async, it does 'queue' it AFAIK, so I think that should work just fine

@auser I was trying to follow https://mikeash.com/pyblog/friday-qa-2011-10-14-whats-new-in-gcd.html

@FrankSalad nice work, can we get this in on android also if anyone has time to do it?
cc @Ehesp @chrisbianca


Unique armour local energy shield %

While evaluating unique armour wrong stat is used: "#% total increased maximum Energy Shield"
instead of "#% increased Energy Shield (Local)".

0.5.15 (2020-02-10)

fix local mod used as pseudo (#201)

Thanks for reporting. Should be fixed. Please report back! 👍

Tested multiple different items and the issue seems to be fixed. Thank you! =3


subject_sets endpoint doesn't seem to be respecting sort parameter

After implementing https://github.com/zooniverse/Panoptes-Front-End/pull/2310 (fix for https://github.com/zooniverse/Panoptes-Front-End/issues/2291) which has now been deployed to PFE, I am not seeing the subject sets in the correct order.
From the network tab, it looks like the response from the API has not respected the sort parameter...

This did seem to sort correctly in my local environment, so there may be something else going on; but the frontend fix to apply the sort parameter is definitely in place, the fieldname matches, and I can't explain the response seen here...
Can someone else explain this or is it indeed that the API is not respecting the sort order?

@alexbfree we'll need a sort by declaration on the serializer, e.g. like this but here.
Fancy having a crack at it?

ok that sounds straightforward enough with those pointers. I will have a go and get you a PR to review. I may ask for help setting up a local Panoptes API!

cool - happy to help, the readme has instructions on getting setup for dev

this has been fixed in the API by #1733


Deprecated Functionality: Zend_Http_UserAgent_Mobile implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary)

When calling the match($userAgent, $server) function for mobile view in the module, it is giving error
PHP: 8.1
Magento: 2.4.4

Hi! Could you please share more detailed steps to reproduce ?

Hello!
We have called the function of class(path: vendor/magento/zendframework1/library/Zend/Http/UserAgent/Mobile.php on line 33): This class is implementing the Serializable interface and it is deprecated in PHP 8.1: https://php.watch/versions/8.1/serializable-deprecated.
Implementation:
    public function isMobileDevice()
    {
        $userAgent = $this->httpHeader->getHttpUserAgent();
        $server = $this->getRequest()->getServer();
        $isMobileDevice = \Zend_Http_UserAgent_Mobile::match($userAgent, $server);
        if (!$isMobileDevice) {
            return true;
        }
        return false;
    }

You can quickly fix it by commenting out Serialize in Device.php:
interface Zend_Http_UserAgent_Device //extends Serializable
or by adding the two Serialization methods in AbstractDevice.php:
https://github.com/indrisepos/zf1/pull/1


Nice&Cute: Counterfingerprint protection

you could add scriptsafe as an autoinstalled addon, or put it at readme.md
we should clone their sourcecode  and compile as addon
protects against:
referer watching
canvas
webgl
webaudio
webvr
spoof referer
and my custom UA-spoofer addon (you click the appeared browser)
i've gonna upload at some minutes

how to install scriptsafe
clone their git repo
go to chrome:extensions an make click at load unpacked extensions

@triceratops1 I'm very sceptical with including extensions by default. Is there an official git repo for scriptsafe?

@gcarq https://github.com/andryou/scriptsafe

@triceratops1 Would you know what benefits scriptsafe has over uMatrix which has useragent spoofing built in?

@Thrilleratplay umatrix has only some features
blocks "dammit" links (mainly ads links)
scriptsafe protects you against fingerprint

@eloston @gcarq
Scriptsafe has an OFICIAL download now (with webvr protection)
https://github.com/andryou/scriptsafe/releases/download/v<IP_ADDRESS>_beta/ScriptSafe_v<IP_ADDRESS>_BETA.zip

https://github.com/andryou/scriptsafe/releases/tag/v<IP_ADDRESS>

scriptsafe protects you against fingerprint

I doubt that. Fingerprinting ranges from various Javascript based techniques, over profiling via DNS caching  timing analysis to meta-information like IP and so on. You should probably say "tries to protect". I'm pretty sure it doesn't though.


vscode extension still marked as "Preview" even though Better TOML is now deprecated

The "Better TOML" vscode extension has marked itself as "deprecated" and directed users to this one. However, this vscode extension still claims its in "Preview".
So, I'm a little confused. Is this one stable or is the other one deprecated?
Thanks so much for your work!

Is this one stable or is the other one deprecated?

We don't manage the other extension so the status it has doesn't relate to status of our extension.
Generally we try to not break anything between releases but it might be happen, other than that, our extension should work fine.

The extension is currently stuck in a limbo of being generally stable and usable for most use-cases but not being in a state that I would proudly call a finished product as it is riddled with bugs and questionable architectural decisions, so despite being out there for quite a while, I did not remove the preview label.
I guess it will stay in preview forever or until someone decides to pick it up and rework/fix the parts that need it, so far no one seems to think that additional development would be worth the effort and time investment (myself included).

Thanks for the response!
Out of curiosity, do y'all have a list of must-fix-first tickets?

Out of curiosity, do y'all have a list of must-fix-first tickets?

Good question. Issues are not really tagged as they used to be in the past. I'll try to tag the most recent ones. But if you want to help and write PRs, I would suggest to look at the most recent issues first since it should be easier to get feedback.

@jmhodges if you want to help and since you seem to use VSCode, the most important issue that needs help is #434. It's currently blocking the release of 0.19.1 (rolled back to 0.19.0 in 0.19.2) which fixes multiple issues.
I'm closing this issue since the status of Even Better TOML is not related to Better TOML being deprecated. The Preview marker will be removed when Even Better TOML is ready, independently of this issue.


TOCTOU mitigation of debug control check

Previously we did not mandate the implementation details of debug control logic. The logic might be far away from the hart (e.g. inside Debug Module) depending on implementation.  This choice of design will lead to TOCTOU issue. For example, an incoming haltreq passes the check logic, but the hart changes to a undebuggable privilege mode when haltreq arrives hart.

Mitigation: the spec shall explicitly mandate implementations to guarantee no privilege change between debug request check and serving the debug request by hart.
Similar, the same rule should be mandated for trigger that privilege must not change during debug control check and trigger firing/matching when trigger action is configured to enter Debug Mode.

this seems to be a micro-arch/implementation recommendation and probably applies to many such scenarios - perhaps we capture this in the RVI security model? @NicholasWoodIMG. additionally it can be capture in the non-isa spec.

Agree this does not seem specific to supervisor domains.
It feels too "low level" for the security model. As this is specific to debug, then raising it with the TG for domain aware external debug would probably make more sense. Incidentally, I don't think this is a problem in the current external debug proposals. And either way should be easily dealt with by implementations.

Agree. This is too low level for security model. This does not seem unique to this case either. For instance, privilege being made visible to the functional unit that implements PMP functionality and if the PMP unit does not see the privilege change in time then it could lead to a bypass of the PMP. Another instance, is the halted signal going to the trace encoder not being observed by trace encoder in time to stop the trace.

closing this per the discussion above.


gh-pages changes

We should:

Remove @necolas from the Tweet text.
Remove the Follow @necolas button.
Remove Rdio and YUI from list of users

Thanks and done. It’s still nice to have someone to bother, so they will bother me now. I could use bothering.


Bytecode padding directive

I'd love a directive that allows me to indicate a size n that at compile time should:

Check the resulting size of the section of bytecode
Pad with 0x00 (STOP) bytes up to size n
Give me a compile-time error if the section is larger than n

The use case for this is efficient function dispatchers or internal switch-like statements that require code sections to be padded up to a consistent size.  I've had to write a somewhat janky script that helps me identify where the initial block boundary violation happened.
I'd imagine the syntax for this to be something like this:
#define macro MAIN() = takes(0) returns(0) {
     // ... other logic
     dest_0x18: #define padded(0x3f) {
          // 0x18160ddd
          __FUNC_SIG(totalSupply)
          __NON_PAYABLE_SELECTOR_CHECK()
          TOTAL_SUPPLY(callvalue)
          // padding directive implicitly pads block to be 0x3f (63) bytes large
     }
}

I'm offering a $100 bounty (to be paid in mainnet ETH) to the contributor who implements this once merged.

What about making this a new jump table that does this instead of a new #define token ? It seems a convenient add for the "regular" and "packed" ones. Is there any case for which we wouldn't be able to determine the size of the "stop wall" at compile-time ? And also, does that mean that every jump location has to be less than x bytes long which might be constraining at some point ?

To construct a more efficient function dispatcher you want to directly convert a function selector into a jump destination while avoiding having to do a lookup in some table. This typically requires the entry JUMPDESTs for your functions to be at equally spaced intervals e.g.:
jump_offset = (selector % 16) * 64 // implies JUMPDESTs in 64-byte increments
However rarely will all your functions be exactly the length you need, so you need to add some padding e.g. (visualizations not actual Huff):
dispatcher()
[ dest ]  [            body            ]
  fn1:     <logic> <logic> <pad> <pad>
  fn2:     <logic>  <pad>  <pad> <pad>

The issue is what if you change the logic of one your functions because you found an optimization or want to add a feature, the padding is now invalid:
dispatcher()
[ dest ]  [            body            ]
  fn1:     <logic>  <pad> <pad>   fn2:
 <logic>    <pad>   <pad> <pad>    -

Ideally I have some directive I can use to wrap my functions in so that the padding is adjust automatically and I get helpful error message if I happen to exceed the set size e.g.:
dispatcher()
padded (64) { fn1:     <logic> <logic> }
padded (64) { fn2:     <logic>              }

Not quite sure how a new jump table type would achieve these, I guess it would change how you define the constraint of distance between labels, do you mean smth like this?:
#define macro MAIN() = takes(0) returns(0) {
    __DISPATCHER()

    fn1: FN1()
    fn2: FN2()
    no3: REVERT()
    no4: REVERT()
    fn5: FN5()
}

#define jumptable fixed_size(64) {
    fn1 fn2 no3 no4 fn5
}

I like this less as it feels less direct. Having padding be defined in macros seems cleaner and would allow you to reuse such blocks via macros.


Fix triple name with use-ruby-linker-for-cargo option

From the docs: "The triple must be converted to uppercase and underscores."
Also, are there any drawbacks to this option? If not, thoughts on making it the default? It looks like it's needed for dependencies with a rlib crate type (like jsonpath_lib).

Thanks!


[BEAM-14418] add navigation buttons to slider

[BEAM-14418]

add nav buttons to slider
change html sctucture of slider

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Can one of the admins verify this patch?

R: @nausharipov

@pcoet Aizhamal asked to add arrows to the sides on desktop and she said they look good. Can you please give your LGTM? :)

Is it ready to be merged?

Is it ready to be merged?

yes

Just checked the commits of this PR, it requires some additional work to do before merge.
@bullet03 Could you squash all commits and rebase it on top of master branch?
Also, please, avoid merging master branch into the feature branch and use git rebase instead. It will make commits history more clear.

@aromanenko-dev we couldn't squash commits because there are merge commits among them. We'll cherry-pick those commits into a new branch, squash them and create a new PR.

We have cherry-picked, squashed and rebased commits from this branch into the new branch: https://github.com/apache/beam/pull/17722

@nausharipov

we couldn't squash commits because there are merge commits among them

Yes, this is why it's highly recommended to avoid merge commits and use git rebase instead.


[WIP] coverage code during tests, do-not-merge

@strehle can this PR be converted into a draft? Asking since the tile has been changed to include [WIP].

integrated jacoco with another topic -> sonar scan.
So from now coverage and code quality can be checked on :
https://sonarcloud.io/summary/overall?id=cloudfoundry-identity-parent


We need different terminology for sponsor organization settings

I just had a sponsor get super confused because the terminology in the organization settings is not correct for their context. We need to differentiate terms used on sponsor orgs from terms used in Fiscal Host orgs and from Collectives.
For sponsor orgs, "core contributors" should be "team members". "Collective admin" should be "Organization admin". I think these should be the same for Fiscal Hosts (team members and organization admin).

@alanna there is a difference between copy changes and filtering some settings.
Can you focus this issue on the copy and create a new one for the settings that should be filtered?

OK lets make this one about terminology. I have opened #2380 about settings.

@alanna I think we can close this.

closing in favor of #2316


Fix MPI firewall trouble on macOS

When running the test suite on macOS, MPI (and possibly other things?) causes many (focus-grabbing and thus highly annoying) pop-ups saying that I have to open my firewall. Clicking "allow" (for that one time) does not even make the test succeed, so they are not only annoying, but also useless.
I would prefer if doing firewall configuration were not necessary, perhaps through code signing, something like this: https://apple.stackexchange.com/questions/3271/how-to-get-rid-of-firewall-accept-incoming-connections-dialog
I guess one alternative is to indeed add the programs to the firewall white list, but I don't really want to do this. If it would be possible to use MPI without having to do any of these things, e.g. by using some default firewall-safe dummy connection settings, that would be ideal imho.

Setting
export OMPI_MCA_rmaps_base_oversubscribe=yes

seems to help, at least for hermite0. With this set, no firewall settings are necessary for that code. Other codes still complain for various reasons though. Needs further investigation.
@ipelupessy documented this at: http://www.amusecode.org/wiki/openmpi

Do you by any chance have a hostfile which wants to connect to other machines?
Recent (open)mpi seems unwilling to use more processes on a local machine than there are cores, unless that environment variable is set. This is very inconvenient for AMUSE, so I'd suggest we always setting it (or recommend doing so in the documentation).

I don't know about hostfile settings, I didn't change it. Indeed, either using the environment variable for recent OpenMPI version or, if possible, somehow using the --oversubscribe argument for mpirun (can that be passed through mpi4py?) would be a good idea.

@rieder still an issue?

@rieder do you still have this behaviour (ie firewall pop-ups) on mac?

Yes, unfortunately.

hmm, does this help:
mpiexec -n 1 --oversubscribe --mca btl_tcp_if_include lo   python


ONE-vscode-DCO-1.0-Signed-off-by: Jiyoung Yun<EMAIL_ADDRESS>

This pr conflicts with #701. #701 should be merged first.

PTAL /cc @Samsung/one-vscode


Atom crashes when a link is clicked

The git-blame package uses an anchor tag to link to a commit on GitHub. It used to work fine, but recently clicking on those links results in Atom crashing to desktop. See alexcorre/git-blame#60.
The package needs some love (its styles haven't been updated for shadow DOM yet), but it still seems like an Atom core bug to me that clicking on a link can crash the editor.

The window just closes?

Yeah, sorry, crash might be the wrong word here. Atom the process is still running but clicking the link closes the editor Window. Still, though, that seems like a bug?
Maybe links aren't supported but this used to open a new browser window and something recently has changed the behaviour to closing the editor window.

Yeah, all links should open externally, there is core code for that here:
https://github.com/atom/atom/blob/dde253160c9043f13ccd0e75d80a0f5ccc689d2f/src/window-event-handler.coffee#L97
https://github.com/atom/atom/blob/dde253160c9043f13ccd0e75d80a0f5ccc689d2f/src/window-event-handler.coffee#L139-L143

This only repros when Shadow DOM is enabled.

What link?
On Thu, Feb 5, 2015 at 12:28 AM, Desmond Brand<EMAIL_ADDRESS>wrote:

This only repros when Shadow DOM is enabled.
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/5388#issuecomment-73010824.

In git-blame gutter view, the commit SHA is a link:

I haven't tried to verify if it happens in other contexts yet.

You should post this as an issue on git-blame:
https://github.com/alexcorre/git-blame/issues
On Thu, Feb 5, 2015 at 12:56 PM, Desmond Brand<EMAIL_ADDRESS>wrote:

In git-blame gutter view, the commit SHA is a link:
[image: image]
https://cloud.githubusercontent.com/assets/4427/6069070/33c11be4-ad36-11e4-8137-12a49e2939e7.png
I haven't tried to verify if it happens in other contexts yet.
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/5388#issuecomment-73126170.

You should post this as an issue on git-blame

As I said above, see alexcorre/git-blame#60. I reported it here because a link in a package causing the editor to appear to crash seems like it should be a core bug (i.e. it should maybe be impossible for a package to do this).

. it should maybe be impossible for a package to do this

There is no sand-boxing of packages.  A package can do anything including
crash everything.
On Thu, Feb 5, 2015 at 2:52 PM, Desmond Brand<EMAIL_ADDRESS>wrote:

You should post this as an issue on git-blame
As I said above, see alexcorre/git-blame#60
https://github.com/alexcorre/git-blame/issues/60. I reported it here
because a link in a package causing the editor to appear to crash seems
like it should be a core bug (i.e. it should maybe be impossible for a
package to do this).
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/5388#issuecomment-73147462.

Actually a package can even erase all your disk drives.
On Thu, Feb 5, 2015 at 3:01 PM, Mark Hahn<EMAIL_ADDRESS>wrote:

. it should maybe be impossible for a package to do this

There is no sand-boxing of packages.  A package can do anything including
crash everything.
On Thu, Feb 5, 2015 at 2:52 PM, Desmond Brand<EMAIL_ADDRESS>wrote:

You should post this as an issue on git-blame
As I said above, see alexcorre/git-blame#60
https://github.com/alexcorre/git-blame/issues/60. I reported it here
because a link in a package causing the editor to appear to crash seems
like it should be a core bug (i.e. it should maybe be impossible for a
package to do this).
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/5388#issuecomment-73147462.

BTW: atom keeps humming along in the background, refusing to start any new editor from the terminal (atom .)  or the desktop file (the linux .desktop links) giving this exception:
TypeError: Cannot read property 'substr' of null
    at AtomWindow.module.exports.AtomWindow.getLoadSettings (/usr/share/atom/resources/app/src/browser/atom-window.js:132:69)
    at AtomWindow.module.exports.AtomWindow.containsPath (/usr/share/atom/resources/app/src/browser/atom-window.js:167:27)
    at AtomWindow.module.exports.AtomWindow.containsPaths (/usr/share/atom/resources/app/src/browser/atom-window.js:158:19)
    at /usr/share/atom/resources/app/src/browser/atom-application.js:521:61
    at /usr/share/atom/resources/app/node_modules/underscore-plus/node_modules/underscore/underscore.js:159:21
    at Array.some (native)
    at _.some._.any (/usr/share/atom/resources/app/node_modules/underscore-plus/node_modules/underscore/underscore.js:208:59)
    at Object._.find._.detect (/usr/share/atom/resources/app/node_modules/underscore-plus/node_modules/underscore/underscore.js:158:5)
    at AtomApplication.module.exports.AtomApplication.windowForPaths (/usr/share/atom/resources/app/src/browser/atom-application.js:520:16)
    at AtomApplication.module.exports.AtomApplication.openPaths (/usr/share/atom/resources/app/src/browser/atom-application.js:592:31)

Hope that helps. Killing the atom process is the only way to get it to work again.

My Atom crashes whenever I click ANY external link, whether it is through a package, the package viewer or from code itself, it just hangs for a bit then crashes and asks for a window reload. I can't provide more info as I wouldn't know where to look for it. This is on Ubuntu LTS btw.

@Chotaz probably this issue: https://github.com/atom/atom-shell/issues/1348

this to be exact

I'm running into the same issue on Atom 0.204.0. Here's a simple snippet you can run in Atom's developer console to repro the issue.
  var d = document.createElement('div');
  d.style.position = 'absolute';
  d.style.background = 'red';
  d.style.zIndex = 1000;
  d.style.top = 0;
  d.createShadowRoot().innerHTML = 'Click me to crash';
  document.body.appendChild(d);

Removing the createShadowRoot call results in Atom being able to complete the open URL request.

I've tried the snippet posted by @sharvil with Atom 1.0.5 and am seeing something slightly different:
Testing the snippet with createShadowRoot() left in, no webpage is opened, the Atom window disappears, but atom processes remain which I have to kill manually.
Testing the snippet without createShadowRoot(), no webpage is opened either, but instead of the Atom window disappearing entirely, it becomes unresponsive.
What I find interesting is a snippet of the output of ps xjf which I ran at the end of the second test:
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
  562   592   592   592 ?           -1 Ss    1000   0:00 i3
    1  3962  3961  3961 ?           -1 Sl    1000   0:01 /usr/share/atom/atom
 3962  3964  3961  3961 ?           -1 S     1000   0:00  \_ /usr/share/atom/atom --type=zygote --no-sandbox
 3962  3982  3961  3961 ?           -1 Sl    1000   0:00  \_ /usr/share/atom/atom --type=gpu-process --channel=3962.0.1291906211 --no-sandbox --supports-dual-gpus=false --gpu-driver-bug-workarounds=1,24,27,40,48 --disable-accelerated-video-decode --gpu-vendor-id=0x10de --gpu-device-id=0x1381 --gpu-driver-vendor=NVIDIA --gpu-driver-version=352.30
 3962  3989  3961  3961 ?           -1 Sl    1000   0:01  \_ /usr/share/atom/atom --type=renderer --force-device-scale-factor=1 --js-flags=--harmony --no-sandbox --enable-deferred-image-decoding --lang=en-US --node-integration=true --subpixel-font-scaling=false --enable-pinch-virtual-viewport --enable-delegated-renderer --num-raster-threads=2 --disable-accelerated-video-decode --channel=3962.1.1440227255
 3989  4008  3961  3961 ?           -1 Sl    1000   0:00  |   \_ /usr/share/atom/atom --no-deprecation /home/miki/.atom/packages/atom-ternjs/node_modules/.bin/tern --persistent --no-port-file --verbose
 3989  4050  3961  3961 ?           -1 S     1000   0:00  |   \_ /bin/sh /usr/bin/xdg-open http://www.google.com/
 4050  4144  3961  3961 ?           -1 Sl    1000   0:00  |       \_ /usr/lib/chromium/chromium --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=<IP_ADDRESS> http://www.google.com/
 4144  4146  3961  3961 ?           -1 Z     1000   0:00  |           \_ [chrome-sandbox] <defunct>
 3962  4039  3961  3961 ?           -1 Sl    1000   0:01  \_ /usr/share/atom/atom --type=renderer --force-device-scale-factor=1 --js-flags=--harmony --no-sandbox --enable-deferred-image-decoding --lang=en-US --enable-pinch-virtual-viewport --enable-delegated-renderer --num-raster-threads=2 --disable-accelerated-video-decode --channel=3962.2.592250611

From this, it appears that xdg-open and following chromium process was run from one of the renderer processes. I'm not an expert on Chromium sandboxing, but I do recall that these renderer processes run with restricted privileges. I would think that the xdg-open etc. needs to be run from the 'master' atom process for it to not have these restrictions.

@ackalker this should be fixed when https://github.com/atom/atom/pull/7877 lands, since it should be fixed in electron, it's just that atom uses an old version of electron.

@despairblue Ah, I see. I was wonderring already why I couldn't reproduce this issue with standalone electron.

I get a similar issue using it as a remote editor for Transmit.

Sounds like this was fixed a while ago when we picked up a new version of Electron. Please feel free to comment if you find this is not the case and we'll re-open.


Release/v1.18

Hello, I wanted to give you an idea that users, organizations and repositories have their own label type like this

Please follow the CONTRIBUTING.md


Data structure best-practice: multiple key/values or one big JSON?

You want to:
Are there best practices when it comes to storing app data locally? If possible, I'd prefer to store all of it in one JSON object under a key like AppData or something and just mutate this object and store it.
Details:
Is this an acceptable practice or should it be a series of individual key/values? Is there a max length allowed for the strings that can be stored under a single key? Will this be throttled at scale? I'd appreciate the insight form anyone who has tried this!

Hey @webbhead777 , great question.

Are there best practices when it comes to storing app data locally? If possible, I'd prefer to store all of it in one JSON object under a key like AppData or something and just mutate this object and store it.
Because we're talking about React Native (and the bridge between Native and JS world), it'd be best if you could split your data into smaller chunks. Each message has to be serialized into JSON before it reaches either end, so it's good practice to not clog it as much as possible.

Having a smaller pieces to work with always makes job simpler and more efficient. If your app uses only a small portion of that data in one feature and other portion in different feature, you don't want to manipulate whole data every time you do changes - just the piece that is used.

Is this an acceptable practice or should it be a series of individual key/values?

It depends of the use case. I generally try to group stored data into categories - if something is related to user, group that thing together. User has some activities? Store them as list of IDs, while activities is a separate piece of data stored.

Is there a max length allowed for the strings that can be stored under a single key?

Yes, I replied some time ago regarding a crash when someone tried to retrieve huge amount of data at once

@Krizzu now that you mention converting all app data to/from JSON on every single storage request it makes sense that it would be more performant to break it into relative chunks. Thanks for the response!


logger: Handle switching log file name multiple times

Not sure why this does that, but LGTM :thumbsup:


Adding message data to mail sending and sent events

Allows for accessing additional information from a mailable, more than just the message.

Why not just attach properties to the swift message?


Added for RCC Institute of Information Technology

@Sensrdt First stage of verification passed, official domain is rcciit.org as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://rcciit.org/contact/reachus.aspx

@Sensrdt Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Update sex field to accept upper and lower case

Update Sex class such that the field accepts lower and uppercase letter m and f. Converts them to uppercase before outputting them in the addressbook.
Closes #84.

@drustanyjt they are supposed to just type m/M/f/F in the sex field when adding the person


Added support for .NET 5

Added early exit if not on Windows platform
Added Regex to extract product and versioning information
Added .NET 5 to if statement

@mfas2410 Thanks for contribution, however it looks like we can identify the New New .NET as it reports as .NET whereas the the  old one reports as .NET Framework


Add tests for SQLModel relationships

Checklist

[X] There are no similar issues or pull requests for this yet.

Is your feature related to a problem? Please describe.
No response
Describe the solution you would like.
No response
Describe alternatives you considered
No response
Additional context
No response

Just to keep track of this on SQLModel side: https://github.com/tiangolo/sqlmodel/pull/322


Unable to connect to Guest Science Manager

I have a problem connecting to GSM when I run gds_simulator.py. I already confirmed that android emulator and Astrobee simulator was running. GSM also seems to run normally in android emulator. I try to restart the GSM but still no luck.  I already make sure that I was able to ping both from adb shell and ubuntu for llp and hlp. The robot can also be controlled from teleop but there seems to be an error after I run Astrobee simulator. Is this what causing the issue to connect to GSM? Any help would be much appreciated. Thank you

@elliotwave Were you able to solve this issue? Sorry for the very late response.

Older issue. If this is still an issue, please open a new issue.


Log cancelled and failed requests

Changes
Currently, we do not log requests that failed to complete or that failed when the SDK started processing the response. This means that requests that timeout due to a client-side timeout or canceled context are not logged, meaning that there is no visibility in the log of these kinds of requests.
This PR changes the request processing and error handling to ensure that all requests are logged, even those that are cancelled or fail due to other errors. The general approach is to process as much of the response as possible until encountering an error, log what we've retrieved, and then do any post-processing.
Some changes are needed in the roundtrip stringer to handle the case of a nil response.
Tests
Unit tests verify that canceled requests or nil responses are logged.

[ ] make test passing
[ ] make fmt applied
[ ] relevant integration tests applied

Codecov Report
Attention: Patch coverage is 94.73684% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 7.09%. Comparing base (27d08a6) to head (84dfe03).

Files
Patch %
Lines

apierr/errors.go
0.00%
1 Missing :warning:

Additional details and impacted files
@@          Coverage Diff          @@
##            main    #919   +/-   ##
=====================================
  Coverage   7.08%   7.09%
=====================================
  Files        276     276
  Lines      64376   64377    +1
=====================================
+ Hits        4563    4569    +6
+ Misses     59502   59499    -3
+ Partials     311     309    -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.