A lightweight CF model

Since the first time I saw iris I fell in love with its interpretation of the CF-conventions*.  It is not a simple metadata bookkeeping like column/index labels in pandas or xray, nor a "bag" dictionary holding all the metadata.  It is a full-fledged CF-convention parser to create a Python object.  Propagating units, checking for compliance, etc.
I am completely unfamiliar with the tool iris uses to do this (pyke) and I never looked in to the details of the implementation.  However, it would be extremely useful if we could take the approach used in cf_units and create a standalone module that generates a CF-python object.  This object could be used by iris to create the cube.  And it would also be possible to use it to create other objects, maybe even a CF xray.Dataset.
Note that there is a cf_python module out there, but I never looked if it fits our needs.  (Well... We have to define our needs first don't we?)
I believe we do not have the manpower to do this right now, but I wanted to open the issue here to keep this idea alive and start a discussion.
Pinging @pelson and @rhattersley.  Are you :+1:  or :-1: ?  Do you think this is possible?  Do you
think this is useful?  Or do you think this is a wild-goose chase?
*  The truth is that this is a love-and-hate relationship.  The CF interpretation is so good that it brings all of CF shortcomings to the cube :stuck_out_tongue_winking_eye:

Thanks for the ping. :smile:

I am completely unfamiliar with the tool iris uses to do this (pyke)

Pyke is not core to Iris at all. It's just happens to be used to translate CF-netCDF files into Cubes, but it's the Cube which embodies CF in a Python object.

it would be extremely useful if we could take the approach used in cf_units and create a standalone module that generates a CF-python object. This object could be used by iris to create the cube.

I'm keen to explore a core + optional extras model with Iris (e.g. https://github.com/SciTools/iris-extras/issues/7 and https://github.com/SciTools/iris/pull/1789). The improving package/dependency management tools make it more feasible for us to pull capabilities out of the core Iris package and into extension packages. In the logical conclusion of that model the "CF-python object" is the Cube. I'm guessing you don't see things in quite the same way though, so I'm eager to understand the difference. Speaking of which...

it would also be possible to use it to create other objects, maybe even a CF xray.Dataset.

How would a "CF xray.Dataset" differ from your "CF-python object"?

The CF interpretation is so good that it brings all of CF shortcomings to the cube :stuck_out_tongue_winking_eye:

I think you once said something roughly equivalent to "I use xray by default and iris when I need CF compliance". I'd love to know more about what makes you reach for Iris.

I had a long talk with @kwilcox about this yesterday.
The CF model itself actual consists of functionality that can be separated:  unit conversion, vertical coordinate calculation, standard_name manipulation, handling of different common data model featureTypes (Grid, Point, TimeSeries, TimeSeriesProfile, Profile, Trajectory, TrajectoryProfile).    Grid handles only data which is colocated with coordinate values.
To handle many of the newer oceanographic, atmospheric and hydrologic models, we also need support for grids where the data is not colocated with the coordinate data (staggered grid) and data which is on non-rectangular mesh (unstructured grid).   This was the motivation behind the UGRID and SGRID conventions, and the "pyugrid" and "pysgrid" packages.
We were thinking that if these packages could provide standard methods for these regular grid, ugrid or sgrid objects (e.g. subsetting and regridding methods that return specific featureTypes) then they could be passed into functions that would do things like return a vertical transect along a specified path, regardless of the type of object.   And folks who come up with some other type of model feature type (possible spectral representation for FEM models like Imperial College ICOM model) could create their own package, as long as they provided the appropriate methods.
Could Iris be the package that orchestrates this functionality?
I don't see why not.   The main things that keep me from using Iris more are:  (1) awkward slicing on coordinate values (e.g. compared to Xray); (2) long time to open and inspect a dataset; (3) lack of a dataset concept; (4) monolithic structure.
Yet (1) is probably easily overcome, (2) may be just a question of learning how to inspect a dataset with Iris (using raw over strict), (3) may not be a real problem as long as cube lists don't actually duplicate coordinate data and (4) is being worked on.

Pyke is not core to Iris at all. It's just happens to be used to translate CF-netCDF files into Cubes

I did not say "core of iris."  But bare in mind that 99.99% of the time our data is in the netCDF format.  That means pyke, for us, is the CF parser in iris.

but it's the Cube which embodies CF in a Python object.

What we imagine is an object one step behind the cube.  Maybe just a new netCDF object with some CF modifications and checked for compliance, or a dict of dicts mapping nc.variables and nc.dimensions to CF definitions.  I must sound like an 8 year old wishing for a dirty bike with a rocket :bike: + :rocket:

I'm keen to explore a core + optional extras model with Iris (e.g. SciTools/iris-extras#7 and SciTools/iris#1789).

I guess that the grid support, like pyugrid and pysgrid, fall into the optional extra models category.

In the logical conclusion of that model the "CF-python object" is the Cube. I'm guessing you don't see things in quite the same way though, so I'm eager to understand the difference. Speaking of which...

The cube is more than the CF-object, and that is the main problem.  My imaginary CF-object would be a lighter cube-like constructor behind the cube.  Here are some examples of why we want something like this:

How would a "CF xray.Dataset" differ from your "CF-python object"?

There is no "CF xray.Dataset" yet, but the CF-python object would help create it.  One could add vertical coordinate to the Dataset using the information parsed by the CF-python object.  If someone wants to do this in xray right now they would have to re-invent the wheel.  CF-python object would provide the wheel parts for this task and it will no longer be re-inventing the wheel but rather "assembling the wheel."
Maybe these two example will help:

1 The iris.cube  is great for interactive work, but it is heavy and clunky to be used otherwise.  Recently @rsignell-usgs and I had an exercise trying to write a  script to convert epic data (pre-CF standard) to CF, while calculating the speed based on the u, v using iris, xray, and raw netCDF4-python.  iris allowed us to write this with a minimal code and took care of most of the metadata, like units, coords, etc.  But it was slow and did not scale very well.  xray was faster, but we had to manually care of more metadata than we would  like. As expected netCDF4-python had the best performance, but required several orders of magnitude more LOC than xray and iris.

2 In the vertical coordinate module I am writing  I am re-inventing the wheel when it comes to parsing the formula terms.  Iris does this very well.  But again, we do not want that hard-wired into the cube for speed and flexibility. We would like to create an xray.Dataset with the vertical coords, to take advantage of the pandas-like indexing, or having just an array to use as input for an isosurface module.  Going through to cube adds some extra run time that tools like sci-wms cannot afford to waste.

If we could have an intermediate object maybe we could do this:
formula_terms = awesome_cf_object.get_formula_terms()
The formula_terms would be a mapping to the formula terms vars, dimensions, standard_name, etc.  All parsed in a similar way iris does and checked for compliance.

I think you once said something roughly equivalent to "I use xray by default and iris when I need CF compliance". I'd love to know more about what makes you reach for Iris.

I am writing a blog post about this can you wait for it? :stuck_out_tongue_winking_eye:

@lesserwhirls and @dopplershift, I'm bringing you guys into this discussion too, because it would be great if we could all be working toward harmonization of access in python to the common data model featureType objects, and I know you are working on the Siphon API for accessing Unidata technologies.

I am writing a blog post about this can you wait for it? :stuck_out_tongue_winking_eye:

Depends how long I need to wait... :stuck_out_tongue_winking_eye:

Ooops. My laptop died with that post and never configured the new one for the blog... Sorry.

Are you planning to create a new post? Either way, I'd still love to know more about what helps/hinders your usage of Iris.

Are you planning to create a new post?

Yes. As soon as I have some free time to restore my old HDD.

Either way, I'd still love to know more about what helps/hinders your usage of Iris.

In a gist the post will be about how the CF model in iris helps our workflow.
PS: The hinders are mostly the slicing (the reason why xarray is so popular is the panda-like slicing) and the lack of support for 2D coordinates (99% of oceans models use 2D coords).

Yes. As soon as I have some free time to restore my old HDD.

Super! Thank you! :smile:

The hinders are mostly the slicing...

I'm trying to get a shared plan together for that: https://github.com/SciTools/iris/wiki/IEP-1

I'm trying to get a shared plan together for that: https://github.com/SciTools/iris/wiki/IEP-1

Awesome! I made a few comments here:
https://via.hypothes.is/https://github.com/SciTools/iris/wiki/IEP-1
I guess that hypothes.is needs chrome/chromium to work.

@rhattersley  Here's an example that shows the kind of thing that hinders usage of Iris. In this notebook,  the user just wants to do something very simple and common:  extract time series data in a specified date range and plot them up:
http://nbviewer.jupyter.org/gist/rsignell-usgs/13d7ce9d95fddb4983d4cbf98be6c71d
Not only is the xarray syntax a lot simpler, but it's a lot faster.  The speeds are listed in the notebook, but I'm summarizing them here:
Xarray: 1 loop, best of 3: 857 ms per loop
Iris: 1 loop, best of 3: 1min per loop

Xarray is 60 times faster!

I guess that hypothes.is needs chrome/chromium to work.

@ocefpaf - chrome was the only browser that showed the overlay widgets, but even with chrome I couldn't see any comments.

Here's an example that shows the kind of thing that hinders usage of Iris.

@rsignell-usgs - thanks! :+1:

@ocefpaf - chrome was the only browser that showed the overlay widgets, but even with chrome I couldn't see any comments.

Weird I lost the comments too. I guess it is because the wiki was modified.
Anyways I just wanted to avoid making this thread longer... so here it goes (short version):

I prefer the pandas style vs the xarray style simply because it has been out there for a longer period of time. (I am not sure why xarray changed it to (i)sel.)
I would be nice if the time slice could take string and datetime dates like pandas instead of the specialized PartialDateTime object.
There was a point about date slices being inclusive or not. Inclusive is non-pythonic, but makes a lot of sense when slicing dates. That is why pandas broke from Python standard and implemented it. So I am :+1: to inclusive.

I just wanted to avoid making this thread longer

:+1: We can move any further discussion to SciTools/iris#1988.


bug: handle multiple loaders

[x] Have you checked to ensure there aren't other open Issues for the same thing?

Is your feature request related to a problem? Please describe.
Currently, mc-modpack-kit, does not handle multiple loaders, it just sets the $loader variable if it finds one
Describe the solution you'd like
Handle multiple loaders
Describe alternatives you've considered
Maybe just different git repos, bit complex but still
Additional context
Would be useful in wynncraft 101

[ ] Handle if a project has multiple loaders

Probably just can be handled with multiple branches release-please-action#supporting-multiple-release-branches


Internal compiler error: Verification failed: Store value and pointer type mismatch

On forc 0.33.1, caused by the following code:
let target_contract_id = match target {
                Identity::Address => {
                    log(ExecutionError::InsufficientApprovals); // Add Error
                    revert(FAILED_REQUIRE_SIGNAL)
                },
                Identity::ContractId(contract_identifier) => contract_identifier,
};

However, putting the Identity::Address branch below the Identity::ContractId branch does not cause the ICE, as shown in the following:
let target_contract_id = match target {
                Identity::ContractId(contract_identifier) => contract_identifier,
                Identity::Address => {
                    log(ExecutionError::InsufficientApprovals); // Add Error
                    revert(FAILED_REQUIRE_SIGNAL)
                },
};

Here's a complete example that shows the error:
script;

enum ExecutionError {
    InsufficientApprovals: (),
}

fn main(target: Identity) {
    let target_contract_id = match target {
        Identity::Address => {
            log(ExecutionError::InsufficientApprovals); // Add Error
            revert(0)
        },
        Identity::ContractId(contract_identifier) => contract_identifier,
    };
}

error:
error: Internal compiler error: Verification failed: Store value and pointer type mismatch.

Even the following fails:
fn main(target: bool) {
    let target_contract_id = if target == true {
        revert(0)
    } else {
        0
    };
}


Added margin for pop-box

Checklist

[x] I have read the Contribution & Best practices Guide.
[x] My branch is up-to-date with the Upstream development branch.
[x] I have added necessary documentation (if appropriate)

Short description of what this resolves:
Added margin for the pop-box.
After Change

Fixes #1823

Ping @mariobehling @aviaryan

@yashLadha Thanks!


chore(commands): laid out groundwork for state tracking

This builds on top of https://github.com/dmtrKovalenko/cypress-real-events/pull/201

My main motivation is that with test scenarios like this:
cy.realKeyDown('ShiftLeft')
cy.realClick()
cy.realKeyUp('ShiftLeft')

I would expect the click to be performed with the shift key being pressed down (e.shiftKey === true). This IMHO helps people to write tests that behave more than the user because this removes the need to pass the information about the shift key "modifier" to the realClick. So it's also less error-prone for users.

I don't really like storing a state between commands because:

It's implicit. I mean developer who doesn't know that this library works this way might be confused by  the fact that previous command affects the current one
It's uncontrolled. In your implementation there is no clear way to turn off this behavior
It's required breaking change because can affect already existing tests.

For something like this I'd like to see something like this API

It's implicit. I mean developer who doesn't know that this library works this way might be confused by the fact that previous command affects the current one

I agree that this is implicit but I would argue that this actually helps developers. The very same argument can be said about the opposite - I was actually confused that this sort of stuff is not handled automatically. The consumer of this package is completely not aware of the implementation details, the intricacies of the CDP protocol etc and I think that it makes perfect sense to expect a "lock" (like a key being pressed down) to stay "locked" as long as the lock is not released. This would match the behavior of a lot of existing lock-like APIs out there. This would also match the behavior of both Puppeteer and Playwright.

It's uncontrolled. In your implementation there is no clear way to turn off this behavior

It's a valid concern but also... when would you like to turn this off? At the moment I don't find any compelling scenarios when this would actually be desirable. I expect people to write tests mimicking the user. If a particular sequence of commands cannot be performed by the user then it shouldn't be allowed by the API of this library.

It's required breaking change because can affect already existing tests.

Agreed, but is it a bad thing? Some breaking changes are expected - we can batch this together with some other work. Progress requires breaking changes from time to time - we grow and learn new things about the underlying tools here and it would be a waste not to learn from that and get stuck with the older API for an undefined amount of time, right?

@dmtrKovalenko any more thoughts about this one?


Port docs over to Sphinx

Once I merge this I'll delete the current README, create a github-pages branch, commit the built docs there and point to them from the new README.

@mattsfuller can you review when you get a chance?

looks good mod comment. Also the travis build is failing. Did we have a green build before for this project?

Thanks for the review. I'll push in a bit after adding the licenses. There was never a Travis job setup for this project. I'll file a ticket to set one up.


Destroy and Re-enable infiniteScroll

Hello, how is it possible to destroy and re-enable infiniteScroll?
Firebug always fires an error "Uncaught TypeError: d._init is not a function"
Or how is it possible to change the href of the next page to be loaded?
Sorry, I don't have test examples online, but you can try to run code on your infinitescroll
$('.container').infiniteScroll('destroy');
and then
('.container').infiniteScroll({ 			path : '#page_nav a', 			append : '.item' });
Thank you.

See https://github.com/metafizzy/infinite-scroll/issues/688#issuecomment-316403688


Sails.io - ECONNREFUSED in client

Node version: v14.15.5
Sails version (sails): 1.4.0
ORM hook version (sails-hook-orm): 2.1.1
Sockets hook version (sails-hook-sockets): 2.0.0

When I try to connect to my sails server using node.js, it throws ECONNREFUSED error. Details:
 ====================================
 The socket was unable to connect.
 The server may be offline, or the
 socket may have failed authorization
 based on its origin or other factors.
 You may want to check the values of
 `sails.config.sockets.onlyAllowOrigins`
 or (more rarely) `sails.config.sockets.beforeConnect`
 in your app.
 More info: https://sailsjs.com/config/sockets
 For help: https://sailsjs.com/support

 Technical details:
 Error: websocket error
    at WS.onError (C:\Users\greg\source\repos\\-browser\node_modules\engine.io-client\lib\transport.js:28:17)
    at WebSocket.ws.onerror (C:\Users\greg\source\repos\\-browser\node_modules\engine.io-client\lib\transports\websocket.js:116:12)
    at WebSocket.onError (C:\Users\greg\source\repos\\-browser\node_modules\ws\lib\event-target.js:140:16)
    at WebSocket.emit (events.js:315:20)
    at ClientRequest.<anonymous> (C:\Users\greg\source\repos\\-browser\node_modules\ws\lib\websocket.js:579:15)
    at ClientRequest.emit (events.js:315:20)
    at Socket.socketOnEnd (_http_client.js:493:9)
    at Socket.emit (events.js:327:22)
    at endReadableNT (internal/streams/readable.js:1327:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

sockets.js:
    beforeConnect: function (handshake, proceed) {
        return proceed(undefined, true)
    }

client:
const config = require("./.config.json")
const io = require("sails.io.js")(require("socket.io-client"))

io.sails.url = `http://localhost:1337`

io.socket.get("/task/listen")

Hi @0xGREG, is the sails server started?

@eashaw yes of course, here is a PoC I made to demonstrate the bug: https://www1.zippyshare.com/v/D34hCnKv/file.html

Hey @0xGREG, would you mind putting that into a Github repo? Thanks!

In case it helps, here is a recent gitter conversation where someone posted their solution. https://gitter.im/balderdashy/sails?at=603e429dd74bbe49e0cb9f57

@eashaw it didn't work, but I uploaded the poc to GitHub: https://github.com/0xGREG/sails-ub-poc

Bumping this, it doesn't work still, even tho I looked at Sails code I couldn't find anything.

Thanks @nahanil!


Make fuel usable by common code again

#863 Basically made Fuel unusable from common code.
i just use Fuel to get the content of urls from common code. #863 basically makes that impossible. The view of HttpResponse in common code is now just an empty class. It only has properties in platform specific code.
You need to expose statusCode and body properties in common code.

@dalewking I believe that Alpha 04 fixed this issue.

Looks like it is fixed, but I have not been able to fully test it due to the switch to Source.


[ISSUE #6660]: fix semaphoreAsyncSendSize init error

Which Issue(s) This PR Fixes

Fixes #6660

Codecov Report

Merging #6661 (b20d9e9) into develop (7bb0611) will increase coverage by 0.00%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##             develop    #6661   +/-   ##
==========================================
  Coverage      43.11%   43.11%
- Complexity      8999     9005    +6
==========================================
  Files           1107     1107
  Lines          78343    78343
  Branches       10217    10217
==========================================
+ Hits           33775    33778    +3
- Misses         40336    40338    +2
+ Partials        4232     4227    -5

Impacted Files
Coverage Δ

...mq/client/impl/producer/DefaultMQProducerImpl.java
45.84% <50.00%> (-0.13%)
:arrow_down:

... and 27 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Check for failed stage in ici and open issue only in certain ones

As mentioned in https://github.com/ros-controls/ros2_control_demos/issues/457 it might be good to check where things actually fail. If builds fail due to some temporary resolution problems there's probably no need in opening a new issue for that.

https://github.com/ros-controls/ros2_control_ci/pull/21#issuecomment-1971187544

@fmauch it seems that this works fine now. Should we add this to the source build workflow as well?

That's true, but if no one is checking the outcome of the scheduled build we might skip the workflow at all :grin:


UnknownBlockViewController UI-only

Edited IconMessageView to accomodate a button. CourseUnknownBlockViewController now looks like this:

@aleffert pl review.

I think a block is better. That way a view can have multiple icon message views without having to worry about distinguishing which one is sending the action message.

:+1: Just a few nitpicks

Re: I think a block is better.
Agreed


Sourcemaps for testing chrome extensions

I'm building a chrome extension that operates on third-party pages' dom. Hence I've got content-scripts, that are loaded on each page.
My content-scripts are transpiled from typescript and have source-maps.
I use Puppeteer to drive testing in non-headless mode.
When I debug my content-scripts' code - there are no source maps, although chromium devtools say they are available.
Is this by design?

#3570

Yep, but that issue looks abandoned. Maybe they'll notice the new one (this).

my guess this is abandoned?

By the sheer amount of open issues - it looks like the whole project has gotten abandoned.


Link is broken on official antMotion site for ListSort demo

See this demo page: https://motion.ant.design/exhibition/demo/list-sort
When I click on "Component URL", which points to
https://github.com/ant-design/ant-motion/blob/master/src/edit/template/components/ListSort.jsx
I get a "404 not found". So where can one actually import the Component like in the code snippet:
import ListSort from '../../site/theme/template/other/ListSort'?

https://github.com/ant-design/ant-motion/commit/5086d80633dd87c013ab010c6283e58a6a1ea060


Add “Plan to play” completion status

Add a “Plan to play” completion status for games you own but haven’t played yet.
Or should it be a separate thing entirely? Related: Wishlist?

I think that personally, the default state would be the equivalent of "plan to play," unless you were to make it so that the user can make a prioritized plan of games to play. The way I think of it someone can mark a game as "not going to play" rather than manually having to say that yes, they're going to play that game eventually. I know people think about their game libraries in different ways though.


Popups/ExposedDropDown is covered by Keyboard on iOS

Describe the bug
See screenshot
On iOS Popups or in this case the exposed drop down is covered by the virtual keyboard on iOS. (Correct on Android).
Affected platforms
Select one of the platforms below:

iOS

Versions

Kotlin version*: 1.9.21
Compose Multiplatform version*:  1.5.11
OS version(s)* (required for Desktop and iOS issues): iOS 17.0.1 (macOS 13.6.2)
OS architecture (x86 or arm64):  M2 (Arm64)
JDK (for desktop issues):  Built with JDK 18

To Reproduce
Steps and/or the code snippet to reproduce the behavior:

Create exposed dropdown with list longer than screen.
Open keyboard on iOS, anything that drops below the keyboard is hidden behind it

Expected behavior

Either the Popup should go over the keyboard
Or pad the popup bottom so it doesn't get covered by the keyboard

Screenshots
iOS on left is covering dropdown results

Additional context
This Dropdown is inside BottomSheetDialogModal
Note setting windowInsetsPadding on the ExposedDropdown does help but is still covered a little:
ExposedDropdownMenu(
                expanded = expanded,
                modifier = Modifier.exposedDropdownSize().windowInsetsBottomHeight(WindowInsets.ime),
                onDismissRequest = { expanded = false },
            ) {

Thanks for the report. We're working on placing popups and dialogs in the correct layer.

Thanks! I will take a look!

@chrisjenx Can you please provide a minimal reproducible sample on GitHub?

So is this resolved?

Still broken

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Potential UI Bug when adding/updating JSON fields in Admin Panel

Link to reproduction
No response
Describe the Bug
We recently updated our application from payload ^1.8.2 to payload to ^2.3.0. Since updating we have been experiencing a peculiar issue with the JSON fields, it's hard for me to pinpoint exactly when and why it happens, but it seems to happen more often than it does not.  When entering info into the JSON field (which has a default value of {}) the cursor will jump to the end of the field. It seems to happen every time the field automatically formats, however at times it also happens on any keystroke. Once it happens once it seems to continue to happen on every keystroke.
This behavior has been reproduced on several machines both locally and on our deployed website.
I'm including screenshots, however when I take a screenshot the JSON field loses focus and I am unable to show the cursor in the screenshot. The red arrows represent where the cursor would be.
Is the JSON field using the Slate Editor or the Monaco editor? Are there any config options that I am failing to include?
To Reproduce
Starting with an empty field (default value: {})

The first key can be inputted as expected:

When a value is entered for the key the cursor jumps to the end

Click back to where I was last:

Add quotes for a string and the cursor jumps to the end again:

Click back to the quotes:

Start typing and first character is placed correctly then cursor jumps to end where the rest of the text is:

Backspace also causes the same behavior.
Here's a screenshot of my payload.config where I have the editor defined:

Payload Version
^2.3.0
Adapters and Plugins
db-mongodb, bundler-webpack. editor-slateEditor

Just to add, I'm getting a compile error: "Collection "server-services" > Field "value" does not match any of the allowed types" when I add "editorOptions" to the admin of the JSON field:

Just to add, I'm getting a compile error: "Collection "server-services" > Field "value" does not match any of the allowed types" when I add "editorOptions" to the admin of the JSON field

Were you able to resolve this? Similar problem was also reported for the JSON field type.
I'm having an issue where using useField's setValue to update a JSON field didn't show the new content, and was hoping this would force it to to refresh:
    {
      name: 'content',
      type: 'json',
      defaultValue: defaultSurveyContent,
      admin: {
        editorOptions: {
          formatOnPaste: true,
          formatOnType: true,
        }
      }
    }

A bug fix for my issue (not sure if it would solve yours) was released in version 2.5.0

A bug fix for my issue (not sure if it would solve yours) was released in version 2.5.0

Turns out I was still on 2.0.0 (fresh create-payload-app setup), but upgrading to 2.5.0 didn't make a difference.


Example project crashes when trying to use Google Signing

I get the following crash error:
'NSInvalidArgumentException', reason: 'Your app is missing support for the following URL schemes: com.googleusercontent.apps.200603734718-

In the readme its says:

In XCode, add a custom URL scheme for your reversed client ID.
You can find this in the GoogleService-Info.plist

Where do I find out how to do this.

ah found it here:

Open your project configuration: double-click the project name in the left tree view. Select your app from the TARGETS section, then select the Info tab, and expand the URL Types section.
Click the + button, and add a URL scheme for your reversed client ID. To find this value, open the GoogleService-Info.plist configuration file, and look for the REVERSED_CLIENT_ID key. Copy the value of that key, and paste it into the URL Schemes box on the configuration page. Leave the other fields blank.

This should go into the Readme!


Change disconnect function to avoid CLOSE_WAIT [rspadim]

This reapplies rspadim's patch from PR #4 to the master branch.

@alecpl , do you think, as per your 2016 comment on original PR #4, that this change might no longer be needed?

@alecpl , I'm also wondering if all these additional socket_* calls at the end might solve http://pear.php.net/bugs/bug.php?id=18176...

I'd like to hear from anyone that it's still an issue on recent PHP versions.

No feedback since 2017, so closing.


Add license to docker images and job templates

extend models for docker_image and job_template to include a license field
docker_images.csv files have been extended already (using the name of the license)
methods iterate_docker_images and add_initial_docker_images in _docker.py have been adapted to work with the extended CSV files

Implemented in commit c7effb455d44c1c03754fc1e94e71af51c05971a

The python client still seems to be missing the license parameter for docker images and job templates.

Sorry forgot to push. Done now


feat: adding new mf_deletefile macro (and test)

Also, update to mm_spkexport macro

:tada: This PR is included in version 4.17.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Validation of routing requests

I ran into this problem in #1724, and also found this comment in GraphHopper:
// TODO Maybe we should think about a isRequestValid method that checks all that stuff that we could do to fail fast
// For example see #734

In #1724 I started by simply adding a turn_costs=true/false parameter that currently would be used as alias for edge_based=true/false and is supposed to be more user-friendly. What I do not like about it is that in case there is some error there are some error messages that contain edge_based rather than turn_costs (for example when selecting the CH preparation). At the same time I do not really want to change these messages to turn_costs, because turn_costs is just the high level user-facing feature that should be enabled, but inside the routing engine it makes a lot more sense to look up an 'edge-based'  CH profile than a turn_costs one. Ideally I would like to have it like this:

the user makes a request specifying desired features (not implementation details, e.g. turn_costs=true instead of edge_based=true).

GH translates the user request to whatever needs to be specified to perform the request (for example if CH is enabled and turn_costs=true the engine should try routing with edge-based CH, when the vehicle is not specified the default vehicle should be chosen, same with the routing template, algorithm, locale etc.). After the translation there should ideally be one fixed request object (right now we keep manipulating the GHRequest object within GraphHopper.calcPaths(). To test the engine we only need to try the different engine configurations (like edge_based etc.), but the whole user-request translation stuff should be sitting on top of this and the translation should be tested in isolation.

the translated request is validated against the capabilities of the routing engine, e.g. it is checked if an edge-based CH preparation is present for the chosen vehicle etc. something like GraphHopper.supportsRequest(GHRequest req).

if the validation fails the user is told that it is not possible. here I think there is a difference between users who configured their own GH server (and thus are interested how they need to change the configuration to make it work) and users who rather use a running GH instance (and thus are only interested in how they need to change their request).

if the validation is successful the request is performed

Right now we are kind of skipping step 3) and simply throw an error at the point we find out that the request cannot be performed. This is why we cannot make the distinction between using turn_costs or edge_based in the error message: the validation happens too deep inside the engine and we can not really separate 'high level' user-facing parameters from internal implementation details.
I don't know, maybe I am overthinking this and if all we want is this turn_costs parameter we can simply add it at the top and maybe adjust a few of the error messages, but I feel like there is room for improvement in terms of separating the different layers of code here. This is also reflected in the GraphHopper#calcPaths method being 150 lines long.
Any thoughts ?

This is indeed tricky. Maybe we translate certain internal exceptions to more higher level ones e.g. using some error numbers assigned to the internal errors to make this easier?


New changes to Youtube's CSS

In a baffling move, Youtube team has decided to insert "row elements" inside their main container flexbox on the frontpage to encompass the video items 4 at a time. This stops this script from working correctly, because removed elements no longer affect the row container, which is set to partition space for 4 items regardless of whether or not they are actually displayed.
I have fixed it for myself by using the following CSS rules in my browser:
#contents.ytd-rich-grid-renderer{display:block; margin-left: 16px;}
.ytd-rich-grid-renderer:first-child{margin-left:0;}
.ytd-rich-grid-renderer{width: auto; display: inline; font-size:0;}
ytd-rich-grid-row #contents.ytd-rich-grid-row{display: inline; vertical-align:top; margin: 0;}
ytd-rich-item-renderer{width: 256px; display: inline-block; vertical-align:top;}

Effectively breaking the now-useless declaration of flexbox (what were they thinking???) and reverting it to a block of inline elements, which lets hidden elements be removed entirely. Note that this solution will not work for everybody since I hard-coded the width of the individual video element to 256px to fit 6 videos on a row. For a general solution, width calculated by percentages or calc() will have to be used.
Another point of note is the 'margin-left:-2px' line, this is to (crudely) fix the space (literal space element) that is inserted by browsers between inline elements if there are any line breaks or spaces in the HTML code. The 2 solutions to solve that is to either collapse the elements in the HTML document together (not possible as we do not control it), or set the font-size of the place between elements to 0, which is kinda hacky. Using negative margin of 2px coincides with the width of a space in my browser, but it will not be the same for every browser, so I am unsure how would you solve it for everybody.

I discovered that my 'margin-left:-2px' hack doesn't work for full 4-video rows that are hidden by the script (the effect compounds and ends up moving the next visible row further than normal), so I replaced it with
font-size:0
in the same place instead. Luckily, the font sizes are declared further down into the video card elements, so this gets correctly overwritten in places where text is and this solves the inline-space issue.

They seem to have reverted the baffling decision to ruin the purpose of the flexbox and the fix is no longer needed, so hurray. Who knows if it's just temporary though, but keep in mind this method as a potential solution if they break it again.

Thanks for reporting the issue. I am unable to reproduce it at this time, but will keep an eye on it in case this comes back in the future.

The row elements came back again for me, so I had to apply my fix again. Still works fine.

here are the row elements i'm talking about for posterity


Install libfreetype6-dev in the development environment.

This fixes a problem where the emoji_dump tool was not correctly
generating the black-and-white emoji.  Pillow compiled without
libfreetype cannot extract those emoji (and gives an error of the form
"The _imagingft C module is not installed"), and if libfreetype-dev
isn't installed, pip will happily build and install Pillow without
libfreetype.

Automated message from Dropbox CLA bot
@timabbott, it looks like you've already signed the Dropbox CLA. Thanks!


Menu not dimmed when exit confirm dialog appears

Godot version: v3.1.2.stable.official & v3.2.beta.custom_build.ff58030ed
OS/device including version: macOS Catalina 10.15.1
Issue description:
The "Exit the editor" dialog dims everything in the editor expect popups like menus and dialogs.

It looks strange for other popups to stay lit, especially for menus. It may be better to hide the menus when new popups appear. Menu are supposed to be temporary, aren't they?
Steps to reproduce:

In the editor, click to open any menu (say "Project")
Click the exit button of the window
The "Exit the editor?" dialog appears: the menu popup is not hidden or dimmed

Minimal reproduction project: Any project

The dimming works by changing the editor's root control's modulate to be darker, but modals aren't affected by the modulate of its parent, so for this to be "fixed", the way dimming works would need to be changed.

so for this to be "fixed", the way dimming works would need to be changed.

Or as I mentioned elsewhere, I would prefer to remove the dimming from the editor ;-)

Note that dimming was disabled in the master branch, even when using single window mode. Its code is still present internally, but I think it'll be removed as it no longer serves a purpose.

In this case, I suggest we can close this issue

Closing per @pwnorbitals' comment (since this isn't a critical issue).


Upgrade to Stacks 2.0 for BNS commands

The CLI does not yet appear to support any BNS commands for Stacks 2.0.

I reached out to @reedrosenbluth about this yesterday to see if he was able to help. I'm not sure if he's already started on it though.


Use is instead of == for variable compare

Codecov Report

Merging #7 (cfa6cf8) into master (cd0cea7) will decrease coverage by 0.32%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##            master       #7      +/-   ##
===========================================
- Coverage   100.00%   99.67%   -0.33%
===========================================
  Files            6        6
  Lines          306      306
===========================================
- Hits           306      305       -1
- Misses           0        1       +1

Impacted Files
Coverage Δ

src/watchpoints/watch_element.py
100.00% <100.00%> (ø)

src/watchpoints/ast_monkey.py
94.73% <0.00%> (-5.27%)
:arrow_down:

Continue to review full report at Codecov.

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


Emojis do not load properly

On the newest release of this, the emoji list does not render. Perhaps you forgot to load it in some View? (I know a smidge of Swift but definitely not the Xcode project structure).
I like the idea of fetching emojis from the official source. That's definitely useful for the future.

I did already notice it too. Until I've fixed it, you can use the following workaround:
Close the app and reopen it, after that the list of emojis should be rendered

I did already notice it too. Until I've fixed it, you can use the following workaround:
Close the app and reopen it, after that the list of emojis should be rendered

Ok, I just did that. Now I'm noticing it loading duplicate emojis.

Both issues should be fixed with this commit. I will publish a release shortly

Fixed the issue. Thanks!


RSS Recipe Next Steps

What kind of changes does this PR include?

New or updated content

Description

Closes #2942
What does this PR change? Give us a brief description. Added a next steps section to the rss feed guide with a link to an article explaining how to add an rss icon.

Thanks to @sarah11918 for the text I used.
I believe the address to visit to check your rss feed is my-site.com/rss.xml. I'm not 100% sure of the best/least awkward way to phrase that.

I'll edit this a bit now that I've read WRITING.md and RECIPES.md 😅

This is my favourite PR comment EVER, @Jothsa :rofl:

Thanks so much, @sarah11918!

Not sure why the checks keep failing

Yup, we haven't been merging all afternoon because fontsource is down! Chris is working on a hotfix, and worst case, we wait until tomorrow.
If the sentence ends with link, the period is NOT included with the link! Punctuation is always separate from the text.  :)


fix: k8s audit only

This PR introduces several changes:

[x] Rename k8s-only-audit to k8s-audit-only since we use the term k8s-audit as a thing
[x] Replace the falco image with the new falco-no-driver image and remove privileged: true since this use case does not need any other event sources other than the k8s audit log (ie. the driver is not actually needed)
[x] Fix the deployment that did not work (thanks to the point above)
[x] Add the audit sink (as explained here), so users can test if it works easily

Special note
Although it is not needed to make it work, I have changed the value of webserver.k8s_audit_endpoint from /k8s_audit to /k8s-audit, because if the audit sink webhook was configured with a service reference (instead of an URL) then /k8s_audit won't work since:
The AuditSink "falco-audit-sink" is invalid: spec.webhook.clientConfig.service.path: Invalid value: "/k8s_audit": segment[0]: a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

Should we change this also in the falco.yalm present in the main repo?
/cc @fntlnz
/cc @leodido
How to test
Instructions reported in the README worked for me, once I introduced the aforementioned changes.
Moreover, to test if Falco is receiving the audit log events:

download the event-generator
./event-generator run k8saudit

TODOs
IMHO, this PR can be merged as-is, though several improvements can be done (maybe later, in other PRs):

[ ] The README should clearly explain that Audit Log must be enabled and properly configured in Kubernetes
[ ] Once /examples/k8s_audit_config has been reviewed and update, we could use it as reference here
[ ] We should check if all the rules are triggered as expected (I have just checked a few of them)
[ ] Since privileged: true has been removed, we should double-check that metadata are being populated correctly (it seems so to me, but I have not checked in detail

/cc @maxgio92
/cc @nibalizer
PTAL

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign leogr
You can assign the PR to them by writing /assign @leogr in a comment when ready.
The full list of commands accepted by this bot can be found 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

/check-dco

/honk

@leogr: Unable to find goose. Have you checked the garden?

In response to this:

/honk

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: maxgio92
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 [maxgio92]

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


Support infinite sleep in Elixir

Modifies Process.sleep(:infinity) to sleep forever rather than immediately returning :ok.
Closes Issue #391
Signed-off-by: Winford<EMAIL_ADDRESS>These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

Closing this because PR #395 fixes the problem properly, so this work around is unnecessary.


Add basic sound effects with Play Tone, Play Beep, and Play Crash

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

This is a feature to add basic sound effects to GB Studio.

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

This adds three new sound events. See below.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:

These are three simple sound generating functions that enable users to play basic sound effects for games. The crash sound works well for moving objects and entering doors. The beep sound is also useful for sounds when interacting with objects. And the tone event can be used to play simple chimes without creating a mod file.
Please try these features out and let me know if you have feedback.
Documentation
Sound: Play Tone

Plays a tone with a specific frequency and duration. The sound plays on channel 1 and blocks the script until it is complete. The sound might not be heard if music is playing.
Sound: Play Beep

Plays a short beep with a high or low pitch on channel 4. The sound plays in the background. The pitch is set with a number between 1 and 8. The sound might not be heard if music with percussion is playing.
Sound: Play Crash

Plays a crash symbol sound on channel 4. The sound plays in the background. The sound might not be heard if music with percussion is playing.

Excellent!! This is great!
I like how you can chain the "Play Tone" events together to make a little jingle too. Not had much time to test yet but it seems like "Play Beep" and "Play Crash" don't wait though, not sure if they should or not really, open to discussion on that. I suppose you could manually add "Wait" commands if you wanted to have a crash, then a pause then a crash again.
Either way could you maybe do a little test project for this one in test/projects too? Might be good to have some examples of how they work used one after the other and how they work when music is playing for example. Then I'll do some testing across all the platforms.
Thanks!

Added a test project. This one also causes a game crash on Windows when using the beep function.

Here's the method ZGB another GBDK based gameboy tool uses for these kind of sounds,
https://github.com/Zal0/ZGB/blob/master/common/src/Sound.c
https://github.com/Zal0/ZGB/wiki/Sounds
It would be nice to expose more of the sound register functions, as there are volume envelopes (fade in/out) for most channels, and dedicated pitch sweeps on channel 1.
They also all have a hardware timer called Length load to shut a note off automatically without code.
All these could make for very diverse sounds.
Also, if registers were pushed instead of just pitch, like NRx3 and NRx4, the expensive math could be done during the js build process, rather than when the sound is called on the gameboy.
An example of inputs.
Volume (0 to 15), Vol Envelope (-7 to +7),   NR12 +(trigger NR14)
Frequency (11bit, Round 131072/(2048-x) where x is in Hz ), NR13+NR14
Wave type\Duty (0-3), Length (0-64 max .25 seconds?)  NR11+(length on NR14)
Sweep Speed (0 to 7), Sweep direction (-7 to +7) NR10
Here are some great references on what each bit of the registers are for.
http://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware#Registers more Visual
http://bgb.bircd.org/pandocs.htm#soundoverview more Info
PS: Fantastic job getting GBDK 2.96 to compile!

@RichardULZ
The frequency value is computed in the compile step: https://github.com/chrismaltby/gb-studio/blob/77bf50d5f55c660cecd27f4f4ed8fd323c54c5a4/src/lib/events/eventSoundPlayTone.js#L32
I think each of those sound features can be used from GBT already, so the main purpose for these changes are just to provide some very easy functions for generating sound and possibly allow concurrent playback in some cases.
+1 for the Pandoc links, those are always a good resource.

I've just fixed up the merge conflicts on this.
Been having a play with changing NR14 and NR10 in Script_SoundStartTone_b could be interesting to expose these but I think it could come at a later date. It would probably need some way of roughly previewing the sound from the editor if the functionality got much more complex though. I always liked how BFXR had good presets to make common game sounds, maybe one day we can add something like a mini version of that :-D
If this is working okay in Windows since the 2.96 update what do we think about merging it now though? @gregtour @RichardULZ

Hey @gregtour, I had another look through this today, working on the UX and decided its simpler to merge the three events into a single "Sound: Play Effect" event which I've now done.
I've also added the ability to preview any of the sounds directly from the editor similar to how previewing music works with a play button on the effect type dropdown. For crash and beep I've just recorded mp3s of the audio direct from the JS emulator so they should sound identical, for tone I'm using a web audio square wave oscillator which doesn't sound exactly right but should be close enough for now.
New sound effect event UI looks like this with the inputs changing depending on which type is selected.

Looks to be working across all the platforms so I've finally merged this in. Thanks for your help!


Investigate Balena as alternative for Docker runtime

Hi there,
Firs of all, thanks for the amazing project, it has proven to be quite valuable as it is right now!
This is more of a question for investigation and feedback on the idea, than an issue itself.
I've came across balena, which claims to be a compatible Docker engine focused for Embedded and small devices:

Balena is a new container engine purpose-built for embedded and IoT use cases and compatible with Docker containers.
Based on Docker’s Moby Project, balena supports container deltas for 10-70x more efficient bandwidth usage, has 3.5x smaller binaries, uses RAM and storage more conservatively, and focuses on atomicity and durability of container pulling.

It does remove some of the featuers, such as Docker Swarm tho.
I was wondering if it would be of the interest of hypriot to also produce an alternative engine, and if so, how we could help with this.

Hi @bltavares
Thank you for the kind words. I've seen Balena last year at Moby Summit and it has some nice optimizations for smaller devices.
At the moment we do not plan to add more images.
A recommended way to produce an image for the community is to just fork this repo and activate the CircleCI build for it. Then you have a first build pipeline that produces build artifacts for each git commit. So you can adjust the software to be installed in the image as you need it.
If you want to draft releases you have to add the GITHUB_TOKEN variable to your forked CircleCI build and maybe adjust the deploy steps to release to your own fork. That's more or less everything to clone our pipeline.

Sorry for not responding. Thanks for the suggestion.
I'll give it a try and report back, if you are interested :)


Project license

I don't see any license attached to this repository; could you please add an open source license (like the MIT license) so we can be sure we can use this legally?
Thanks in advance.

Seconded. I would love to give this a try as well

It's MIT. Closed by https://github.com/zeit/pkg/commit/e93c6e99efa4d6113a983126c2cbe7b8208708b1.


[Bug] Insomnia sending GET request when it's suposed to POST while using http.

Operating System: Ubuntu 18.4 LTS

Tried to POST to my server mistakenly using HTTP but the request kept arriving as GET.

It works without problems over https.

This is likely because the server is responding with a redirect (perhaps http->https?). During this case, Insomnia will switch from POST to GET.

This is likely because the server is responding with a redirect (perhaps http->https?). During this case, Insomnia will switch from POST to GET.

This worked for me! 🔥


Request: Refresh button on the tavern page

I've noticed that sometimes (maybe I'm just impatient) when someone has DM'd me saying they have accepted the duel, the tavern page doesn't update this until a total reload (which feels a little dirty to me). Thoughts on possibly an on-page tavern reload button?

Closing this - I was just being impatient, the UI updates itself quickly enough.

All the UI is made of recs hooks, should be updated automatically.


Zanini faqs cds 31 jan

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: aimurphy:x: guilhermezanini-harnessYou have signed the CLA already but the status is still pending? Let us recheck it.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65df59cb423445298b47e6f4--harness-developer.netlify.app

@deepanshuHarness I have fixed the build errors in this PR. Can it be merged?


Buttons vs Input

When buttons are sent back - if the user types text, dialogflow will not recognise the response.
This could be solved by checking if the users input matches the text of the buttons, and sending the relevant postback to DF

The other option would be do disable input apart from the four questions that need a free text input answer: ask me a question about divorce, tell me your country not listed, any suggestions for improvement


channel annotations

Use more consistent language in channel parameter annotations.

Most channel parameter annotations are now identical, but timePeriod() function from ./time.js is an exception because it's helpful for the parameter description to clarify that the channel must have a temporal type.


[BUG] Dashboards yield blank panel: Metric was not found

What is the bug?
The dashboards are shown, but they are empty / blank, so no data is shown.

How can one reproduce the bug?
Steps to reproduce the behavior:

Install docker image opensearch:1.2.3  and enable port 9600 for the performance analyzer
Test that the performance analyzer is responding:

curl "localhost:9600/_plugins/_performanceanalyzer/metrics/units"
{"Disk_Utilization":"%","Cache_Request_Hit":"count","Segments_Memory":"B","Refresh_Time":"ms","ThreadPool_QueueLatency":"count","Merge_Time":"ms","ClusterApplierService_Latency":"ms","PublishClusterState_Latency":"ms","Cache_Request_Size":"B","LeaderCheck_Failure":"count","ThreadPool_QueueSize":"count","Sched_Runtime":"s/ctxswitch","Disk_ServiceRate":"MB/s","Heap_AllocRate":"B/s","Indexing_Pressure_Current_Limits":"B","Sched_Waittime":"s/ctxswitch","ShardBulkDocs":"count","Thread_Blocked_Time":"s/event","VersionMap_Memory":"B","Master_Task_Queue_Time":"ms","IO_TotThroughput":"B/s","Indexing_Pressure_Current_Bytes":"B","Indexing_Pressure_Last_Successful_Timestamp":"ms","Net_PacketRate6":"packets/s","Cache_Query_Hit":"count","IO_ReadSyscallRate":"count/s","Net_PacketRate4":"packets/s","Cache_Request_Miss":"count","ThreadPool_RejectedReqs":"count","Net_TCP_TxQ":"segments/flow","Master_Task_Run_Time":"ms","IO_WriteSyscallRate":"count/s","IO_WriteThroughput":"B/s","Refresh_Event":"count","Flush_Time":"ms","Heap_Init":"B","Indexing_Pressure_Rejection_Count":"count","CPU_Utilization":"cores","Cache_Query_Size":"B","Merge_Event":"count","DocValues_Memory":"B","Cache_FieldData_Eviction":"count","IO_TotalSyscallRate":"count/s","Net_Throughput":"B/s","Paging_RSS":"pages","AdmissionControl_ThresholdValue":"count","Indexing_Pressure_Average_Window_Throughput":"count/s","Cache_MaxSize":"B","IndexWriter_Memory":"B","Net_TCP_SSThresh":"B/flow","IO_ReadThroughput":"B/s","LeaderCheck_Latency":"ms","FollowerCheck_Failure":"count","TermVectors_Memory":"B","HTTP_RequestDocs":"count","Net_TCP_Lost":"segments/flow","GC_Collection_Event":"count","Sched_CtxRate":"count/s","AdmissionControl_RejectionCount":"count","Heap_Max":"B","ClusterApplierService_Failure":"count","PublishClusterState_Failure":"count","Merge_CurrentEvent":"count","Indexing_Buffer":"B","Bitset_Memory":"B","Norms_Memory":"B","Net_PacketDropRate4":"packets/s","Heap_Committed":"B","Net_PacketDropRate6":"packets/s","Thread_Blocked_Event":"count","GC_Collection_Time":"ms","Cache_Query_Miss":"count","Latency":"ms","Shard_State":"count","Thread_Waited_Event":"count","CB_ConfiguredSize":"B","ThreadPool_QueueCapacity":"count","CB_TrippedEvents":"count","Disk_WaitTime":"ms","Data_RetryingPendingTasksCount":"count","AdmissionControl_CurrentValue":"count","Flush_Event":"count","Net_TCP_RxQ":"segments/flow","Points_Memory":"B","Shard_Size_In_Bytes":"B","Thread_Waited_Time":"s/event","HTTP_TotalRequests":"count","ThreadPool_ActiveThreads":"count","Paging_MinfltRate":"count/s","Net_TCP_SendCWND":"B/flow","Cache_Request_Eviction":"count","Segments_Total":"count","FollowerCheck_Latency":"ms","Terms_Memory":"B","Heap_Used":"B","Master_ThrottledPendingTasksCount":"count","CB_EstimatedSize":"B","Indexing_ThrottleTime":"ms","StoredFields_Memory":"B","Master_PendingQueueSize":"count","Cache_FieldData_Size":"B","Paging_MajfltRate":"count/s","ThreadPool_TotalThreads":"count","ShardEvents":"count","Net_TCP_NumFlows":"count","Election_Term":"count"}

start opeftop: opensearch-perf-top-linux --endpoint http://localhost:9600   --dashboard NodeAnalysis --logfile /var/log/opensearch-perf-top-linux.log   --nodename opensearch-cluster
observe the logfile /var/log/opensearch-perf-top-linux.log for these errors:

No matches for nodeName=opensearch-cluster
Metric was not found for request with queryParams:

        endpoint: http://localhost:9600

        metrics: Net_PacketDropRate4

        agg:sum

        dim:Direction
No matches for nodeName=opensearch-cluster
Metric was not found for request with queryParams:

        endpoint: http://localhost:9600

        metrics: CPU_Utilization

        agg:sum

        dim:Operation
Data returned for nodeName=local was in an unexpected format:
        {"timestamp":1644583150000,"data":{}}
No matches for nodeName=opensearch-cluster
Metric was not found for request with queryParams:

        endpoint: http://localhost:9600

        metrics: Net_PacketDropRate6

        agg:sum

        dim:Direction
No matches for nodeName=opensearch-cluster
Data returned for nodeName=local was in an unexpected format:
        {"timestamp":1644583150000,"data":{}}
No matches for nodeName=opensearch-cluster
Data returned for nodeName=local was in an unexpected format:
        {"timestamp":1644583150000,"data":{}}

manual testing
also the manual curl for e.g. Net_PacketDropRate4 is returning a more or less empty json:

curl "localhost:9600/_plugins/_performanceanalyzer/metrics?metrics=Net_PacketDropRate4&agg=avg&dim=Direction&nodes=all"

response:
{"local": {"timestamp":<PHONE_NUMBER>000, "data": {}}}

curl "localhost:9600/_plugins/_performanceanalyzer/metrics?metrics=CPU_Utilization&agg=avg&dim=Operation&nodes=all"

response:
{"local": {"timestamp":<PHONE_NUMBER>000, "data": {"fields":[{"name":"Operation","type":"VARCHAR"},{"name":"CPU_Utilization","type":"DOUBLE"}],"records":[]}}}

curl "localhost:9600/_plugins/_performanceanalyzer/metrics?metrics=Net_PacketDropRate6&agg=avg&dim=Direction&nodes=all"
{"local": {"timestamp":<PHONE_NUMBER>000, "data": {}}}

response:
{"local": {"timestamp":<PHONE_NUMBER>000, "data": {}}}

What is the expected behavior?
a working perftop
What is your host/environment?

OS: SLES 15 SP3
Version opensearch docker image 1.2.3

Did you enable the plugin? See https://opensearch.org/docs/latest/opensearch/install/docker/#configure-opensearch -> (Optional) Set up Performance Analyzer

We're deprioritizing this in favor of moving to a Web-based UI, but will leave the issue as open.
Feel free to create a pull-request if this is critical and the above steps for configuring doesn't work.


Updated the code for Swift 2 version

Have a look at this version. I tested it on Swift 2 and Xcode 7

I love this. Thank you! To complete the transition, would you mind also converting the tests to Swift2 syntax also?


Updated mavlink_send_status to work with the updated status message. …

…Control mode enum should now be able to display passthrough/angle/rate, instead of just passthrough/rate. Couldnt update mavlink_c submodule since the new headers havent been generated yet.

Something is wrong with the way you are packing the status message (check the output of the travis build).  I bet you forgot to update the mavlink submodule

@superjax Right, the mavlink_c repository hasn't autogenerated the new headers yet, so I don't think I can fix that yet.

Also this fix corresponds to Issue #182

This was superseded by #215


v0.42.0

[x] Create release in Github

[x] Bump Version
[x] Create Draft Github Release
[x] Create Release Notes
[x] Generate Binaries and Checksum
[x] Upload Binaries and Checksum
[x] Publish the Draft Release
[x] Close any GitHub issues that have been delivered.
[x] Add a link to the release on the issue.

[x] Create an OSM Release
[x] Create TanzuNet product
[x] Update the packaging repositories

[x] Check if Update Homebrew
[x] Check if Update Website Installation Script
[x] ~Update Chocolatey~ (still do not share maintenance of this package)
[x] Check Github Action

[x] Update Documentation by generating a new docs version
[ ] Communicate in Slack
[x] Add to "Announcements" in Next Community Meeting Agenda — describe what's going on with this patch release.

Post Release:

[ ] Upload and release v0.42.0 OSL file to TanzuNet Product and Release

Pending OSL file production.


Support for unix timestamp conversion

I often find myself doing the following:
@computed('model')
createdAt() {
  return moment.unix(this.get('model.time'));
}

And then
{{moment-from-now createdAt}}

Adding a unix helper would be beneficial and remove the need to have the computed.  Perhaps something like so:
{{moment-from-now (unix model.time)}}

Does this sound useful?  If so, I can have a PR ready shortly.

I am very much in favor :)

Thanks again @stavarotti

@jasonmit absolutely.


Rename packages

This patch adapts the project to use the name that corresponds to the
new git repository: openshift/autoheal.

@elad661, @zgalor, @moolitayer, @ironcladlou please review.

/lgtm


[HOLD 36196][$500] Task - System message with new task description not updated in LHN until task opened

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.39-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4295166
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Open the app and log in
Navigate to any chat
Assign a task with a description to a user
Open the task from LHN and change the description to something else
Return to the LHN

Expected Result:
An updated system message with a new description is displayed below the task name in the LHN
Actual Result:
The system message with a new task description is not updated in LHN until the task is opened
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/f1dd0e69-0e63-4ce4-8cf3-6e969713e967
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c62d321957545289
Upwork Job ID:<PHONE_NUMBER>077272576
Last Price Increase: 2024-02-09

We think that this bug might be related to #vip-vsb
CC @quinthar

I believe this should be resolved in https://github.com/Expensify/App/issues/36196 by adding the optimistic system messages.
cc: @thienlnam

Yeah correct, this is known and will be fixed in https://github.com/Expensify/App/issues/36196

On hold.

On hold.

On hold.

On hold.

Hold.

This is resolved now!


[Deploy on Mon 27th July] Pip checker updates

This is a combination of @lutgendorff's Pull Requests:

#1842
#1841
#1840
#1839

Each pull request contained a single commit that updated the pip-checker Smart Answer. I cherry-picked each commit to this branch and fixed the conflicts caused by my recent indenting of the ERB templates. I've also regenerated the checksum data and rendered outcomes.

Thanks @chrisroos, this is great. LGTM but let's not merge until 26th.


drivers: ethernet: enc424j600: change mac addr runtime

Add ability to change mac address at runtime using net mgmt config call.
Supersedes: https://github.com/zephyrproject-rtos/zephyr/pull/73453

FYI @jancoow

Note: no need to wait for the 48h period with this PR, since it was already reviewed.


Allow a model to be interpreted rather than compiled

Although we can compile a model from WASM, we can't look up its symbols (see here and here for more details), so we have no choice but to run an interpreted version of it. We don't want to do this only from WASM, but also from X86/AArch64... because why not.

Replaced by issue #223, so closing.


Stackoverflow when installing

On MacOS, running this in the terminal curl -fsSL https://install.julialang.org/releasepreview | sh prints:
info: downloading installer
Welcome to the Julia setup wizard

You can abort at any time with Esc or q, in which case no changes will be made to your system.

? Do you want to install with all default configuration values? ›
❯ Yes, install with defaults
  No, let me chose custom install options

thread 'main' has overflowed its stack
                                      fatal runtime error: stack overflow
                                                                         sh: line 445: 40246 Abort trap: 6           "$@"
                                                                                %

Duplicate of https://github.com/JuliaLang/juliaup/issues/174 :)


Support Static Egress IP

Proposal / RFE
Is your feature request related to a problem?
We need to connect to a service external to our cluster, which requires a static source IP in subsequent requests for the same session. Since obviously our services are set up in an H/A we cannot provide this with pure Kubernetes. We do not have VMs available and want to stay with our pure Kubernetes based solution. Our setup features a specific amount of nodes which explicitly act as network node which are connected to ISPs. Between our nodes we do pure BGP routing.
Describe the solution you'd like
Ideally we would be able to use a CRD which allows to specify a labelSelector and a desired Egress IP which is then used as SourceIP in all egress traffic by the matched Pods.
For example this could then be solved by routing all traffic for one such application over exactly one of our net nodes and to have a failover option should the node die.

ping

Ping

pong

@brb 👍

Seems like OVN has gone through the design process for something that looks similar, here:
https://github.com/alexanderConstantinescu/enhancements/blob/ovn_egressip/enhancements/network/egressip_for_ovn_kubernetes.md

Our Egress IP Gateway feature introduced in v1.10 should cover this. See the release blog post for a description and pointers. I'm going to close this issue, but don't hesitate to ping me if there's something more to it than what the egress IP gateway covers.