Cycle Unified

Discussion I had with @TylorS:

What if instead of Cycle Diversity, we would only have Cycle xstream? And then for different stream libraries, the user applies xs.fromObservable/toObservable on the edges sources/sinks?
In fact, we can even automatically apply, inside run(), xs.fromObservable(sink) if we detect that sink is not an xstream Stream.
So it wouldnt even require stream library users to manually convert.
Except we couldn't do that for sources, because the source may be a DOMSource.
The motivation behind this is that it would make customElementify easier (which currently only supports xstream)
And also make DOMSource typings simpler, and many other things, like onionify.

Reasons to do this (from most important to least):

To make it easier for libraries like cycle-restart, cycle collection, onionify, customElementify, etc
To reduce overhead with maintaining the Cycle.js codebase, allowing authors to move faster
To make use of Observable spec that many stream libraries started supporting (after we had made Cycle Diversity)

Guarantees:

The stream library used in main matches the stream library used for run
All drivers receive sinks as xs streams (must adapt locally if desired)
(Complex or simple) sources should be converted with adapt in driver code (because sources are given to main, and adapt matches the stream library used in main, see guarantee number 1)

This would involve:

[x] Study its viability regarding migration for RxJS and most.js use cases

We are aiming for zero breaking changes

[x] Opening a new branch to start these experiments cross-package
[x] Make @cycle/run
[x] Delete @cycle/base
[x] Delete @cycle/xstream-run
[x] Make fantasy-observable spec
[x] Publish @cycle/run as RC
[x] Update @cycle/run to TS 2.1
[x] @cycle/foo-run to have xstream2foo function that converts from xs.Stream to the equivalent in foo, and @cycle/foo-run attaches this function to the global object before running @cycle/run

Sources need to be converted

Complex sources are converted in drivers when materialized to streams
Simple sources (streams) are converted in run (??)

Sinks don't, because they should all follow fantasy-observable spec and @cycle/run will
expect every sink to be FO-compliant
[x] rxjs-run
[x] most-run

[x] Delete the adapter libraries
[x] Rewrite DOM Driver to use this global adapter in all types of sources

[x] sources should use adapt() from @cycle/run
[x] Rewrite tests in TypeScript
[x] use xstream in tests as well, also write them in TypeScript
[x] Make all tests pass
[x] Update snabbdom to 0.6.1
[x] Optional: Refactor EventDelegator
[x] Optional: Refactor IsolateModule
[x] Optional: Refactor scope vs fullScope
[x] Optional: Copy-paste matches-selector into our DOM Driver
[x] Optional: Check should issues and must issues

[x] Rewrite HTTP Driver to use this global adapter in all types of sources

[x] Use new run and adapt
[x] Rewrite tests in TypeScript
[x] Make sure that res$ is adapted as well as res$$

[x] Rewrite History Driver to depend directly on xstream and use this global adapter

[x] Use new run and adapt
[x] Fix back/forward tests
[x] Write JSDocs/README https://github.com/cyclejs/cyclejs/pull/465

[x] Update HTTP to use latest superagent
[x] Rewrite JSONP driver too
[x] Make sure all other packages use TS 2.1
[x] Make @cycle/run a hard dependency for all drivers that use @cycle/run/lib/adapt
[x] Update all dependencies and devDependencies to latest versions

[x] Fix xstream https://github.com/staltz/xstream/issues/168
[x] Update testem, make sure DOM and HTTP and history tests pass
[x] Update saucie and reconfigure testem for it
[x] Reconfigure testem for Cycle history
[x] Turn off CI tests for Cycle history because of issue #514
[x] Fix Cycle DOM cross-browser issues
[x] Fix Cycle History cross-browser issues
[x] Update other dependencies in each package

[x] Release all as RC 🇫🇰 🇫🇰 🇫🇰 🇫🇰 🇫🇰 on the correct dist-tags
[ ] Fix tests (see PR https://github.com/cyclejs/cyclejs/pull/516)
[ ] Update examples

[ ] Fix snabbdom https://github.com/snabbdom/snabbdom/issues/167
[ ] Update isomorphic example after the above is solved and released
[x] Update other examples
[ ] Remove nested-folders or use onionify with it or some other solution

[ ] Rewrite matrix multiplication
[ ] Write release notes

[ ] Communicate dependency on TS 2.1
[ ] DOM driver no more transposition
[ ] HTML driver in Cycle DOM can take custom modules https://github.com/cyclejs/cyclejs/issues/335
[ ] DOM Driver supports snabbdom dataset module by default https://github.com/cyclejs/cyclejs/issues/396
[ ] Rx v4 no longer support
[ ] Fixed DOM https://github.com/cyclejs/cyclejs/issues/310
[ ] Fixed DOM https://github.com/cyclejs/cyclejs/issues/414
[ ] Fixed DOM https://github.com/cyclejs/cyclejs/issues/222
[ ] Drivers no longer take adapter as second arg

[ ] Update docs

[ ] etc
[ ] The sink given to the driver is of the same type as foo-run
[ ] The source given to main() is the complex source class instance or just an xs stream
[ ] Update badges on top-level README

[ ] Release 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦 🇨🇦
[ ] npm Deprecate @cycle/base
[ ] Deprecate rx-run
[ ] npm Deprecate @cycle/xstream-run
[ ] npm Deprecate @cycle/___-adapter packages

Simplifying is great though this will actually make cycle xstream only, which might be not so bad. But usage with other libs will be definitely ridiculously cumbersome probably thus unlikely possible anymore.

Except we couldn't do that for sources,

Right, or will require again some intermediate layer ala current diveristy.

Study its viability regarding migration for RxJS and most.js use cases

migrating to xstream completely

The motivation behind this is that it would make customElementify easier (which currently only supports xstream)

Looking at the code, support for other libs could added without any problems if there would be need.
The only reason to make cycle-xstream-only-version - to get rid of need to support multiple libs, remove adapters stuff, have only single stream lib and typings in drivers, etc. Because it is really kind of cumbersome (though maybe not so ridiculous).
So will need to deprecate all diversity stuff. Well this is kind of strategical decision maybe right for cyclejs future, maybe not so.
Well though I want admit that I'm not against this, because I don't see big reason behind existion of multiple stream libs at all. =) There can be only one! Interesting what people think.

@staltz
I dont' know what to/fromObservable API how do you assume using dirvers within non-xstream-dataflows:
// probably should be something specific for lib
xs.toObservable(HTTP.select())
 .map(xs.toObservable)

like this?

It'll be easier to understand when I have something to show, and don't worry, I won't push this change over night, let's check first with the community.

I'd like to add some notes from non-xs user's viewpoint:

... user applies xs.fromObservable/toObservable on the edges sources/sinks ...

Does this mean that e.g. DOM event listening will be something like this?
const clicks = myLib.fromObservable(DOM.select('.my .selector').events('click').toObservable())

IMHO, that is way too cumbersome for such a simple and common operation. 😕

In fact, we can even automatically apply, inside run(), xs.fromObservable(sink) if we detect that sink is not an xstream Stream.

How about if I need to create my own application specific drivers? Does that mean that I need to use myLib.fromObservable(sink.toObsevable()) inside my driver code as well?

The motivation behind this is that it would make customElementify easier (which currently only supports xstream)

Is this the greatest motivation behind this experiment? Web components are still a very experimental feature. Does the received benefits cover the caused troubles for RxJs/most/etc. users? I suspect that only few consider xstream "production ready" yet (I may be wrong, though). Have you considered how does this change affect to the existing user base or new users or cycle adoption in the industry?
I took a look at the customElementify codebase and I didn't find any reason why it couldn't be implemented streaming lib agnostic. Wouldn't that be easier than making a breaking change to cycle core?

I think @staltz whats to simplify things, I don't think that this proposed change is driven mostly by his ego as xstream creator :)
I think there exists a couple of fundamental/strategical (for cyclejs) questions, that should be considered and answered.
Personally I found xstream very nice, it has simple and concise API, and probably can any manipulation with as streams can be accomplished using existing operators (at least within cyclejs realm). So I personally think that I wouldn't find my self in a big trouble of using only xstream in cycle projects.
So my first question sounds like: why cycle users may want to prefere to use rx/rxj/most not xstream when building cycle apps? I know that for example @TylorS just likes most API. Some may like Rxjs. Maybe readiness for production, and some things in xstream that are under considerations can be still a reason against xstream. I actually don't see a big reason for existing many reactive stream libs, they actually do the same thing, and even in the same manner, APIs are very a like, and rarely add more perks, but I may be wrong about it.
The second question that bothers: why cyclejs (as project) should officially consider rx/rxjs/most? (additionally to xstream) Why not bacon, why not kefir, whatever? Why not only rxjs? Is this just a "legacy" (if this term is appropriate to cycle age) support or tribute to a few active cycle users of those libs? Isn't it a waste of time and the resources?.
For now I think that limiting official support only to xstream would keep things more simple (for xstream users, maintainers, driver/components authors etc), but keeping diversity approach will make cycle more open (and maybe potentially more widely accepted).
It is interesting what other cycle users think about it.

@whitecolor

Yeah, we've come to use most.js instead of x at work, and I do enjoy that it has a functional API.
I don't know :)

I think a further consideration might be what if we were to build the next version of Cycle on only ES Observables?
I think the stable parts should be the only thing we consider for usage. Mainly
interface Observable<T> {
  from<T> (...): Observable<T>
  subscribe(observer: Observer<T>): Subscription

  [Symbol.observable]: Observable<T>
}

interface Observer<T> {
  next (value: T): void;
  error(error: any): void;
  complete(): void;
}

interface Subscription {
  unsubscribe (): void;
}

Cycle core can definitely be implemented using only these, and driver can convert too and from easily with Observable.from()

I think @staltz whats to simplify things, I don't think that this proposed change is driven mostly by his ego as xstream creator :)

You misunderstood my point 😅  My point is that these changes might simplify things for (driver) maintainers but they're definitely not simplifying things for non-xstream users. The statistical fact is that the number of RxJs users (or people familiar with RxJs) is magnitudes greater than xstream users.
My fear is that if cycle is nailed to use xstream, it drops the amount of potential users to only a fraction of it's now with diversity support, and in the end only hipsters are using cycle (until they found new stuff). IMHO the diversity support is crucial for growth and mainstream adoption.

I think a further consideration might be what if we were to build the next version of Cycle on only ES Observables?

That sounds definitely something worth of experimenting! 👍

We are likely going to do this #425 together with #432 as an experiment and we have ideas that would make it unnecessary to do
myLib.fromObservable(DOM.select('.my .selector').events('click').toObservable())

But it's an experiment, and as I said:

don't worry, I won't push this change over night, let's check first with the community.

@milankinen

You misunderstood my point

Think it is not "only your" point :smile:

it drops the amount of potential users to only a fraction of it's now with diversity support, and in the end only hipsters are using cycle (until they found new stuff). IMHO the diversity support is crucial for growth and mainstream adoption.

I wonder if this is true. I'm inclined to think that it is sensible consideration.

we have ideas that would make it unnecessary to do

Interesting to see. I see the only not so cumbersome option:
DOM.select('.my .selector').events('click').as(rxStream /* some converter*/)

why cycle users may want to prefere to use rx/rxj/most not xstream when building cycle apps?

AFAIK RxJS is developed as a polyfill for ES Observables. That's why I default to RxJS in general.

The way ES Observable is going, ES Observable will be different to RxJS. You won't be able to drop RxJS and just use native Observables. Unfortunately.

Sad to hear that! :(

I was only thinking a few days ago that one of the advantages of original CycleJS was it was tiny and easy to read. Will this get back to that?
I'd be happy if it was xstream out of the box but other stream libs are possible for those not wanting to learn another or with existing code.
Shame about ES Observable :(

Yes this would drastically simplify the Cycle.js codebase, basically eliminating @cycle/base and @cycle/____-adapter

Did I miss anything about ES Observable?

Yes this would drastically simplify the Cycle.js codebase

No so drastically instead of adapters, it will just removes adapters. Still not sure maybe it is a better approach than with adapters (esp. in case observables will be come so fantastically compatible). Also hope xstream's internal stuff like async stream completion  (based on setTimeout) won't introduce issues for some edge cases.

TC39 Observable is crap, we're going to follow https://github.com/staltz/fantasy-observable. The spec process should be led by proven, battle-tested technology, not the other way around. Brian Cavalier and Paul Taylor agree.

Also hope xstream's internal stuff like async stream completion (based on setTimeout) won't introduce issues for some edge cases.

It shouldn't, all drivers were already written with xstream.

https://en.wikipedia.org/wiki/Second-system_effect
Just sayin :)

Are there any examples on how the toObservable/fromObservable pattern will work for driver authors? Actually it would be nice to get an example from both the user perspective as well as the author perspective. As I understand, driver authors won't need to use runStreamAdapter anymore, but it's still unclear.

@staltz btw you may want to use "extends" feature of tsconfig https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#configuration-inheritance to simplify tsconfig management.
scripts in package.jsons could be unified also, it is really not dry to have all the same in each package.

I want to help, but is this build-able on Windows?

Hi @artfuldev, check out this issue: https://github.com/cyclejs/cyclejs/issues/384

thanks! do have windows with the ubuntu bash, good to know.

@staltz Would you consider upgrading superagent to v3.* for the HTTP driver in the 'unified' branch?  Superagent 3.* is Rollup compatible.  The 2.* versions are not Rollup compatible due to the issue fixed here: https://github.com/visionmedia/superagent/pull/1088

Great point, thanks @ntilwalli.

I rewrote the JSONP driver, #513. Needs review 😄

Bringing something to the attention of others, I wrote some piece of code that looks pretty ugly but proves critical to solve a corner case. Check this out:
https://github.com/cyclejs/cyclejs/commit/58b7991a19b47ff8589ead7df1f5131605a28916#diff-5fc600a68bfbc0ac7d28466ec8fab505R145
(read the commit message and the comments)
const complete = () => {
  setTimeout(() => { listener._c(); }, EARLIEST_SINK_COMPLETE);
};

I need some feedback what to do, because it seems like we could remove sink proxy completion (listener._c()) entirely. Basically, this would make all sinks never complete, from the perspective of drivers. This might be okay since drivers are supposed to exist through the whole execution of the program, and are not meant to be reused. A single driver will only receive one sink, ever. For disposal, we have two approaches:

Source disposal (e.g. in the DOM driver, the DOM source's .dispose() will be called when Cycle run's execution is disposed, which will trigger sanitation$, which will endWhen the sink)
Sink proxy replication disposal (detaches the sink proxy from the sink)

These two seem sufficient to cover disposal of sinks.
So, asking @whitecolor @TylorS @Widdershin, do you see any need to have drivers receive complete from sink (proxies)? Removing the complete would allow us to get rid of this ugly setTimeout.

@staltz
So the problem is that sink stream may be completed before it is subscribed. This case, of course, should not be handled using setTimeout inside cycle, especially using some empiric timeout value,  such things should be strictly avoided. I think never completing sink is ok, I can not imagine driver that would expect sink stream that ends.

@whitecolor @staltz Maybe a driver expect a completion to do some kind of cleanup? (WebSocket, opened files...)

@geovanisouza92 it can be done in source's dispose function
@staltz but I think that all sinkProxies should be disposed/completed when cycle's dispose is called (now it is not done), then it would be possible for driver could handle sink completion as well.

but I think that all sinkProxies should be disposed/completed when cycle's dispose is called

Good point! I'll do these changes in the unified branch and see if all tests and important examples run correcly.

@geovanisouza92

Maybe a driver expect a completion to do some kind of cleanup? (WebSocket, opened files...)

Yes, completion should happen, and we still will have completion. The difference is:

If the real sink completes early, the driver will receive completion only when the Cycle app is disposed.
If the real sink never completes, the driver will anyway receive completion when the Cycle app is disposed.

(1) means that cleanup will happen later than usual. This is only a problem if a driver creates a ton of resources upfront, which should be disposed as soon as possible. I don't think that's realistic, probably not the case for any of the drivers so far.
(2) is a really good thing. Even if the real sink never completes (imagine the programmer forgot to make sure every sink completes), the driver will still receive completion. It becomes a guarantee.
This is already now done and committed to the unified branch.

Fantastic to see this closed! Awesome work


NN tab appearance should be configurable

A robot plugin should show the NN tab only, if the property nn.appear is set to true
DefinitionOfDone:

set the property to false or remove the property (both cases should work for any plugin)

the NN tab is invisible

set the property to true

the NN tab is shown

solution:
if the robot property file contains the property robot.nn, the nn extension is shown.
This can be done dynamically by using a -D:robot.nn="true" program argument at start of the server


Community Spotlight: David Cochrum

Hey @davidcochrum,
I'd like to do a quick "Community Spotlight" post on the Dotenv blog.
I don't know your email to get in touch. Email me at<EMAIL_ADDRESS>or just answer these questions here. If you're interested!
Trends and Changes in Laravel Development: "Having worked with Laravel for some time, what significant changes have you observed in the framework and its ecosystem? How have these changes influenced your development approach?"
Laravel's Impact on PHP Projects: "Laravel is known for its elegant syntax and robust features. Can you share an example from your experience where Laravel uniquely benefited a project you worked on, perhaps in ways other PHP frameworks might not have?"
Personal Journey with Laravel: "What drew you to specialize in Laravel, and how has it shaped your journey as a developer? Are there any projects or achievements within the Laravel community that you're particularly proud of?"
Laravel and Dotenv: "What drew you to the .env.vault mechanism? How do you think it will effect the Laravel ecosystem? Is it useful to it? Laravel has its own encryption mechanism for .env files, how is .env.vault different and or more useful in your mind?

https://www.dotenv.org/blog/2023/11/13/community-spotlight-david-cochrum.html


strest handlebars

Why did you close this? It seems good to go.

It was too heavy. There was no need to use a template engine for conferring something to yaml.

for future reference, nunjucks would probably be a better template engine. Handlebars required lots of custom helpers.  nunjucks should have more built-in capabilities.


edit button missing

The edit button in each page is missing, we need to display it in each page.

@leoendless Is the issue get resolved?

@leoendless Any updates on this issue?


Properly handle bots that only work with new Python versions.

A bot may require a Python version greater than 3.x. Currently, however, all bots are expected to work with all versions of Python. In particular, Travis tests them for 3.4, 3.5 and 3.6. We don't yet have a proper way of dealing with such bots. An example is the monkeytestit bot. It uses the monkeytestit package, which works only with 3.5 and higher. Because this caused tests to fail, I pushed 6249df0ad76537f5705a043524f281b4789e3417 as a hotfix, which skips all tests for monkeytestit. This is obviously not the right approach. A right approach would need to do two things:

Create a place in the bot testing framework where we could either exclude it from testing for certain Python versions, or specify a minimum version. important
Give the user a meaningful error message when they try to run a bot with an unsupported Python less important.

This would also be useful if we merge something like #400, whose async tests do not currently work with 3.4, (though might with different function annotations).


The eject code rewriting is fragile

It breaks on this gist:
https://gist.github.com/anonymous/0e8ec441c797a03e5265c9fd1f53d1c6
Need to diagnose and do the AST traversal in a less fragile manner.

I've also received feedback multiple times that the code rewriting is a less-than-ideal solution.
I think the alternative will involve doing some kind of monkey patching from a crna-env-like package to make sure that AppRegistry sets up the font component for us. Need to explore options here.

Maybe we need to put the "font component" in core, or find an alternative for it? I'm using quotes because I know you do some tricky font stuff but I'm not quite sure what the component is.

Our plan here is to stash the CRNA entry point in the react-native-scripts package, and then write new entry points when ejecting. I'm going to work on this today, probably.

Resolved in 149fbd5f8152b0a8c6d99e2b5ce4866dda4974a1.


zlib

zlib is required to compile civetweb, so it's better to add check
find_package(ZLIB REQUIRED)
MESSAGE(STATUS "ZLIB libraries: ${ZLIB_LIBRARIES}")
MESSAGE(STATUS "ZLIB version: ${ZLIB_VERSION_STRING}")
in CMakeLists.txt (near find_package(OPENSSL REQUIRED))

It seems more related to civetweb than uts-server. It looks more logical to open a bug there https://github.com/civetweb/civetweb.
By the way, I don't see any include of zlib in civetweb, and civetweb doesn't support on the fly compression according to https://github.com/civetweb/civetweb/issues/199, I'm not sure that's a real issue.

Yes, probably these is openssl dependency


Problem with php langs generation

Hi,
I am facing an issue in our project with generation of langs from php files. Our project started out i  think on laravel 7 and as the time passed we updated it to 10 as of now.
However we still have langs in 'resources/lang' directory.
When I tried to specify this path as mentioned in docs in mix.i18n("resources/lang") my build crashes with following error:

/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:69
    if (expr.kind === 'string') {
             ^

TypeError: Cannot read properties of undefined (reading 'kind')
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:69:14)
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:85:12)
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:83:36)
    at /var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:73:46
    at Array.map (<anonymous>)
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:73:32)
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:83:36)
    at /var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:73:46
    at Array.map (<anonymous>)
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:73:32)
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:83:36)
    at /var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:73:46
    at Array.map (<anonymous>)
    at parseItem (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:73:32)
    at parse (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:65:32)
    at /var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:121:66
    at Array.forEach (<anonymous>)
    at readThroughDir (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:114:35)
    at parseAll (/var/www/html/node_modules/laravel-vue-i18n/dist/loader.cjs:41:49)
    at /var/www/html/node_modules/laravel-vue-i18n/dist/mix.cjs:39:141
    at Hook.eval [as call] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:16:1)
    at Hook.CALL_DELEGATE [as _call] (/var/www/html/node_modules/tapable/lib/Hook.js:14:14)
    at /var/www/html/node_modules/webpack/lib/Compiler.js:1168:23
    at Hook.eval [as callAsync] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:22:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/var/www/html/node_modules/tapable/lib/Hook.js:18:14)
    at Compiler.compile (/var/www/html/node_modules/webpack/lib/Compiler.js:1165:28)
    at /var/www/html/node_modules/webpack/lib/Watching.js:218:19
    at Hook.eval [as callAsync] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:22:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/var/www/html/node_modules/tapable/lib/Hook.js:18:14)
    at run (/var/www/html/node_modules/webpack/lib/Watching.js:172:33)
    at /var/www/html/node_modules/webpack/lib/Watching.js:167:6
    at Compiler.readRecords (/var/www/html/node_modules/webpack/lib/Compiler.js:989:5)
    at run (/var/www/html/node_modules/webpack/lib/Watching.js:163:26)
    at Watching._go (/var/www/html/node_modules/webpack/lib/Watching.js:222:3)
    at Watching._invalidate (/var/www/html/node_modules/webpack/lib/Watching.js:423:9)
    at /var/www/html/node_modules/webpack/lib/Watching.js:69:28
    at processTicksAndRejections (node:internal/process/task_queues:78:11)

Got any advice please? If I dont specify the path I see the lang folder beign created during the build / watcher process but as soon as it hits 100% it gets deleted.
Thank you.

Hey @rudolfbruder thanks for reporting.
was there a translation set to null or an entire object example:
$t('message')
return ['message' => null'];

or is it like this?
$t('parent.message')
return ['parent' => null];

Thanks for the help.

Solved and released on v2.7.5.
Thanks.

@xiCO2k I didn't know where to ask, but I would like to know if I can use this package to export the translations to javascript and be able to use them within an app just built in Vue and your backend is a Laravel API (separated projects) and how to do that?. This package works prefect when the project is integrated in one with inertia vue (breeze or jestream), but if backend and frontend are in separated projects?

Hey @luisprmat, an export translation feature is something I'm considering adding to this package.
If you would like to contribute adding this. Go ahead
Thanks for the suggestion


⚠ Jenkins Plugins Artifactory has degraded performance

In 58a0765, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1265 ms

Resolved: Jenkins Plugins Artifactory performance has improved in ab16ae1 after 12 minutes.


Word Request.AddParameter Method or data member not found

Hi
Seems like VBA-Web is what I need :+1: Eventually I want to query a REST API of our CRM system which should populate address fields and the like in a Word document. Thus I followed the instructions from https://github.com/VBA-tools/VBA-Web/issues/176 and succeeded in using the (unauthenticated) Google Maps API. To go one step further, I am trying to set up the Twitter Authentication Example as described on the project homepage.
I took the following steps:

Created an empty word (2013) document
import the files from the VBA-Web src folder (except WebAsyncWrapper)
imported Dictionary.cls
Created a new Module named "TwitterClient"
pasted the Function QueryTwitter into that Module
Created a new Module named "Module1"
Creating a sub which calls TwitterClient.QueryTwitter "Test"

I end up with a "Compile Error" which says "Method or data member not found". And indeed, I cannot find AddParameter anywhere in the WebRequest Module (see attached screenshot).
Is this something Word-specific? Or am I just forgetting something important here? I am not experienced with VBA, so forgive me if my question may seem to be more of a VBA question rather than something specifically regarding your library.
Thanks,
Marco

Hi @marcortw AddParameter was split into two explicit methods: AddQuerystringParam and AddBodyParameter. It used to do different things based on the request type and this lead to some confusion. Do you have a link to the tutorial/example that still references it so that I can update it?

Hi Tim,
I used the authentication example right on the main project page https://github.com/VBA-tools/VBA-Web. Switching to AddQueryStringParam works, thanks!

Whoops, thanks I'll fix that!


CUDA implementation

Hi!
The custom network module training speed is a bit slow. Can CUDA implementation be added to improve the computing efficiency of the network module?

Hello,
As a developer, I also hope to increase the CUDA deployment of this library, but due to my limited capabilities, CUDA acceleration cannot be achieved in the short term. I also hope that better developers will join in to maintain this library.


Cannot detect pageYOffset

I want to scroll to top after route changed, but the pageYOffset still 0 so my page not scrolling to top.
How to fix it?

This is not related to the starter kit, it is merely an Angular question.
An efficient answer is available here:
https://stackoverflow.com/questions/39601026/angular-2-scroll-to-top-on-route-change

I'll point out the important part: from 6.1 onwards, you only need to set the following router option:
RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled'})
As explaiend on the angular blog, this will probably become the default option in angular 7.

I use this lib https://github.com/nicky-lenaers/ngx-scroll-to but not working, I think this issue because of height in theme.scss using 100%.
If i set the height value using 1000px (example), the scroll function is working.

As explained in the above comment, you should not be using any lib ; instead, you should use the option directly provided by the Angular router.

Same as using lib, maybe this happend when using css config height: 100%.
Case closed, I will change the style.
Thank you :)

You're welcome ; if there is an issue with a specific style when using the Angular router option, then you should probably log an issue on their github.


firmware: Update 2712 to 2024-04-20 release

Also, slightly simplify the packaging of the firmare to avoid specifying the version number in both the APT meta data and via the symlink.

@XECDesign - I think this is suitable for release as a .deb file now. Not sure I've got the changelog signing correct though but the contents should be ok


[SPARK-35709] Remove the reference to third party Nomad integration project

What changes were proposed in this pull request?
This PR updates documentation by removing reference to hashicorp/nomad-spark which has been deprecated in April 2020, and will not be developed any longer.
Why are the changes needed?
To keep the documentation updated and remove confusion for potential users being interested in running with Nomad.
Does this PR introduce any user-facing change?
Yes. A change to the documentation.
How was this patch tested?
Generated to documentation, and checked everything is alright in the output.

Can one of the admins verify this patch?

I guess the failure on Build and test action is due to no ability to identify which workflow to run based on the changeset? Is it actionable on my side?

Looks fine. Thank you for the update, @pptaszynski . I think the failure is not related to this PR.

Thank you. Merged to master.


[2.1.4] Collision offset of Area2D when parent is in movement

Operating system or device, Godot version, GPU Model and driver (if graphics related):

OS: Ubuntu 17.04
Godot: 2.1.4
GPU: unrelated, but GTX 860m using the proprietary drivers

Issue description:
The scenario

I have a ship and a player (both KinematicBody2D)
The player can freely move on the ship (player is a child node of ship)
Ship has a cockpit, player should be able to enter the cockpit to fly the ship
The cockpit is a Area2D to detect a collision (i.e. if the player inside the cockpit, so the 'Action' key triggers the 'player-enters-cockpit' action)

The Problem:

In the beginning, ship and player are stationary. Player might move into the cockpit and enter it. Player may then accelerate the ship and jump out. Eventually, he might come back, but cannot enter the cockpit anymore because there is no collision detected by the Area2D
Depending on the velocity of the ship, the actual collision area of the Area2D will move ahead of the ship. I.e. there is an offset (see illustration below)
The higher the velocity, the higher the offset
If the velocity is constant, the offset is constant as well
The offset is always in the direction of flight. The rotation of the ship is irrelevant

Here's an illustration (desired/expected place of collision in a moving ship in red on the left, and the actual place of collision in red on the right):

Worth mentioning

If you enable Visible Collision Shapes in the debug tools, you won't see any offset at all. The shapes are obviously colliding
I made a test and manually calculated the collision detection, which produces correct results (i.e. the collisions are detected right, regardless of what the velocity is). A bit more specific: if I check for collision using collide() of RectangleShape2D for the player model and the Area2D inside _fixed_process(), I get correct results. However, this is not really practical, since I need to know all possible collision objects in advance... I would expect, that the body_enter and body_exit events honour the _fixed_process-ing (i.e. that the calculations which lead to these events are synchronous with _fixed_process)

func _fixed_process(delta):
    # ...

    # Workarround
    var player = get_node('../path/to/player')
    var bb_player = player.get_node('collision-model').shape
    var cockpit = get_node('../path/to/cockpit/location')
    var bb_cockpit = cockpit.get_node('collision-model').shape

    if bb_player.collide(player.get_transform(), bb_cockpit, cockpit.get_transform()):
        print('collision')
    else:
        print('no collision')

    # ...

Steps to reproduce:

I made a small demonstration project right here
You can only toggle between two velocities, but it shows the problem quite well I think
Use S to travel at a slow velocity (i.e. the hit detection works)
Use F to travel at a fast velocity (i.e. the hit detection wont work)
You can observe the body_enter and body_exit events in the print output
Traveling at slow speed should indicate "ENTERED" in the output. If you toggle to a fast speed, you should see, that the player left the cockpit according to the engine (indicated by "LEFT")

Bodies and area are moving 100 units per fixed frame (6000 per second?), detection is going to fail that way for sure.
But fails anyway at around 1100 units with is a lot slower, not sure if the area or the kinematic child gets delayed for the Physics server (both report position [0,0]).
Also happens using set_pos on the main body and RigidBody2D in kinematic mode.

Bodies and area are moving 100 units per fixed frame (6000 per second?), [...]

Exactly

[...] detection is going to fail that way for sure.

Why so? Is there a maximum speed at which collision detection works properly?

Well, yes, if you move at high speed on a non CCD mode, you need to implement something for the case or the small hitboxes will be prone to fail on overlaps (a bit bigger shapes increase a lot the failure point value).
But the problem here is at slow speeds too and does not fail (so fast at least) with rigid bodies, so it should be something else.

Made a test with Area2D and it seems to work fine, the problem is only with KinematicBody2D like if the body position used by the server gets delayed a frame.
I'll try to test this on 3 too (so it gets more attention).

I wish I could help, but this was something I stumbled upon in my very first project. But I would be interested as well if it only affects 2.1.4 or also 3.0.

Yes, affects 3 too.
Sample project:
KinematicHighSpeedBug.zip
Ping to @RandomShaper who knows better this kind of things.

I'll have a look ASAP.

I'm researching... So far I haven't found a way to fix it.

Does this problem disappear if you enable Sync to Physics on the KinematicBodies? See https://github.com/godotengine/godot/issues/3092#issuecomment-625306410.

sync_to_physics cannot be used with move_and_collide, but even by changing positions directly and sync to physics enabled it fails at around 1800 pixels/sec in the example project.

Godot 4.2, the same happened to me, I managed to fix this issue by writing the raycast collision detection through code (in the Physics Process) rather than using the RayCast3D node.

https://github.com/godotengine/godot/assets/12431030/2bb8db91-9bdc-47f7-a2de-20201a944622
On Godot 4.2 I have encountered this issue also:
In the example video, the player (a CharacterBody2D) is entering a cockpit (an Area2D). Those two elements are inside a ship that is a rigidBody2D that is move by propulsers (others rigidbodies2D). When ships moves fast, the player leaves the cockpit without as shown on the video.
Collision with ship walls (staticBodies2D) and the player are well handled even at high speed.


feat(dns): allow for private DNS zone record creation

Fixes #26 by adding a new variable cluster_domain_private defaulting it to false to keep current behavior in tact. If a user wants to create the DNS record in a private zone they are able to set:
cluster_domain_private = true

Thanks for the contribution @millerthomasj!


Define option to lint on load

There is no ticket created on this repo, but this links to the ticket in the original plugin repo: https://github.com/TrySound/rollup-plugin-eslint/issues/42
This will cover cases where other plugins would transform the code and cause reported line/character numbers to be inaccurate. Notably, this solves a problem when integrating with typescript which will do a transformation of the code before the eslint plugin passes the code to eslint (including when the eslint plugin is added first in the list of rollup plugins).

When looking at this issue, also in the context of the original plugin, one question pops up for me: Why not use the load hook always? Since according to the Build Hooks chapter of the rollup.js docs, there's different kinds of hooks, some of which can be forced to come first. Checking out the transform hook in a bit more detail, however, I see that this isn't the case for it. On the other hand, the load hook comes before the load one, anyway, and could even be utilized in a way to go first.
So in that vain, what would you think about directly switching out the transform for the load hook? Would there be any repercussions? Also pinging @rollup, since I simply don't know.

The reason I didn't go ahead with replacing the hook entirely, is I didn't want to break any existing workflow with a change I don't fully understand the consequences of.
However, this repo is pretty new and we could take that opportunity to revisit the choices made by the maintainers of the older one. Looking further into the doc, it looks like the transform hook is sequential, which means that

If several plugins implement this hook, all of them will be run in the specified plugin order. If a hook is async, subsequent hooks of this kind will wait until the current hook is resolved.

I have tried to set eslint as first element of the plugins array, but it appears the code provided even to the first transform plugin is already transformed. It could be that another plugin that I used was already applying some transformations in the load hook it plugs into.
From that point of view, I think it makes sense to use the load hook always. Simplify the configuration a bit, and I don't see any case where a transformed version of the code passed to eslint would be useful. I'll update my PR to get rid of the option and make that the default.

Isn't the choice of the package manager up to the user, rather than the package developper?
I added it because it seemed to me somebody coming with npm might try to install dependencies without using yard, and having a package-lock in there means it'll work.
But it's your package, i'll remove if you don't think that point is valid.

Actually, it makes sense if we want to have it to add it in a separate PR, keeping this one small. It's gone now.

The choice of the package manager is up to the maintainer of the package. This should have no effect on the end-user of the package, independently of whether they use yarn or npm.

Dope! Have you ran the tests successfully? I haven't had the time yet to set up CI.

yep!
 ~/d/p/rollup-plugin-eslint   feature/lint-on-load  npm run test                                                                                3040ms  Fri Aug 28 14:52:43 2020

><EMAIL_ADDRESS>test /Users/rguyot/dev/perso/rollup-plugin-eslint
> ava test/test.js --verbose

  ✔ rollup runs with the plugin and a configuration (1.2s)
  ✔ rollup runs with the plugin (1.2s)
  ✔ eslint ignores node_modules (1.2s)
  ✔ eslint autofix works (1.2s)
  ─

  4 tests passed

I think it's good to go.
You might wanna consider husky to setup a pre-commit hook as an alternative to a CI. The guarantee isn't as strong since maintainers can bypass the hook, but it's way easier to setup (and potentially cheaper tho I'm sure there is some free CI available for open source projects). It'll make so that by default the test suite is run on every commit and commits are rejected if it doesn't pass.

Sweet! husky's already in place, by the way.
I'll merge your PR, thanks so much for contributing! :)

No worries! Thank you for being quick at reviewing, I need that for the workflow for one of my project.
I should really have used yarn instead of npm - follow the README...  Good work on this 👍

Sweet, let me do some further testing and then I'll release a new version!


Drop support for Python 3.7 and 3.8

I am currently looking into simplifying bioimageio.spec to speed up further development, ease maintenance and make the code base more approachable to new developers.
Doing this work I realized that I would really like to drop support of Python 3.7 (End-of-life 2023-06-27) and also drop support for Python 3.8 (End of life 2024-10), see https://devguide.python.org/versions/
What do you think about shifting to support and test Python 3.9, 3.10 and 3.11 instead of the current 3.7, 3.8, and 3.9 ?
(I have the release of bioimageio.spec 0.5 in mind for these changes where we also update the axes descriptions.)
Any strong opinions out there @constantinpape @oeway @esgomezm @carlosuc3m @k-dominik ?

No strong opinions from my side; we can drop 3.8 (and earlier) support.

No strong opinions from my side either

Hm... why drop 3.8?

Hm... why drop 3.8?

Python 3.9 has been out for 2 years and 8 months, so rather why not drop 3.8 with it's EOL in a bit over a year.
Also I like mergin dicts with | and already using type hinting generics from standard collections already now avoids a lot of deprecation warnings in Python 3.9.
So if no one has trouble switching to 3.9+ in the intermediate future for new features/development (the current releases are still available for Pyton 3.7+), it would be a pleasure to work with Python 3.9+ moving forward :-)

Makes sense. Your original comment didn't state any reasons, hence the question. So thanks for the clarification. I don't think we should blindly drop compatibility with arbitrary reasoning like EOL is in a year...
Don't get me wrong, I don't need python <39, but wouldn't from __future__ import annotations avoid the warnings and enable the functionality? :) pipe-unioning dicts is of course nice syntactic sugar :).

Hey, the triton python backend runtime is at 3.8, they might upgrade and there are ways to pack newer python versions but that will introduce extra workload for packaging, deploy and testing. I would appreciate if we keep 3.8 for a little longer.

What a shame, let's only drop 3.7 for now then!


Add ToInt() function for converting int args

Also fix some unsafe conversions.

Will this be replacement for IntType.Call?

Yes, I realized that IntType.Call() isn't quite right since you could provide a string value which would be implicitly converted to a number. That's not how CPython does it.


demo_diff_drive_controller

Resolves #50

A diffbot folder was created similar to rrbot for URDF files;
A hardware in ros2_control_demo_hardware was created with position and velocity states and velocity command;
Launch file was added into ros2_control_demo_robot.

Codecov Report

Merging #70 (29ea8ff) into master (620b703) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master     #70     +/-   ##
========================================
  Coverage    0.00%   0.00%
========================================
  Files          20       2     -18
  Lines        1420     148   -1272
========================================
+ Misses       1420     148   -1272

Flag
Coverage Δ

unittests
0.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

...l_demo_hardware/src/rrbot_system_position_only.cpp

... and 12 more

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 620b703...29ea8ff. Read the comment docs.

Friendly ping @destogl

This PR is not working correctly I believe. The controller config is not being installed, which leads to an incorrect loading of parameters and the ros2_control node eventually failing due to a non-existing update_rate parameter.


Add pod usage for kubectl top po

What would you like to be added?
I would like to add CPU usage (CPU%) and memory usage (MEMORY%) for kubectl top po command to represent the CPU% and MEMORY% of the pod on its node.
kubectl top nodes

kubectl top po

Why is this needed?
As an operations developer, it is important to pay attention to both the absolute resources of a pod and its resource utilization

Issue: https://github.com/kubernetes/kubectl/issues/1214.
It's a similar feature request.
Also, check out the resource-capacity kubectl plugin.

Issue: #1214. It's a similar feature request.
Also, check out the resource-capacity kubectl plugin.

Your reply has been helpful. I will close this issue.


Run modelMethods on toJSON output not attributes

The best way I've found to remove a password from a user object is via
the omit method.  This matches up with the documentation that shows
the following example:
Customer.login(email, password).then(function(customer) {
  res.json(customer.omit('password'));
})

This works great until you use withRelated to fetch a user profile,
for instance.  omit will run on the attributes not the merged
output, so using the above example would strip out the fetched
additionals.
This PR is my naive solution at fixing the problem.  I updated the base
model to use toJSON as well as the virtuals plugin.
Let me know if anything else needs documenting or if is avoidable
intentional behavior.

Ping @tgriesser any thoughts on this? I know @tkellen mentioned that you're currently in a rewrite, does this work temporarily for you?

@tbranyen FYI this example use can be addressed by the visibility plugin.

Hi @tbranyen. Firstly, thanks for the PR!
I guess the original intention of the underscore methods were to match the Backbone.js API, which has no concept of relations. So currently they're more related to get than toJSON.
Since Bookshelf does have relatinos, this seems reasonable. But what happens when you call invert on an model with relations?
This would be a breaking change, so I'm not willing to merge this before a bit more discussion (hopefully @tgriesser will weigh in). In the meantime it's not a great deal more work to simply call _.omit(customer.toJSON(), 'password') or to use the visibility plugin designed for this specific purpose.

@rhys-vdw the significance of invert is confusing me, can you explain what you mean there? as for a breaking change, i was worried someone would say that since all the tests passed.  Can you help me write a test that expresses the breaking change such that  this PR fails?

The problem with invert is this:
_.invert({
  id: 5,
  name: 'John',
  relatives: [
    {id: 2, name: 'Mary'},
    {id: 6, name: 'Peter'}]
});

// outputs:
{5: "id", John: "name", [object Object],[object Object]: "relatives"}

By 'breaking changes' I meant breaking other people's apps, not breaking Bookshelf itself. If code relies on these being shallow, then it will break. However, generally speaking I think I'm coming around to this idea.
I'm also of the opinion that invert is not a particularly useful method, so maybe it can be dropped and this change incorporated. @ricardograca, do you have an opinion on this?

I'm also a little worried about breaking something, but we can just merge it and then revert it if we get flooded with angry bug reports. I think the main problem is going to be additional values when using keys(), values() and pairs(). What if people are somehow counting the number of values in those cases and using that in some way? Or expecting those arrays to only contain actual model attributes and not relations?
A safer approach would be to create a special case for the omit() method and use .toJSON() only in that case. What do you guys think?
PS: I can't think of any case where invert would be useful :\ Why was it included in the first place?

A safer approach would be to create a special case for the omit() method and use .toJSON() only in that case. What do you guys think?

Well, this particular use case of _.omit is already handled by the visibility plugin. Consistency is very important, so I would be hesitant to make a special case here.

I can't think of any case where invert would be useful :\ Why was it included in the first place?

invert and friends were taken from Backbone. I've personally never used any of them. I actually can't think of any good use cases for Bookshelf, at least none none so frequent to justify them being in the API. I'd be interested to hear of some other uses.
To be honest I think these functions could provide unexpected behaviour either way, which is not a good sign. Maybe they should just be canned altogether in the name of simplicity? Or stripped from core and moved to a plugin? I think the latter might be the safest, as it provides support for those who depend on them. It could even have a config setting to change whether it's deep or shallow.
Sorry @tbranyen, I'm sure this isn't the response you were hoping for. It's still open for discussion though.

@tbranyen, how would you feel about having these features in a plugin, taking a config option for deep/shallow?

Sorry for the delay @tbranyen let me take a look.

So I don't have a problem with merging this, though eventually the plan is to take the underscore specific helpers off the model, in favor of a simpler map-like api which is more iterator based and doesn't have an "omit" method. So this would be a temporary change.
The real issue is that we want to have hooks to control the serialization of a model when it's serialized toJSON.
I added an undocumented method for this serialize, which is then called by toJSON to make it easier to override, but this PR points out that we really want to have control over two different aspects of that, serializing the model and serializing the attributes:
So how about this:
serializeModel(options) {
  return _.clone(this.attributes);
}

serializeRelations(options) {
  if (options && options.shallow) return attrs;
  var relations = this.relations;
  for (var key in relations) {
    var relation = relations[key];
    attrs[key] = relation.toJSON ? relation.toJSON(options) : relation;
  }
  if (options && options.omitPivot) return attrs;
  if (this.pivot) {
    var pivot = this.pivot.attributes;
    for (key in pivot) {
      attrs['_pivot_' + key] = pivot[key];
    }
  }
}

serialize(options) {
   return _.assign(this.serializeModel(options), this.serializeRelations(options))
}

toJSON(options) {
  return this.serialize(options)
}

That way on your customer model, you'd have:
class Customer extends bookshelf.Model {

   serializeModel() {
     return _.omit(this.attributes, 'password')
   }

}

Either that or we should include the visibility plugin by default. I think I'd meant to do that for the 0.8 release but had forgotten.
Thoughts?

I would include both the visibility and the registry plugins by default. The registry in particular should be the preferred way of declaring and accessing models, since it's usually required unless your application only has 1 or 2 models, or you put them all in the same file or you really like to write require.

Mm. I have to agree with @ricardograca here. However, I'd additionally add that I think that these lodash extensions should be removed from core. I only suggest moving them to a plugin because it will be a quick fix for people already using them.
They don't seem so useful to be worth saving the characters.
_.omit(model.toJSON(), blacklist);
// vs
model.omit(blacklist);

In my opinion there's no need for a shorthand to functions that already sit on a one character identifier. Also, using _ and toJSON makes the function of the code more explicit and understandable (albeit less terse).
With regards to the serialization changes, they seem appropriate. I'd still use the visibility plugin for hiding fields though.

The ability to easily customize the relation output would also help with issues like #765

Closing due to lack of response. If anyone is still interested in this we can discuss it further.


Flash AS3 Google Maps Initialization failed: please check the API key, swf location, version and network availability

Hi, I have a problem about adding Google Maps on Flash AS3

Im trying to add Google Maps but it doesnt work on internet. My document(also
attached) is the same with Google's Tutorial that given at
https://developers.google.com/maps/documentation/flash/tutorial-flash

It works locally but in my web site.

http://www.yudumozkan.com/MapSimple.html

This is the link. Im creating API key referrer to http://www.yudumozkan.com and
also tried

http://yudumozkan.com
http://*.yudumozkan.com/*
etc.

Can you help me please?

Thank You,

Yudum

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

Please provide any additional information below.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 6 Jun 2012 at 10:29
Attachments:

map.rar

Fantastic


Replace "static notebook" explanation. Fixes #883

Don't forget to change the image name too.

I don't think this really solves the issue just replacing the words like that. StackSwitcher isn't a notebook. More info on the original report.

No movement for a couple months here, so I'm closing this PR


Query syntax not working for views

To reproduce:
(entity
 :Order
 {:Id {:type :Int :guid true}
  :OrderId :String})

(entity
 :OrderAudit
 {:InstanceId :Int
  :Timestamp :Int})

(view
 :OrderWithAudit
 {:OrderId :Order.Id
  :Timestamp :OrderAudit.Timestamp
  :query {:OrderAudit? {}
          :join [{:Order {:Id? :OrderAudit.InstanceId}}]}})

(dataflow
 :Test1
 {:Order {:OrderId "order-a" :Id 10}}
 {:Order {:OrderId "order-a" :Id 20}}
 {:Order {:OrderId "order-a" :Id 30}}
 {:OrderAudit {:InstanceId 10 :Timestamp 100}}
 {:OrderAudit {:InstanceId 20 :Timestamp 200}}
 {:OrderAudit {:InstanceId 30 :Timestamp 300}}
 {:OrderAudit
  {:Timestamp?
   [:and
    [:> 0]
    [:< 1000]]}})

It should have returned all OrderWithAudit but it returns this instead:
[
    {
        "status": "not-found",
        "result": [
            "Chat",
            "OrderWithAudit"
        ],
        "message": null
    }
]

Simpler patterns also fail:
{:OrderWithAudit
  {:Timestamp? 100}}

However, it works perfectly with normal entities (that are not views) like:
 {:OrderAudit
  {:Timestamp?
   [:and
    [:> 0]
    [:< 1000]]}}

@muazzam0x48 A view is basically a query, so the only pattern you an execute against it is
{:OrderWithAudit? {}}

or the LookupAll_OrderWithAudit event.


How to attach videos to allure reporter??

Hi , I am able to get the reporter and all the attachments, screenshots.
I am struggling to attach videos to the reporter.
Can you please let me know if you have tried this??
Thanks

I did not. I think this issue is more appropriate in the allure repo.

Hey @samplehub To attach the screenshots with allure report, you need to attach them to cucumber basic report.
Consider allure a wrapper over cucumber, reading the cucumber generated results. If you are able to do so, allure will auto pull the screenshots.

@Tallyb You can fix this by implementing the above in your code. Not an issue with allure for sure.

@goyalvipul  - can you make a PR?


No invitation mail sent when creating new user

Describe the Bug
When I create a new user and choose to send a mail invitation, nothing is sent.
Mail parameters are most likely correctly set : the test email in settings works fine.
I've tried activating APP_DEBUG=true and APP_ENV=development to get additional info, but nothing in laravel.log or in apache error's log.
I've also tried just allowing registration (& email confirmation), and creating an account via /register, but it's the same : no confirmation mail sent.
Steps to Reproduce
Either creation from the admin interface :

Go to settings > users
Create a new user with a valid mail
Check the case "Send invitation mail"
Create the user

-> No mail is received, but I can see the user in the user list
Or registering :

Go to login page
Click on "No account ?"
Create an account

-> No mail is received, but I can see the user in the user list
Expected Behaviour
The user receive a mail
Screenshots or Additional Context
I'm using solidnerd's docker image. To make sure this is not an issue with the docker image (e.g error messages not beeing correctly forwarded to docker or w/e), I've made sure that I can see error_log message (I used the LOG_FAILED_LOGIN_MESSAGE option), and that laravel.log can be written (I forced a PHP error, and it was appearing in the log).
My .env is relatively standard, here's a diff (redacted for secrets, obviously) with .env.example.complete :
--- .env.example.complete	2024-03-27 16:58:49.907858890 +0000
+++ .env	2024-03-27 16:59:27.331209812 +0000
@@ -1,3 +1,13 @@
+## MYSQL parameters
+MYSQL_ROOT_PASSWORD=XX
+MYSQL_DATABASE=XX
+MYSQL_USER=XX
+MYSQL_PASSWORD=XX
+## Docker image tags
+BOOKSTACK_IMAGE_TAG=solidnerd/bookstack:24.2.2
+BOOKSTACK_MARIADB_IMAGE_TAG=mysql:8.2
+
+## Bookstack .env
 # Full list of environment variables that can be used with BookStack.
 # Selectively copy these to your '.env' file as required.
 # Each option is shown with it's default value.
@@ -9,27 +19,27 @@

 # Application environment
 # Can be 'production', 'development', 'testing' or 'demo'
-APP_ENV=production
+APP_ENV=development

 # Enable debug mode
 # Shows advanced debug information and errors.
 # CAN EXPOSE OTHER VARIABLES, LEAVE DISABLED
-APP_DEBUG=false
+APP_DEBUG=true

 # Application key
 # Used for encryption where needed.
 # Run `php artisan key:generate` to generate a valid key.
-APP_KEY=SomeRandomString
+APP_KEY=XXX

 # Application URL
 # This must be the root URL that you want to host BookStack on.
 # All URL's in BookStack will be generated using this value.
-APP_URL=https://example.com
+APP_URL=https://bibliotech.cemea.org

 # Application default language
 # The default language choice to show.
 # May be overridden by user-preference or visitor browser settings.
-APP_LANG=en
+APP_LANG=fr

 # Auto-detect language for public visitors.
 # Uses browser-sent headers to infer a language.
@@ -39,7 +49,7 @@
 # Application timezone
 # Used where dates are displayed such as on exported content.
 # Valid timezone values can be found here: https://www.php.net/manual/en/timezones.php
-APP_TIMEZONE=UTC
+APP_TIMEZONE=Europe/PAris

 # Application theme
 # Used to specific a themes/<APP_THEME> folder where BookStack UI
@@ -56,30 +66,30 @@

 # Database details
 # Host can contain a port (localhost:3306) or a separate DB_PORT option can be used.
-DB_HOST=localhost
+DB_HOST=db
 DB_PORT=3306
-DB_DATABASE=database_database
-DB_USERNAME=database_username
-DB_PASSWORD=database_user_password
+DB_DATABASE=${MYSQL_DATABASE}
+DB_USERNAME=${MYSQL_USER}
+DB_PASSWORD=${MYSQL_PASSWORD}

 # MySQL specific connection options
 # Path to Certificate Authority (CA) certificate file for your MySQL instance.
 # When this option is used host name identity verification will be performed
 # which checks the hostname, used by the client, against names within the
 # certificate itself (Common Name or Subject Alternative Name).
-MYSQL_ATTR_SSL_CA="/path/to/ca.pem"
+#MYSQL_ATTR_SSL_CA="/path/to/ca.pem"

 # Mail configuration
 # Refer to https://www.bookstackapp.com/docs/admin/email-webhooks/#email-configuration
 MAIL_DRIVER=smtp
<EMAIL_ADDRESS>-MAIL_FROM_NAME=BookStack
<EMAIL_ADDRESS>+MAIL_FROM_NAME=Bibliotech Ceméa

-MAIL_HOST=localhost
-MAIL_PORT=587
-MAIL_USERNAME=null
-MAIL_PASSWORD=null
-MAIL_ENCRYPTION=null
+MAIL_HOST=smtp.eu.mailgun.org
+MAIL_PORT=465
+MAIL_USERNAME=XXX
+MAIL_PASSWORD=XXX
+MAIL_ENCRYPTION=tls
 MAIL_VERIFY_SSL=true

 MAIL_SENDMAIL_COMMAND="/usr/sbin/sendmail -bs"
@@ -112,7 +122,7 @@

 # Queue driver to use
 # Can be 'sync', 'database' or 'redis'
-QUEUE_CONNECTION=sync
+QUEUE_CONNECTION=database

 # Storage system to use
 # Can be 'local', 'local_secure' or 's3'
@@ -277,7 +287,7 @@

 # Disable default third-party services such as Gravatar and Draw.IO
 # Service-specific options will override this option
-DISABLE_EXTERNAL_SERVICES=false
+DISABLE_EXTERNAL_SERVICES=true

 # Use custom avatar service, Sets fetch URL
 # Possible placeholders: ${hash} ${size} ${email}
@@ -339,7 +349,7 @@
 # Can be 'true', 'false' or 'null'.
 # The behaviour of the default 'null' option will depend on the 'app-public' admin setting.
 # Contents of the robots.txt file can be overridden, making this option obsolete.
-ALLOW_ROBOTS=null
+ALLOW_ROBOTS=false

 # Allow server-side fetches to be performed to potentially unknown
 # and user-provided locations. Primarily used in exports when loading
@@ -358,7 +368,7 @@
 # Can be set to a lone "*" to allow all sources for iframe content (Not advised).
 # Defaults to a set of common services.
 # Current host and source for the "DRAWIO" setting will be auto-appended to the sources configured.
-ALLOWED_IFRAME_SOURCES="https://*.draw.io https://*.youtube.com https://*.youtube-nocookie.com https://*.vimeo.com"
+ALLOWED_IFRAME_SOURCES="https://*.draw.io https://*.youtube.com https://*.youtube-nocookie.com https://*.vimeo.com https://*.cemea.org https://*.cemea.asso.fr"

 # A list of the sources/hostnames that can be reached by application SSR calls.
 # This is used wherever users can provide URLs/hosts in-platform, like for webhooks.
@@ -381,7 +391,7 @@
 # results in messages being output to the webserver error logs.
 # The message can contain a %u parameter which will be replaced with the login
 # user identifier (Username or email).
-LOG_FAILED_LOGIN_MESSAGE=false
+LOG_FAILED_LOGIN_MESSAGE="Failed login for %u"
 LOG_FAILED_LOGIN_CHANNEL=errorlog_plain_webserver

 # Alter the precision of IP addresses stored by BookStack.

Browser Details
Firefox 124.0.1 on Linux mint
Exact BookStack Version
24.2.2

Since you've set QUEUE_CONNECTION=database, I'm guessing all the emails are getting queued up but you have no active process to watch/process the queue.
Comment out that option and see if things start working.
There's a mail test action in the "Settings > Maintenance" area of the application.


endpoint: Remove stale comment

Remove TODO comment left over from a PR review.
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>

This change is

Coverage increased (+0.01%) to 41.837% when pulling b44a4de8e6c7c02e811c3a9c7d7988a8097a055d on pr/jrajahalme/remove-stale-comment into be3353fe52cfe31172c38b58b3d091d2fea53d12 on master.


[Question] What to expect in a network split?

I'd like the documentation to provide some insight on what to expect if there is a network split, ie. some of the nodes in the cluster get isolated from the others network-wise and can continue communicating with each other but not the other partition.
Example cases:

A cluster of 3 nodes splits into partitions of 2 (A) and 1 (B) nodes. Partition A still has quorum so I'd expect it to continue working in degraded mode, but what happens in partition B? What happens when the split is healed and partition B joins partition A?

A cluster of 5 nodes splits into partitions of 2 (A), 1 (B) and 2 (C) nodes. None of the partitions have quorum. What happens during and after the split?

Longhorn is not running as a quorum system. So the network split is not a problem.
Longhorn engine only concerns about which replica it can talk to. Once the replica disconnected, Longhorn will treat the replica as stale and rebuild it based on the current connected replica once the disconnected replica connects back.
You can take a look at https://longhorn.io/docs/1.0.2/concepts/ or my video explaining how Longhorn works at https://www.youtube.com/watch?v=zJY2uxLtwUk


Not able to login as XSA_ADMIN (Running Hana Express 2.0 on AWS)

Hello,
I have been having issues while trying to login as XSA_ADMIN. I am logged in as hxeadm and trying to run following command :
xs login -s DEV -u XSA_ADMIN -p *******
at API URL prompt I am giving the URL for my system which is public DNS of AWS box. Same URL:8090 gives me the webpage which says XS services are running.
After inputting the API_URL I get following error :
FAILED: Could not connect to controller on http://XXXXXX.compute-1.amazonaws.com:30030/         errno: 111 (Connection refused), error: Connection refused (local port 48952 to address YYYYY (XXXXX.compute-1.amazonaws.com), remote port 30030 to address YYYY (XXXXX.compute-1.amazonaws.com))
XXXXX -> static IP of AWS box
YYYYY -> internal IP on AWS
I have checked the rules and port 30030 is open same as all the ports(eg 8090) .

Is your server installed as instance 00 or instance 90? The default for HANA, express edition is 90. If that is the case, can you try using port 39030 instead of 30030?

I am using HANA Express 2.0 and default instance is 90. I will give 39030 a try in a bit. But when I put API_URL without any port after xs login command its being defaulted to 30030 by HANA it self, that makes me think it should be 30030 only. I will still give it a try and let you know how it goes :) Thanks !

when I tried by specifying 39030 port at API_URL prompt it gave me a SSL connection error.
`Could not connect to controller on http://XXXXXX.compute-1.amazonaws.com:39030
Trying https...

FAILED: SSL connection error (supposedly untrusted connection, check the certificates)'

I have opened up the ports as per blog. I  opened up all the ports just for sake of it and it did not help either. I may have to go via SAP CAL route which is significantly costlier than my EC2 instance that I am using. Or may be give Hana Express 1.0 another try.

I am doing some more research on this internally. I think one of our testers may have encountered a similar error and worked around it by renaming the HANA system to use the public ip address of your AWS virtual machine. I believe they used the hdblcm rename_system command and entered the ip address as the new system name. Unfortunately, I need to confer with that engineer. I will try to do so tomorrow and get back to you.

I made some progress on this. Actually, I went back to Hana Express 1.0 and the installed everything following the manual. Most of it went ok. But accessing services is still fickle. Sometimes access is still denied for XSA_ADMIN login but eventually, I get in. The WebIde is still out of reach!  I think that has more to do with user provisioning than access to actual URLs. Is there a security manual which I can follow for user roles/creation? I can get in with SYSTEM user via eclipse and do some user provisioning. I must say it has been a learning experience (on linux/cloud set up if not on SAP HANA front :) )

Regarding webide, can you try logging in to the webide using XSA_DEV. And when you do so, do it in a new incognito window in Chrome to be sure that you don't pick up any cached settings. XSA_DEV has permissions for webide that XSA_ADMIN does not have.

I did a binary installation and it did not create the XSA_DEV user. I created another user by copying SYSTEM user and added developer roles (7 of them I believe). There were no webide specific roles. I found a blog by Thomas Jung where he talks about new patches on SP12 which deals with this issue. I will give it a try next.

Did you run the hxe_optimize script during the binary install. That creates the xsa_dev user.

I haven't run that script yet. I will try that again once I get back to work.

Finally some success !! I ran the script and was able to get into webide via xsa_dev. I do have one question about the webide though. I may be getting these mixed up. When I do to hxehost:53075 it takes me to a xs login page. When I login using xsa_dev I get an empty workspace folder.  On the link hxehost:8000/sap/hana/ide/editor/ I get more options like creating package/content folders etc.
Whats the difference between these two pages and whats the purpose or 53075 port link ?
hxehost:53075

hxehost:8000/sap/hana/ide/editor

Hello aj-code-synch:
the 8000 editor shows you the ide for XS classic. The 53075 editor shows you the editor for xs advanced. Here's an article explaining the differences and why we have both: http://sapinsider.wispubs.com/Assets/Articles/2016/April/SPI-A-New-Development-Platform-for-Native-SAP-HANA-Applications
Regards,
Carl

Thanks ! That explains a lot !

Hi
i have HANA express edition virtual machine , when I'm trying to set the API with port 39030 , receiving ssl error. please check snapshot , please i need support

aj-code-synch
which script you ran ?

@talalemam , for your error, have you tried adding--skip-ssl-validation ? It's not the ideal scenario but may work

Closing issue based on lack of response. please post technical questions in the community Q&A


Support for Cursor.explain method?

Is there any chance to implement/support explain() method for Cursor? In this way, one can create tests to evaluate indexes usage

Hi @domeniconappo, this seems not obvious as mongomock does not use index. Usually test data is so light that all operations are super fast so we did not implement any complex index logic (except to maintain uniques).
Ping @vmalloc, the intial author, who might have a different view on this.

@pcorpet
Ok, got it. It makes sense.
Thanks for clarification!


CAP - a system to manage work in progress and available for transcription

Census Available Report (as RAP is to FreeREG)
May be part of #112
Needed for Open Data - otherwise volunteers have to use county page on FC1, and that can lead to them contacting coord and 'signing up' without signing the transcription agreement
Update April 2021 - FC1 pages being closed, sign up now via FC2.
The CAP, however, is still needed.
Update September 2021 - CSVProc is now in place, and supporting documentation and training materials in place / in progress.
Some elements of CAP still needed.
E0 U6 S0 C 2: P8

Feedback from Coordinator Mike S:
I have had some comments about the Records pages not being up-to-date. There have been transcribers asking to work on pieces that they see on the Record pages that are not online, only to be told that the particular piece is complete and online, just not showing so.
This issue is therefore causeing some problems with transcribers. Perhaps something can be posted to the Boards to explain. (It is not within my domain).
Geoff

@geoffj-FUG What are the boards to which you refer?
I have to say this is the first time I have heard of this usage of the Records display.
Yes it is out of date. The. Report  was previously generated by fc1 as part of the monthly update which no longer runs. That report was incorrect anyway as it never reflected CVS incorporated files.
We are actively redeveloping the Records report. But not with this usage in mind. Such a requirement would be best addressed by a specific action.

Kirk
A lot of transcribers were aware that the system listed every piece that was
on line, and therefore every piece that was not.
Some Coordinators let transcribers choose their pieces from the list of
unpublished pieces.
Given the number of pieces in the pipeline and not on the list I never used
it for that purpose.
I suggested that the issue be addressed in a message to the Transcribers
Board in order to point out that the system is FC1 based and therefore
becoming less and less useful into the future.
Geoff
From: Kirk Dawson @.>
Sent: Sunday, September 5, 2021 2:53 AM
To: FreeUKGen/FreeCENMigration @.>
Cc: geoffj-FUG @.>; Mention
@.>
Subject: Re: [FreeUKGen/FreeCENMigration] CAP - a system to manage work in
progress and available for transcription (#141)
@geoffj-FUG https://github.com/geoffj-FUG  What are the boards to which
you refer?
I have to say this is the first time I have heard of this usage of the
Records display.
Yes it is out of date. The. Report was previously generated by fc1 as part
of the monthly update which no longer runs. That report was incorrect anyway
as it never reflected CVS incorporated files.
We are actively redeveloping the Records report. But not with this usage in
mind. Such a requirement would be best addressed by a specific action.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/FreeUKGen/FreeCENMigration/issues/141#issuecomment-91300
4277> , or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AKCPIFNTMF4TXR3POBZVVNDUA
JFG3ANCNFSM4CRQFL3Q> .
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&m
t=8&pt=524675>  or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=u
tm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>
.
<https://github.com/notifications/beacon/AKCPIFKCFPL2X5KUOX2DCKTUAJFG3A5CNFS
M4CRQFL32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGZVVN5I
.gif>

<https://home.mcafee.com/utm_medium=email&utm_source=link&utm_campaign=sig-e
mail&utm_content=emailclient?utm_medium=email&utm_source=link&utm_campaign=s
ig-email&utm_content=emailclient>
Scanned by McAfee
<https://home.mcafee.com/utm_medium=email&utm_source=link&utm_campaign=sig-e
mail&utm_content=emailclient?utm_medium=email&utm_source=link&utm_campaign=s
ig-email&utm_content=emailclient>  and confirmed virus-free.

Fine. But who can do that? I cannot.
On Sun, Sep 5, 2021, 4:58 AM geoffj-FUG @.***> wrote:

Kirk
A lot of transcribers were aware that the system listed every piece that
was
on line, and therefore every piece that was not.
Some Coordinators let transcribers choose their pieces from the list of
unpublished pieces.
Given the number of pieces in the pipeline and not on the list I never used
it for that purpose.
I suggested that the issue be addressed in a message to the Transcribers
Board in order to point out that the system is FC1 based and therefore
becoming less and less useful into the future.
Geoff
From: Kirk Dawson @.>
Sent: Sunday, September 5, 2021 2:53 AM
To: FreeUKGen/FreeCENMigration @.>
Cc: geoffj-FUG @.>; Mention
@.>
Subject: Re: [FreeUKGen/FreeCENMigration] CAP - a system to manage work in
progress and available for transcription (#141)
@geoffj-FUG https://github.com/geoffj-FUG What are the boards to which
you refer?
I have to say this is the first time I have heard of this usage of the
Records display.
Yes it is out of date. The. Report was previously generated by fc1 as part
of the monthly update which no longer runs. That report was incorrect
anyway
as it never reflected CVS incorporated files.
We are actively redeveloping the Records report. But not with this usage in
mind. Such a requirement would be best addressed by a specific action.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/FreeUKGen/FreeCENMigration/issues/141#issuecomment-91300
4277> , or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AKCPIFNTMF4TXR3POBZVVNDUA
JFG3ANCNFSM4CRQFL3Q> .

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/FreeUKGen/FreeCENMigration/issues/141#issuecomment-913130629,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAV52RTRAZKVWWRR6XCVCJLUANEORANCNFSM4CRQFL3Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Transcribers check CEN1 list monthly to see if their files are there. Sadly not, since April, although Transcribers' help still states:
"Next, your file is uploaded to the FreeCEN Database on the original FreeCEN site (FreeCEN1): the database there is updated once every four weeks"

Will do.
I think it would be helpful to both us and the other volunteers if we could either close this story (if a duplicate) or turn it into an Epic and make any needed stories (this story is not about FreeCEN1).

To discuss in next Committee meeting


rename env-vars

fixes #224

The system test can currently not succeed because the stable images are incompatible with these changes.
I recreated it locally though and it worked. So with the next stable update they should work again.


fixes broken link on documentation page

it fixes a broken link on documentation page and updates AUTHORS.

Thanks @iamprakashom! :sparkles: :cake: :sparkles:

Thank you  very much @Lukasa  for merging my PR. :smile:


bug(client/qbit): Check for subfolder when linking and properly set category

Needed to add isSubfolderContentLayout() to interface but all other clients just return false.

we couldn't isolate this logic into getDownloadDir?

we couldn't isolate this logic into getDownloadDir?

Yes... I didn't see the new logic

we couldn't isolate this logic into getDownloadDir?

Yes... I didn't see the new logic

I extracted a bunch of shit, getDownloadDir should be able to handle this, just fix the referencing/branches a bit.


Issue #60: Need to use the nonProxyHosts from the maven settings

Split out the logic for getting a handle to the proxy and investigate for the wsdlURL being present in the nonProxyHosts before adding the command line arg

I have decided to close this PR for several unrelated changes:

Auth information for proxy is an unrelated change
Matching the WSDL URL against the current proxy is shortsighted. How do you know what includes are in the schema files? You don't.

Feel free to provide another PR for the first issue.

The auth information for the proxy is optional and the standard way to pass authentication information along with a proxy string.
I don't understand what you're trying to say.

Though, your statement is correct, the change is still unrelated to nonProxyHosts.
You cannot use regex matching at code time because the proxy is required for XSD includes and others discovered at runtime.

So you're ok with the change, but want it in a separate PR?
Have you got an example of this I can use to test?

Yes, that is correct.

Here is a sample with xmime namespace:
 <xs:element name="UploadNamedReference">
         <xs:complexType>
                 <xs:simpleContent>
                         <xs:extension base="xs:base64Binary"
                                 xmime:expectedContentTypes="*/*">
                                 <xs:attribute name="datasetUid" type="common:uid" use="required" />
                                 <xs:attribute name="filename" type="common:filename" use="required" />
                         </xs:extension>
                 </xs:simpleContent>
         </xs:complexType>
 </xs:element>

The xmine will cause an external schema to fetch: the autogenerated schema at runtime will contain:
<xs:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/>


Add margin props

FormControl has useful props - margin, let's add into wrapper
https://material-ui.com/api/form-control/#props

sry i would like to take back my review :D there are missing props, and bad prop-drilling bcs it never comes down to input from index so


How can we get the french version of revit to work?

With spring errorreport.parse in french version of revit

Do you mind posting an example error report in french?

here it os
2018-03-12 3:03 GMT-04:00 Dimitar Venkov<EMAIL_ADDRESS>
Do you mind posting an example error report in french?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dimven/SpringNodes/issues/43#issuecomment-372211107,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjjGOa6saxrLtkakUR8fm1LSxXNlh3uEks5tdh3GgaJpZM4Sl1fz
.

Je crois que tu as oublie l'image :)
I think you forgot the attachement :)

Here it is[
OLIV-BÂTIMENT-A.txt
](url)

OLIV-BÂTIMENT-A.txt
Et voilla

et voila

Try a slightly revised version:
ErrorReport.Parse.zip


Add option to size all columns to fit in the details layout

I'm Divanshu, fresher, and i wish to contribute to this good first issue, can any moderator pls help me on how to start?? Or from where and  how to learn the relevant skills

@GargDivanshu here is a good starting point, I recommend going over the documentation on UWP as it has a number of examples of the different apis https://docs.microsoft.com/en-us/windows/uwp/.

I would like to work on this issue too.

I would like to work on this issue too.

@destrex271 I assigned you the issue.
@GargDivanshu let me know if you'd like a different issue that might be a little easier to start with.

I would like to work on this issue too.

@destrex271 I assigned you the issue.
@GargDivanshu let me know if you'd like a different issue that might be a little easier to start with.

@yaichenbaum I am extremely sorry but I am unable to figure out the correct method to solve this issue.

@yaichenbaum I went through the link regarding UWP, but it's a sincere request to assign some easier issue to start with. Also pls tell what prerequisite should I cover to contribute in better way.

@GargDivanshu do you want to try #8021? It requires finding a good icon to use and replacing the existing one that doesn't work.

@yaichenbaum ya means for now i just have to find a relevant icon?? Or will I have to add that icon on required area? If yes, then do guide me on how to implement

@yaichenbaum  do we need this functionality to be as a menu bar option or is a keyboard shortcut enough?

@yaichenbaum do we need this functionality to be as a menu bar option or is a keyboard shortcut enough?

A menu option is required but a keyboard shortcut can be added as well, do you have one in mind?

@yaichenbaum  yes I do have one, currently I was just figuring out the grid view that has been used for the details view.

I am unable to resolve the issue. I am extremely sorry, kindly assign it to someone else.


Astor: there are actually multiple modes, add support for JMutRepair

Astor is a repair framework with multiple techniques.
It means that:

[ ] AstorRepair should be called Astor<Mode>Repair, eg AstorJGenProgRepair (we also need to change the prefix in the email)
[ ] add AstorJMutRepairRepair for jMutrepair.
[ ] add AstorJKaliRepair for jKali.

In order to achieve this task properly, is there identified test cases in Nopol for each repair techniques? Or is it each time the same case used?
Could you point me out the test case(s) I can use @martinezmatias?

Do you mean in Astor?

Yes I mean to point out the current test cases in Astor for me to take them back and put them in repairnator.

Hi @surli
You can find a test case here:
https://github.com/SpoonLabs/astor/blob/master/src/test/java/fr/inria/astor/test/repair/approaches/MutRepairTest.java#L27

So I assume it's for JMutRepair, and another one for JKali?

For jKali those tests:
https://github.com/SpoonLabs/astor/blob/master/src/test/java/fr/inria/astor/test/repair/approaches/jKaliTest.java#L32

Great. Thanks @martinezmatias :)


Cannot use sudo write

https://github.com/ayamir/nvimdots/blob/fc1857b3c22e1129aa891dc860f5b3319f2e8a4c/lua/core/mapping.lua#L10-L13
This keymap does not work for me, what magic is used here to bypass https://github.com/neovim/neovim/issues/1716

I have been using suda.nvim in the past (and currently), so this issue has not caused me much trouble, but I am curious if I am the only one facing this problem.

I never try to force write a file with sudo before, will try if I got time.

It should be:
["c|w!!"] = map_cmd("execute 'silent! write !sudo tee % >/dev/null' <bar> edit!"):with_desc("editn: Save file using sudo"),

before. It works.

It should be:
["c|w!!"] = map_cmd("execute 'silent! write !sudo tee % >/dev/null' <bar> edit!"):with_desc("editn: Save file using sudo"),

before. It works. I can revert it if ok.

That doesn't ask for password for me

Yes, I set NOPASSWD for me lol.


cmd/go: clarify error for invalid proxy responses

What version of Go are you using (go version)?

$ go version
go version go1.14.2 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/hennadii/Library/Caches/go-build"
GOENV="/Users/hennadii/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=
GOOS="darwin"
GOPATH="/Users/hennadii/code/golang"
GOPRIVATE=""
GOPROXY=
GOROOT="/usr/local/Cellar/go/1.14.2_1/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.2_1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/2j/23_h2scj481d4l34mjxwpsyr0000gn/T/go-build221808420=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Originally, tried to install tools in VS Code, but later narrowed it down to installing this package
go get rsc.io/quote
(in module, not on GOPATH)
I do have GOPROXY pointing at 'private' server, and I get the error when that server is not reachable due to networking. Go commands start working again as expected when connectivity is restored
What did you expect to see?
Some error hinting at problems with proxy accessibility
What did you see instead?
go get rsc.io/quote: module rsc.io/quote: invalid character 'e' looking for beginning of value

@bcmills @jayconrod @matloob

I couldn't reproduce this.  It wasn't included in the go env output. Could you tell us more about the proxy itself, too?
The string looking for beginning of value appears in encoding/json. Just taking a wild guess, the proxy may have served invalid JSON on the<EMAIL_ADDRESS>or $module/@latest endpoints.

Right, I specifically cut off GOPROXY settings as it contains a reference to 'private' goproxy based on athens, and I'd rather not post it on public issue tracker :sorry:
To add to my setup: there's this Athens instance, which is on internal network, and my GOPROXY points to it via some subdomain. When I am not on VPN these days, I get the error I described above. However, now that I pinged the proxy, it looks like it is reachable, it might be I get some 'other' response from athens while not on VPN

Okay, having done a few more experiments, I seems to understand more why i can see that 'e' letter in the error. So, under those circumstance when I am not on vpn, what server responses to 'rsc.io/quote/@v/list/ not with html containing list of available versions, but with some dummy text starting with 'e'.
Looks like root cause

Ok cool, I've changed the issue title to indicate we should clarify these error messages.
Out of curiosity, could you post the proxy response containing the dummy text?

HTTP/1.1 0 Unknown
content-length: 11
content-type: text/plain
date: Mon, 27 Apr 2020 16:59:09 GMT
server: envoy

empty token

I'll take a look at this issue.

I was able to reproduce it on my machine with:
$ GOPROXY=http://localhost:8000 go get rsc.io/quote
go get rsc.io/quote: module rsc.io/quote: invalid character 'x' looking for beginning of value

where server's implementation is:
#!/usr/bin/env python3
import http.server
import socketserver

class Handler(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write("x".encode())

with socketserver.TCPServer(("localhost", 8000), Handler) as httpd:
    httpd.serve_forever()

Logs from the server:
$ ./server.py
<IP_ADDRESS> - - [09/May/2020 22:30:48] "GET /rsc.io/quote/@v/list HTTP/1.1" 200 -
<IP_ADDRESS> - - [09/May/2020 22:30:48] "GET /rsc.io/@v/list HTTP/1.1" 200 -
<IP_ADDRESS> - - [09/May/2020 22:30:48] "GET /rsc.io/quote/@latest HTTP/1.1" 200 -
<IP_ADDRESS> - - [09/May/2020 22:30:48] "GET /rsc.io/@latest HTTP/1.1" 200 -

For the record, returning status code 0 as mentioned in https://github.com/golang/go/issues/38680#issuecomment-620110306 triggers other error:
$ GOPROXY=http://localhost:8000 go get rsc.io/quote
go get rsc.io/quote: module rsc.io/quote: Get "http://localhost:8000/rsc.io/quote/@v/list": net/http: HTTP/1.x transport connection broken: malformed HTTP status code "0"

I'll work on improving error messages now.


Migration guide from DataTable to TableView.builder

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
I have a Flutter project that uses a DataTable inside two SingleChildScrollViews one with the scrollDirection set to horizontal and the other to the default vertical scrollDirection.
Proposal
Now that we have the TableView widget with a TableView.builder for lazy building, I believe that it would be nice if we had a migration guide on how to best update your code to the new version of the API.

Could tell us the problem you are running into when doing this migration?

I've struggled to make it so that the table column/row takes the size of the biggest child.
The most I was able to do, was to make the line/column work like an Expanded by using FractionalTableSpanExtent inside TableSpan in both rowBuilder and columnBuilder.
But this is not exactly what I wanted because this way I'm limited to my screen size.

Looks like it's a case I'm not sure if it's common or not. If this is an issue with documentation, please file a new one for that. Instead, if you still think there should be a guideline, please be more specific about the content of the migration guide (let's refer to existing migration guides). Thanks!


Add function to calculate hit_depth

This PR fixes hit_depth calculation as mentioned in #5 , using a formula for intersection between triangle and line.
I have tested it by creating a small 3d cursor that shows the hit position, and it works great. I haven't added the cursor in this PR, it's currently just a ball and a system in the 3d_scene example. I was thinking of moving it into lib.rs and opening a new PR. Thoughts?
Here's a little gif of world coordinates working correctly with the new hit_depth:

CI is failing due to a Rust nightly download error.
I'm feeling dangerous... let's merge!


Add a Gitter chat badge to README.md

GlenKPeterson/UncleJim now has a Chat Room on Gitter
@GlenKPeterson has just created a chat room. You can visit it here: https://gitter.im/GlenKPeterson/UncleJim.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Current coverage is 73.04%

Merging #3 into master will not affect coverage as of 03dced0

@@            master      #3   diff @@
======================================
  Files           47      47
  Stmts         2515    2515
  Branches       694     694
  Methods          0       0
======================================
  Hit           1837    1837
  Partial        295     295
  Missed         383     383

Review entire Coverage Diff as of 03dced0

Powered by Codecov. Updated on successful CI builds.


(140) new book category

#140
Create new category.

@pankaj-ag please add proper status labels to let the team know about the PR's status.

@pankaj-ag Can't complete the PR review. I've asked @bohraji to take over. Assigning him as the reviewer.

@pankaj-ag Also update the base branch from develop to master. Also, see that the next PR are smaller in size.

Checked this PR :

[ ] For duplication.
[ ] For performance.
[ ] Usage of recursive methods, loops and algorithms.
[ ] For readability and understanding.
[ ] For functions with multiple responsibilities.
[ ] For scope of refactoring.
[ ] For coupling
[ ] For alternative approaches to the implementation.
[ ] For how the change impacts other parts of the system.
[ ] For validations. client side and server side validations are present.

For more insights on code reviews checkout our guidelines.


Update http4s-client, http4s-core, ... to 0.21.7

Updates

org.http4s:http4s-client
org.http4s:http4s-core
org.http4s:http4s-dsl

from 0.21.6 to 0.21.7.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch

Codecov Report

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

@@           Coverage Diff           @@
##           master      #23   +/-   ##
=======================================
  Coverage   98.07%   98.07%
=======================================
  Files           1        1
  Lines          52       52
  Branches        4        4
=======================================
  Hits           51       51
  Misses          1        1

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 8750093...93a2869. Read the comment docs.


Reservations -  Guest/B2B accounts cannot create reservations, even with "Owner" role on subscription

When trying to add a new reservation, the Azure portal displays that a user isn't an owner of the subscription, even if the user is a guest/b2b account, even if the user has the "Owner" role at that time (verified, displayed in the properties of the subscription. In this case, it was assigned via Azure PIM). The "Add" option is available and the add reservation dialogue shows, subscriptions can be selected in the dialogue, but their captions in the subscription drop down menu include a note that the user does not have owner permissions.
Only users from the same AAD tenant seem to be able to add new subscriptions if they are in the "Owner" role of the subscription.
Not sure if this is a unintended/a bug or supposed to be. In the latter case, it may help if it is added to the documentation.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9be8cdc6-1a0e-25d6-8131-a56c5c0029a5
Version Independent ID: d27499e5-c8d4-2de0-273d-09f64aec3121
Content: Manage Azure Reservations
Content Source: articles/cost-management-billing/reservations/manage-reserved-vm-instance.md
Service: cost-management-billing
Sub-service: reservations
GitHub Login: @bandersmsft
Microsoft Alias: banders

@fallmake Thanks again for bringing this to our notice, assigned this issue to our document author @bandersmsft to further review your feedback and see how we can enhance the document to clarify it.

@fallmake Thanks for letting us know about the situation. The Reservation team is looking at this issue. You're right. Only users from the same AAD tenant as the subscription can purchase the reservation. If a user is a guest of the tenant they can't make a purchase.
#please-close

Hello all, i m facing the same issue today, but the strange thing is that the same guest in other tenant and other subscription can purchase reservation without problem.