Sharing state across scenarios

Hi,
I have a lot of scenarios which are working with a docker testcontainer. Each scenario starts up the container and when the world is dropped, the container is also stopping. When a new world is created, a new  container is created. This works fine, but it is slow. I'd appreciate if the container could be started like this:
fn main() {
    let container = startContainer();
    MyWorld::cucumber()
            .fail_on_skipped()
            .add_state(container) // don't nail me on this. Just here to see what I mean
            .run_and_exit("tests/features/user/")
            .await;
    // Container gets stopped when main is exited.
}

When the world is then created, I'd need some way to access the container (e.g. for getting out the correct ports).
What do you think about this?

@guehnter If you need multiple Worlds to share the same global state, there is no specific API for this in cucumber. However, nothing prevents you from communicating via some global variable or other global mechanism.
For example:
static CONTAINER: LazyLock<Container> = LazyLock::new();

fn main() {
    CONTAINER.set(startContainer()).unwrap();
    MyWorld::cucumber()
            .fail_on_skipped()
            .run_and_exit("tests/features/user/")
            .await;
    CONTAINER.stop();
}

And you can access CONTAINER either directly in your step matchers, or put it into the MyWorld during its initialization.

Of course, some API for global state could have been baked in. However, giving the situation is quite rare and solving it isn't a huge pain-in-the-ass, I doubt it's worth complication of the machinery.


update kotlin version to work with AGP 7.0

This updated the kotlin version to work with library consumers that are already using AGP 7.0
Also replace jcenter() with mavenCentral, as jcenter is to be discontinued very soon.

Why not bump it to the latest version (1.5.30) ?

Should also bump gradle version.

This should now be updating all relevant things everywhere.


examples nmea200 not work in esp-idf

The example transport_layer In Socket "vcan0" under Linux and under Edp-idf works .
The example NMEA2000 stops after Address Claim ?  Both under Linux and under Esp-idf.
Any suggestions?
Thank you.
Esp-Idf (dump)
twai 18eafffe [3] 00 ee 00
twai 18eeff1c [8] 02 00 00 08 00 10 00 a0

This seems like it is the same thing we saw in #61 where similar to TP and ETP back then, fast packet is being optimized out by your linker when linking the library as a static library. We'll have to update the network manager to contain the instance of the protocol instead of having it be a static instance. This will mean we'll have to update the example a bit as well, but shouldn't be too bad. I'll try and get started on a fix for this.


Ignore already existing cgroupv2 mount point

When the process in an container gets restarted, they reuse the same filesystem. This means that the mount point we need for mounting cgroupv2 already exists and we should not fail.

Fixed with https://github.com/castai/kvisor/commit/5e681f575cff86837f5e9cc974747923bc6a7e34


Reword foreman provider verify SSL

Previous wording was not clear
Not letting it be known that this is related to VERIFY_PEER
and VERIFY_NONE
https://bugzilla.redhat.com/show_bug.cgi?id=1212423
/cc @AparnaKarve @gmcculloug

merged into #pull/2776


ionic2 nav controller bug when used in popover - .push(somePage) does work, .pop() does throws error

The issue described here still exists: https://github.com/driftyco/ionic/issues/8218
My system info:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.2
Ionic CLI Version: 2.1.7
Ionic App Lib Version: 2.1.4
Ionic App Scripts Version: 0.0.42
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: OS X El Capitan
Node Version: v6.8.0
Xcode version: Xcode 8.1 Build version 8B62

If I open a popover on a details page it has options to Edit or Delete the item. When I delete the item, I want to pop the detail page off of the stack. However, this does not work from within the popover.
this.viewCtrl.dismiss().then(() => {
    this.navCtrl.pop();
});

It throws an error message
polyfills.js:3 Unhandled Promise rejection: Cannot read property 'getTransitionName' of null ; Zone: angular ; Task: Promise.then ; Value: TypeError: Cannot read property 'getTransitionName' of null(…) TypeError: Cannot read property 'getTransitionName' of null
But I can use .push() in the same context, for example

this.viewCtrl.dismiss().then(() => {
this.navCtrl.push(somePage);
});

does work.

System info
Cordova CLI: 6.4.0
Gulp version:  CLI version 1.2.2
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-rc.2
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
Ionic App Scripts Version: 0.0.39
OS:
Node Version: v7.1.0

The same thing is happen to me!

Same thing. It seems to be caused by enteringView and leavingView both being empty here: https://github.com/driftyco/ionic/blob/5ff7072242bb36cf51a0862384be635c04bf1658/src/navigation/nav-controller-base.ts#L429

same here


Fixes Issues #112 and #113

Added a super call in Machine (#112) and added optional allow_substates argument for HierarchicalStateMachine.is_state (#113).
The super call is surrounded with try/except to prevent cryptic object.__init__() takes no parameters errors if wrong parameters are passed.

Coverage decreased (-1.0%) to 97.281% when pulling ba0d955248ad7fff803a13dfde2c3fee214c2bc5 on dev_112_113 into 7e3f2dcfe87d9a3df25c982f0e691de444c86b5d on master.

Coverage decreased (-1.4%) to 96.835% when pulling a625690cfe1378c109eb127f759912b527b7eaac on dev_112_113 into 7e3f2dcfe87d9a3df25c982f0e691de444c86b5d on master.

Since this pull request will change some things in the core I will wait for some feedback from @wtgee or @tyarkoni. It is supposed to not break anything. This is the most relevant change. If someone passes wrong parameters to a Machine like befor instead of before, this now raises a MachineError. Previously issues like that had been ignored. It also allows more flexible handling of multiple inheritance (as discussed in #112 ). This might also be relevant for all the guys that want to mix transitions into django apps. What do you think?

Sorry, took me a while to look a but looks good. :+1:


Add a permanent rebuild button on build parts page

Add a permanent rebuild button on build parts page and remove rebuild action

Now it looks like:


After signup it redirects to the mainActivity without verifing mail when reopens the app

Description:
After signup it redirects to login screen and tells us to verify the email before login but after signup when i close and reopen the app it redirects to the main screen
Expected Behavior:
After signup it redirects to login screen and tells us to verify the email before login then we give credientials then it enters into the main screen
Actual Behavior:
After signup it redirects to login screen and tells us to verify the email before login but after signup when i close and reopen the app it redirects to the main screen

@Ijaiswalshivam assign this issue to me !


[#160022962] Screen snags by severity

Hey! Severity works now on the Bugsnag API.  Let's use it!

Thank you!


ng-packagr generates weird constructor for subclass which breaks angular dependency injection

Type of Issue
[X] Bug Report
[ ] Feature Request

Description
Creating a subclass with an implicit constructor and initialized property causes the esm5 codegen to emit a weird form of the "pass-through" constructor.
How To Reproduce

Create a new empty library and prep it for ng-packagr

Add the following code:
export class Dependency { }
export class Base {
    constructor (public dependency: Dependency) { }
}
export class SubBad extends Base {
    // This class generates a constructor which uses `super.apply(this, __spread(arguments))`
    property = 'value'
}
export class SubOk extends Base {
    // This class generates a constructor which uses `super.apply(this, arguments)`
}

Run ng-packagr

Observe that the ems5 bundle file contains following JS for SubBad and SubOk:
var SubBad = /** @class */ (function (_super) {
    tslib_1.__extends(SubBad, _super);
    function SubBad() {
        var _this = _super.apply(this, tslib_1.__spread(arguments)) || this;
        // This class generates a constructor which uses `super.apply(this, __spread(arguments))`
        _this.property = 'value';
        return _this;
    }
    return SubBad;
}(Base));
var SubOk = /** @class */ (function (_super) {
    tslib_1.__extends(SubOk, _super);
    function SubOk() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    return SubOk;
}(Base));

Note the difference in the way the super.apply call is generated.

Expected Behaviour
The super.apply call should be the same for both constructors. This is currently necessary because Angular uses a regular expression (!) to determine if a constructor function is a pass-through, and the version which uses tslib_1.__spread fails this check. This bug https://github.com/dherges/ng-packagr/issues/631 then takes effect and Angular fails to construct the type correctly.
The regex check in Angular: https://github.com/angular/angular/blob/2fee5cc0958e08d16d6e549a056f3289138d5739/packages/core/src/reflection/reflection_capabilities.ts#L71
Angular should probably improve its code for detecting pass-through constructors, however it seems to be a non-trivial problem (it is hard to tell the difference between an zero-param constructor and a generated pass-through constructor).
We could extend the regex in angular, however after passing through webpack the constructor is rewritten to look more like this:
function SubBad () {
    var _this = _super.apply(this, __WEBPACK_IMPORTED_MODULE_0_tslib__["__spread"](arguments)) || this;
    _this.bordered = false;
    return _this;
}

...so maintaining the regex long-term seems like a losing battle.
Version Information
$ node_modules/.bin/ng-packagr --version
ng-packagr:            2.2.0
@angular/compiler:     5.2.8
@angular/compiler-cli: 5.2.8
rollup:                0.55.5
tsickle:               0.27.2
typescript:            2.7.2

Hi ,
I am facing similar issues after ng-packagr. Below i have defined my componet structure sample code. I am receiving chartElement,zone,cd properies as undefined. Can you provide solution to resolve this issue.
@Component({     selector: 'base-chart',     template: `
})
export class BaseChartComponent implements OnChanges, AfterViewInit, OnDestroy {
constructor(
protected chartElement: ElementRef,
protected zone: NgZone,
protected cd: ChangeDetectorRef) {}
ngOnDestroy(): void {
}
ngOnChanges(changes: SimpleChanges): void {
this.update();
}
update(): void {
-- -- -- --base component logic-- -
}
}
@Component({
selector: 'bar-vertical',
template:     <svg>        .........................     <svg>   ,
changeDetection: ChangeDetectionStrategy.OnPush
encapsulation: ViewEncapsulation.None
})
export class BarVerticalComponent extends BaseChartComponent {
update(): void {
super.update();
const hostElem = this.chartElement.nativeElement;
//this.chartElement  is undefined
}
}`

@kurraraghu The workaround is to add an explicit constructor to BarVerticalComponent:
export class BarVerticalComponent extends BaseChartComponent {
    constructor(
        chartElement: ElementRef,
        zone: NgZone,
        cd: ChangeDetectorRef
    ) {
        super(chartElement, zone, cd);
    }
}

This should be resolved by tsickle PR 760 by @deadalusai, great work! The fix should be available in tsickle v0.27.3. We just need to update the dependency.

@deadalusai @Swiftwork thanks for the updates and the PRs!


Feat (react-tinacms-inline): add dismissable to 'clear' block focus

Summary
Currently if you want to 'clear' focus on a block, you can hit the far right 'X' icon. It would be ideal if clicking anywhere outside of the block cleared focus as well.

We could use dismissable for this, as we do with the color picker or date fields. Or come up with our own solution.
Motivation
Clicking outside of an area to reset focus is intuitive UI behavior. This behavior will also align better with our sidebar UI, where I believe the regular sidebar fields already do this. Also, the 'X' icon could be confused with a delete action.

I got to admit I had no idea what this close icon did before you explained it. 😲

Closed via #952


Not seeing some styles in rendered HTML output

I have come here from issue  #265.
Using Grip 4.5.2 on Windows 10, Python 3.7.3.
The text is formatted with Segoe UI font, but except that all other styles are missing. Code fences and blocks have no background. Even horizontal rules are invisible. A simple check through Chrome's devtools reveals that CSS variables are missing. The cause for the invisible horizontal rule is the same.

Also, the terminal says that some of the assets were not found (status 404):
 * Serving Flask app "grip.app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.

I've tried clearing the cache multiple times. Not behind any proxy.

I'm getting the same issue. Which caused my tables to render without borders.

I believe those errors are unrelated. See this on stackoverflow. However, I am also not getting the styles I would expect. Basically just black text on white. You can see a partial workaround in #348.

I had the same issue, using Using Grip 4.5.2 on Linux, Python 3. I turned to use a local css grip-style.css as workaround. Ref: #333

It looks like assets/light-13dc275a3a314268790358e25956033c.css is not being loaded.

Version 4.6.0 has just been released with the remaining fixes to this issue. The problem was that the regular expression used to find the CSS files skipped over <style> elements immediately following a match (e.g. no newlines). See this commit for more details.
Try upgrading now with pip install --upgrade grip and hard-refreshing the page with a fresh run.
And thanks for your patience. Feel free to re-open if there's still problems with missing styles.


[Docs] Update release notes with clean fixes

Add missing release notes for PR #394

@feltech feel free to rebase and merge at your leisure.


Make Hold Space to punch a little faster

Holding space to punch can only get you to level 9, it needs to be a little bit faster

Fixed via d156fb2dcd7c1f1a404c978dcf33b3e81cca432b


[Feature] Border styles in "inBrush" and "outOfBrush" options

What problem does this feature solve?

It allows users to style border when using brush feature.
(For example: bars that are "brushed-in" can have border but the bars "brushed-out" do not have any border)
Moreover, this feature should fix the following bug: https://github.com/apache/echarts/issues/19272

Currently:
Currently, it is only possible to configure following options: https://echarts.apache.org/en/option.html#brush.inBrush
Custom styling of the border is possible when using simple selection. For example:
...
selectedMode: 'multiple',
select: {
        itemStyle: {
          borderWidth: 1,
          borderColor: 'red'
        }
},
...

However, the same (or similar) behaviour is not possible when using brush with the options inBrush and outOfBrush.
What does the proposed API look like?
Add following properties to the inBrush and outOfBrush options:
borderWidth,
borderColor,
borderType,
borderJoin,
borderCap,
borderDashOffset,
borderMiterLimit,

The types are the same as in the select.itemStyle option.

This function is not working


Pass route params to handlers and demonstrate how they are used

It wasn't straightforward to setup routes with params, therefore I think it would be a good idea to always pass router parameters to as queryParams to the route handlers.
I also added a very basic example to demonstrate how it would work (with API).
Not sure, but it might be related to https://github.com/RickWong/react-isomorphic-starterkit/issues/54 and https://github.com/RickWong/react-isomorphic-starterkit/issues/56

Hi @csk157 thanks for this Pull Request. It looks great, but instead of a random example, we would much rather do stargazers-pagination to demonstrate multiple routes + params. What do you think?

Hi @RickWong, sounds good.
I would create a different route (component), which would mimic the behaviour of the Main route, just with manual pagination of the stargazers. So, both routes would essentially accomplish the same thing, but in slightly different ways. What do you think?

Or maybe, you could click on the images in that Main list and open a route where it shows some information about the user (/stargazers/:githubUserName)?

@csk157 I would love to see an example of both: manual pagination and stargazers detail route (/stargazers/:githubUserName).


website: 🐛 [Bug]: update images

Description
https://www.zesty.io/docs/authentication/microsoft-sso/
update the new login page image
To Reproduce
go to https://www.zesty.io/docs/authentication/microsoft-sso/

Current vs. Expected behavior
outdated login page image

Which area(s) are affected? (Select all that apply)
Docs
Additional context
No response

Login page Image now updated.
See screenshot:


[Android TV] Better remote support for playback and back buttons

I see from your readme that Android TV support is WIP, unsure if below items are already on your roadmap, and apologies if its already covered in your roadmap.
Currently when trying to use the app on android tv, I notice following issues, which I hope you will consider adding to your roadmap -

The "focused element" keeps going back to the side bar whenever I switch to a new song. It would be great if the focus continued on the appropriate view showing the new song selected.

Behavior of the back button is inconsistent. Sometimes it works by going back to the correct previous view but many time it simply goes to the side bar even though there are other views on the UI to which it should have ideally gone to.

Fixed in release 1.24


Update calibre to 2.44.0

Thank you for the contribution. It was merged directly as b238459cf9b45723f0818fcb81829d8b8c9ae66d to keep commit history cleaner. Your contribution is still credited to you.


Need error when wechaty is reconnected

It makes sense to throw an error or trigger an event when the bot got logged out and then back in. Need to rethink about this design.

ping @windmemory

Close this issue since this logic is implemented.


Fix a bug with the new install logic

I have no idea how #87 configured and why the tester hasn't break since (or why it worked on my machine!). I start wondering if CMake is just pure black magic.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@3ffcdcf). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #93   +/-   ##
=========================================
  Coverage          ?   85.52%
=========================================
  Files             ?       37
  Lines             ?     1665
  Branches          ?        0
=========================================
  Hits              ?     1424
  Misses            ?      241
  Partials          ?        0

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 3ffcdcf...156623f. Read the comment docs.


Hidden row size problem with variable row heights

I'm seeing a strange behavior in my app. My rows are variable height and my left-swipe button removes the row from the list. Once the first row is removed, it seems like the height of my hidden row gets messed up. It looks like it may be caching the height of the hidden row and when a row gets removed from the list the height should be recalculated. Here's a picture of before and after row 2 was deleted.
Before

After

Consequently, if I programmatically put the row back in the list, the heights line up again.
Here's the handle for the Dismiss button
  _handleDismissClick(rowData, secId, rowId, rowMap) {
    rowMap[`${secId}${rowId}`].closeRow();
    this.props.dismissRow(rowData.id, true)
  }

My SwipeListView is defined like...
        <SwipeListView
          dataSource={this.state.dataSource}
          renderRow={this._renderRow.bind(this)}
          enableEmptySections={true}
          renderSeparator={this._renderSeparator}
          refreshControl={
            <RefreshControl
              refreshing={this.props.isRefreshing}
              onRefresh={this.props.refreshTopics}
            />
          }
          renderHiddenRow={(data, secId, rowId, rowMap) => (
            <View style={styles.rowBack}>
              <TouchableOpacity
                style={[styles.backRightBtn, styles.backRightBtnRight]}
                onPress={() => this._handleHideClick(data, secId, rowId, rowMap)}>
                <Text style={styles.backTextWhite}>Dismiss</Text>
              </TouchableOpacity>
            </View>
          )}
          disableRightSwipe={true}
          rightOpenValue={-75}
          closeOnRowBeginSwipe={true}
        />

I'm trying to locate the problem in the code, but any help in resolving this would be appreciated. Thanks!

Try with recalculateHiddenLayout={true}. It looks like width and height of the hidden rows are never updated even when the layout changes (like on rotation), and that property seems solving this.

Hey @davideweaver, I'd agree with @raynor85 that recalculateHiddenLayout should solve your problems. If not, please let me know!


Change to passing an existing rethinkdbdash instance.

If you want to pass an existing instance, you now do so by passing it
as options.r (not as options). This stops self.options.table from
overwritting self.r.table fixing issue #10

I realized after sending you this push request I should have also included bumping the version number to 1.0.9 ;)

Thanks! I will release a new version soon.

I am actually going to separate the constructor into two arguments, one for the rethindkb instance, and the second for the options to the session, to prevent this kind of issues in the future.

No need to bump the version number in a PR. Usually the maintainer will run "npm version patch" which will auto create a git tag as well, so its actually better not to bump the version in a PR.

I released a 1.0.10 with your patch and a 2.0 with a new API. Thanks again.


Add new javascript api registerRenderer

See Issue #477

This change is

Coverage remained the same at 82.987% when pulling 63416d224725ea7a51d32c2d01be7997e4e2a660 on jtibbertsma:add-new-api-register-renderer into 5e5b92e9d6c33ab7d9026ac7ea9b3636fb3d3264 on shakacode:master.

@jtibbertsma Very intriguing!

Can you modify the example in spec/dummy to demonstrate this? Or make spec/dummy2?
Alternately a PR to https://github.com/shakacode/react-webpack-rails-tutorial/ would be great to demonstrate this. The PR can refer to your fork.

@robwise @alexfedoseev We'll have to give this a close look in the coming weeks. However, please stay focused on F&G v2! We can potentially leverage this when we make a big push for performance after v2 is completed!

@justin808 Sure, I'll work on a pr for react-webpack-rails-tutorial this weekend.

@jtibbertsma I'm looking forward to seeing the changes!

@jtibbertsma Any update?

@justin808 I've been a bit busy this week. I should have some time to work on it today.

https://github.com/shakacode/react-webpack-rails-tutorial/pull/337

Coverage remained the same at 82.987% when pulling 79d2e87018ac4269baf7b029f60d9260a2da52ef on jtibbertsma:add-new-api-register-renderer into 7fecce19f627c841f1e537e78440e6786af504de on shakacode:master.

@jtibbertsma Would it make sense to have a simple example in /spec/dummy along with some simple tests of this. It's critical to keep really good test coverage to avoid regressions.

@justin808 Sure, I'll work on it this week

@jtibbertsma Keep me posted!

Coverage remained the same at 82.987% when pulling 9b98494a48a305399a9ae895f894b555cdbd69fb on jtibbertsma:add-new-api-register-renderer into 60d9f7fc1ed45f8e9a6ed1ef9fff04382dfa34d2 on shakacode:master.

Coverage remained the same at 82.987% when pulling 6bcf72f07c42144c795ba83e6fe31c7a18ceab5b on jtibbertsma:add-new-api-register-renderer into 1174ab54badb9c335de5ea50639b69cc853a9080 on shakacode:master.

@justin808 I added a simple integration test that shows that the renderer function gets called correctly.

@jtibbertsma REALLY AWESOME. Let's address the comments!

Reviewed 8 of 12 files at r1, 8 of 8 files at r4, 2 of 2 files at r5.
Review status: all files reviewed at latest revision, 11 unresolved discussions.

CHANGELOG.md, line 8 at r5 (raw file):

## [Unreleased]
##### Added
- New API registerRenderer which allows a user to manually render their app to the DOM by [jtibbertsma](https://github.com/jtibbertsma)

reference the PR, as done below for other changes
you can use the release 6.2.0
and change the bottom part showing the diff

README.md, line 456 at r5 (raw file):

1. [React on Rails docs for react-router](docs/additional-reading/react-router.md)
1. Examples in [spec/dummy/app/views/react_router](spec/dummy/app/views/react_router) and follow to the JavaScript code in the [spec/dummy/client/app/startup/ServerRouterApp.jsx](spec/dummy/client/app/startup/ServerRouterApp.jsx).

we should mention the registerRenderer  here, or maybe in the docs for react-router.

README.md, line 476 at r5 (raw file):

  + [Turbolinks](docs/additional-reading/turbolinks.md)

+ **Javascript**

we need to refer to the page on code splitting here

docs/additional-reading/code-splitting.md, line 15 at r5 (raw file):

 (client) <!-- react-empty: 1 -
 (server) <div data-reactroot="

this is formatting so you have to scroll sideways a ton
please see if you can change that

docs/additional-reading/code-splitting.md, line 18 at r5 (raw file):

<!--This comment is here because the comment beginning on line 13 messes up Sublime's markdown parsing-->

Different markup is generated on the client than on the server. Why does this happen? When you register a component with `ReactOnRails.register`, react on rails will render the component as soon as the page loads. However, react-router renders a comment while waiting for the code chunk to be fetched from the server. This means that react will tear all of the server rendered code out of the DOM, and then rerender it a moment later once the code chunk arrives from the server, defeating most of the purpose of server rendering.

I'm a bit confused about the interaction between deferred rendering and react-router. Is the idea that a page is bookmarked, and react-router's deferred rendering counts as a first render, so that the server render and what's in react-router's deferred renders should be the same?
It would be great to have some graphic or other explanation of this.
What's not obvious is that we can server render what the deferred rendering will be.

docs/additional-reading/code-splitting.md, line 26 at r5 (raw file):

Here's an example of how you might use this in practice:

page.html.erb

Maybe use #### to format the file names.

docs/additional-reading/code-splitting.md, line 42 at r5 (raw file):

ReactOnRails.registerStore({applicationStore});
ReactOnRails.register({NavigationApp});
ReactOnRails.registerRenderer({RouterApp});

We need to be very clear that RouterApp will handle calling ReactDOM to create the react element, attached to a DOM node.
Should we be showing some serverRegistration.js page?

docs/additional-reading/code-splitting.md, line 85 at r5 (raw file):

### Caveats

If you're going to try to do code splitting with server rendered routes, it's important that you have seperate webpack configurations for client and server. The code splitting happens for the client, but the server should one big file.

should one big file
maybe:
should be one file containing all the JavaScript code

docs/api/javascript-api.md, line 64 at r5 (raw file):

   * Allows registration of renderers. A renderer is a function that accept three args:
   * props, railsContext, and domNodeId, and is responsible for rendering a component
   * to the DOM. Not available on the server. For one possible use case see:

We might be able to throw an error if this is called on the server since we'll know we're server rendering with the rails context.

node_package/src/ReactOnRails.js, line 114 at r5 (raw file):

    ComponentRegistry.registerRenderer(renderers);
  },

Please move this next to the definition immediately below registerStore

spec/dummy/client/app/startup/ManualRenderAppRenderer.jsx, line 12 at r5 (raw file):

  );

  ReactDOM.render(reactElement, document.getElementById(domNodeId));

I feel that we need the example to show react-router.
We use react-router in the dummy apps.
Another consideration is support for react-router v4.

Comments from Reviewable

I have one comment below.
And also one more comment on the global API: I'm not a big fan of owning key deps (as ReactDOM) w/o strong reason (is there any?), so leaving it in user land by default is IMO a better design decision, as we had already few issues w/ it.

Review status: all files reviewed at latest revision, 12 unresolved discussions.

docs/additional-reading/code-splitting.md, line 85 at r5 (raw file):

### Caveats

If you're going to try to do code splitting with server rendered routes, it's important that you have seperate webpack configurations for client and server. The code splitting happens for the client, but the server should one big file.

I don't think the main point here is different webpack configs (as client/server configs are usually different regardless of whether or not code splitting is used), but the fact that it requires different routes files for the client and the server (w/ same routes, but different components resolvers), which is most uncommon & untransparent part here.

Comments from Reviewable

Review status: 13 of 18 files reviewed at latest revision, 12 unresolved discussions.

docs/additional-reading/code-splitting.md, line 18 at r5 (raw file):
Previously, justin808 (Justin Gordon) wrote…
> I'm a bit confused about the interaction between deferred rendering and react-router. Is the idea that a page is bookmarked, and react-router's deferred rendering counts as a first render, so that the server render and what's in react-router's deferred renders should be the same?
>
> It would be great to have some graphic or other explanation of this.
>
> What's not obvious is that we can server render what the deferred rendering will be.

The idea is that `match` from react-router is async; it fetches the component using the `getComponent` method that the user provides with the route definition, and then passes the props to the callback that are needed to do the complete render. Then we do the first render inside of the callback, so that the first render is the same as the server render.
The server render matches the deferred render because the server bundle is a single file, and so it doesn't need to wait for anything to be fetched.

Comments from Reviewable

Review status: 13 of 18 files reviewed at latest revision, 12 unresolved discussions.

docs/api/javascript-api.md, line 64 at r5 (raw file):
Previously, justin808 (Justin Gordon) wrote…
> We might be able to throw an error if this is called on the server since we'll know we're server rendering with the rails context.

There is an error thrown if it's used on the server, but only if the corresponding `react_component` is called in a view. See serverRenderReactComponent.js and serverRenderReactComponent.test.js.

Comments from Reviewable

Coverage remained the same at 82.987% when pulling 174a3eaaaf77005b8785220cae70ed44873b33f5 on jtibbertsma:add-new-api-register-renderer into 1174ab54badb9c335de5ea50639b69cc853a9080 on shakacode:master.

Review status: 13 of 18 files reviewed at latest revision, 12 unresolved discussions.

spec/dummy/client/app/startup/ManualRenderAppRenderer.jsx, line 12 at r5 (raw file):
Previously, justin808 (Justin Gordon) wrote…
> I feel that we need the example to show react-router.
>
> We use react-router in the dummy apps.
>
> Another consideration is support for react-router v4.

I'll expand the example a bit to use react-router and have a code split route, and I'll add some test cases. I should have to do it on Saturday.

Comments from Reviewable

Looking good!

Reviewed 5 of 5 files at r6.
Review status: all files reviewed at latest revision, 5 unresolved discussions.

docs/additional-reading/code-splitting.md, line 18 at r5 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
> The idea is that `match` from react-router is async; it fetches the component using the `getComponent` method that the user provides with the route definition, and then passes the props to the callback that are needed to do the complete render. Then we do the first render inside of the callback, so that the first render is the same as the server render.
>
> The server render matches the deferred render because the server bundle is a single file, and so it doesn't need to wait for anything to be fetched.

Consider putting this explanation in your MD file here! the key is that the first render is done by react-router, so it must match the server.

docs/additional-reading/code-splitting.md, line 85 at r5 (raw file):
Previously, alexfedoseev (Alex Fedoseev) wrote…
> I don't think the main point here is different webpack configs (as client/server configs are usually different regardless of whether or not code splitting is used), but the fact that it requires different `routes` files for the client and the server (w/ same routes, but different components resolvers), which is most uncommon & untransparent part here.

@jtibbertsma Please address @alexfedoseev.

docs/additional-reading/code-splitting.md, line 58 at r6 (raw file):

});

Note that you should not use registerRenderer on the server. Instead, use register like normal. For an example of how to set up an app for server rendering, see the react router docs.

We'll know if we're server rendering. Could we allow the same registration code for client and server, and just ensure that we don't do the deferred render thing on the server?
Needing this to be different for the server rendering seems like a big gotcha.

Comments from Reviewable

@jtibbertsma I'd like to get this in the next release, maybe this weekend!

Review status: all files reviewed at latest revision, 5 unresolved discussions.

docs/additional-reading/code-splitting.md, line 85 at r5 (raw file):
Previously, justin808 (Justin Gordon) wrote…
> @jtibbertsma Please address @alexfedoseev.

I did amend code-splitting.md to mention the seperate route files. Honestly, I don't really know if you need two route files, that's just the way I did it. Maybe there's another way to get it to work. The key is that the server bundle needs to be a single file, not code-split.

docs/additional-reading/code-splitting.md, line 58 at r6 (raw file):
Previously, justin808 (Justin Gordon) wrote…
> We'll know if we're server rendering. Could we allow the same registration code for client and server, and just ensure that we don't do the deferred render thing on the server?
>
> Needing this to be different for the server rendering seems like a big **gotcha**.

I don't know if it's a good idea to allow the same registration code on the server. The user provided function is calls `ReactDOM.render` and references `document ` in order to get the DOM node to render into. I suppose that I could rework it so that instead of passing `domNodeId` into the user provided function, it would pass a callback that the user would call when they've created a react element. But I like it better the way it is now.

Comments from Reviewable

Review status: 17 of 18 files reviewed at latest revision, 5 unresolved discussions.

docs/additional-reading/code-splitting.md, line 18 at r5 (raw file):
Previously, justin808 (Justin Gordon) wrote…
> Consider putting this explanation in your MD file here! the key is that the first render is done by react-router, so it must match the server.

Done.

Comments from Reviewable

Review status: 17 of 18 files reviewed at latest revision, 5 unresolved discussions.

docs/additional-reading/code-splitting.md, line 58 at r6 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
> I don't know if it's a good idea to allow the same registration code on the server. The user provided function is calls `ReactDOM.render` and references `document ` in order to get the DOM node to render into. I suppose that I could rework it so that instead of passing `domNodeId` into the user provided function, it would pass a callback that the user would call when they've created a react element. But I like it better the way it is now.

@alexfedoseev @robwise @alleycat-at-git Any opinion?
This is an important feature that we'll probably use.
The key question for me is if we should have separate registerRenderer and register APIs.
Since this is an API change, I want to make sure we get this right.
Possibly we'll implement this as a beta release to get some community feedback?

Comments from Reviewable

Coverage remained the same at 82.987% when pulling 948f0826e1edb4255074fd57db54567d13de723a on jtibbertsma:add-new-api-register-renderer into 1174ab54badb9c335de5ea50639b69cc853a9080 on shakacode:master.

Review status: 12 of 25 files reviewed at latest revision, 6 unresolved discussions, some commit checks failed.

spec/dummy/spec/features/integration_spec.rb, line 170 at r8 (raw file):

end

# feature "Code Splitting w/ Server Rendering", :js do

I want to write a test that shows that there is no client/server checksum mismatch when loading the /deferred_render_with_server_rendering/async_page route. When React detects a mismatch, it logs an error and then rerenders everything. So I can't test for this by looking for something on the page. I was thinking I could check if any errors were logged, but there doesn't seem to be a way to do this with poltergeist. Any ideas about how I could test for this?

Comments from Reviewable

Coverage remained the same at 82.987% when pulling 7870dbf7faa9631b3c43663d37a4b0cd02cf45b4 on jtibbertsma:add-new-api-register-renderer into 540b51e5817198c22239a3729378f7666d32f7e0 on shakacode:master.

Coverage remained the same at 82.987% when pulling dea56ac522599c580a39bad3addc2ab46f38e961 on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

Coverage remained the same at 82.987% when pulling 5822412fc5f9546f2a947a0e9c1ff113b5def689 on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

Review status: 9 of 25 files reviewed at latest revision, 6 unresolved discussions.

spec/dummy/spec/features/integration_spec.rb, line 170 at r8 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
> I want to write a test that shows that there is no client/server checksum mismatch when loading the `/deferred_render_with_server_rendering/async_page` route. When React detects a mismatch, it logs an error and then rerenders everything. So I can't test for this by looking for something on the page. I was thinking I could check if any errors were logged, but there doesn't seem to be a way to do this with poltergeist. Any ideas about how I could test for this?

I figured out a way to do this. Just check the root element for the data-react-checksum attribute. If it's there, there wasn't a checksum mismatch.

Comments from Reviewable

@justin808 I've been thinking about this, and I've decided that there's actually no need to have a new API for this. Instead of having registerRenderer, register could be modified so that it checks the number of arguments of the generator function. If the function takes three arguments, it would be considered a renderer. This is cleaner, because there's no need for a new API, but we would still be able to control the call to ReactDOM.render if we want.

@jtibbertsma I look forward to seeing what you come up with!

Coverage remained the same at 82.987% when pulling 48e8daf4b86d1a732af0217c1afb3434f6992abc on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

Coverage remained the same at 82.987% when pulling 2e5ea27ac973b63a142634ce8fc987ff43a3d519 on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

Coverage remained the same at 82.987% when pulling 2e5ea27ac973b63a142634ce8fc987ff43a3d519 on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

Coverage remained the same at 82.987% when pulling c9a3e17c63e101bfaac19d9be6850877906762f7 on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

@jtibbertsma This is looking amazing. Keep me posted when you want more review.

Reviewed 8 of 12 files at r8, 1 of 3 files at r9, 11 of 14 files at r12, 1 of 1 files at r13, 2 of 2 files at r14.
Review status: all files reviewed at latest revision, 17 unresolved discussions.

docs/additional-reading/code-splitting.md, line 22 at r14 (raw file):

### The solution

To prevent this, you have to wait until the code chunk is fetched before doing the initial render on the client side. To accomplish this, react on rails allows you to register a renderer. This works just like registering a generator function, except that the function you pass takes three arguments: `renderer(props, railsContext, domNodeId)`, and is responsible for calling `ReactDOM.render` to render the component to the DOM. React on rails will automatically detect when a generator function takes three arguments, and will not call `ReactDOM.render`, instead allowing you to control the initial render yourself.

Cool! I just hope this is not to subtle.

docs/additional-reading/code-splitting.md, line 51 at r14 (raw file):

import ReactOnRails from 'react-on-rails';
import NavigationApp from './NavigationApp';
import RouterApp from './RouterAppServer';

I'd put a comment above this line and the file above, to highlight the difference!

docs/additional-reading/code-splitting.md, line 60 at r14 (raw file):

});

Note that you should not register a renderer on the server, since there won't be a domNodeId when we're server rendering. For an example of how to set up an app for server rendering, see the react router docs.

and comment here on how RouterApp is two different imports given client vs server.

docs/additional-reading/code-splitting.md, line 101 at r14 (raw file):

The idea is that match from react-router is async; it fetches the component using the getComponent method that you provide with the route definition, and then passes the props to the callback that are needed to do the complete render. Then we do the first render inside of the callback, so that the first render is the same as the server render.

The server render matches the deferred render because the server bundle is a single file, and so it doesn't need to wait for anything to be fetched.

How does this fit into React Router v4?
https://github.com/ReactTraining/react-router/tree/v4
I'm OK making this feature only work with v4.
Or we should make the docs work with v3 and v4.
CC: @alexfedoseev @robwise

docs/additional-reading/code-splitting.md, line 107 at r14 (raw file):

If you're going to try to do code splitting with server rendered routes, you'll probably need to use seperate route definitions for client and server to prevent code splitting from happening for the server bundle. The server bundle should be one file containing all the JavaScript code.

The reason is we do server rendering with ExecJS, which is not capable of doing anything asynchronous. It would be impossible to asyncronously fetch a code chunk while server rendering. See [this issue](https://github.com/shakacode/react_on_rails/issues/477) for a discussion.

FYI -- we're investigating alternatives to execJS. Possibly, @jtibbertsma, we could get you involved.
https://github.com/shakacode/react_on_rails/issues/625

docs/additional-reading/code-splitting.md, line 109 at r14 (raw file):

The reason is we do server rendering with ExecJS, which is not capable of doing anything asynchronous. It would be impossible to asyncronously fetch a code chunk while server rendering. See [this issue](https://github.com/shakacode/react_on_rails/issues/477) for a discussion.

Also, do not attempt to register a renderer on the server. Instead, register either a generator function or a component. If you register a renderer in the server bundle, you'll get an error when react on rails tries to server render the component.

also point out to have different entry files for the server and client webpack configs

docs/additional-reading/code-splitting.md, line 123 at r14 (raw file):

This causes Webpack to prepend the code chunk filename with /assets/ in the request url. The react on rails sets up the webpack config to put webpack bundles in app/assets/javascripts/webpack, and modifies config/initializers/assets.rb so that rails detects the bundles. This means that when we prepend the request url with /assets/, rails will know what webpack is asking for.

Suppose this is not done. How hard is it to debug this?
Maybe show the error here so that a google search will find this page.

node_package/src/serverRenderReactComponent.js, line 18 at r14 (raw file):

    const componentObj = ComponentRegistry.get(name);
    if (componentObj.isRenderer) {
      throw new Error(`Detected a renderer while server rendering component '${name}'`);

Let's make the error a bit more explicit, even including a doc link.

node_package/tests/ComponentRegistry.test.js, line 59 at r14 (raw file):

  const expected = { name: 'C4', component: C4, generatorFunction: true, isRenderer: true };
  assert.deepEqual(actual, expected,
    'ComponentRegistry registers and retrieves renderers');

How about a test with 2 params?

spec/dummy/client/app/startup/DeferredRenderAppRenderer.jsx, line 3 at r14 (raw file):

import React from 'react';
import ReactDOM from 'react-dom';
import { match, Router, browserHistory } from 'react-router';

how will this change with https://github.com/ReactTraining/react-router/tree/v4 ?

spec/dummy/client/app/startup/DeferredRenderAppServer.jsx, line 38 at r14 (raw file):

};

export default DeferredRenderAppServer;

Let's have some reference to these example files in the doc MD file.

spec/dummy/spec/features/integration_spec.rb, line 176 at r8 (raw file):

#     expect(page).to_not have_errors
#   end
# end

we should uncomment the test

Comments from Reviewable

Review status: all files reviewed at latest revision, 18 unresolved discussions.

docs/additional-reading/code-splitting.md, line 22 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
Cool! I just hope this is not to subtle.

I like this way better than having a separate API.

docs/additional-reading/code-splitting.md, line 51 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
I'd put a comment above this line and the file above, to highlight the difference!

Done.

docs/additional-reading/code-splitting.md, line 60 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
and comment here on how RouterApp is two different imports given client vs server.

Done.

docs/additional-reading/code-splitting.md, line 101 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
How does this fit into React Router v4?
https://github.com/ReactTraining/react-router/tree/v4
I'm OK making this feature only work with v4.
Or we should make the docs work with v3 and v4.
CC: @alexfedoseev @robwise

It's really annoying when libraries completely change their APIs. I suppose that all the docs will have to be updated for v4. I don't know how code splitting will work with v4 yet. I'll do some more research on it eventually. Anyway, it's still in alpha, so I'm not going to worry too much about this right now.

docs/additional-reading/code-splitting.md, line 107 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
FYI -- we're investigating alternatives to execJS. Possibly, @jtibbertsma, we could get you involved.
https://github.com/shakacode/react_on_rails/issues/625

Cool

docs/additional-reading/code-splitting.md, line 109 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
also point out to have different entry files for the server and client webpack configs

Done.

docs/additional-reading/code-splitting.md, line 123 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
Suppose this is not done. How hard is it to debug this?
Maybe show the error here so that a google search will find this page.

If you don't put /assets/ as the public path, webpack will send the request to /{filename}, and Rails will handle the request, since NGINX or whatever won't see it as a request for an asset. The exact error you'll get depends on how your Rails router is set up. You'll probably just get a 404 error, but since you're probably using react-router, you might have some sort of catch all route. It depends on what your catch all route does.
Another consideration is how you do error handling with code splitting. With webpack v1, there's really no way to implement error handling, but in v2 you can implement error handling by calling .catch on the Promise returned by System .import. Since we're using v1, I didn't mention error handling.
I went ahead and added part of this explanation and a possible error message that you might get.

node_package/src/serverRenderReactComponent.js, line 18 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
Let's make the error a bit more explicit, even including a doc link.

Done.

node_package/tests/ComponentRegistry.test.js, line 59 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
How about a test with 2 params?

Do you have something in mind? I can't think of anything to test here other than checking that isRenderer key is set to true.

spec/dummy/client/webpack.client.rails.build.config.js, line 15 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
@jtibbertsma Should we put the files separately for code splitting? i would think there would be another change to some webpack file.

Do you mean that the code chunks should go to a different folder than app-bundle and vendor-bundle?

spec/dummy/client/app/startup/DeferredRenderAppRenderer.jsx, line 3 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
how will this change with https://github.com/ReactTraining/react-router/tree/v4 ?

I'll have to look into it.

spec/dummy/client/app/startup/DeferredRenderAppServer.jsx, line 38 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
Let's have some reference to these example files in the doc MD file.

Done.

spec/dummy/spec/features/integration_spec.rb, line 176 at r8 (raw file):
Previously, justin808 (Justin Gordon) wrote…
we should uncomment the test

Done.

Comments from Reviewable

Coverage remained the same at 82.987% when pulling 15c0618ceef696171009eb67790c0c1a4a916bbc on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

This is super close to being ready.
@jtibbertsma please see my comments and let me know if you want me to merge this. This is really an impressive PR!

Reviewed 3 of 3 files at r15.
Review status: all files reviewed at latest revision, 9 unresolved discussions.

docs/additional-reading/code-splitting.md, line 85 at r5 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
I did amend code-splitting.md to mention the seperate route files. Honestly, I don't really know if you need two route files, that's just the way I did it. Maybe there's another way to get it to work. The key is that the server bundle needs to be a single file, not code-split.

@jtibbertsma We really want the spec/dummy example to show code splitting on the client side. Why? This will show the usefulness of this technique!

docs/additional-reading/code-splitting.md, line 101 at r14 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
It's really annoying when libraries completely change their APIs. I suppose that all the docs will have to be updated for v4. I don't know how code splitting will work with v4 yet. I'll do some more research on it eventually. Anyway, it's still in alpha, so I'm not going to worry too much about this right now.

@jtibbertsma The changes are really great and worth the churn. Yes, we will eventually update the docs.  I think the technique is the same.

docs/additional-reading/code-splitting.md, line 123 at r14 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
If you don't put /assets/ as the public path, webpack will send the request to /{filename}, and Rails will handle the request, since NGINX or whatever won't see it as a request for an asset. The exact error you'll get depends on how your Rails router is set up. You'll probably just get a 404 error, but since you're probably using react-router, you might have some sort of catch all route. It depends on what your catch all route does.
Another consideration is how you do error handling with code splitting. With webpack v1, there's really no way to implement error handling, but in v2 you can implement error handling by calling .catch on the Promise returned by System .import. Since we're using v1, I didn't mention error handling.
I went ahead and added part of this explanation and a possible error message that you might get.

Webpack v2 is close enough to being published that it's worth considering for the documentation.

node_package/src/serverRenderReactComponent.js, line 20 at r15 (raw file):

      throw new Error(`\
Detected a renderer while server rendering component '${name}'. \
See https://github.com/shakacode/react_on_rails#renderer-functions`);

is this better than the code-spliting.md doc?

node_package/tests/ComponentRegistry.test.js, line 59 at r14 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
Do you have something in mind? I can't think of anything to test here other than checking that isRenderer key is set to true.

that's exactly what I was thinking of, except, isRenderer should be false

spec/dummy/client/webpack.client.rails.build.config.js, line 15 at r14 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
Do you mean that the code chunks should go to a different folder than app-bundle and vendor-bundle?

Not a separate folder, but we could have app-bundle-router, and app-bundle-route-b.

Comments from Reviewable

Review status: all files reviewed at latest revision, 9 unresolved discussions.

docs/additional-reading/code-splitting.md, line 85 at r5 (raw file):
Previously, justin808 (Justin Gordon) wrote…
@jtibbertsma We really want the spec/dummy example to show code splitting on the client side. Why? This will show the usefulness of this technique!

I did put a code splitting example in spec/dummy.

node_package/src/serverRenderReactComponent.js, line 20 at r15 (raw file):
Previously, justin808 (Justin Gordon) wrote…
is this better than the code-spliting.md doc?

Yeah. The information there is more relevant to the error message, and it links to code-splitting.md

node_package/tests/ComponentRegistry.test.js, line 59 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
that's exactly what I was thinking of, except, isRenderer should be false

Ok, I see. I'll add another test

Comments from Reviewable

Review status: all files reviewed at latest revision, 9 unresolved discussions.

docs/additional-reading/code-splitting.md, line 123 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
Webpack v2 is close enough to being published that it's worth considering for the documentation.

Ok, I added a comment about error handling.

node_package/tests/ComponentRegistry.test.js, line 59 at r14 (raw file):
Previously, jtibbertsma (Joseph Tibbertsma) wrote…
Ok, I see. I'll add another test

I added another test case.

spec/dummy/client/webpack.client.rails.build.config.js, line 15 at r14 (raw file):
Previously, justin808 (Justin Gordon) wrote…
Not a separate folder, but we could have app-bundle-router, and app-bundle-route-b.

I think this is fine how it is.

Comments from Reviewable

Coverage remained the same at 82.987% when pulling 730bd9b15faee4cf96ac93707d3efa7c38d9de29 on jtibbertsma:add-new-api-register-renderer into c2b85c9ef12ece4b8eaaeb448f4d45c1e7ac3223 on shakacode:master.

@justin808 Ready to merge? Should I rebase and squash the commits?

@jtibbertsma If you'd like to create a nice squashed commit with an awesome, that would be super!

Reviewed 2 of 2 files at r16.
Review status: all files reviewed at latest revision, 4 unresolved discussions.

Comments from Reviewable

Coverage remained the same at 83.111% when pulling 55ed923782345729db7f385ecdf69eed76792616 on jtibbertsma:add-new-api-register-renderer into 2a227d4158761f93b10541b8607877bdb9312852 on shakacode:master.

@justin808 Done

Reviewed 6 of 6 files at r17.
Review status: all files reviewed at latest revision, 4 unresolved discussions.

Comments from Reviewable


Create a Mindee video intro, outro & end screen

Create a Mindee video intro & outro so we have consistency in all our videos. We should probably also create a youtube end screen.

We will ask the design agency we worked with to create something.


[cxx-interop] Fix mismatched quotation mark in a request message

Discovered this by examining a crash log.

@swift-ci please smoke test


Docker Image & Inter-Clubhouse Migration Guide

added a Dockerfile and docker-compose instructions for running the importer without needing a configured instance of Apache or Nginx on one's system.
added up-to-date instructions about using the importer for migrating epics between workspaces

Thank you for contributing, @ccarstens.


US Markets

added US options strategies

@pratik-urkude-algobulls kindly update the base class of all strategies to StrategyOptionsBase

this has gone separately as a unified class. closing this for now.


Add LazyReferenceMetadataFeature

Fixes https://github.com/aspnet/MvcPrecompilation/issues/115

Fixes https://github.com/dotnet/core-setup/issues/2117


Markdown Video

https://stackoverflow.com/questions/46273751/how-to-add-local-video-file-in-markdown-md-file

solved via the media


how to estimate fee?

I can use json rpc payment_queryFeeDetails or payment_queryInfo  to query fee before, but I found these two api are error with
"data" -> "Execution failed: Execution aborted due to trap: wasm trap: wasm unreachable instruction executed..."
now, and I found some doc  about below method, but it looks like polkadart are not contain them?,  any help?
payment
queryFeeDetails(extrinsic: Bytes, at?: BlockHash): FeeDetails

interface: api.rpc.payment.queryFeeDetails
jsonrpc: payment_queryFeeDetails
summary: Query the detailed fee of a given encoded extrinsic
deprecated: Use api.call.transactionPaymentApi.queryFeeDetails instead

queryInfo(extrinsic: Bytes, at?: BlockHash): RuntimeDispatchInfoV1

interface: api.rpc.payment.queryInfo
jsonrpc: payment_queryInfo
summary: Retrieves the fee information for an encoded extrinsic
deprecated: Use api.call.transactionPaymentApi.queryInfo instead

You need to send the full encoded extrinsic. You can use a fake signature if you want to do that before really signing it.

Let me know if we can close this one @weishirongzhen

Thanks, sign key issue


Simplify State Model

Description
Most of the properties in state aren't actually stateful or at the very least don't need to be global:

options is a parameter to NearWalletSelector and should be delegated throughout the library not placed in state to be mutable.
walletProviders is implementation detail of WalletController.
isSignedIn and signedInWalletId is stateful but isn't the source of truth. Consumers should use the new storage provider. To be handled in another task that includes using what was created in #95 .

The remaining properties are really Modal UI state which should live in React. However this needs more thought as I suspect we need to reshuffle what's stateful in the wallet implementations (e.g. Ledger accountId and derivationPath) and what's shared between the two realms. These are therefore out of scope in this task and might instead be tackled as part of #54.
Acceptance Criteria

options is removed from state.
walletProviders is removed from state.

This task has been parked while I work on solving #64. The open PR has caused major regressions with the Ledger wallet too which will need to be fixed before merging.


IŃFĘŘÑØ Family

name: IŃFĘŘÑØ Family
key: IŃFĘŘÑØ Fam
color: purple
emblem: Skull_05
info:
  logo:
  description: >
    The **IŃFĘŘÑØ Family** Comprises of 3 Main War Clans and One Newly Launched War Clan. We have experience of 5k war league & we have incredible management team and players.
  social:
    - discord: https://discord.gg/hHQARWdJ

clans:
  - name: IŃFĘŘÑØ
    tag: YP8UQCJP
  - name: pakistan
    tag: PGCCGV22
  - name: Pak Pro Team
    tag: 9G2QUL29
  - name: IŃFĘŘÑØ々P.P.T
    tag: R0LVJRJY

@smlbiobot ready_for_review

@smlbiobot
@Zaop7 Kindly Look into this and complete it. It has been a month. Thanks!


[cpptrace] update to 0.5.1

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks for the update (and the in source workaround for NOMINMAX)!


Plotly graphs stop showing in Jupyter Notebooks

Type: Bug
When scrolling or writing new graphs using plotly library in Python's Jupyter notebook, suddenly the graphs stop rendering, and sometimes it happens when scrolling the window

VS Code version: Code 1.85.2 (8b3775030ed1a69b13e4f4c628c612102e30a681, 2024-01-18T06:40:11.430Z)
OS version: Darwin arm64 23.3.0
Modes:

System Info

Item
Value

CPUs
Apple M1 Pro (10 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
2, 3, 3

Memory (System)
16.00GB (3.61GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (16)

Extension
Author (truncated)
Version

catppuccin-vsc
Cat
3.11.0

catppuccin-vsc-icons
Cat
0.33.0

catppuccin-vsc-pack
cat
1.0.1

rainbow-csv
mec
3.11.0

black-formatter
ms-
2023.6.0

python
ms-
2023.22.1

vscode-pylance
ms-
2023.12.1

jupyter
ms-
2023.11.1100101639

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.17

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

cmake-tools
ms-
1.16.32

cpptools
ms-
1.19.2

cpptools-extension-pack
ms-
1.3.0

cmake
twx
0.0.17

(2 theme extensions excluded)

Related to issue at https://github.com/microsoft/vscode-jupyter/issues/13393 ?

Hi @rootsmusic,
It's similar, although in that issue they are trying to trigger additional events and in mine it's just some simple graphs, no additional features.
Thanks for the tip though.
Best

/extJupyter

It looks like this is caused by the Jupyter extension. Please file the issue to the Jupyter extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


titan foreground gc

can't find the code about titan foreground gc, but you mentioned in the experiment

block_write_size can control GF_GC, but this name is ambiguous


Maps that have multiple gds for them aren't spaced correctly

made it a lot better but grrr it still doesnt work if the diffname extends...

genuinely done now. ended up needing js to automatically adjust heights here a2d750b616c691c66ef27ee0685a7a57755d39a7


Mint 18: E: Unable to locate package libjson-rpc-cpp-dev

Hi,
after try default step by step I got this error:
E: Unable to locate package libjson-rpc-cpp-dev
They have any idea to solve problem and run this software at Linux Mint or latest Ubuntu?
Thanks

Look at: https://github.com/ethereum/webthree-umbrella/issues/104#issuecomment-170549198

Thanks @Winterlust !


Typo in bosch_to_pascal.py

Line 24:
annotation = ET.Element("annotaion")
should be changed to:
annotation = ET.Element("annotation")
I don't know whether this causes any problems or not.

Thanks. I never used the bosch_to_pascal scripts or their output. Judging by the other scripts in that folder, it should be "annotation". I changed that


Broken image in READme

Problem
Very small issue, but when I used this starter via Gatsby Cloud, the screenshot in the READme of my copy of the starter seems broken.
https://github.com/shannonbux/dato-cms-test-1-23

Looks like it's fixed now. Thank you for the report. If you experience this again please reopen!

Thank you Matteo!
On Thu, Mar 12, 2020 at 6:28 AM Matteo Giaccone<EMAIL_ADDRESS>wrote:

Looks like it's fixed now. Thank you for the report. If you experience
this again please reopen!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/datocms/gatsby-portfolio/issues/12#issuecomment-598185536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHXWRWUCE7TU3KXKYVAL5DLRHDPPJANCNFSM4KM437GA
.

@shannonbux actually yesterday I've noticed that happening again, but it only happens from Gatsby Cloud.
If I start a demo from DatoCMS it works just fine: https://github.com/matjack1/datocms-Gatsby-portfolio-demo-2
not sure what's happening on your side, but I confirm that it's still broken, sorry! :(
If you have something else that is working correctly I can try to find the differences.

Thank you @matjack1! This page shows the other Cloud starters; the Contentful is actually the only one with a complete and bug-free READme file. https://www.gatsbyjs.com/get-started/

@shannonbux the Contentful one works because they are referencing an image from another repo: https://rawgit.com/contentful-userland/gatsby-contentful-starter/master/screenshot.jpg
the screenshot in the cloned repo by Gatsby Cloud is corrupted also for them: https://github.com/shannonbux/dfjas-dlfjasldkfj/blob/master/screenshot.jpg
I think it's something off on your end :(

You're right, I told the team and it is on our end! Thanks!
On Thu, Mar 19, 2020 at 7:49 AM Matteo Giaccone<EMAIL_ADDRESS>wrote:

@shannonbux https://github.com/shannonbux the Contentful one works
because they are referencing an image from another repo:
https://rawgit.com/contentful-userland/gatsby-contentful-starter/master/screenshot.jpg
the screenshot in the cloned repo by Gatsby Cloud is corrupted also for
them:
https://github.com/shannonbux/dfjas-dlfjasldkfj/blob/master/screenshot.jpg
I think it's something off on your end :(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/datocms/gatsby-portfolio/issues/12#issuecomment-601221707,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHXWRWSPZWFIR33BSR3JQ7DRIIWG7ANCNFSM4KM437GA
.


Add Augmenter.augment(); Add flexible Batch argument normalization; Split augmentables to files

Codecov Report

Merging #290 into master will increase coverage by 0.34%.
The diff coverage is 95.48%.

@@            Coverage Diff             @@
##           master     #290      +/-   ##
==========================================
+ Coverage   93.96%   94.29%   +0.34%
==========================================
  Files          20       28       +8
  Lines        8143     8850     +707
==========================================
+ Hits         7651     8345     +694
- Misses        492      505      +13


[PE-D][Tester C] Incorrect ending time calculation for adda command.

Steps to reproduce:

Start with the preloaded data.
Type the command adda ic/G7654321L s/01/01/2025 0000 d/2147483647.
Check the list view for the ending time of the appointment.

Observed: The ending time of the appointment is 25 Jan 6108 01:53.

Expected: Given that duration is in units of 15 minutes, it is impossible for the appointment to end at 53 minutes past an hour.

Labels: severity.Low type.FunctionalityBug
original: benson1029/ped#12

Fix:
Adjust functionality accordingly.

fixed in #165


Output is truncated when the write length is long

How to reproduce:

Use write() or syncWrite() with long (> 512) buffer.
The output result is always truncated to some limit.

It seems that the write size is limited to the USB bulk transfer limits.

I'm not sure yet. I'll file an issue again when it gets more clear.


TODO:

numpy upgrade 1.x
conda install -c conda-forge ffmpeg
Could not locate cudnn_ops64_9.dll. Please make sure it is in your library path!

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 --force-reinstall --no-cache

my solution was:
download cuDNN v8.1.1 (Feburary 26th, 2021), for CUDA 11.0,11.1 and 11.2
from:
https://developer.nvidia.com/rdp/cudnn-archive#a-collapse811-111
and put the DLLs of this package inside the same folder than 'ctranslate2.dll'
you can get this folder with the command pip show ctranslate2

https://github.com/Purfview/whisper-standalone-win/releases/tag/libs


Polish the enterprise enhanced context selector

Fixes #1322, fixes #1425, fixes #1544, fixes #1532, fixes #1542
To summarize the changes:

There are some repo resolution caches to make checking and unchecking faster.
The summary line has been simplified from counting total, ignored, etc. repos to a simple count of repos which will be used (that is, the enabled and not ignored repos, including the automatically included repo if it is not ignored.)
The automatically included repository is represented in the tree view with a "Project repository" label.
There's a separator between the tree view and the rest of the chat panel. There's an expansive tooltip when you hover the separator, but not the tree view so the tooltip does not impede expanding and collapsing the tree view.
The right hand side toolbar is gone, instead, you click on a tree view item to bring up the repo list editor. You can also highlight it with the keyboard and hit "enter".
If you try to enable more than 10 repositories, you get feedback in the form of an error notification.
You can select and deselect repositories and they stay in the repository tree view and are saved in chat state.
The tree view reflects what you wrote in the popup. "Not found" repositories are present with a label. You can delete a repository from the text box to remove it from the tree view.
The contrast and consistency of icons have been improved.
The popup is positioned above the repository list, and is larger.
The intermediate "Repositories" node of the tree view has been removed.

Known bugs/caveats:

You can add an eleventh repository by specifying 10 repositories that are not the automatically included repository. This one goes up to 11.
Loading a chat with a de-selecting repository that has since been filtered and checking it will result in the "ignored" state appearing. This is because Cody Ignore is applied at late stage of remote repo handling.
Some of the new icons proposed in the design are not incorporated. There are many overlapping versions of the design for this component... I have to draw a line under this and handle any other feedback as follow-ups.
This does not address the https feedback in issue #1322; https URLs are filed in #1354 and will be looked at separately.
Repositories where the entered spec and the resolved name are different may present as duplicates with one "not found."

Test plan
Tested locally

Looks really good! @dominiccooney
A few details that we can try:

[ ] 1. Use the hint style of the tree node to display additional info like Project Repository
[ ] 2. We can also present those details in parenteses (Project Repository)
[ ] 3. Change the "Ignored by Admin" to "Restricted by Admin" to move away from the Ignore naming
[ ] 4. Make the restricted repos use a disabled checkbox

Looks really good! @dominiccooney
A few details that we can try:

[ ]  1. Use the hint style of the tree node to display additional info like Project Repository

I'm not 100% sure what hint style means technically, but I am already styling that differently. The presentation you see is a limitation of 2022.x.

[ ]  2. We can also present those details in parentheses (Project Repository) to create a better differentiation
[ ]  3. Change the "Ignored by Admin" to "Restricted by Admin" to move away from the Ignore naming

Not sure if the change from sentence to Title Case is intentional here, so I have added the parentheses but not changed the case.

[ ]  4. Make the restricted repos use a disabled checkbox

Not doing this, see the thread in Loom.
Here's how it looks in 2024.1:

Not sure if the change from sentence to Title Case is intentional here, so I have added the parentheses but not changed the case.

It was not intentional, sorry. You did the right thing

Here's how it looks in 2024.1:

I see. Ignore the feedback about the hint then


D3D11 Effects linked with wrong d3dcompiler version

It seems the linked version of d3dcompiler has changed again (to 47) and the same issues I had in this thread are back: http://sharpdx.org/forum/5-api-usage/1359-direct2d-effects-class-for-win7.
The dlls provided in the download in that thread still seem to work, but it requires having the 46 and 47 versions alongside each other.  The ones from the 2.5.1 download still reference version 44 though.  They should be updated.
Also, the d3dcompiler dlls in the Redist folder are version 46 but version 47 is the one needed.

@xoofx Hello. When will you integrate this fix to you framework? This is very actual bug.

Sorry, I just merged it to the latest branch b311ce426740e26d5510a8f5cd3c07bb8f22bb20
There is still some work to do on this branch before we can release it (fix issue with all the RawXXX types and Direct2D effects... + compilation of the whole Toolkit)

@xoofx Could you please tell how much time will you need to finish those tasks? Just want to know how long will need to wait

Several hours of work, but I have currently no spare time to work on this. Maybe after GDC.

Ok, I see. hope you will find some time to finish with next sharpdx release.

@xoofx hello.
Sorry for my impudence, but do you already have some spare time?
I just want to use effects with 11_2 libs on desktop, but without this fix included I couldnot do that.
Coulde you please say when you will fix this issue?
Thanks in advance.

@QuantumDeveloper couldn't you just cherry pick the commit, branch from 2.6.3 and apply this commit to it? It will be easier if you just compile it yourself. The 3.0 branch is breaking other things that It will take more time to bring back to a working version (unrelated to this specific issue)

@xoofx I`d do that with pleasure, but I just caanot build your sources, because compiler found nearly 100 errors lelated to not found files:
Show Details	Severity	Code	Description	Project	File	Line
	Error		Source file 'M:\GameEditor\SharpDX-master_integration\Source\SharpDX.Direct3D11.Effects\Generated\LocalInterop.cs' could not be found.	SharpDX.Direct3D11.Effects	CSC
	Error		Source file 'M:\GameEditor\SharpDX-master_integration\Source\SharpDX.DirectComposition\Generated\Enumerations.cs' could not be found.	SharpDX.DirectComposition	CSC
	Error		Source file 'M:\GameEditor\SharpDX-master_integration\Source\SharpDX.DXGI\Generated\Interfaces.cs' could not be found.	SharpDX.DXGI	CSC
	Error		Source file 'M:\GameEditor\SharpDX-master_integration\Source\SharpDX.DXGI\Generated\Structures.cs' could not be found.	SharpDX.DXGI	CSC
	Error		"sgen.exe" exited with code 1.	SharpGen

So, I just cannot build it by myself now.
I am using VS 2015 preview. I dont know, maybe this is VS bug and on VS 2013 everything OK, but I faced with this issue only trying to compile your sources.
Thats why I ask you to release a knew version via nuget.
In any case I think I will update my project to use v3.0 even with breaking changes.

You should not have any errors, unless some per-requisities are not installed (at least, Microsoft .NET 3.5, Microsoft DirectX June 2010 SDK, Microsoft Windows SDK 7.1)
VS2015 preview is not supported.

VS2015 preview is not supported.

Seems, thats the reason. Will you enable VS 2015 support?

@xoofx
Will you enable VS 2015 support?

@xoofx
I build your changes at last and now I have an issue - fps is dropping from 1500 to 300 while I am not rendering and in debug mode of DirectX I see the following messages:
Warning: Live ComObject [0x62A522D830], potential memory leak: Active COM Object: [0x62A522D830] Class: [SharpDX.Direct3D11.EffectVectorVariable] Time [03/11/2015 00:53:07] Stack:
    d:\Docs\SharpDX-master_integration\Source\SharpDX\CppObject.cs(46,13) : Void .ctor(IntPtr)
    d:\Docs\SharpDX-master_integration\Source\SharpDX\ComObject.cs(35,9) : Void .ctor(IntPtr)
    d:\Docs\SharpDX-master_integration\Source\SharpDX.Direct3D11.Effects\Generated\Interfaces.cs(3974,9) : Void .ctor(IntPtr)
    d:\Docs\SharpDX-master_integration\Source\SharpDX.Direct3D11.Effects\Generated\Interfaces.cs(4648,9) : Void .ctor(IntPtr)
    d:\Docs\SharpDX-master_integration\Source\SharpDX.Direct3D11.Effects\Generated\Interfaces.cs(4300,17) : SharpDX.Direct3D11.EffectVectorVariable AsVector_()
    d:\Docs\SharpDX-master_integration\Source\SharpDX.Direct3D11.Effects\EffectVariable.cs(86,13) : SharpDX.Direct3D11.EffectVectorVariable AsVector()

They appeared each time when I am accessing shader variable.
This warning slow down app a lot.
Did you faced with that issues or know what could cause them?

Maybe because you don't dispose them. I don't know if they changed the native behavior so now they are proper COM objects (don't remember if they were previously). So if they are COM objects, you need to carefully cache them and dispose them on purpose like any COM objects.

@xoofx earlier behavior was different -  you dont need to dispose them. Maybe they were not COM objects. With that changes is not very comfortable to create variables and dispose them each time you want to update it in shader. Is there a way to change current behavior to prevous? Previous was more developer friendly and easy to use.

I haven't checked there code base, but don't think they have made such a big changes. Just set Configuration.EnableTrackingReleaseOnFinalizer = false and you should get rid-off these warnings. You can also try to use EnableReleaseOnFinalizer = true in your specific case, but I can't guarantee that there won't be any side effects.

@xoofx You was right. Disabbling object tracking and EnableTrackingReleaseOnFinalizer returned previous performance. Seems all working fine. Thanks for help.
Still waiting for official version 3.0 :)


[bug] Code collapsing not based on indent not working

VSCode Version: 1.22.2
OS Version: High Sierra 10.13.4

Steps to Reproduce:

Copy code from screenshot example
Hover in the gutter to see the collapse mark in the wrong place

Does this issue occur when all extensions are disabled?: Yes
Clarification
The latest version of VScode is supposed to have collapsing markup based on actual markup and not indentation, but that doesn't seem to be the case.
Screenshot

This feature was disable by default in master due to a important bugs. Set "typescript.experimental.syntaxFolding": true to re-enable it. However jsx folding will not work due to https://github.com/Microsoft/TypeScript/issues/23273


Verify phi-2

This should close #274 , I have updated the model list , and added tests taking reference from issue description at #259  , @p-wysocki @ilya-lavrenov @pavel-esir in the readme I have added phi separately , since there are other phi models as well , like phi-1.5 which can be added in the future , please let me know if anything else can be done.

@p-wysocki should I also verify Phi-1.5 ?

Thank you for your contribution!
Sure, @Wovchena mentioned that contributors may propose their own models. :) Do you want me to create a Good First Issue for you?

Thanks for the guidance @p-wysocki , I will create an issue by myself , based on the template for verifying models.

Ok sure @p-wysocki


Fix crash if FileNotFound exception thrown

@nicolas-raoul on a slightly related note, do we want to announce on mailing lists that the app name and logo have changed? I guess most people will be able to deduce that, but a few might be confused and wonder where 'Upload to Commons' went. :)
Also, why does it say 'we are not endorsed by or affiliated with WMF' on the front page, when the ownership of the app will soon go to the WMF account? Or is that line just there until the ownership transfer completes?

A announcement would be good indeed!
On Jun 19, 2016 7:09 PM, "Josephine Lim"<EMAIL_ADDRESS>wrote:

@nicolas-raoul https://github.com/nicolas-raoul on a slightly related
note, do we want to announce on mailing lists that the app name and logo
have changed? I guess most people will be able to deduce that, but a few
might be confused and wonder where 'Upload to Commons' went. :)
Also, why does it say 'we are not endorsed by or affiliated with WMF' on
the front page, when the ownership of the app will soon go to the WMF
account? Or is that line just there until the ownership transfer completes?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nicolas-raoul/apps-android-commons/pull/137#issuecomment-226989360,
or mute the thread
https://github.com/notifications/unsubscribe/AAGFBkMZvJr1XvSHqi07SQqhGgsIh_nrks5qNRVsgaJpZM4I5G9q
.

The wording comes from the contract thread I forwarded to you, it is in the
About dialog too.
On Jun 19, 2016 7:51 PM, "Nicolas Raoul"<EMAIL_ADDRESS>wrote:

A announcement would be good indeed!
On Jun 19, 2016 7:09 PM, "Josephine Lim"<EMAIL_ADDRESS>wrote:

@nicolas-raoul https://github.com/nicolas-raoul on a slightly related
note, do we want to announce on mailing lists that the app name and logo
have changed? I guess most people will be able to deduce that, but a few
might be confused and wonder where 'Upload to Commons' went. :)
Also, why does it say 'we are not endorsed by or affiliated with WMF' on
the front page, when the ownership of the app will soon go to the WMF
account? Or is that line just there until the ownership transfer completes?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nicolas-raoul/apps-android-commons/pull/137#issuecomment-226989360,
or mute the thread
https://github.com/notifications/unsubscribe/AAGFBkMZvJr1XvSHqi07SQqhGgsIh_nrks5qNRVsgaJpZM4I5G9q
.

Ah, okay, sweet. I'll try to get word out to the mailing lists tomorrow. :) Is this PR ok to merge, btw?


Fix visible entity sorting

What problem does this solve or what need does it fill?
The current algorithm can lead to missing transparency effects when using custom cameras.
Describe the solution would you like?
Changing
DepthCalculation::ZDifference => camera_position.z() - position.z()
to
DepthCalculation::ZDifference => (camera_position.z() - position.z()).abs()
would fix the error.
Describe the alternative(s) you've considered?
Using DepthCalculation::Distance resolves the issue, but leads to weird artifacts when entities are closely together.
Additional context
I use a custom pseudo-3d camera projection. As it increases the Y-coordinate with increasing Z-coordinates, it needs the camera to be at or close to the origin. This means that entities with positive Z-coordinates get assigned a negative ZDifference and thus are sorted incorrectly.

I'm not sure using abs() here is the right call. Consider the following 1-dimensional case:
// A, B, C are drawn "things", X is a camera
A--B----X-----C

// Distances (signed)
A: 6
B: 4
C: -5

// Front-To-Back Draw Order (signed)
1. C (-5)
2. B (4)
3. A (6)

// Front-To-Back Draw Order (abs)
1. B (4)
2. C (5)
3. A (6)

With abs(), C is drawn "between" A and B, which doesn't make sense.

As far as I understand it, C should not be drawn anyway, as it is beyond the clipping range of the camera, but I‘ll try it out…

Depends on how big C is. Clipping happens to the individual triangles.

Right… I guess I'll have to work around the issue by placing the camera behind the scene, which works (and is the default for the orthographic camera), but feels really weird. Maybe OrthographicProjection should be changed to be more like PerspectiveProjection, which places the camera in front of the scene. Should I open another issue, or do you want to leave it as is?
Also, thinking about it, the artifacts I saw will also appear with the default Camera3dComponents. When two entities are closely together, one entity positioned in front of the other produces the expected result:

However, when the same entity is moved to the side a little, it now has a greater absolute distance from the camera and is drawn first, but has less depth as it is closer in the image, leading to missing transparency:

I don't really know how that can be fixed…

Maybe OrthographicProjection should be changed to be more like PerspectiveProjection, which places the camera in front of the scene. Should I open another issue, or do you want to leave it as is?

I think I'd prefer to leave it as-is for now. Bevy uses a right handed y-up coordinate system for all projections, so x should be right, y should be up, and z should be "in to the screen".

I don't really know how that can be fixed…

Yeah thats just Camera3dComponents behaving as expected. I needs to use 3d distance to calculate depth (whereas 2d cameras can just use the z distance).
I think there are two "fixes" here.

3d cameras use distance to "the center" of an entity. This is fast and simple, but it doesn't take the entity's shape into account. We could consider adopting a more expensive approach that uses raycasting + bounding boxes (or collision shapes), but I'm not sure thats worth it. I'd be curious to see what the best practices are in this space. I'm not a depth expert.
Allow for "custom" depth calculations. We could expand the DepthCalculation enum to include a Custom option.

Is this still relevant? We swapped our projection strategy for 0.6.

Tentatively closing this as there has been no response to the issue in over 9 months and the implementation has shifted significantly since this issue was opened. If someone can reproduce this case in a more current version of Bevy, feel free to reopen.


DRILL-4927: Add support for Null Equality Joins

Added changes to support Null Equality Joins;
Created tests for it.

@amansinha100 The commit message is updated.


No Night's Watch

🚀 Feature
Within the scope of our MVP, we do not provide smoke detection at night. It has to be handled.
Pitch/ Motivation
Night time period
First, we need to define a time range that corresponds to night.
The length of daylight is not the same for each link and changes throughout the year (good job Sherlock).
Suggestion: considering that the MVP takes place in France, in Ardeche, during the summer only, we can consider a fixed time range for the night period. For example from 10pm-5am (French time)?  What do you think ?
The storage place of these fields is also to be defined.
Management of alerts / inference / photo taking:
If it is a priori rather simple to imagine just not to bring up alerts on the front on the night time range, it is important to preserve our resources and avoid unnecessary calculations.
Hence, either pi cameras do not take picture at night, or, the inference/alerting workflow does nothing at night, etc
Not taking picture at night seems to be a suitable solution. Therefore, pi cameras need to be on time (not being connected to the internet, and not having an internal clock, they are by default not on time). Fortunately pi cameras have the possibility to access the current time through the web server.

Either, a GTC clock is added to the pi camera and its ensure to be on time by pinging frequently the webserver. Hence, the pi camera check if the current time is  in the night range, before taking picture.

Either, the pi camera can ask the webserver what time is it,  before taking a picture andsending it for inference.

There are quite various other implementation solution. What do you think ?
Happy to discuss it !

Not 100% sure @fe51 but we can close this right?
cf. https://github.com/pyronear/pyro-engine/pull/57#issuecomment-884942890

Yes, this issue is quite old and irrelevant now, so we can close it !
However, I am not totally convinced about the actual solution : inference still performed at night for nothing (as long as the process is not so intensive why not), and managing day alerts frontside with a dependency to an external api, i am not sure this is robust enough. That being said, I have not checked if there was issues about with the availability of this api !


YI Home 1080 BFUSY44VJ5 firmware backup

Hello,
Can someone share backup firmware for Yi Home 1080 BFUSY44VJ5 or similar?
After hack I have problem with WLAN:
dispatch.c(do_monitor_wifi-2510)[06:42:24.080]:wpa may crashed, now reset
dispatch.c(do_monitor_wifi-2515)[06:42:24.091]:no wifi dev
Regards
Adrian

https://github.com/roleoroleo/yi-hack-Allwinner-v2/files/5458351/backup.zip


Applicants list spacing

There looks to be extra spacing/padding on the applicant list. This could be a product of the infinite scroll.

fixed by removing height: 100% in appView.css


Read measures by environment

Get the measures of a sensor from Measure repository by environment and a date interval.
Make the routes and middleware.

It is going to be in a middleware, because I do not want to make repositories than depends on others.
The sensor repository gets measures based on the sensors of an environment

issue solved in https://github.com/nearlg/greenPi-backend/pull/17


AttributeError No attribute 'decodebytes' on knitpy.render()

I can confirm that that #38 fixed the other issues, thank you much @JanSchulz.
Again, hope this issue reporting is beneficial. :)
In the call to .render :
In [14]: knitpy.render('knitpy_overview.pymd')
[TerminalIPythonApp] ERROR | Could not save a image
Traceback (most recent call last):
  File "/home/vagrant/vm/shared/knitpy/knitpy/documents.py", line 292, in add_image
    mimedata = base64.decodebytes(mimedata.encode())
AttributeError: 'module' object has no attribute 'decodebytes'
Out[14]: [u'/home/vagrant/vm/shared/knitpy/examples/knitpy_overview.html']

The call does generate the resultant documents, so that's great. How else can I help?

I do hope I got that... I really need to get that unittesting going...

Please checkout master again, this should be fixed...

Hi @JanSchulz, thank you! Yes, fixed via 265cf1773ba0e51a636efccbe0ad0d3c0f48c3e8


Extend from existing linker script?

Currently I use this to dump the used linker script to stdout and add in the eh_frames:
[target.x86_64-unknown-none]
rustflags = [
    "-C", "link-arg=-Wl,-verbose"
]

This worked ok but the problem is it is certainly not good accounting for multiple targets. For each build target we will need each linker script and that's a pretty big burden. Wonder if there is any possible way to extend from the existing linker script by patching or just stick it to some specific platforms as a setback?
PS: --eh-frame-hdr is broken in rust-lld. IDK why. I specified it directly in rustflags link-args, but even that didn't add in the GNU EH frames. That's the whole reason I needed linker script extension, or otherwise I could just use fde-gnu-eh-frame-hdr feature instead. This has something in common with #6

If you are not using a baremetal linker, you can pass --eh-frame-hdr option and use fde-gnu-eh-frame-hdr feature. If you are using a baremetal linker then linker script modification would be essential (well, there are some hacks if the default linker script will keep eh-frame).

@nbdd0121 I'm using rust-lld (which should be lld with Rust quirks) since I targets to build an x86_64 kernel on an x86_64. I'm not sure if that's bare metal or not since the kernel is built on ELF and is not some arbitrary binary format (which is the .bin of those bare metal firmwares).

I believe LLD don't have gnu-eh-frame-hdr so that's not an option for you.
If you are building a kernel, then you surely needs to instruct the linker to place it to a specific virtual address? Generally it's quite fragile to depend on the default linker script. I would definitely advise to use custom linker scripts and then you can put eh_frame modifications there.
Regardless, that's not something that I can fix or workaround in this project, so I'll be closing the issue as inactionable.


Activate embedded languages for indent rules

From https://github.com/microsoft/vscode/pull/98181#issuecomment-633875186

PHP defines HTML as an embedded language here: https://github.com/microsoft/vscode/blob/master/extensions/php/package.json#L44. The bug is that VSCode doesn't activate 'html' when it needs it's indent rules. As HTML defines the indent rules in code, activation is necessary.

It's a VSCode issue. I suggest to create a new issue and assign it to @alexdima.

Currently, the onLanguage activation event fires only when a file that resolves to a certain language gets opened -- https://code.visualstudio.com/api/references/activation-events#onLanguage -- and not when encountering an embedded language as part of tokenization.

via extensionDependencies? Could also do that. But it makes sense to me that if I want to add rules for the 'foo' language, then I always get activated when those rules would be applied to a region in some file.

Currently, the language-configuration.json is read when encountering an embedded language. This is done here. But I think this must be something that the html extension does via API and not via the language-configuration.json? We want at one point to move also the onEnter rules to the language-configuration.json, perhaps that's what's missing here?

Yeah, the html extension uses vscode.languages.setLanguageConfiguration with onEnterRules, wordPattern, and indentationRules.

Hi!
Is there any workaround for this?
I have an autocompletion extension that works with onLanguage activation and I'd like to have it working when the language is used as embeddedLanguage.
Thanks.

Since we now support defining regular expression in language-configuration.json files, we could simply move the setLanguageConfiguration calls to the JSON files.


Change Selected Item Background color

hello, i want to change background color of selected item also view in some item visible hide?
any idea how to change view of selected item?

I think this feature is not implemented just yet