Refactor Overlays

Current State of Things
Overlays require a DOM element be rendered at all times so that they can be transitioned in/out using CSS smoothly. Fully mounting/unmounting the component prevents this smooth transition from happening, so we have a DOM element always present for each overlay. Overlays have evolved some weird workarounds to address this problem.
For example, in overlays for updating something it's common to pass the object into a higher level state and then pass it into the overlay so that there is only one instance of the overlay. This is done so there is not one overlay instance per item in the list.
Proposal
Use a combination of react-transition-group and portal to solve these woes.
https://reactcommunity.org/react-transition-group/transition
Transition groups allow a component to have a transition animation when it mounts and unmounts. Using this alleviates the concern of junking of the DOM with a lot of overlay instances.
Portals would allow the overlays to always render in the same place in the DOM which negates the need to have a wrapper around each overlay that z-indexes the component higher.

I ran some quick experiments with transition libraries such as react-transition-group and react-spring. Both of these work similarly in that they allow a component to smoothly transition when it mounts/unmounts, which solves the majority of weirdness going on with overlays now


onLoadFinished() called twice

I know this is just a sample designed with teaching purposes in mind. But following your comments on the logcat I deviced that "+++ onLoadFinished() called! +++" is called twice upon configuration changes (Rotation).  (Which results on mAdapter.setData(data); being called twice) Why is that?.
(Btw, this tutorial has been of great help! thanks for sharing your knowledge! keep it up)
Thanks!

Super! Thank you a lot.
I haven't found any solution for a bug on stackovewflow and tried your both variants. For me Alexs' one with fragents' onCreate() method helped.


Option to skip uneccessary match arm brackets

If rustfmt decides to indent after the => in a match (because the line ran too long) it also adds a {} and an extra line (for the }) even if the contents of the match arm fit onto a single line.
In the example at https://github.com/rust-bitcoin/rust-bitcoin/pull/959#discussion_r869753811 rustfmt generated
Error::SerializationError => {
    "can not serialize the spending transaction in Transaction::verify()"
},

when it arguably could have (optionally) just stuck with
Error::SerializationError =>
    "can not serialize the spending transaction in Transaction::verify()",

unlike ifs (and the C world) you can't get screwed by the lack of {} here - if you end up with two statements back-to-back its a compile error rather than incorrect logic.
Thanks!

Thanks for sharing, but going to close as a duplicate of #4896
You may want to also subscribe to #4924. It may have stalled out a bit but made good progress and is the most likely candidate for implementation


TypeError: User.create is not a function

OpenRecord Version: ^2.7.2
Node: v11.1.0
npm: 6.4.1

I'm getting an error when I do the following:
await User.create(req.body.data)
When I log User I get this: [Function: User]
//config/database/openRecord.js
/** more code above */
let store = new Store({
    database,
    user,
    password,
    host,
    autoConnect: true,
    autoAttributes: true,
    models: require("../../app/models/models")
});

//app/models/models.js
module.exports = [
    require("./user")
]

//app/models/user.js
const Store = require('openrecord/store/mysql');

class User extends Store.BaseModel {
    static definition(){
        this.validatePresenceOf(
            'first_name', 'last_name', 'email', 'password'
        );

        this.validatesConfirmationOf('password');
        this.validateFormatOf('email', 'email');
    }

    fullName(){
        return `${this.first_name} ${this.last_name}`
    }
}

module.exports = User;

What am I doing wrong ?

Hi @rottenoats
two small typos are validatePresenceOf (should be validatesPresenceOf) and validateFormatOf (should be validatesFormatOf).
However, this is not the error you experience!
I'm pretty sure that you forget to wait until the store is ready.
A simple await store.ready() before your User.create should solve your problem.
A better place would be before starting your webserver. (e.g. before server.listen() for express)

@PhilWaldmann thanks for the quick response.
I see where the problem is coming from. So you're recommending I wrap the creation of my webapp in the store.ready() function?
Also would be nice if this was mentioned in the documentation (unless I read too quickly).
https://openrecord.js.org/#/modify?id=createdata

Thanks for the feedback. I'll make it more clear in the docs!
If you use express (but it's similar with other frameworks) I would do the following:
const express = require('express')
const store = require('./store')

const app = express()

async function start() {
  // add middleware ...

  await store.ready()

  // start express server
  app.listen()
}
start()

For usage in serverless (or similar frameworks):
// set autoConnect to false
const store = require('./store')

module.handler = await function(event, context, callback){
  store.connect()
  await store.ready()
  // your business logic here
  store.close()
  callback(null, result)
}

@PhilWaldmann thanks for the example, much appreciated. If you have a SO profile you can leave an answer on my SO question if you like.

sure ;)


[Feature request] add Router device example (TZ-169)

Hello again,
so actually i am trying to make my end device into a router so that the device will also repeat the zigbee network. after several tries i couldn't get it to work.
I make the configuration according to the documentation and get the device to continue working normally. but when disconnecting the coordinator the device leaves the network. Being a router I would expect the device to maintain the network . In addition, if I restart the device with the coordinator disconnected, it does not generate the network either.
What I expect when configuring the device as a router is that if the coordinator is disconnected, it emits the zigbee network. If the coordinator is connected, it should repeat the signal to increase the range of the zigbee network.
Is there something I'm misunderstanding? Reviewing the examples, I realized that none of them configure the device as a router. Is it possible to add an example of a repeater configured as a router?
thanks

Hi @diazmanuel ,
The ESP-ZIGBEE-SDK can simply use the pre-configured settings in the header file to set the router role.
#define ESP_ZB_ZR_CONFIG()                                                                          \
    {                                                                                \
        .esp_zb_role = ESP_ZB_DEVICE_TYPE_ROUTER,                                                   \
        .install_code_policy = INSTALLCODE_POLICY_ENABLE,                                           \
        .nwk_cfg.zczr_cfg = {                                                                       \
            .MAX_CHILDREN = MAX_CHILDREN,                                                           \
        },                                                                                \
    }

but when disconnecting the coordinator the device leaves the network. Being a router I would expect the device to maintain the network .

In this case, the router can maintain communication with joined end devices but not maintain the zigbee network, because it has the capability to upgrade to a coordinator and forms network. Therefore, if the router device is restarted with the coordinator disconnected, it only will stay on  the original network.

What I expect when configuring the device as a router is that if the coordinator is disconnected, it emits the zigbee network. If the coordinator is connected, it should repeat the signal to increase the range of the zigbee network.

Yes, you are correct. When the coordinator is disconnected, the router will continue to emit the original Zigbee network. However, if the coordinator is connected,  it will repeat the signal to increase the range of the zigbee network.

Hi,
The zigbee router device example has been add in esp-zigbee-sdk.
If there is anything we can help you with, you can reopen it or create a new one.

@Layochi ，
Could you please provide more details about your requirements? I don't have a complete understanding of "reverse engineering" and would appreciate more context.

I tried to understand the code you provided to figure out which parts of the code are used to set the ESP as a router without disturbing the endpoint part.


Using async decorator uses type hints incompatable with with asyncio.run or asyncio.create_task

It would be nice to be able to use this with asyncio methods like run and create_task without needing to resort to escape hatches like typing.cast or #type: ignore. I'm not sure that is just having a result.as_coroutine_result or there's a better way.
An example case is the following:
from result import as_async_result
import random
import asyncio

@as_async_result(Exception)
async def example() -> str:
    if random.random() < 0.5:
        raise RuntimeError("Boom")
    return "made it"

task: str = asyncio.run( example() )
print(task)

Running mypy on that will produce the following error:
error: Argument 1 to "run" has incompatible type "Awaitable[Ok[str] | Err[Exception]]"; expected "Coroutine[Any, Any, Never]"

This function python async def awaiting(awaitable: Awaitable[T]) -> T:     return await awaitable  can do the trick to wrap awaitables into coroutines, alas, there is an additional await added.

What would be the reason for using Awaitable instead of Coroutine then? From what I can understand, Coroutines are defined using the async def, which I assume is the use-case for the async_as_result?
Awaitable is just a less specific type used for Coroutine, Future and Task.
I tried to locally change from Awaitable to Coroutine in the result-package in my use-case and mypy was happy.


Use engineerd/setup-kind to set up KinD cluster

Error response from daemon: network kind not found


Add build number to the file name

Currently we append core version to the file name, so if a new build of installer comes out with other changes (RM, Central or Config) then you can't tell which one is the new version. We need to add build number so it's easier to tell the difference.

Opened pull request to add build number to file name - https://github.com/OSVR/OSVR-Access/pull/11

Fixed in https://github.com/OSVR/OSVR-Access/pull/11


BROOKLYN-396: test and fix

When rebinding a location, if a config flag corresponds to a field
with @SetFromFlag then just set the field, and don’t leave the
key-value inside config().getBag().
Some classes use fields to store internal state, which should not be
passed to child locations (e.g. LocalhostMachineProvisioningLocation.origConfigs).

It's concerning that the implementation of BasicLocationRebindSupport.addConfig() is very different from BasicEntityRebindSupport and BasicPolicyRebindSupport.
But I don't want to try changing that stuff now. It's one to mull over, and change in the future (possibly next time we're doing major work on rebind).

@aledsage the fix looks good. The blueprint I gave in 396 resizes correctly after rebind.
In the comments on the issue you wrote that "I presume the solution will be to improve what we store in the origConfigs (e.g. so that the sub-machines don't inherit it)." Is origConfigs doing the right thing? Or have we side-stepped it?

@sjcorbett this change ensures the origConfigs has the right thing.
The intent of origConfigs is to remember the state of the location from before we returned it, so if a BYON gets it back and then gives it out again, it can reset the config to what it was originally. This means that origConfigs is a map from MachineLocation instance to its config map.

Merging now.


Ingawei/man 463 notifications user suggestions

made it so notifications don't automatically become 'read' upon clicking. I think this was bugged anyhow, as it seemed to mark notifications that weren't even visible as read after refresh.

There are 3 ways to mark a notification as read:

Mark all as read button
click the notification
choose to mark it as read in the ... menu

Setting up this ... button next to notifications to allow notification settings configuration on notifications page later, but that's for future Inga to worry about
For now can also mark notifications as unread
did line clamp things
grouped notifications now previews all unread notifications, even if unread notifications exceeds 3 notifications
notification bell is reactive to these changes

made it so notifications don't automatically become 'read' upon clicking. I think this was bugged anyhow, as it seemed to mark notifications that weren't even visible as read after refresh.

We decided to mark all notifications as read, even those that weren't visible, bc if a user has more notifications than fit on a page they'll have to go back in history and 'view' all of them to silence the notification bell. Your new button would fix this but as I said above, I'd rather not have to click something every time I visit the notifications page.

Agree with all of Ian's comments.
Clicking a button to mark as read helps you carefully look through every notification you missed, but I think users would much prefer to have them automatically marked read. Notifications are not as important as, like, email.
I don't think anyone wants to mark individual notifications as read/unread either. So maybe even the '...' menu is not useful.
I'm also not sure about showing all new notifications — just think of a Destiny market where 50 people write spammy comments. RIP, your notifications inbox. It means you might not see other important notifications from other markets.

Reverted double read/seen notifications, all notifications are marked as seen upon entering page and also am keeping just 3 notifications regardless of how many are read within a group. Good catch I didn't think about if a market is exploding haha
@IanPhilips could you review the notification preferences logic and make sure it's sound?
also there's some weirdness going on with the new Like notifications, it's showing above all others even though it occurred earlier. I think it also needs to be added to preferences

I was kind of interested in trying out the facebook 2-read style notifications! What led you to abandon that track?

I was kind of interested in trying out the facebook 2-read style notifications! What led you to abandon that track?

I agreed with everyone in that it's tedious to have to press a button to mark everything as read. I implemented and played around with it and idk it just felt extra confusing. I think with FB it works because your unread notifications will always be at the top... they don't have grouped notifications/daily income hierarchy and stuff like that. Notifications are already pretty complicated so I was meh about it.
Also I think the only benefit from having a notification marked as read/unread is if you could organize/sort it. FB has an unread notifications section. Maybe if we implemented that I would feel differently but having grouped notifications also complicates that


Support for Binding rotation

I would like to implement service binding rotation in my service broker while I cannot find the corresponding function in interface ServiceBroker. And for func Bind(), there's no predecessor_binding_id field in BindDetails,  which is required for binding rotation according to the OSB specification.  I'm wondering if there's any on-going task about this topic?

Hi @reborn1867, there are no plans to implement binding rotation at the moment. The OSB spec has predecessor_binding_id in its master branch only meaning it hasn't yet been released in any version.
You could submit a PR and we would be happy to consider merging it to brokerapi regardless. It' issworth mentioning though that including it in brokerapi won't be of much value if it doesn't get implemented in the actual platform (e.g cloudfoundry). Your broker would be capable of receiving and act on this property but the platform wouldn't be sending it at all .
Hope that makes sense

Thanks a lot for the clarification, and I would love to submit my PR if the binding rotation is actually released.


[Android] UI profiling not showing JS-thread

Hey everyone!
Im having troubles with profiling UI performance on android.
Im following the instructions given by https://facebook.github.io/react-native/docs/android-ui-performance.html but Im not getting the js-thread. Here is a snapshow of the trace.html that I get:

We're cutting down on the number of outstanding issues, in order to allow us to focus. I'm closing this issue because it has been open for over 60 days with no activity. If you think it should still be opened let us know why. PRs are always welcome.


Fix ntp gps status

trim sat in use
gps ok for GPGLL
lat & lon direction for GPGGA & GPGLL
sat in use text position fixed

Yes if your configuration is set to read from GPRMC(or All and GPRMC is always sent first) you will not see any changes as the problems were mostly with parsing GPGLL and GPGGA. GPGLL wasn't setting gps ok correctly(not showing any of the data it was parsing) and both GPGLL and GPGGA were not reading the lat and lon direction correctly as it was hardcoded to only read the lat and lon direction from GPRMC. The lat and lon direction is only a problem on the ntp status page, the widget works fine(except for not showing GPGLL info at all). As for the trimming of sat in use value and fixing it's alignment, that value is only read from GPGGA so you will only see the field when set to GPGGA. But if your gps can output both GPGGA and GPGLL you should be able to test the changes by setting your NMEA Sentences config to GGA and GLL, respectively.


Feat: Replace space by "-" (or something like "->" before children space name to make list of space more user freindly

at present
The children space name have a space before the name. It is not easy to understand is it a children space.
Expected
Show something like   or - or ``->or=>` before name of children space name.

UI updated in last version


Settings page distracts users

Is your feature request related to a problem? Please describe.
Today the settings button opens in full screen and distracts users.
Describe the solution you'd like
Since it has only a few options, consider making a side panel something like in the Mail app.
Describe alternatives you've considered
None.

Based off analytics, the settings page is not opened very often so there shouldn't be an issue of it being distracting. It's also important to note that the settings page is going to get more options over time so it is probably best to continue with the current format.

@yaichenbaum But it wastes a lot of space and since those controls aren't going to probably use horizontal scrolling in the future.

How about making it another tab or even another window?

How about making it another tab or even another window?

Another tab can definitely work but it will be confusing if the user hid the tabs. Opening it in another window might cause a disconnected experience. One of the things we intend on doing is to make the settings pages a richer experience. We can do this by adding tips and links to related settings in the unused space.

Having Settings be modal where it takes over the whole app is how MS is doing things with its most contemporary apps, e.g. Your Phone and To-Do. Unless there is a compelling reason to be doing something in Settings while also manipulating something else, then I would say stick with that established pattern.

@Talisman39ar But in the app's setting page you don't get a sidebar or something.

@Jaiganeshkumaran Do you mean in apps like To-Do and Your Phone the settings themselves don't have a sidebar? If so, that's true, both have all settings on a single page. In the case of Your Phone that's getting to be a long list, in that respect I think the current Files arrangement of having categories in the sidebar is arguably simpler (though it requires more clicks).
Maybe you can be more specific about what you mean by "distracting"? That term is ambiguous. Do you mean it pulls the user's attention away from something else they should be looking at? Or it's not well organized and is confusing? Or...? Just trying to understand what the problem is you're seeing.

In the case of Your Phone that's getting to be a long list, in that respect I think the current Files arrangement of having categories in the sidebar is arguably simpler (though it requires more clicks).

The Your Phone app is actually switching it's setting page to use the same design we use in Files UWP.

@Talisman39ar When I am browsing through files I have to open the full screen settings, find the menu item, click on it and hit the option, Then I need to comeback. Instead a dialog or flyout will be better since I can change the option instantly and see the change.

@Jaiganeshkumaran That is a valid point, however, most settings are very clear in what they do and some of them even include a description with more details.

@yaichenbaum Don't just copy apps like Your Phone because they were designed for a different use case.

There doesn't seem to be a lot of users finding the settings page distraction, however, to be consistent with the other sidebar items, I don't see an issue adding a right click context menu with the option to open the settings page in a new window.

I personally don't think setting page may be a distraction, although I do think there should be a save action on settings back arrow button after user change any setting. Currently if you do so, you would need to restart the app for changes to have effect.

After creating a poll to ask users about this, most users asked us to keep the settings page how it is. This can be evaluated again in the future if this changes.


Add option to set the amount of branches to show

Allow to change default count option by adding a git configuration. Now
you can do git config --add switch.count <number>
cc/ @marpo60 @eldano

Documentation missing, I'll add it in a following commit.


Add C/C++ Implementation of heap sort

Add the needful here and submit a PR,
https://github.com/MadhavBahlMD/OOPS/tree/master/Sort/Heap_Sort
Also, do add the algorithm and explanation in Corresponding README + snippet of code
Format for README
 Sort
Some Details
Algorithm
Algorithm
Explanation
Explanation
C/C++ Code
Code Here

PR format:

[x] About
[x] Algorithm
[x] Explanation
[x] Code Snippets
[ ] Screenshots as example


added git share directive for viya4-iac-gcp

Fixes this issue : https://github.blog/2022-04-12-git-security-vulnerability-announced/

This needs testing just added the code snippet needed to start moving forward on this one.

Best way to test. Create the new docker image. Run a container with that image using the entry point bash then
cat .gitconfig

You should see output showing a section with the label [safe] and the correct directory.


how to see size of each layer output feature

how to see size of each layer output feature and FLOPs of the whole net

Output shape: See #71. The answer is different for each model format at the moment. Which model format are you using?
FLOPs: For metrics see #204. This is probably more of a feature of the specific runtime engine. If there is a general way to support this for all formats and you are interesting working on this we can discuss further.


Add Profile Photo Upload Option

Describe the bug
I suggest implementing a feature that allows users to upload their profile photos within the profile section. Presently, there's no option for users to personalize their profiles with images. Enabling photo uploads would enhance the user experience by letting individuals add a visual representation of themselves. This addition aligns with modern user expectations and helps to create a more engaging and personalized platform.
Location of the bug
Profile page
Expected behavior
No response
Screenshots (if any)
No response
Checklist

[X] I am willing to work on this issue (optional)
[ ] I am a GSSoC'23 contributor (optional)

Is there any database where the uploaded profile image of the user can be stored?
I have some expertise in this. Can I please work on it?


Fix comment reference for function hash

The assigned value for _INTERFACE_ID_ERC721 is correct, the equation in the comment is just missing a nibble.

Closing since the issue is also found on OpenZeppelin/openzeppelin-contracts


#38 Feature: sleep at time & wake up time update

sleep at time & wake up time update
Data is persistence using shared perferences

https://user-images.githubusercontent.com/95225751/206918535-afd71fc4-231c-4d0f-a15a-7074d0b80a21.mp4

@kuldeepsingh0330 great


Tabbed File Explorer

Summary of the new feature/enhancement
Include in future releases of Power Toys an extension to File Explorer to allow for creation of tabs. Apparently Microsoft was working on this in the past but abandoned the project? Tabs would be very useful in moving around, copying, etc., files.
Creating a frame to allow any application to be tabbed would be a bonus, but this will not enhance productivity in my opinion, which is the key goal of Power Toys. For example, in Word I need two (or more, thanks Power Toys) windows side by side, but tabs would be of no help
Proposed technical implementation details (optional)
Tabbed File Explorer window. I believe this is self-explaining.

I'd pay money for this.

being tracked in issue #10

Check out https://thewincentral.com/microsoft-planning-to-bring-windows-10-sets-feature-back-from-grave/, maybe that'll help?


Add minikube to SETUP.md

As of k8s 1.3 minikube is the lowest barrier to entry way of getting a local kube cluster running.
We should probably put it at the top of deployment options since it's the lowest barrier to entry.
I think there's still value in keeping around the dockerized version, it's still a better option if you're using Docker Machine or running on native linux I think.

I think this is already done?

I believe this is on the doc-sidebar branch

Strictly speaking, setup.md doesn't exist anymore, but the getting started page in our readthedocs guide is written using minikube


Reference Management and Bibliography tools

Hi @blahah, I really like the look of science-fair, looking forward to more datasources being available.
I was reading the source code, and looking at how the project is built, really nice model-view design with choo which is a very nice functional way of building the thing - much nicer on my brain than a more heavyweight framework!! 😆
Anyway I was wondering what I might be able to contribute to this project if I wanted to do some weekend programming fun, and it occured to me it would be awesome if scienfair allowed bibtex and other bibliography management for the papers people are downloading and sharing with sciencefair.
There are several ways this might be done of course, but was wondering what your thoughts were on this. Firstly is it desirable to you? And secondly are there ways you'd like to see such a thing implemented or even ways you definately wouldn't want to see it implemented?

Would love to see this feature in a future version, would be happy to get involved with you @Ward9250 (although my js coding is a bit basic).


Header: Update Profile to be logged in user (Individual or Organization)

As a user who has both an individual and an organization profile, I want to clearly know when I'm acting as myself or as an organization.
In header, the "Profile" link should be the Individual's name when the individual user is selected.

https://www.figma.com/file/4cV84H1jyMo0rJEAl3HNnJ/FightPandemics-landing-page?node-id=15846%3A82370
In header, the "Profile" link should be the organization's name when the user has selected the organization profile.
(I don't have an organization, but it would show up here if I did)

AC:
Given user only has individual profile,
When user is logged in
Then user's name should display in the upper right with down arrow to indicate they can modify their profile from this drop down.
Given user has an individual profile and an organization profile,
When user is logged in and has chosen individual profile
Then user's name should display in the upper right with down arrow to indicate they can modify their profile from this drop down.
Given user has an individual profile and an organization profile,
When user is logged in and has chosen organization profile
Then the organization's name should display in the upper right with down arrow to indicate they can modify their profile from this drop down.

@manualzuru @doheekim93 @tejasm2  i think this came up in one of our meetings. agree it is P1?
anyone have a screenshot of having an organization?
@dhruvdpatel @CamilaArias FYI

@emtay do we have the backend setup to handle likes and comments (and other tasks) done by organisations?

@emtay Yes, this is P1 and yes, the backend should allow to behave as an organization. Right @Naraujo13 @joaofnds?

@manualzuru the data model treats org as another user and so does the backend I think, so I think it is covered up.
I think @joshmorel can confirm if this is the current state

This is why I created #1470
It would be like post as org but we'd need to handle it on every case with organisationId param. A plugin/middleware/decorator should be created to address this

@joshmorel is 1470 required for this or an enhancement that can be done any time after this? anything else needed before this ticket can be played?
also, is this required for organizations to be able to send and receive messages?

@emtay  this work can start in parallel.
What I would suggest for FE - we already have array of organizations user owns. We can keep track of the org they are acting as through a new state variable I guess.
Then pass organisationId to BE (as param or prop). The BE middleware or decorator I'm thinking of will confirm logged in users is authorized to act as the org then perform the action as the org.

@joshmorel @emtay : Tejas asked me to look into this and I am looking into the FE part of this. @joshmorel you are right, we already have an array of orgs the user owns. I can use the path to get the current organization and display the right organization name in the header. This is my first task, am I overlooking something here or will this fix work? Below is the snippet:
`    let url = window.location.pathname.split("/");
if (user && url.length === 3 && url[1] === 'organisation') {
    const organisationId = url[url.length - 1];
    user.organisations.forEach((organisation) => {
        if (organisation._id === organisationId) {
            profileTitle = organisation.name;
        }
    });
}`

Hi @shalinidc the idea with this toggle is that it could be done from any path. So for example I could be on https://fightpandemics/feed and switch to an org, then when I, for example like a post, I am acting as that org instead of myself.
Does this sound right  @davidoduk @emtay @tejasm2?
Anyways @shalinidc I'm still figuring out the backend but I'm pretty sure any applicable route where one might act as an organisation would take an optional organisationId argument (either query param or body property) and:

If present it indicates the user wants to act as that organisation
When it's absent it indicates the user wants to act as them self (the individual id is stored in the JWT token so nothing would be required)

Since this might apply to a lot of our routes and I'm also thinking of other ideas (including storing in cookie) BUT in any case  the frontend approach will be mostly similar I think:

We are tracking the user here which includes the organisations array: https://github.com/FightPandemics/FightPandemics/blob/staging/client/src/reducers/sessionReducer.js.
The best I think would be to track the actual index to the organisation array let's say organisationIndex, null by default (initiateState).
We will have a redux action, something like SET_ORGANISATION_INDEX that will be dispatched when the user selects one of their organisations from the list with the index as the payload.
If they select their own user name then SET_ORGANISATION_INDEX will be dispatched with null as the payload
The display name will be from the user object, but the display would be based on organisatinIndex. So something like organisationIndex === null ? ${user.firstName} ${user.lastName}: user.organisations[organisationIndex].name.
We'd also update the "Profile" link, e.g.  organisationIndex === null ? user.id: user.organisations[organisationIndex]._id.

So if this sounds like something you want to take on assign yourself. If you can get all that working then we can put it together with the backend routes once I've figured out my part.

Wanted to confirm something else @tejasm2 , @emtay or @davidoduk about this feature.
Now we should edit/delete menu for any post created by yourself or an org you own. For future state will it only only show the menu for the selected user?

And if you're curious what will be easier - on the FE keeping everything specific to the current user would be easier with the proposed toggle in header design. The backend can then check if the authenticated user is authorized.

Hey @joshmorel, to clarify, this is the easier scenario?
-User will only see a menu for the posts they are logged in as i.e. if logged in as "Josh", the will not see a menu for posts by "Josh's org"

-User will only see a menu for the posts they are logged in as i.e. if logged in as "Josh", the will not see a menu for posts by "Josh's org"
@davidoduk Yes if we keep it consist across the features that only the "selected user" is shown options such as these it would be easier. Not just here - but we'll also need to address showing Edit button or not in comment etc.

Agreed, that looks like the best way to implement this from a UX perspective as well

@davidoduk @joshmorel user should only edit or delete what is based on that profile- Indiv or org. If indiv, I can only edit or delete posts I made as an indiv.
If org, I can only edit or delete posts made by that org.
If user has more than one org, they have to be acting as same org that created post to edit or delete.
I think that’s what you have above but wanted to confirm


Feature request: Support for the FictionBook format?

Specs description at: https://wiki.mobileread.com/wiki/FB2

Partially discussed in https://github.com/altescy/bookshelf/issues/2#issuecomment-706177299


[ᚬframework] feat(core/binding): add default StoreBool, StoreUint64, StoreString

What type of PR is this?
Add feat(core/binding)
What this PR does / why we need it:
Add DefaultStoreBool, DefaultStoreUint64, DefaultStoreString
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

ping@yejiayu

ping@yejiayu


migrate to sqlite

Personally Supabase is a little overkill for what is basically a key value store for Snazzle. SQLite is much better for this
I also fixed Scratch Auth so that it redirects and authenticates correctly (it wasn't doing that before)
Somebody should also test if it works on Replit
Fixes #39 :rocket::rocket::rocket::rocket::rocket::rocket:

Oh thank you!! Will merge when I get back from where I'm going

Screw it, ima fix the merge conflicts now
Screw family bonding time (jk)

Actually nvm, we just merged #44, so I think this is kind of... I can't find the word but like unneeded??
I'll hold it to a vote, it seems wrong to have just me merging this after merging #44...
Sorry about that.

Also @ajskateboarder your autoformatter deleted a bunch of stuff and I think you committed files in the .gitignore
If we do end up migrating to SQLite it should be in a different PR

Actually nvm, we just merged https://github.com/redstone-scratch/Snazzle/pull/44, so I think this is kind of... I can't find the word but like unneeded??
I'll hold it to a vote, it seems wrong to have just me merging this after merging https://github.com/redstone-scratch/Snazzle/pull/44...

I'll see what I can do. I personally think SQLite is much easier to use (Python even supports it ootb)

Also @ajskateboarder your autoformatter deleted a bunch of stuff and I think you committed files in the .gitignore

Like .vscode? I'll remove that

lgtm

Everyone remember to auto format your code before you make a pr (ctrl+alt+f
in vscode)
On Wed, Aug 2, 2023 at 06:49 RedstoneScratch @.***>
wrote:

Merged #42 https://github.com/redstone-scratch/Snazzle/pull/42 into
main.
—
Reply to this email directly, view it on GitHub
https://github.com/redstone-scratch/Snazzle/pull/42#event-9987150478,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL2FCVDPZD5JK6ZWBBW7RP3XTI5EBANCNFSM6AAAAAA3AFVLQI
.
You are receiving this because you commented.Message ID:
@.***>


Note: Rebuild With -Xlint: deprecation for details.
after trying to open the apk generate the device and I get error opening the file.
What could be the problem?

This is not a bug with Ionic, it has something to do with cordova. I stumble across this post and I have the same issue, but I am not using Ionic!

Hello, i would recommend updating to the latest version of cordova. This seems to be an issue iwth cordova that has been fixed with the latest version. Thanks for using Ionic!


Preprocessor callbacks during parsing (was: Make string options behave same as boolean options)

From discussion on the picocli google group mailing list, topic raised by @maxandersen:

when I have:
@CommandLine.Option(names = {"--live" })
boolean live;

then jbang --live=true and jbang --live=false works, and jbang --live false is not interpreting the false argument as a possible value. and jbang --live=custom i can even intercept with custom value handler.
now...how can I get the same for
@CommandLine.Option(names = {"--live" })
String live;

with this I cannot force that only --live=myarg gets taken as input and that --live myarg  should not be treated as a value to live.
any way for this to work ?

My reply:

The intention was that --option=value and --option value would be treated identically.
There is indeed some special logic for booleans, that takes the separator into account.
This is because boolean options have arity=0, meaning they are not expected to have a parameter.
If the user specified --option=value, then the presence of the separator "forces" us to accept "value" as a parameter, and that is what the logic does.
This is a special case. Generally I would think that treating  --option=value and --option value  differently would be confusing to users, but there may be other use case that I don't understand yet.
Currently the IParameterConsumer interface does not give any indication of whether the value was attached with a separator or not, that may have been a bad decision.

@maxandersen's reply:

I think it would been great to know if parameter is done via = or not as I really dont see another way of allowing to have options that can have a default beavhior but then be able to specify another option....well you can but that would require having one boolean nand then another flag for the option.
i.e. in my case its jbang where I want to do jbang edit --open myfile.java (which says please make temporary project for myfile.java for me to edit, oh and please open my default editor on that project)
but I also want to be able to write jbang edit --open=idea myfile.java which says the same but says, use the idea command/editor in this case.
There is no real way for me to know wether myfile.java is actually the editor he wants to use or not ....
I've used parameterconsumer in other cases pretty nicely for numeric values where if the value was a number i would acccept it but not if a string/filename that existed - but it just gets dirty.
And when I look at all my special cases I could have handled it much more uniformly if I had a "OnlyExplicitlyAssignedParameterConsumer.class"  or something ;)

btw. see https://github.com/jbangdev/jbang/pull/314 for latest issue i'm trying to solve and made me open this one. might give you some more context.

My reply:

Thank you for clarifying the use case: there is an option with an optional parameter, and this introduces ambiguity.
I like your proposed solution to try to disambiguate the input with a '=' separator;
it is intuitive that A is the option parameter in a command like jbang edit --open=A B, where jbang edit --open A B is more ambiguous.
The drawback is that users need to know this.
A similar solution (that already works with all versions of picocli) is to disambiguate with the -- end-of-options delimiter.
jbang edit --open -- A B  # both A and B are positional parameters
jbang edit --open A -- B  # A is a parameter for the open option and B is a positional parameter
This has the same drawback that users need to know this.
Arguably the -- end-of-options delimiter is less well-known, although it can be shown in the usage help with @Command(showEndOfOptionsDelimiterInUsageHelp=true).
Still, this is something to consider for commands that define both an option with an optional parameter and a positional parameter.
Ultimately, this is a limitation of the picocli parser: if a command has an option with an optional parameter (like --live[=editor]), then the picocli parser will currently greedily assign the value that follows the option to this option. This is regardless of whether the command also defines a positional parameter and the last argument could also have been interpreted as that positional parameter. This is especially painful if the positional parameter is mandatory (see https://github.com/remkop/picocli/issues/981).
I raised https://github.com/remkop/picocli/issues/980 to improve the parser, but this is not trivial:
it essentially requires the parser to detect ambiguity (all options or positional parameters whose arity is a range instead of a fixed number),
and build up multiple parse results: one for each possible interpretation of the input.
If we succeed in that, we need to decide what to do in cases where

all interpretations failed (what error message to produce)
multiple interpretations succeeded (which one to choose)

Your idea to disambiguate with '='  will not solve the full range of ambiguity problems, but it may be easier to implement than a backtracking parser.
Currently I can think of two mechanisms to do this:

introduce a new @Option(assignFallbackWhenSeparatorMissing = true|false) attribute.
For options with an optional parameter, this attribute would tell the parser to use the '=' separator to disambiguate the input.
The value following the option is only considered to be the option parameter if the value is attached to the option with the '=' separator.
introduce a new IParameterConsumer2 interface, that takes an additional LookBehind { SEPARATE, ATTACHED, ATTACHED_WITH_SEPARATOR} enum parameter to the consumeParameters method.
We would also need an additional @Option(parameterConsumer2 = <class>) attribute.
Applications can then use this to build custom disambiguation logic.
Somehow make this information (of whether a separator was specified or not) available to implementors of the existing IParameterConsumer interface.
Perhaps by adding some method on ArgSpec, CommandSpec or any object reachable from these objects.
Of by setting a static ThreadLocal. :-)

There may be other approaches, please let me know your thoughts.

@maxandersen's reply

Still, this is something to consider for commands that define both an
option with an optional parameter and a positional parameter.

issue is that it only work for one parameter - what if you have two ?

introduce a new @Option(assignFallbackWhenSeparatorMissing = true|false) attribute. For options with an optional parameter, this attribute would tell the parser to use the '=' separator to disambiguate the input. The value following the option is only considered to be the option parameter if the value is attached to the option with the '=' separator.

+1 for a boolean for its simplicity.

introduce a new IParameterConsumer2 interface, that takes an additional LookBehind { SEPARATE, ATTACHED, ATTACHED_WITH_SEPARATOR}  enum  parameter to the consumeParameters method.  We would also need an additional @Option(parameterConsumer2 = <class>) attribute.  Applications can then use this to build custom disambiguation logic.

doesn't feel right.

Somehow make this information (of whether a separator was specified or not) available to implementors of the existing IParameterConsumer interface. Perhaps by adding some method on ArgSpec, CommandSpec or any object reachable from these objects.

better than #2

Of by setting a static ThreadLocal. :-)

noooo! ::)

On a different ticket (#1214), @dwalluck offered an interesting suggestion that may help solve this issue: introducing a preprocessor that would allow implementors to modify option parameters without consuming them. Picocli would then process the modified option parameter. This could also work for positional parameters.

Something like this:
interface IParameterPreProcessor {
    /**
     *
Modifies one or more of the specified command line arguments before they are
     * processed by the picocli parser (or the {@link IParameterConsumer parameter consumer}, if specified).
     *

     * Implementors may consume one or more of the specified command line arguments:
     * a return value of {@code false} signals that picocli should skip further processing of this option or
     * positional parameter. A return value of {@code true} means that picocli should
     * process the stack as usual for this option or positional parameter.
     *

     * If the user input is invalid, implementations should throw a {@link ParameterException}
     * with a message to display to the user.
     *

     * @param args the command line arguments
     * @param argSpec the option or positional parameter for which to pre-process command line arguments
     * @param commandSpec the command that the option or positional parameter belongs to
     * @param info a map containing additional information on the current parser state,
     *                including whether the option parameter was attached to the option name with a `=` separator,
     *                whether quotes have already been stripped off the option, etc.
     *                (TODO key-values to be documented here)
     * @returns true if picocli should continue processing the stack for this option or positional parameter,
     *          false if picocli should skip further processing of the stack for this option or positional parameter
     * @throws ParameterException if the user input is invalid
     */
    boolean processParameters(Stack<String> args, ArgSpec argSpec, CommandSpec commandSpec, Map<String, Object> info);
}

Example usage:
@Option(names = {"--live" }, parameterPreProcessor = MyProcessor.class)
String live;

interesting. That does sound interesting.
+1

Note that #1256 discusses a related use case, where there is a need to get a callback when the parser recognized a subcommand (as opposed to when an option or positional parameter was recognized).
@MarkoMackic suggested that the new use case deserves a separate interface (something like ICommandPreprocessor, details TBD) since the use case does not involve options; when a subcommand is recognized there is no ArgSpec to pass to the preprocessor, and the meaning of the return value may also be different.
I think it makes sense to discuss these two use cases together to explore ideas on this.

@remkop So no preprocessors at model building time ?

@MarkoMackic, I see, good point: on #1256 you mentioned the use case of modifying the command dynamically at model build time for things like man page generation and perhaps completion script generation.
To be honest, I am not convinced about providing API for this: changing the model dynamically feels like one of those things that picocli should make possible, but not necessarily easy or convenient. From the next release (as per the new CommandSpec::removeSubcommand method added for #1256), it will be possible to achieve your use case with code like this:
static CommandLine createDynamicallyModifiedCommand() {
    CommandLine result = new CommandLine(new MyApp());
    if (someCondition()) {
        result.getCommandSpec().removeSubcommand("sub");
    }
    return result;
}

This method can then be used in main to launch the application, and can be passed to the ManPageGenerator.generateManPage method, for example. So at least these use cases are possible, and I may be convinced later that it should be made convenient.
Meanwhile, having an API that gives callbacks during parse time opens many possibilities that currently do not exist at all.

@remkop sorry but I don't agree that this is good API, or we didn't understand each other at all. As I currently understood let's say you want to remove subommand c which is subcommand of b which is subcommand of a which is subcommand of main command line.
If I understood correctly this is how I'd do it by current API proposal :
static CommandLine createDynamicallyModifiedCommand() {
    CommandLine result = new CommandLine(new MyApp());
    if (someCondition()) {
        result.getCommandSpec().subcommands().findSubcommand("a")
                 .getCommandSpec().subcommands().findSubcommand("b")
                 .removeSubcommand("c");
    }
    return result;
}

The code above is just an illustration. I don't know the actual method names.

@MarkoMackic Apologies, I thought you were okay with the parse-time preprocessor idea. Perhaps I closed #1256 too soon.
I would like to keep this ticket focused on the API for callbacks during parse time.
I created a separate ticket (#1259) to discuss your use case further.

@maxandersen The first draft of this feature has landed in master.
Here is an example for your use case. Can you try and play with this and find any problems?
Still need to add documentation.
Aiming to release picocli 4.6 on Jan 1 2021. :-)

@MarkoMackic @dwalluck Your feedback would be very welcome!

Example looks good. I'll try use it in jbang shortly.
Any snapshots published anywhere or maybe jitpack is best option ?

@maxandersen I have not looked into publishing snapshots, sorry. A quick glance at JitPack looks promising but no time now to dig deeper...

No worries. I'll give it a go and let you know how goes.

jitpack works :)
`implementation 'com.github.remkop:picocli:master-SNAPSHOY'

looking at the example code i'm not following what this is for - why this check ?

That’s for cases when the end user specified the positional parameter before the named option.

That’s for cases when the end user specified the positional parameter before the named option.

but why does that matter ? shouldn't it still only be picking up if there is a '=' ?
btw. IParameterProcessor in https://raw.githubusercontent.com/remkop/picocli/master/src/main/java/picocli/CommandLine.java is not public so I can't actually implement the class - works in your tests because you are in picocli package.

but why does that matter ? shouldn't it still only be picking up if there is a '=' ?

Matrix of all combinations (this is how I interpreted the requirements):
--open A B   # A=file, B=unmatched
--open A     # A=file
--open=A B   # A=editor, B=file
--open=A     # A=editor
X --open A B # X=file, A=editor, B=unmatched
X --open A   # X=file, A=editor
X --open=A B # X=file, A=editor, B=file
X --open=A   # X=file, A=editor

IParameterProcessor is not public

Thanks for the PR!

okey, I agree on all of them except these two:
X --open A B # X=file, A=editor, B=unmatched
X --open A   # X=file, A=editor

That would be:
X --open A B # X=file, A=file, B=unmatched
X --open A   # X=file, A=file

basically only treat --open=<something> as open argument.
But now the line makes sense and I can just remove it from my usecase and it should work...let me try that.

@maxandersen Note, I just made a small API modification:
change generic type of info parameter to Map<String, Object> (was Map<String, String>)

Docs all done I think.
Please let me know if you can find any issues.
Planning to release picocli 4.6 on Jan 1st (UTC).

So it seems to work - what I'm a bit puzzling is if there would be a way to configure the default processor since I think I would prefer to have all my options behave the same (ie. -e value and --edit=value and no --edit value)

There is no concept of setting a default preprocessor, you would have to specify the class of the preprocessor for each option that you want to apply it to.
There is an alternative: 4.6 also introduces model transformations (#1259).
With that, for the command whose options should all share a single preprocessor, you could do something like this:
@Command(name = "edit", modelTransformer = Edit.Transform.class)
class Edit {
   ...

    private static class Transform implements IModelTransformer {
        public CommandSpec transform(CommandSpec commandSpec) {
                IParameterPreprocessor preprocessor = createPreprocessor(); // create shared instance
                for (OptionSpec orig : commandSpec.options()) {
                    commandSpec.remove(orig);
                    commandSpec.add(OptionSpec.builder(orig).preprocessor(preprocessor).build());
                }
                return commandSpec;
        }
    }
}

Not convinced yet that support for default preprocessors is needed... is it?

There is no concept of setting a default preprocessor, you would have to specify the class of the preprocessor for each option that you want to apply it to.
There is an alternative: 4.6 also introduces model transformations (#1259).
With that, for the command whose options should all share a single preprocessor, you could do something like this:
@Command(name = "edit", modelTransformer = Edit.Transform.class)
class Edit {
   ...

    private static class Transform implements IModelTransformer {
        public CommandSpec transform(CommandSpec commandSpec) {
                IParameterPreprocessor preprocessor = createPreprocessor(); // create shared instance
                for (OptionSpec orig : commandSpec.options()) {
                    commandSpec.remove(orig);
                    commandSpec.add(OptionSpec.builder(orig).preprocessor(preprocessor).build());
                }
                return commandSpec;
        }
    }
}

Not convinced yet that support for default preprocessors is needed... is it?

It doesn't have to be the sameinstance just same type.

It doesn't have to be the sameinstance just same type.

Sure, but the above solution meets that requirement as well, no?

Sure, but the above solution meets that requirement as well, no?

Sure -but so instead of setting it on invidual options I need to set it on each command, right ?
Can't set up global default for fallback, right?

Sure -but so instead of setting it on invidual options I need to set it on each command, right ?
Can't set up global default for fallback, right?

Okay, but I don’t think I understand the use cases and trade-offs well enough yet to commit to an API for that at this stage. (I’m also still not convinced this is really necessary.)
Anyway, the current API offers a capability that previously simply did not exist; applications can now achieve things that they could not previously. That is more important than convenience. (As in, “Make common tasks easy, and make uncommon tasks possible.”)

Okay, but I don’t think I understand the use cases and trade-offs well enough yet to commit to an API for that at this stage. (I’m also still not convinced this is really necessary.)
Anyway, the current API offers a capability that previously simply did not exist; applications can now achieve things that they could not previously. That is more important than convenience. (As in, “Make common tasks easy, and make uncommon tasks possible.”)

yes, not saying to hold back the release - just saying that as things are now I'll have to add quite a lot of repeated code/declrations to ever @Command in @jbangdev just to ensure argument passing is consistent across the tool.
That just seems suboptimal imo.

yes, not saying to hold back the release - just saying that as things are now I'll have to add quite a lot of repeated code/declrations to ever @Command in @jbangdev just to ensure argument passing is consistent across the tool.
That just seems suboptimal imo.


Parameter values not reflexing to the avatar and Debug menu but still appear in quickmenu after VRChat 2021.4.2p2, build 1160 update

There is a temporarily fixed version of the mod on the VRCFaceTracking Discord!

There is a temporarily fixed version of the mod on the VRCFaceTracking Discord!

Sauce?

https://cdn.discordapp.com/attachments/849300336128032792/919056876199608371/VRCFaceTracking.dll


How to load the first frame of video and export it as jpg

I need to grab the first frame from video and export it as jpg or png and I didn't understand how to export a jpg form video.
Help wanted

simple Ffmpeg command is
ffmpeg -i input.mp4 -frames:v 1 output.jpg
but with FfmpegWasm we can do same by following example , do few changes like this

Load FfmpegBlazor
Load mp4 file
Write mp4 file to ffmpeg wasm file system eg. "myFile.mp4"
run ffmpeg command  by

            await ff.Run("-i", "myFile.mp4", "-frames:v","1","output.jpg");

read output.jpg  url and show
url2 = FFmpegFactory.CreateURLFromBuffer(res, "output.jpg", "image/jpg");


new(libsinsp): add aexepath filter and display option

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

/area driver-kmod

/area driver-bpf

/area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap-engine-udig

/area libscap

/area libpman

/area libsinsp

/area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it:
Which issue(s) this PR fixes:
Being able to filter process ancestry by exepath can be especially useful for writing rules around shells / RCE originating from java processes, because here often proc.name aka the process name can rather reflect the program name.
This new option provides new opportunities to write filter expressions for many use cases.

Fixes #
Special notes for your reviewer:

Would it be ok to also add this for proc.exe for completeness?
Light cleanup of the enum in a separate commit, else it is rather just copying existing code and swapping field references
Lastly, in a follow up PR we should perhaps change the ordering of the proc.x fields slightly so that the end user has a better overview of all supported fields on the website?

Does this PR introduce a user-facing change?:

new(libsinsp): add `aexepath` filter and display option

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: incertum
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I like this PR :rocket: ! I think it's a nice useful field to get. I also love the added test and the fact that you're thinking about the field order in the documentation to make it clearer <3 . Nothing against adding that to exe as well.
Also the cleanup makes sense to me, thanks for adding it as an additional commit.

/milestone 0.11.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: incertum, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [LucaGuerra,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 921899869c8ea45d2fa0e0c65286e30d849fb687

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, incertum, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,LucaGuerra,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


add a memegen command

https://memegen.link/api
do et

Adding this to the bot isn't something I really want. We don't need a memegen, but maybe use our own version of the bot - maybe we can put it to good use.

but memes


c-blosc: 1.14.3 -> 1.14.4

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/c-blosc/versions.
meta.description for c-blosc is: '"A blocking, shuffling and loss-less compression library"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.14.4 with grep in /nix/store/dmkb4i4n5d7836pmn0wk4gpwg7344ai8-c-blosc-1.14.4

directory tree listing: https://gist.github.com/fc9b3ab2e85461f7664ce4f23367bb45

du listing: https://gist.github.com/3284753a62600cf03ba0b709fe887c01

Test this build with Cachix (click to expand)

One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout 33fa61fab40cf4fcb42475ecc24395fe1c6437a1 && nix-shell --pure -I nixpkgs=. -p c-blosc

Success on x86_64-linux (full log)
Attempted: c-blosc
Partial log (click to expand)
-- Installing: /nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4/lib/libblosc.so
-- Installing: /nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4/lib/libblosc.a
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4
shrinking /nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4/lib/libblosc.so.1.14.4
strip is /nix/store/1hi76hr87bd1y1q1qjk0lv8nmcjip1c8-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4/lib
patching script interpreter paths in /nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4
checking for references to /build in /nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4...
/nix/store/8kjl5qqkghbyvb64yk6vgrrhmprm564r-c-blosc-1.14.4

Success on x86_64-darwin (full log)
Attempted: c-blosc
Partial log (click to expand)
-- Installing: /nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4/include/blosc-export.h
-- Installing: /nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4/lib/libblosc.1.14.4.dylib
-- Installing: /nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4/lib/libblosc.1.dylib
-- Installing: /nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4/lib/libblosc.dylib
-- Installing: /nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4/lib/libblosc.a
post-installation fixup
strip is /nix/store/qfxcr8c4fg7lkybrny9n2sb77bmippdx-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4/lib
patching script interpreter paths in /nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4
/nix/store/rhdvgfpyy2rfpq1li479msj4bx0mlq2n-c-blosc-1.14.4

Success on aarch64-linux (full log)
Attempted: c-blosc
Partial log (click to expand)
-- Installing: /nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4/lib/libblosc.so
-- Installing: /nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4/lib/libblosc.a
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4
shrinking /nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4/lib/libblosc.so.1.14.4
strip is /nix/store/zrs21zqcchgyabjf4xfimncdq16njizc-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4/lib
patching script interpreter paths in /nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4
checking for references to /build in /nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4...
/nix/store/8cpp3hwxc0brrp50x4ys6lq81gmmy2cw-c-blosc-1.14.4


CASK derived keys. Fix HIS v1 derived keys.

BRK: Rename IdentifiableSecrets.ComputeDerivedSymmetricKey to ComputeDerivedIdentifiableKey.
BRK: Update IdentifiableSecrets.ComputeDerivedIdentifiableKey to accept an alternate checksum seed for constructing the derived key.
NEW: Add CommonAnnotatedSecret key class for next-generation identifiable secrets.
NEW: Add Identifiable.ComputeDerivedCommonAnnotatedKey to generate keys derived from common annotated secrets.

This change adds a new derived key API that is fully conformant with the next-generation common annotated security key standard, as well as a base class to instantiate and deconstruct individual elements of a CommonAnnotatedSecret.
This change additionally updates the older identifiable derived key computation to allow for the derived key checksum to diverge from the checksum of the parent key.

    derivedKeyBytes[31] = (byte)((derivedKeyBytes[31] & 0xC0) | 0b0111);

nit: can we have some comments what its doing here?

Refers to: src/Microsoft.Security.Utilities.Core/IdentifiableSecrets.cs:308 in fe5a8fd. [](commit_id = fe5a8fdfab06b3cfbd1eefad711bec23f829e9cd, deletion_comment = False)

    derivedKeyBytes[31] = (byte)((derivedKeyBytes[31] & 0xC0) | 0b0111);

Good idea, I will add this later. We are encoding deri in advance of the provider signature, an operation that's entirely non-obvious from this magic. :)

In reply to:<PHONE_NUMBER>

Refers to: src/Microsoft.Security.Utilities.Core/IdentifiableSecrets.cs:308 in fe5a8fd. [](commit_id = fe5a8fdfab06b3cfbd1eefad711bec23f829e9cd, deletion_comment = False)


fix: parse scaling.instances 0

This is a followup on #3809 turned out the fix didn't address issue in parser, so 0 wouldn't be read out.
Testing

Create a pod with 0 instances.
Click editing the pod
Verify it still has 0 instances

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


[Java] LargeListViewVector Implementation copy implementation

Describe the enhancement requested
Implement copyFrom and copyFromSafe functions in LargeListViewVector.
Component(s)
Java

This has been implemented in https://github.com/apache/arrow/issues/41291


Keep at least 10 PCAP files

In the file "expire" loop, the number of remaining files is not considered.
License
I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

I think we could just change the from: to 10 and remove both of the checks.

#2887 seems to work


chore: bdd-sbhg-1587207403 to 0.0.1

chore: Promote bdd-sbhg-1587207403 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


When setting allowPicking: false on a Primitive, it is still picked and returns undefined

I did some digging around into some related issues (#6633) but I couldn't find one simple enough with a straightforward Sandcastle. I have multiple overlapping Primitives in my scene, some of them "pickable" and others not. I am using Primitive.allowPicking to not only improve performance as mentioned in the docs, but also to tell Cesium not to take these Primitives into account when calling any "pick" calls on Scene.
Expected behavior:
When attempting to Scene.pick, I was under the impression that the picked objects would be ignored and the first "pickable" Primitive would be returned, with the "non-pickable" Primitives to be ignored. In my Sandcastle (link below), I would expect Scene.pick to return me the blue Primitive.
Actual Behavior:
If the first Primitive found is allowPicking: false, it returns undefined instead of attempting to find the nearest "pickable" Primitive. In my Sandcastle (link below), Scene.pick returns undefined instead of the blue Primitive.
Sandcastle Example:
Here
Current Workaround:
Right now my workaround is to use Scene.drillPick and return the first item in the array. Especially with the number of primitive I am rendering, this is actually much more expensive on the computation side which is clearly visible when interacting with the globe.
Browser:
Chrome 108
Operating System:
Windows 10 Pro Version 22H2
Closing Remarks:
It is totally possible that this is "expected behavior" but not the behavior I was expecting. Regardless, it would be awesome for this functionality to work as outlined above to help certain apps with a large performance boost.
Thanks in advance Cesium team for all you do!

it returns undefined instead of attempting to find the nearest "pickable" Primitive

I think this is expected behavior. This is because the red unpickable object, even though it has a transparent appearance, occludes the blue pickable object. I think the behavior you are requesting in covered in https://github.com/CesiumGS/cesium/issues/1592. I'll close this as a duplicate and note your request in the original issue.
In the meantime, your workaround using drillPick is what I would recommend. We are aware that  picking performance, including drillPick, really should be further optimized. Thanks for the report!

@ggetz thanks for the clarification and confirming drillPick is the recommended approach for the time being. I was glad to see picking performance is going to be getting some performance improvements! Hoping that issue gets some love soon! 😄
One near term feature that I would be interested in is expanding drillPicks parameters. Right now limit allows you to opt out of the drilling early after a certain number of picks. It would be nice if there was some sort of logic added in there to be able to opt out after some explicit or arbitrary condition to avoid a full picking iteration. Might be it's own thing or a possible feature as part of #1592


like a forum post

Closes #126
Description
Controller function to like a post. increments like number field in the forum post document every time the like endpoint is hit.

Please resolve the conflicts

use forumPost instead of forum (the variable name)


Redacted is shown for own led ops

When looking at led ops in the jacket, the REDACTED string can be seen for those where thr user apparently has no opsec access.
This was reported by aniron in discord
A decision needs to be made for this situation.
Do we keep it as it currently is?
Do we remove opsec check in this part because the user led these ops?
Do we only show the game name so they can know which game are talking about?

Also I am not sure what opsec-enabled op I could have led where I would not have opsec clearance. I have only led Star Citizen operations in the last few years.

Okay, that doesn't make sense. The op in question is this:
[DRAGON] Strike DRAGMAN Development I (invite only)
You have OPSEC access. Checked the DB to be sure. I also checked the code that changes the data. Everything should work as intended. So, I don't understand why it would show up as Redacted.

A decision needs to be made for this situation.
Do we keep it as it currently is?
Do we remove opsec check in this part because the user led these ops?
Do we only show the game name so they can know which game are talking about?

The only thing I would be willing to allow currently is the game name. Anything else would require a much broader discussion with BWC.

Interestingly I can see that OP without redactions on my "ops attended" tab.
It appears the issue affects others as well, Fluff reported several redacted items on her ops led tab.

Well, if it's specific to the op-lead menu, that helps greatly with troubleshooting.
I'll take a look at it.

@jarnehed Pushed a possible fix. Could you please check and see if it works now?

@jarnehed Pushed a possible fix. Could you please check and see if it works now?

Appears to have done the trick! I no longer see redacted entries in either my own ops led tab or in Fluff's.
Thanks!

Perfect!


[Ret] Combine and optimize APLs and add more pvp trinkets

Expose Glyph of Exorcism and T13 2pc as auras to be able to use in APL
Unify Default and T13 APLs into one using the above mentioned auras
Tweak APLs for extremely minor gains
Add all the remaining missing PvP trinkets

I assume this fixes #1170 ?

I assume this fixes #1170 ?

Oh, that's correct! Didn't look at the issue list 😄


[improvement](alter table) cann't rewrite force property

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


error FetchError: request to https://api.openai.com/v1/chat/completions failed reason: connect ETIMEDOUT

Verify latest release

[X] I verified that the issue exists in the latest chatgpt release

Verify webapp is working

[X] I verify that the ChatGPT webapp is working properly for this account.

Environment details
node v18.16.0
win 10
Describe the Bug
node v18.16.0
import { ChatGPTAPI } from 'chatgpt'
// fixed load esm module
export const importDynamic = new Function(
'modulePath',
'return import(modulePath)',
);
let fetch = await importDynamic('node-fetch');
fetch = fetch.default;
async function example() {
const api = new ChatGPTAPI({
apiKey: 'apiKey',
fetch
})
const res = await api.sendMessage('Hello World!')
console.log(res.text)
}
(async() => {
try {
await example()
} catch (error) {
console.log('------', error);
}
})()
------ FetchError: request to https://api.openai.com/v1/chat/completions failed, reason: connect ETIMEDOUT <IP_ADDRESS>:443

timeouts may happen from time to time. this is a general networking thing that we unfortunately don't have any control over.
If this is happening consistently for you, then there may be a problem with your setup.
taking a quick look at your code snippet, it looks like you're using node-fetch which is not standard. In node.js >= 18, fetch is available by default. You do not need to install a polyfill such as node-fetch, and if you do try to replace the system fetch with node-fetch, bad things are likely to happen. this is most likely the crux of your problem.


[SPARK-12660] [SPARK-14967] [SQL] Implement Except Distinct by Left Anti Join

What changes were proposed in this pull request?
Replaces a logical Except operator with a Left-anti Join operator. This way, we can take advantage of all the benefits of join implementations (e.g. managed memory, code generation, broadcast joins).
   Do not use it for EXCEPT ALL.
This rule has to be done after de-duplicating the attributes; otherwise, the enerated
join conditions will be incorrect.

This PR also corrects the existing behavior in Spark. Before this PR, the behavior is like
  test("except") {
    val df_left = Seq(1, 2, 2, 3, 3, 4).toDF("id")
    val df_right = Seq(1, 3).toDF("id")

    checkAnswer(
      df_left.except(df_right),
      Row(2) :: Row(2) :: Row(4) :: Nil
    )
  }

After this PR, the result is corrected. We strictly follow the SQL compliance of Except Distinct.
How was this patch tested?
Modified and added a few test cases to verify the optimization rule and the results of operators.

cc @hvanhovell Thank you for your quick fix! This PR contains the fix of anti-join: https://github.com/apache/spark/pull/12730 for avoiding test case failure.
When https://github.com/apache/spark/pull/12730 is merged, I will remove the related code.

Test build #57134 has started for PR 12736 at commit f825dca.

Test build #57134 has finished for PR 12736 at commit f825dca.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57134/
Test FAILed.

Test build #57143 has started for PR 12736 at commit 70da501.

Merged fix.

Thank you very much! Will clean the code soon

Test build #57143 has finished for PR 12736 at commit 70da501.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57143/
Test PASSed.

Merged build finished. Test PASSed.

Test build #57164 has started for PR 12736 at commit 3c61a5a.

Test build #57164 has finished for PR 12736 at commit 3c61a5a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57164/
Test PASSed.

Merged build finished. Test PASSed.

Test build #57183 has started for PR 12736 at commit 7ccd95b.

Test build #57183 has finished for PR 12736 at commit 7ccd95b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57183/
Test PASSed.

Merged build finished. Test PASSed.

cc all the people who previously reviewed https://github.com/apache/spark/pull/10630 : @rxin @marmbrus @cloud-fan @yhuai @nongli
This is ready for review. Thanks!

LGTM. A unrelated question, how do we express the EXCEPT ALL semantic?

Test build #57227 has started for PR 12736 at commit 4920360.

Like INTERSECT ALL, EXCEPT ALL can be done by aggregation of the union of the two tables. We can augment one table with a new column of constant 1, and the other with constant -1, then union the two tables, and find the row satisfying the result of the COUNT and SUM of the new column.
Originally, I plan to do it after this release. All of you have more time to review them. If we need to implement in this release, I can start writing both INTERSECT ALL and EXCEPT ALL now.

Test build #57227 has finished for PR 12736 at commit 4920360.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57227/
Test PASSed.

thanks! merging to master!


[ Docs ] Add operational guide for helm upgrade

Signed-off-by: jagpreetsinghsasan<EMAIL_ADDRESS>Changelog

Add helm upgradation guide

Reviewed by
@suvajit-sarkar
Linked issue
#1089

I am not sure, why it is not picking just my changes in operational guide. (Even after re-sync and re-base)


Update TEMPLATE-setup-my-sagemaker.sh

Issue #, if available:
Description of changes:
Added -p option to not raise error if ~/SageMaker/.initsmnb.d if it already exists, this is useful when calling setup-my-sagemaker.sh after a notebook instance restart
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you!


No way to use it on Windows 10 ?

Using Windows 10, I cannot get the page to work.
It's been 5 hours now, managing to slowly advance to your Prerequisites and Installation process, because there were multiples errors and roadblock for each commands.
I'm finally at the "gulp" command stage and it fails at starting Jekyll, I've added a function to detail the error source :
spawn called
[Arguments] {
  '0': 'bundle',
  '1': [
    'exec',
    'jekyll',
    'build',
    '--incremental',
    '--config=_config.yml,_config_dev.yml'
  ],
  '2': { stdio: 'inherit' }
}
[13:06:50] 'jekyll' errored after 5.21 ms
[13:06:50] Error: spawn bundle ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
    at onErrorNT (internal/child_process.js:465:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[13:06:50] 'default' errored after 1.96 s

So the error should came from bundle exec jekyll build --incremental --config=_config.yml,_config_dev.yml but this command alone works fine, saying
Configuration file: _config_dev.yml
            Source: C:/XXX
       Destination: C:/XXX/_site
 Incremental build: enabled
      Generating...
                    done in 0.137 seconds.
 Auto-regeneration: disabled. Use --watch to enable.

The result page is completely broken, no CSS or JS are working, I'm giving up.
It would be appreciate if you have guidance to help me and if your documentation was clearer ;
There are too many shortcuts in the installation process (ex: suddenly using the gulp cmd, no mention to install it).
When going for 1.2, and cloning the repo, the point 2. is invalid.
Every command as is, errored on Windows, if it's the case, it should be stated that windows is not supported.
I'm really sad because I love the design of this template :(

I'm really sad because I love the design of this template :(

FIrst, thanks for liking my theme and trying it out.

Every command as is, errored on Windows, if it's the case, it should be stated that windows is not supported.

Second, I did mention right under Getting Started that my setup commands are MacOS only: The commands and instructions I provide are for MacOS - please look up the specific commands for your OS on your own.
Until now, I could only provide commands for MacOS, since I work primarly on a Macbook - I will try to get access to a Windows PC to check the setup process there and maybe update the documentation afterwards.

There are too many shortcuts in the installation process (ex: suddenly using the gulp cmd, no mention to install it).

In point 3, I pointed out to use yarn - which will install all npm dependencies to your local repository. Gulp is one of the dependencies listed in the package.json - therefore it will be installed.

I will try to set it up myself on a Windows PC and update the documentation accordingly - until then I will keep this issue open.
Thanks for your feedback

Thanks for your reply and I understand that you don't had a Windows to make the doc for it. Sorry I wrote the comment right on the spot :s !

Its okay 👍 I know how it is when something does not work. I will try to keep you updated.

Its okay 👍 I know how it is when something does not work. I will try to keep you updated.

you didnt keep us updated :(, great theme btw, still cant run it on windows

It's definitely a pain to get working properly on Windows (took me a day of troubleshooting), but I can confirm that it does Work on Windows 10.

It's definitely a pain to get working properly on Windows (took me a day of troubleshooting), but I can confirm that it does Work on Windows 10.

Could you explain the process?? I can't make it work

Have to make sure that https://github.com/moxystudio/node-cross-spawn is installed (maybe just a Windows only issue?), and then the following in the gulpfile.js:

var cp = require('child_process'); to var cp = require('cross-spawn');

Afterwards, if you run the bundle exec jekyll build --incremental --config=_config.yml,_config_dev.yml command manually, and find taint errors, make sure to install Ruby 3.1.x (3.2.x removes support for taint) and switch to that version with ridk use if you're going to continue using multiple versions of Ruby. Then you might need to rerun gem install bundler jekyll and bundle install.
Now if you run gulp, things should work properly.

Also, not sure if it's just a quirk for me, but changes to _config.yml booleans do not take affect until updating either _js or _sass files.

It's definitely a pain to get working properly on Windows (took me a day of troubleshooting), but I can confirm that it does Work on Windows 10.

Could you explain the process?? I can't make it work

See above, got my website running with the theme now: https://andrew-larson.dev


Add support for multiple NSGs in machine spec

What this PR does / why we need it:
Add support for multiple NSGs in machine spec
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #353

unit test
$ make test
GOBIN=/home/ubuntu/go/src/github.com/oracle/cluster-api-provider-oci/hack/tools/bin ./scripts/go_install.sh sigs.k8s.io/controller-runtime/tools/setup-envtest setup-envtest v0.0.0-20230131074648-f5014c077fc3
kube-builder assets: /home/ubuntu/.local/share/kubebuilder-envtest/k8s/1.24.2-linux-amd64
KUBEBUILDER_ASSETS="/home/ubuntu/.local/share/kubebuilder-envtest/k8s/1.24.2-linux-amd64" go test -coverprofile=coverage.out ./...
?   	github.com/oracle/cluster-api-provider-oci	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/config	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/metrics	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/api/v1beta1	63.739s	coverage: 23.7% of statements
ok  	github.com/oracle/cluster-api-provider-oci/api/v1beta2	0.108s	coverage: 15.5% of statements
ok  	github.com/oracle/cluster-api-provider-oci/cloud/ociutil	0.008s	coverage: 19.6% of statements
?   	github.com/oracle/cluster-api-provider-oci/cloud/scope/mocks	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/base	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/base/mock_base	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/compute	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/compute/mock_compute	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/computemanagement	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/computemanagement/mock_computemanagement	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/containerengine	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/containerengine/mock_containerengine	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/identity	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/identity/mock_identity	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/loadbalancer	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/loadbalancer/mock_lb	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/networkloadbalancer	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/networkloadbalancer/mock_nlb	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/vcn	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/vcn/mock_vcn	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/feature	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/version	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/cloud/scope	232.281s	coverage: 75.1% of statements
ok  	github.com/oracle/cluster-api-provider-oci/cloud/util	0.130s	coverage: 61.1% of statements
ok  	github.com/oracle/cluster-api-provider-oci/controllers	27.167s	coverage: 58.7% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/api/v1beta1	15.942s	coverage: 15.3% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/api/v1beta2	0.018s	coverage: 4.8% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/controllers	0.484s	coverage: 56.3% of statements
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html

e2e
------------------------------
[SynchronizedAfterSuite] PASSED [0.000 seconds]
[SynchronizedAfterSuite]
/home/ubuntu/go/src/github.com/oracle/cluster-api-provider-oci/test/e2e/e2e_suite_test.go:261
------------------------------
[SynchronizedAfterSuite] PASSED [456.236 seconds]
[SynchronizedAfterSuite]
/home/ubuntu/go/src/github.com/oracle/cluster-api-provider-oci/test/e2e/e2e_suite_test.go:261

  Timeline >>
  STEP: Tearing down the management cluster @ 03/14/24 14:03:50.12
  << Timeline
------------------------------

Ran 7 of 28 Specs in 2688.105 seconds
SUCCESS! -- 7 Passed | 0 Failed | 0 Pending | 21 Skipped


Host crate on Cargo as well

Following https://github.com/JuliaLang/juliaup/issues/615#issuecomment-1513926408, it would be great to be able to install using cargo install juliaup.  The rationale is that many systems (Linux distributions, in particular) have working Rust installations, and this would provide a convenient, hash-verified way to install on those platforms.

If someone can figure out how we can have julialauncher automatically appear as julia when installed via cargo, then I'm all for it.

If someone can figure out how we can have julialauncher automatically appear as julia when installed via cargo, then I'm all for it.

If I understand correctly, could use the [[bin]] key in the TOML file? i.e.,
[[bin]]
name = "julia"
path = "src/main.rs"

i was going to suggest that. yes you can do that. If he is busy, i'm opening a pr. :)

The thing is we need it to be julialauncher for all situations that are not a cargo install, and julia for the cargo install scenario.

(You mean juliaup, not julia, right?)
couldn’t you make the bin name “julialauncher” in the TOML specification, and the package name juliaup (which is currently is)?

Thanks for explaining. So the above code would work for this right? You would just specify the binary name as “julia” in the Cargo TOML. And cargo install would still be juliaup

Yes, but I believe it would mess up the compile stage for all the other deployments.

This works will for me actually! Just tried it with a local install in a docker.
[[bin]]
name = "julia"
path = "src/bin/julialauncher.rs"

Made a PR in #639

It will result in both a julia and a julialauncher in the cargo bin folder.

Oh, I didn't realize that is what would happen. Excellent, that essentially solves it!