feat(Topology/Homeomorph): add result showing homeomorphisms preserve local compactness

Add a theorem Homeomorph.locallyCompactSpace that if the codomain of a homeomorphism is a locally compact space, then the domain is also a locally compact space.

Thank you for your contribution, and welcome to mathlib!
I presume your PR is ready for review - hence have labelled it awaiting-review. (Otherwise, it may slip through the cracks.) Have you seen the contribution guidelines already? They mention this fact, and a few other tips.

Note: we already have ClosedEmbedding.locallyCompactSpace and the proof could be roughly h.closedEmbedding.locallyCompactSpace. Because of that, I'm not sure it's worth adding, but it could be a nice shortcut.

Note: we already have ClosedEmbedding.locallyCompactSpace and the proof could be roughly h.closedEmbedding.locallyCompactSpace. Because of that, I'm not sure it's worth adding, but it could be a nice shortcut.

Thanks for alerting me to h.closedEmbedding.locallyCompactSpace, that was off my radar! I agree that the previous version of the result was probably not worth adding as it was just a rename of that result. I wonder if it's worth adding the revised version however, making use of both directions h.closedEmbedding and h.symm.openEmbedding to give an if and only if. It might be easier to find for someone looking directly for a homeomorphism result on locally compact spaces. Although I no longer actually need this revised version in my own project as h.closedEmbedding.locallyCompactSpace will do, so I'm happy with either decision on whether the revised one is worth adding.

Sure, that seems worth it.
bors merge


Unsupported delimiters

[x] |
[x] \vert
[x] \|
[x] \Vert
[x] \{
[x] \}
[x] \langle
[x] \rangle
[x] \lfloor
[x] \rfloor
[x] \lceil
[x] \rceil
[x] / – supported as operator but not as delimiter (after \left/\right)
[x] \backslash – supported as operator but not as delimiter (after \left/\right)
[x] [
[x] ]
[x] \Uparrow
[x] \uparrow
[x] \Downarrow
[x] \downarrow
[ ] \llcorner
[ ] \lrcorner
[ ] \ulcorner
[ ] \urcorner

The corners are not supported by Temml, and they look really bad in LaTeX (somehow they're lowered by \left/\right which is the opposite of what you'd want). So, I think this can be closed.


Add SaaS Application support

Closes #1226
Added in cloudflare-go: https://github.com/cloudflare/cloudflare-go/pull/900
I've tested in our environment which had a custom fork of the SDK previously and the plan is not showing any difference when using the new SDK. Opening a draft PR to get some feedback and I'll do more testing in the meantime.
I need a bit of help handling the domain attribute. From my research (before the doc was available), it seems that it is not required for SaaS applications and will be computed for them (eg: https://<organisation>.cloudflareaccess.com/cdn-cgi/access/sso/saml/<uuid>.
The updated documentation seems to confirm it: https://api.cloudflare.com/#access-applications-properties

@Justin-Holmes can i get your eyes on this too please?

Looks great! And you're correct @ouranos, the domain is not required for saas applications and is generated for you on creation.
Also, the custom_attributes field is not used often so I'm cool omitting that for now.

Thanks,

the domain is not required for saas applications and is generated for you on creation.

So this is the correct way then?
"domain": {
    Type:     schema.TypeString,
-     Required: true,
+     Optional: true,
+     Computed: true,
    ...
}

Let me know if you are happy with it or if it needs more change and I'll rebase/clean up/squash.

So this is the correct way then?

Computed: true is fine. Optional implies the end user is also able to set it.

So this is the correct way then?

Computed: true is fine. Optional implies the end user is also able to set it.

It's computed for SaaS apps (and returns a Cloudflare generated domain) but it's required for the other types (eg: self-hosted)

don't forget to run make docs to get the documentation updated here. you'll need to fix the tests as well now that the field is computed.

Squashed all previous commits together
Addressed the new review comments
Generated the docs

So I think the only remaining points are:

domain: it's required for self_hosted but computed for saas
acceptance tests: I only ran make test so far and I'm now trying to set up an environment to run make testacc.  We're only using Zero-Trust with Saas apps so we don't have any domains/zones set up. Looks like I can only add root domains on the free plan (we do have a paid plan for ZeroTrust). I'm going to try to set up one of our unused test domains.

if you fix these, the acceptance tests all pass

Great thanks 🙏
I've:

applied all suggested changes
cleaned up the comments regarding domain
rebased from latest master & squashed

Let me know if I need to do anything else

did you re-run make docs? that should be the only thing.

Nope 🤦♂
Done now. It fixes doc for #1792 too

cool! I'll run the acceptance tests again in the morning and we should be good, thanks!
p.s for future PRs if you check the box to allow maintainers to make changes, we can limit the back and forth as I can provide a patch within the branch for you.


add routeAfterAuthentication to the README

Also I linked to the API docs on the "configurable route" text.

My bad, I know this method of configuring routeAfterAuthentication was dropped in favor of the mixin, but now the mixin is deprecated.
So how exactly does one set routeAfterAuthentication ???
I searched the discord a bit and found someone who got it working by extending ember-simple-auth session service and overwriting the handleAuthentication() method. Is this the recommended solution?
https://discord.com/channels/480462759797063690/496695347582861334/738599436917407934
import SimpleAuthSessionService from 'ember-simple-auth/services/session';
import { inject as service } from '@ember/service';

export default class SessionService extends SimpleAuthSessionService {
    /**
     * Inject the router service
     *
     * @var {Service}
     */
    @service router;

    /**
     * Inject the current user service
     *
     * @var {Service}
     */
    @service currentUser;

    /**
     * Overwrite the handle authentication method
     *
     * @var {Service}
     */
    handleAuthentication() {
        this.router.transitionTo('dashboard.boards');
        this.loadCurrentUser();
    }

    /**
     * Loads the current authenticated user
     *
     * @void
     */
    async loadCurrentUser() {
        try {
            const user = await this.currentUser.load();
            return user;
        } catch (err) {
            await this.session.invalidate();
        }
    }
}

Yes, what you found is the recommended solution +1

All right thanks in that case I will add some docs for that in another PR. :ok_person:


[DOCS] Enhance README with Contributors Section

Description
The README file serves as a crucial source of information for our project. To foster transparency and acknowledge the valuable contributions from our team members and collaborators, we should add a dedicated "Contributors" section to the README. This small but meaningful addition reflects our commitment to open collaboration and transparency.
Expected Behavior
To have a final section in the README with contributors.
Actual Behavior
Nowadays, it shows about contributing and doesn't show about the contributors. It would be good to show the people who helped with the project.
Screenshots (if applicable)
N/A
Additional Information
N/A

Please, assign to me if possible.

I resolved here https://github.com/Vijaykv5/Image-Searcher/pull/51

Cool Thanks for your contribution 🚀


Add more metrics

precision@k
recall@k
AUC

As per https://github.com/maciejkula/spotlight/issues/55

@mkarakaya,
You should contribute your idea! Here are my thoughts having helped out in the past on spotlight evaluation metrics:

Yes prec-recall is fine
Of course
I asked the same question, and @maciejkula's response was as you guess -- an array. Personally, I would not be opposed to a single result however, in the case that integrating tons of AUCs were slow and could be sped up somehow by aggregating first.
Sure

Also, have you considered a confusion matrix or at least F1-score?
Good luck!


Why we need to define structure of database TWICE?

Why we need to define structure of database TWICE?

Migrations folder: /migrations/XXXXXXX_modelname.js
Models folder: /models/modelname.js

It's kind of weird, no?

I may be a little off with the answer, but here it goes.
The model is used to represent the table as an object.
A migration is used to transition the database state, so if you add or remove something from your model you can run a migration and it will update the database. You can also undo migrations to return to a previous state, so say you needed to undo the change you made you could undo that migration and return to the previous instance of your database state.
Does this make sense or help?

@kjloveless In other frameworks (such as Express, Adonis, Laravel) we not need to define structure twice. Usually done only migration (DB schema), but in model file dont specify structure. And this is comfortable for development - structure defined in one file.

@Webman I'm not sure I follow exactly what you're trying to get at honestly... You can think of the model as the object that you are going to get back from your database and the migration is simply a log of changes applied to your database. So you're really defining the structure of a table with the migration and of an object with the model... Does that make sense?
[https://laracasts.com/discuss/channels/laravel/the-difference-between-a-model-and-a-migration](Maybe this link will help?)
I do think it would be nice however if the migration files would be able to be generated based off the corresponding model file, but people has made additional libraries to solve this as well already. This would probably get rid of your feeling of defining things twice..
In summary, they're two separate thing...

I advocate this example repository being explicit in showing migration structure, but perhaps it could also give an example of how to skip the migrations and use sync.

Another thing to consider is that generating a model with --attributes allows you to define the structure once, generating the model and migration. Edits would then require defining the same information twice though.

Tracking issue for this is basically here: https://github.com/sequelize/sequelize/issues/5213

After more experience with Sequelize and another ORMs I understand a lot of things in development and deploying projects.
This is not issue, it is absolutely normal - defining structure in model and create few migrations for updating database structure through time.
I think current issue may be closed.

Hi everyone, thanks for raising this issue, sorry to take so long to give you more attention. I believe this is a common question, I will try to improve the docs on this at some time, but a short answer is as follows.
Models are the main thing. The feature of migrations exist for version-controlling the state of your database; migrations are not mandatory. One can start to use migrations long after the database is already running, even in production. The duplicated structure that could be seen in the old example was caused by the decision of applying migrations since the very beginning, representing the state change from 'database does not even exist' to 'now database exists with these tables'. In my opinion, this is not very useful. What I would recommend is to just set up the database without migrations, and start using migrations only after your service is already running in production and you have to change something.
Feel free to ask me any further questions :grin:


Filter jobs that are over quota out of /queue endpoint

Changes proposed in this PR

Filter jobs out of the /queue endpoint that will exceed the user's quota

Why are we making these changes?
This prevents users that submit a large number of jobs outside their quota from clogging up the /queue output.

Build is red

Green again :) ✔


Equations: do all unification at start-up

Fixes #3188
Tested performance of https://github.com/runtimeverification/haskell-backend/issues/3182#issuecomment-1205482619, observed a 10x improvement!
Ran a part of the KEVM test suite locally, there don't seem to be any functional regressions. Didn't compare performance.
Scope:

simplify the argument and antiLeft of equations at initialization, removing the cost of doing that during every attempt to apply equations
after processing the equations, they are all applied using the matching procedure
adds support for testing this pre-processing of equations, removes tests which tested applying equations using unification

Estimate:

Review checklist
The author performs the actions on the checklist. The reviewer evaluates the work and checks the boxes as they are completed.

[ ] Summary. Write a summary of the changes. Explain what you did to fix the issue, and why you did it. Present the changes in a logical order. Instead of writing a summary in the pull request, you may push a clean Git history.
[ ] Documentation. Write documentation for new functions. Update documentation for functions that changed, or complete documentation where it is missing.
[ ] Tests. Write unit tests for every change. Write the unit tests that were missing before the changes. Include any examples from the reported issue as integration tests.
[ ] Clean up. The changes are already clean. Clean up anything near the changes that you noticed while working. This does not mean only spatially near the changes, but logically near: any code that interacts with the changes!

KEVM performance:
* 43e3e7113 - !!! (22232ca31b) deps/k: 22232ca31b - !!! (origin/fix-equation-unification) haskell-backend/src/main/native/haskell-
| 0  4066.12s  24983.45s  680.35s  6872348KB  make  test-prove        TEST_SYMBOLIC_BACKEND=haskell  KEVM='profile  .build/logs/prove-haskell     timeout  5000  kevm'  -j6  -k  KPROVE_OPTS='--bug-report'

* 82576bc98 - Storage tests new (#1319)                                                        - Raoul (upstream/master)
| 0  4157.74s  22508.85s  507.57s  3965760KB  make  test-prove        TEST_SYMBOLIC_BACKEND=haskell  KEVM='profile  .build/logs/prove-haskell     timeout  5000  kevm'  -j6  -k  KPROVE_OPTS='--bug-report'
| post: commit=$(git rev-parse --short=8 HEAD) && mkdir -p logs/${commit} && rm -rf logs/${commit}/profile && mv .build/logs logs/${commit}/profile && mv kevm-bug-*.tar.gz logs/${commit}/profile

Before 4157s, after 4066s (overall time, 6 tests in parallel).
Individual test breakdown:
 Test                                            | 43e3e711-prove-haskell time | b9580ca4-prove-haskell time | (43e3e711-prove-haskell/b9580ca4-prove-haskell) time
-------------------------------------------------+-----------------------------+-----------------------------+------------------------------------------------------
 specs/functional/storageRoot-spec.k             | 32.33                       | 36.08                       | 0.8960643015521065
 specs/examples/solidity-code-spec.md            | 178.07                      | 193.89                      | 0.9184073443705194
 specs/mcd/flipper-addu48u48-fail-rough-spec.k   | 96.5                        | 104.95                      | 0.9194854692710814
 specs/bihu/forwardToHotWallet-failure-3-spec.k  | 320.88                      | 348.65                      | 0.9203499211243368
 specs/benchmarks/keccak00-spec.k                | 231.87                      | 251.54                      | 0.9218017015186452
 erc20/ds/balanceOf-spec.k                       | 189.38                      | 205.36                      | 0.922185430463576
 specs/bihu/forwardToHotWallet-failure-4-spec.k  | 551.87                      | 597.64                      | 0.9234154340405596
 specs/benchmarks/requires01-a0gt0-spec.k        | 136.86                      | 148.12                      | 0.9239805563056982
 specs/benchmarks/encodepacked-keccak01-spec.k   | 190.46                      | 206.01                      | 0.9245182272705209
 specs/bihu/forwardToHotWallet-failure-2-spec.k  | 291.86                      | 315.46                      | 0.9251886134533698
 erc20/ds/approve-failure-spec.k                 | 114.35                      | 123.56                      | 0.9254613143412107
 specs/benchmarks/storagevar02-nooverflow-spec.k | 121.49                      | 131.23                      | 0.925779166349158
 erc20/hkg/totalSupply-spec.k                    | 44.19                       | 47.72                       | 0.9260268231349539
 erc20/ds/transfer-failure-2-a-spec.k            | 539.21                      | 581.48                      | 0.9273061842195777
 specs/mcd/vat-mului-pass-spec.k                 | 273.67                      | 294.99                      | 0.927726363605546
 specs/mcd/dai-symbol-pass-spec.k                | 227.92                      | 245.64                      | 0.9278619117407588
 specs/mcd/cat-file-addr-pass-rough-spec.k       | 247.52                      | 266.56                      | 0.9285714285714286
 specs/benchmarks/overflow00-overflow-spec.k     | 134.51                      | 144.84                      | 0.9286799226732946
 specs/benchmarks/encode-keccak00-spec.k         | 373.9                       | 402.34                      | 0.929313515931799
 specs/mcd/end-subuu-pass-spec.k                 | 138.72                      | 149.17                      | 0.9299456995374406
 specs/benchmarks/overflow00-nooverflow-spec.k   | 140.4                       | 150.82                      | 0.9309110197586528
 erc20/hkg/balanceOf-spec.k                      | 99.87                       | 107.21                      | 0.9315362372912975
 specs/mcd/flopper-cage-pass-spec.k              | 245.05                      | 262.95                      | 0.931926221715155
 specs/benchmarks/staticarray00-spec.k           | 190.31                      | 204.15                      | 0.9322067107518981
 specs/mcd/flipper-tau-pass-spec.k               | 161.19                      | 172.89                      | 0.9323269130661115
 specs/benchmarks/ecrecover00-siginvalid-spec.k  | 296.22                      | 317.52                      | 0.9329176114890402
 specs/mcd/vat-subui-pass-rough-spec.k           | 371.03                      | 397.7                       | 0.932939401558964
 specs/benchmarks/staticloop00-a0lt10-spec.k     | 244.07                      | 261.41                      | 0.9336674189969778
 erc20/ds/totalSupply-spec.k                     | 115.12                      | 123.28                      | 0.9338092147955873
 specs/functional/lemmas-spec.k                  | 24.75                       | 26.5                        | 0.9339622641509434
 specs/mcd/dai-adduu-fail-rough-spec.k           | 78.13                       | 83.61                       | 0.9344576007654586
 specs/mcd/flipper-ttl-pass-spec.k               | 159.06                      | 170.14                      | 0.934877159985894
 specs/mcd/dsvalue-peek-pass-rough-spec.k        | 308.08                      | 329.28                      | 0.935617103984451
 specs/benchmarks/requires01-a0le0-spec.k        | 102.02                      | 109.03                      | 0.9357057690543886
 specs/mcd/vat-subui-fail-rough-spec.k           | 268.94                      | 287.35                      | 0.9359317904993909
 erc20/ds/transferFrom-failure-1-d-spec.k        | 448.11                      | 478.67                      | 0.9361564334510205
 erc20/ds/transferFrom-failure-2-c-spec.k        | 295.68                      | 315.5                       | 0.9371790808240887
 specs/mcd/dsvalue-read-pass-summarize-spec.k    | 146.38                      | 156.17                      | 0.9373119036946918
 specs/mcd/cat-exhaustiveness-spec.k             | 156.83                      | 167.28                      | 0.9375298900047825
 erc20/ds/allowance-spec.k                       | 285.95                      | 304.91                      | 0.9378177167032894
 erc20/ds/transfer-failure-1-c-spec.k            | 380.33                      | 405.53                      | 0.9378590979705571
 specs/benchmarks/storagevar00-spec.k            | 100.72                      | 107.39                      | 0.9378899338858366
 erc20/hkg/allowance-spec.k                      | 135.05                      | 143.99                      | 0.9379123550246545
 erc20/ds/approve-success-spec.k                 | 509.43                      | 542.88                      | 0.9383841732979664
 erc20/hkg/transfer-failure-2-spec.k             | 186.17                      | 198.38                      | 0.9384514568000806
 specs/mcd/vat-deny-diff-fail-rough-spec.k       | 451.55                      | 480.73                      | 0.9393006469327897
 specs/benchmarks/ecrecover00-sigvalid-spec.k    | 378.72                      | 403.11                      | 0.9394954230855102
 specs/mcd/vat-addui-fail-rough-spec.k           | 269.08                      | 286.12                      | 0.9404445687124283
 erc20/ds/transfer-failure-2-b-spec.k            | 271.19                      | 288.11                      | 0.9412724306688417
 specs/mcd/vat-subui-pass-spec.k                 | 378.36                      | 401.85                      | 0.941545352743561
 specs/benchmarks/functional-spec.k              | 42.3                        | 44.87                       | 0.9427234232226431
 specs/mcd/dsvalue-read-pass-spec.k              | 332.15                      | 352.09                      | 0.9433667528188815
 erc20/hkg/approve-spec.k                        | 169.54                      | 179.5                       | 0.9445125348189415
 specs/benchmarks/storagevar01-spec.k            | 112.2                       | 118.79                      | 0.9445239498274265
 specs/mcd/vow-flog-fail-rough-spec.k            | 398.12                      | 421.45                      | 0.9446434927037609
 specs/bihu/forwardToHotWallet-failure-1-spec.k  | 214.41                      | 226.77                      | 0.94549543590422
 specs/benchmarks/storagevar02-overflow-spec.k   | 118.25                      | 124.96                      | 0.9463028169014085
 specs/benchmarks/bytes00-spec.k                 | 220.02                      | 232.25                      | 0.9473412271259419
 specs/mcd/vat-move-diff-rough-spec.k            | 806.67                      | 850.53                      | 0.9484321540686396
 erc20/hkg/transferFrom-failure-2-spec.k         | 419.37                      | 441.98                      | 0.9488438390877415
 specs/benchmarks/storagevar03-spec.k            | 87.19                       | 91.82                       | 0.949575255935526
 specs/mcd/vow-fess-fail-rough-spec.k            | 430.71                      | 450.99                      | 0.9550322623561497
 specs/mcd/dstoken-burn-self-fail-rough-spec.k   | 2156.55                     | 2257.51                     | 0.9552781604511165
 specs/examples/sum-to-n-spec.k                  | 27.78                       | 29.07                       | 0.95562435500516
 erc20/hkg/transferFrom-success-2-spec.k         | 541.65                      | 566.6                       | 0.9559654076950229
 specs/functional/merkle-spec.k                  | 20.11                       | 21.01                       | 0.9571632555925749
 specs/benchmarks/address00-spec.k               | 130.45                      | 136.07                      | 0.9586977291100168
 erc20/hkg/transfer-success-2-spec.k             | 233.31                      | 243.09                      | 0.9597679871652475
 erc20/hkg/transfer-failure-1-spec.k             | 314.74                      | 327.48                      | 0.9610968608770001
 erc20/hkg/transfer-success-1-spec.k             | 387.16                      | 402.34                      | 0.962270716309589
 specs/mcd/functional-spec.k                     | 25.59                       | 26.55                       | 0.9638418079096045
 specs/functional/infinite-gas-spec.k            | 21.67                       | 22.47                       | 0.9643969737427682
 TOTAL                                           | 18843.290000000005          | 20047.879999999997          | 0.9399143450579317

Speedup on every test, ranging from 3.5% to 10.4%.


Document issue Undefined symbols for architecture arm64: "_res_9_nclose"

When building for iOS, linking from go 1.20 or more gives this error:
Undefined symbols for architecture arm64:
"_res_9_nclose", referenced from:
_internal/syscall/unix.libresolv_res_9_nclose_trampoline.abi0 in Libtest(go.o)
"_res_9_ninit", referenced from:
_internal/syscall/unix.libresolv_res_9_ninit_trampoline.abi0 in Libtest(go.o)
"_res_9_nsearch", referenced from:
_internal/syscall/unix.libresolv_res_9_nsearch_trampoline.abi0 in Libtest(go.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

The solution is documented here:

Run the project with Xcode
Link libresolv.tbd and libresolv.9.tbd. Click the + at the bottom of the Linked Frameworks list and type libresolv into the search box. Select libresolv.tbd and then “Add”.

Hmm... we are already trying to link against libresolv which works for macOS. I wonder if it has to be constructed differently to work on iOS?


Site Support Request: porntube.com

youtube-dl http://www.porntube.com/videos/petra-short-lusty-babe-hard-ball-gagging_1043072
WARNING: Falling back on generic information extractor.
ERROR: Unsupported URL: http://www.porntube.com/videos/petra-short-lusty-babe-hard-ball-gagging_1043072

You have download button in this site... :)
but nice video, thanks

Youtube-ld often used for automatic downloads within other programs.


README.md refers to non-existent COPYRIGHT.txt

The README states:
## License
This work is released as open source under a Apache-style license from Khronos including a Khronos copyright.

See COPYRIGHT.txt for a full list of licenses used in this repository.

Should this be referring to LICENSE.txt?

Thanks for pointing this out!
It should be fixed now :)


PDF category?

Would you mind to add PDF category with libraries for generating and editing PDF files?

Added in https://github.com/Maximization/nodejs-toolbox-catalog/commit/e6395af09334987fee93a4470f72d5cd374cc9bc
Link: https://nodejstoolbox.com/categories/pdf-generation


refactor: remove JSON loader as it is not used

while true, node developers would find it surprising that json isn't working

@gdi2290 could you tell me more? What would be a typical pattern used by a node developer that would fail without this loader?
Obviously we should also consider that this starter kit doesn't include server-side compilation so I'm not sure what is the exact use-case you are having on your mind.

I'm going to go ahead and merge it. I think that what @gdi2290 is hinting at is showing off server-side rendering with this starter kit and I think it is too much to expect from this simple starter kit.


React-s-alert not working in IE 11.

As far as I can see react-s-alert does not work in IE 11. Object.assign() is used in the code, and I don't think that is supported in ie11. Do you have a workaround for this?
We want to use react-s-alert in our project  but we need to support internet explorer 11.
Thanks in advance!

Hi, have you tried it in IE11? I think it worked some time ago. But maybe I'm wrong, I haven't used IE11 for ages :/ I'll try to test it soon.

Hi! Yes, I have tried it and it is not working, it fails when trying to call Object.assign(). I know IE 11 is old but it is still heavily used (unfortunately). Many corporations is still stuck in ie 11.
Would be great if it can be fixed so it works in IE 11.
Thanks!

... React bootstrap table is also using react-s-alert internally when showing alerts and shows the same behavior in ie 11. The whole application fails because react-s-alert is trying to call Object.assign()..

Of course it should work in IE 11 I just wonder how it worked previously ;) Object.assign should be transpiled by Babel, but maybe something is changed in that context.

Well, we are not using Babel in our project.
We're using webpack, and I thought webpack could polyfill this. We are writing ES6 syntax but it is compiled down to ES5 by webpack.
Maybe I'm wrong.
I was able to manually polyfill Object.assign() with the es6-object-assign package (found in npm).
So now it is working for us, with a manual polyfill that is done globally in the project.

I mean it should do this in the package, when building it. I'll try to make it work like that.

Looks like this bug is fixed in commit 48c10a9e4a0bc124a85c6b7b85a20c828943adf0, am I right?  :)
Close this issue?
Thanks for a fast fix!

yup! It should be :)


Are changes not supposed to reflect in the Developer Workspace?

Hi,
I've tried  creating a new profile using smartthings deviceprofiles:create -j -i <myfile>.json. It responds back with the JSON that includes the new profile's ID. And when I list it with smartthings deviceprofiles it shows up. However when I go Developer Workspace I don't see it. Is it not supposed to show up there?
Also if I create a profile from the UI and add a capability (even a standard one) to that profile from the CLI tool, the change doesn't show up in the UI even though the CLI will report that the profile does indeed have that capability.
I'm wondering if I'm missing some step to "commit" those changes or something like that? Or am I misusing this tool altogether?
Thanks!

Sorry for the long delay. It used to be true (when this issue was written) that the developer workspace did not reflect device profiles created directly with the API (which the CLI uses) but this has since been fixed.


Dapid's travis changes

This is mostly dapid's work, I copied his code over and adjusted it for our usecase.

#230


[cloud_firestore_web] Firestore web calling Platform._operatingSystem resulting in crash

I started getting this error when running my flutter web app with cloud_firestore_web.
I've been using cloud_firestore_web since before it was merged, and am using the new merged version, and didn't have any problems with it until today. I didn't change anything in my code, just ran flutter upgrade and started getting this issue
I'm using this in my pubspec
cloud_firestore: ^0.13.2+1

I'm building the app to Chrome using Android Studio. When I run the app I get a blank Chrome page and this in the javascript console:
Error: Unsupported operation: Platform._operatingSystem
    at Object.throw_ [as throw] (errors.dart:196)
    at Function._operatingSystem (io_patch.dart:241)
    at Function.get operatingSystem [as operatingSystem] (platform_impl.dart:62)
    at get _operatingSystem (platform.dart:73)
    at Function.desc.get [as _operatingSystem] (utils.dart:77)
    at get isIOS (platform.dart:141)
    at Function.desc.get [as isIOS] (utils.dart:77)
    at get firebaseDefaultAppName (default_app_name_io.dart:9)
    at Object.desc.get [as firebaseDefaultAppName] (utils.dart:77)
    at get defaultAppName (firebase_app.dart:19)
    at Function.desc.get [as defaultAppName] (utils.dart:77)
    at get instance (firebase_app.dart:41)
    at Function.desc.get [as instance] (utils.dart:77)
    at new cloud_firestore_web.FirestoreWeb.new (cloud_firestore_web.dart:33)
    at Function.registerWith (cloud_firestore_web.dart:26)
    at Object.registerPlugins (generated_plugin_registrant.dart:20)
    at main$ (web_entrypoint.dart:6)
    at main$.next (<anonymous>)

It sort of looks like instantiating a new cloud_firestore_web will call out to see what the operating system is, which is not allowed on flutter web.
here's flutter --version
Flutter 1.15.4-pre.48 • channel master • https://github.com/flutter/flutter.git
Framework • revision 8abf54f5e3 (16 hours ago) • 2020-02-12 20:45:36 -0800
Engine • revision e0ebaea590
Tools • Dart 2.8.0 (build 2.8.0-dev.9.0 e4c39721c4)

flutter doctor -v:
[✓] Flutter (Channel master, v1.15.4-pre.48, on Mac OS X 10.14.6 18G84, locale en-US)
    • Flutter version 1.15.4-pre.48 at /Users/-/development/flutter
    • Framework revision 8abf54f5e3 (18 hours ago), 2020-02-12 20:45:36 -0800
    • Engine revision e0ebaea590
    • Dart version 2.8.0 (build 2.8.0-dev.9.0 e4c39721c4)

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/-/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.6.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.32.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.24.0

[✓] Connected device (3 available)
    • macOS      • macOS      • darwin-x64     • Mac OS X 10.14.6 18G84
    • Chrome     • chrome     • web-javascript • Google Chrome 80.0.3987.100
    • Web Server • web-server • web-javascript • Flutter Tools

! Doctor found issues in 1 category.

Any ideas?

Confirmed I also have this error as of today. Was literally working for me yesterday, no changes in between except for switching from flutter dev branch back to flutter master branch (due to some issues there). About to test going back to dev branch to see if that fixes things but I doubt.
To me it looks like the import
import 'default_app_name.dart' if (dart.library.io) 'default_app_name_io.dart'; is going to the _io version, which in turn calls Platform which I think isn't supported on web? the default_app_name.dart does NOT use Platform, and shouldn't crash as far as I can tell.
errors.dart:147 Uncaught (in promise) Error: Unsupported operation: Platform._operatingSystem     at Object.throw_ [as throw] (errors.dart:196)     at Function._operatingSystem (io_patch.dart:241)     at Function.get operatingSystem [as operatingSystem] (platform_impl.dart:62)     at get _operatingSystem (platform.dart:73)     at Function.desc.get [as _operatingSystem] (utils.dart:77)     at get isIOS (platform.dart:141)     at Function.desc.get [as isIOS] (utils.dart:77)     at get firebaseDefaultAppName (default_app_name_io.dart:9)

This change here looks relevant: https://github.com/FirebaseExtended/flutterfire/commit/c58abc0235330916206fed5d21bc3b7fad883f52
Looks like it should be stopping firestore from checking iOS if I am building to web, right?
I'm also switching to dev just to see if that helps.
My code isn't importing dart:io anywhere, which is almost irrelevant because execution stops before any of my other code is able to run

Definitely looks relevant. This is where I start to get confused with plugin versions and patches etc, because my default_app_name.dart looks like this
final String firebaseDefaultAppName =     Platform.isIOS ? '__FIRAPP_DEFAULT' : '[DEFAULT]';
whereas the commit you've referenced there appears to be adding the appropriate kWeb check which would prevent this error.
I'm personally only using firebase_auth: ^0.15.4, which in turn imports firebase_core . Is it using an old version of firebase_core? How do I get the fix represented in that commit (short term workaround would be to add the kIsWeb check to default_app_name.dart on your own copy.

Also switching back to dev channel has fixed it for me for now, but I am keen to be on master to test out some other fixes they have done on there.
confusion intensifies

I forced importing firebase_core: 0.4.2+1 (which should contain that fix) and 0.4.4 but didn't fix the issue.
I'm still in the middle of building the dev channel, I'll report back what I find

okay things moving pretty fast here, I switch back to master to test some more (force import firebase_core etc), and now everything is working for me regardless of whether I force import or not. Had a bit of a look, this morning flutter doctor told me: Flutter 1.15.4-pre.64 • channel master • https://github.com/flutter/flutter.git, now it tells me Flutter 1.15.4-pre.65
@erparker will be interested to see how you went on dev channel, and then back to master channel without changing anything?

using the dev branch worked! It took 45 minutes to build after switching, which was odd to me, but everything was working normally again.
I just switched back to master and did flutter upgrade, and it's once again taking quite a while to build the flutter tool. I'll build my add to chrome again once this flutter upgrade is done and I'll let you know.
But yeah, this is a weird one. I don't know enough about the Dart VM to have a very educated guess here, but just because it's taking so long to build the tool, is it possible some super strange caching issue is causing this? Like, Flutter get confused when I built to web and just threw in the kitchen sink for some reason? No clue

Going back to the master branch resulted in a still broken web build. same error as before.
flutter --version
Flutter 1.15.4-pre.65 • channel master • https://github.com/flutter/flutter.git
Framework • revision c725f107a1 (6 hours ago) • 2020-02-13 14:49:11 -0800
Engine • revision 0e8ed2715a
Tools • Dart 2.8.0 (build 2.8.0-dev.8.0 5244d99a5d)

I'm forcing firebase_core: 0.4.4 so it should have the fix in it mentioned earlier.
Just went back to the dev channel and it's working fine again. I am experiencing confusion.

I think it is an issue with flutter & dart's conditional imports running web in debug mode, not the firebase_core. Take a look at this

Hi @erparker
could you please run
flutter channel dev
flutter upgrade --force

if the issue persist
can you please provide your flutter run --verbose
Thank you

Hey, as part of our on-going work for #2582, this has been resolved in our Firebase Firestore rework (#2913) - which has now been merged into master. We'll look at publishing some prereleases in the next few days. Thank you


Added test script for hard and soft barcodes

Contributor checklist

[x] I have read the CONTRIBUTING.rst
[ ] I have tested my contribution on these devices: N/A (no printer supporting hardware barcodes at disposal)
[x] My contribution is ready to be merged as is

Description
This example will help for the software barcode calibration process ongoing described in #221.

Thank you for this example script!


Correct Way to Handle Multiple windows?

I have been trying to get multiple windows working without much luck. I don't know how to go about it at all. At first I tried pure inheritance but I couldn't get this to work without running into the diamond problem. I also don't know QT enough (specifically their QWidget class) to get this working. Then I tried a combination of inheritance and a hardcoded enum that is passed in to the constructor that tells the QWinWidget which type of class to create (widget.cpp).
When I do this however, having 2 windows open at once, causes a rendering error, as well as interaction within the windows to behave oddly. It seems as though parts of the 2 windows are controlling one another still leading the odd behavior.
I basically made copies of widget.cpp and widget.h for my different windows, and modified  QWinWidget.cpp and QWinWidget.h to accept these copies and spawn different windows. These copies are derived from a basewidget.cpp (the original widget.cpp).
Is there any simple example or explanation you could provide that could aid me in this? Thanks so much.

After taking a break, and then coming back to this, I have figured out how to solve the issue. But the issue I had prior has re-emerged (the dragging windows). Here is how I solved it. Basically the static members of WinNativeWindow (childWindow and childWidget) need to become non static. By them being static it causes all windows spawn to share the same first-created window and widget. This is why the others were being controlled in strange manners as well as not occupying the full space. To do this however you must find a way to expose these to the static LRESULT CALLBACK WndProc. To do this, we transform them into pointers to save into the userdata of the window.
QWinWidget.cpp
Change:
p_ParentWinNativeWindow = new WinNativeWindow(1  * window()->devicePixelRatio()
        , 1 * window()->devicePixelRatio()
        , 1 * window()->devicePixelRatio()
        , 1 * window()->devicePixelRatio()
        , (HWND)winId()
        , this);

Delete the following:
p_ParentWinNativeWindow->childWindow = (HWND)winId();
p_ParentWinNativeWindow->childWidget = this;

WinNativeWindow.h
Change:
WinNativeWindow(const int x, const int y, const int width, const int height, const HWND hwnd, QWidget* childwidget);

HWND childWindow;
QWidget* childWidget;

WinNativeWindow.cpp
Change (Constructor at top):
WinNativeWindow::WinNativeWindow(const int x, const int y, const int width, const int height, const HWND hwnd, QWidget* childwidget)
    : hWnd(hwnd),
      childWidget(childwidget)
{

Add (under the other SetWindowLongPtr):
SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(hWnd));
SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(childWidget));

Add (under LRESULT CALLBACK):
HWND* childWindow = reinterpret_cast<HWND*>(GetWindowLongPtr(hWnd, GWLP_USERDATA));
QWidget *childWidget = reinterpret_cast<QWidget*>(GetWindowLongPtr(hWnd, GWLP_USERDATA));

Change:
        case WM_CLOSE:
        {
            if (*childWindow)
            {
                SendMessage(*childWindow, WM_CLOSE, 0, 0);
                return 0;
            }
            break;
        }

After doing that, multiple windows will work, just do the same in the main.cpp as the other window to spawn a second window independent of the first:
    QWinWidget ww;

    ww.setGeometry(windowXPos, windowYPos, windowWidth, windowHeight);

    ww.show();

I'm going to continue working on this a bit and try to solve the dragging issue I am having again to get this all working.

Thank you for the solution, after some fixes, it works like a charm.
The problem is that the USERDATA can only hold one pointer.
so when you do
SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(this));
SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(hWnd));
SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(childWidget));

the USERDATA pointer is overriden by each call. a way to fix that is by grouping all the pointers we need to pass in a struct, and pass a pointer to this struct
struct userData_t
{
	WinNativeWindow* nativeWindow;
	HWND*		 childWindow;
	QWidget*	 childWidget;
};

userData_t userdata;

SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(&userData));


2A03 CPU : Arithmetic Opcodes

Add, Sub, AND, OR, etc.

Closing. All Opcodes for the 6502 element of the 2A03 are completed.


Bump ocular-dev-tools

Coverage decreased (-23.4%) to 16.206% when pulling c0f0af865a0a9a82948450bd84dbf32287eafe78 on x/ocular-upgrade into 1de14e0ab5cd0e222f8d590cadc6376265a6a039 on master.


Small typos in various files

which most "projets" (readme.md) -> projects

another one: "a Tellor Imporvement Proposal(TIPs)"

"A mock function to submit a value to be read withoun miners needed" (readme.md) => without

Should be fixed with updated readme


Java?

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

Affected area/feature

Hi @hrstoyanov. Can you clarify? We have published a java version of this provider, which can be found here: https://mvnrepository.com/artifact/com.pulumi/hcloud/1.16.2.

Sorry, I was only looking at the 9fficial docs and saw Java missing

Sorry, I was only looking at the 9fficial docs and saw Java missing

The only place that I see Java missing is from https://www.pulumi.com/registry/packages/hcloud/. YAML is also missing.


Raw dat URLs (not portal names) sometimes appear in the sidebar

e.g.

…and sometimes this happens (zoomed out)

The raw ones I think are when they are offline and the real name can't be retrieved.
However I have also just seen it go a little weird and flash names and raw dats in and out. I'll take a look tomorrow.

I think it's because I append to the html.
I'm sure you'll find a better way to do this.

The latest version still has this issue, I can't figure it out. If someone wanna give a shot at tackling this, be my guest :)

I think 6f35221 fixes this.  Try updating and see if it still happens.

I think this is fixed. Thanks @ianh. If I find this is still a issue with the new build (separate client and user) I'll reopen another issue over at https://github.com/Rotonde/rotonde-client.


RUMM-1533 Add nightly test for RumMonitor.addTiming() method

What does this PR do?
Add nightly test for RumMonitor.addTiming() method
Additional Notes
The following monitors where created:

check that the average of view.custom_timing.time_event is above 200ms
check that the average of view.custom_timing.time_event is below 700ms
check that the number of views with view.custom_timing.time_event is above 1 / day
check that the perf of RumMonitor.addTiming() is within the regular threshold

Codecov Report

Merging #698 (c5c4db5) into master (4e41a5b) will decrease coverage by 0.23%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #698      +/-   ##
============================================
- Coverage     89.07%   88.84%   -0.23%
+ Complexity     1716     1711       -5
============================================
  Files           189      189
  Lines          5646     5646
  Branches        695      695
============================================
- Hits           5029     5016      -13
- Misses          392      393       +1
- Partials        225      237      +12

Impacted Files
Coverage Δ

...internal/tracking/JetpackViewAttributesProvider.kt
73.91% <0.00%> (-13.04%)
:arrow_down:

...m/internal/domain/scope/ExternalResourceTimings.kt
67.65% <0.00%> (-11.76%)
:arrow_down:

...g/internal/domain/event/DdSpanToSpanEventMapper.kt
91.84% <0.00%> (-8.16%)
:arrow_down:

...droid/rum/tracking/ActivityViewTrackingStrategy.kt
82.69% <0.00%> (-5.77%)
:arrow_down:

...l/net/info/BroadcastReceiverNetworkInfoProvider.kt
79.17% <0.00%> (-5.21%)
:arrow_down:

...nternal/tracking/OreoFragmentLifecycleCallbacks.kt
89.74% <0.00%> (-5.13%)
:arrow_down:

.../kotlin/com/datadog/android/rum/RumResourceKind.kt
80.95% <0.00%> (-4.76%)
:arrow_down:

.../android/error/internal/DatadogExceptionHandler.kt
93.10% <0.00%> (-3.45%)
:arrow_down:

...g/android/rum/internal/domain/scope/RumEventExt.kt
85.45% <0.00%> (-1.82%)
:arrow_down:

...ore/internal/constraints/DatadogDataConstraints.kt
92.31% <0.00%> (-1.28%)
:arrow_down:

... and 4 more


request.files is empty on HTTP POST request w/ files.

Hello,
I tried the examples available for accepting HTTP requests containing files. request.files yields an empty dictionary with the code below:
@app.route('/test', methods=['OPTIONS', 'GET', 'POST'])
async def post_json(request):
    test_file = request.files.get('test')

    print(test_file)

    file_parameters = {
        'body': test_file.body,
        'name': test_file.name,
        'type': test_file.type,
    }

    return response.json(
        {"received": True, "file_names": request.files.keys(), "test_file_parameters": file_parameters})

Using a Content-Type of multipart/form-data yields an error:
2017-10-28 08:02:41 - (sanic)[ERROR]: Failed when parsing form
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/sanic/request.py", line 113, in form
    boundary = parameters['boundary'].encode('utf-8')
KeyError: 'boundary'

Using a Content-Type of application/x-www-form-urlencoded yields:
2017-10-28 08:01:58 - (sanic)[ERROR]: Failed when parsing form
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/sanic/request.py", line 110, in form
    parse_qs(self.body.decode('utf-8')))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 166: invalid start byte

I'm using Postman as my HTTP Client.

Hello, I think your request.files.get("filename") statement gets a empty dict because you did not set your Content-Type to multipart/form-data.
At the same time, I think you shoud install the sanic from master(pip install --upgrade git+https://github.com/channelcat/sanic.git@master) and re-run your program.
I write a upload-file program with the lastest sanic(install from master branch), it worked.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-"

from sanic import Sanic
from sanic import response

app = Sanic(__name__)

@app.route("/file", methods=['OPTIONS', 'GET', 'POST'])
async def index(request):
    avatar = request.files.get("avatar")
    file_parameters = {
        "name": avatar.name,
        "type": avatar.type,
    }

    # with open("./avatar.jpg", "wb") as fd:
    #     fd.write(avatar.body)

    return response.json({
        "received": True,
        "file_name": request.files.keys(),
        "test_file_parameters": file_parameters,
    })

if __name__ == '__main__':
    app.run(host="<IP_ADDRESS>", port=9000)

At last, there is a error in your program, the request.file.get("test").body is the binary data of your file, it's type is bytes, cannot be dumped by json, so you cannot write it into the json response.

Worked perfectly; thanks a bunch!

Hey, I have the same issue here. What was the problem?
Updated to the Sanic to 0.7.0 version.
Passing Content-Type: multipart/form-data


Remove unused argument

Doesn't look like the second arg is used.  If it's being used by dependent projects, we should document that in file-manager.

Good point.  It's used to pass an override filename (for iOS).
So this should be documented in file-manager or that filename rename functionality should be added to the file-manager. I'll create an issue.


Bugs/single player

Changed the text when submitting a file from "Save" to "Submit"
Changed the "I'd rather draw" and "I'd rather write" buttons to be antd button components. They now stand out a lot more and are very obviously buttons.
After submitting a file, the submission field was not clearing. Added some logic that clears that now.
https://www.loom.com/share/5ad17e2913414bed936361c60434dfe3
https://trello.com/c/KVwUj2dd/714-single-player-gameplay-mission-write-see-checklist
https://trello.com/c/GF8uxVBQ/712-single-player-gameplay-mission-read-see-checklist
https://trello.com/c/YegIug3J/713-single-player-gameplay-mission-draw-see-checklist

 Single Player - gameplay/mission/draw
SEE CHECKLIST

 Single Player - gameplay/mission/read SEE CHECKLIST

 Single Player - gameplay/mission/write
SEE CHECKLIST


Add JTokkit java tokenizer library to the cookbook

Looks like I already accepted a PR that added the first mention. I'll close this one for now, but feel free to amend if you want to add the second mention as well (which I think makes sense).


iOS compilation error 'FirebaseAnalytics.h' not found

Expected Behaviour
Compile and run the app on iOS simulator
Actual Behaviour
Compilation error
** BUILD FAILED **

The following build commands failed:
	CompileC build/*******.build/Debug-iphonesimulator/*******.build/Objects-normal/i386/PushPlugin.o *******/Plugins/phonegap-plugin-push/PushPlugin.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler

(1 failure)

Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/***/dev/******/platforms/ios/cordova/build-debug.xcconfig,-project,*******.xcodeproj,ARCHS=i386,-target,*******,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/***/dev/******/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/***/dev/*******/platforms/ios/build/sharedpch

For more details please check the log
Platform and Version
iOS 8.0 or greater
Cordova CLI version and cordova platform version
cordova --version                                    # 6.3.1
cordova platform version ios                         # 4.1.1

Plugin version
cordova plugin version | grep phonegap-plugin-push   # 1.8.4

Logs taken while reproducing problem
https://gist.github.com/akz92/4a7ab4f5e507ab5ae98b4e9af9bc4d9a

@akz92 I'm not taking bugs on the FCM branch right now as it is a development branch. Also, it won't work in the simulator so don't even try it.


Associations in action

Hi all,
Here is associations example for contacts-app. Some new entities are added to the app, check them out!
Note:
Associations generation has several issues which were not caught during development, thus generated code was slightly edited manually in order to get working app. Here is the list of these issues:

Dropped auto_preload in favor to explicit preloading because of endless DB query generation in case of cyclic associations.
Multi-tenancy is not handled in a proper way: need to set Accound-ID for each associated object on each POST/PUT. Disabled multi-tenancy for now.
In order to support true PUT notation need to cleanup association references for each PUT.
Jointable is camel-cased by mistake for many-to-many.

I think this is a good time to think about how our API should look like for such a bit more complex cases, when there are several entities linked together.
E.g. how adding/removing user to/from a group/profile should look like, should it be a separate method or done in scope of Create/Update.
If we're trying to build such end-to-end CRUD model, we need to think about what actually we want to support and to have as a default behavior. For now our API just reflects GORM behavior in terms of Create/Update.


Extra intermediate sources in resulting sourcemap

When I add gulp-ng-annotate to my gulp build after gulp-typescript, the resulting map includes filenames with both .ts and .js extensions, effectively duplicating every source file. E.g.,
{"version":3,"sources":["app.ts","app.js","module1/module1.ts","module1/module1.js"...

Without gulp-ng-annotate, it contains only .ts extensions, as it should.
I've created a sample repo here: https://github.com/wilsonjackson/typescript-ng-annotate
Clone that, run npm install and gulp, and check out dist/bundle.js.map.

Well, I can say this is not related to gulp-ng-annotate's workaround for a sourcemap file property. Without that workaround, gulp-sourcemaps can't merge source maps produced by typescript at all. So this bug is not gulp-ng-annotate's bug strictly speaking, it should have been reported to typescript or to gulp-sourcemaps or vinyl-sourcemaps-apply or source-map. I've just added it to gulp-ng-annotate because it was easy to do. But probably it can bring more harm than benefits in a long run...
Regarding duplicated files: it's a known problem and I think the best answer on this problem was given by  @smrq here.
I'm not an expert in sourcemaps, so any help on this would be greatly appreciated. @smrq was mentioned possible workaround, but I believe this should be done by source-map library instead, I don't think every plugin that combines sourcemaps should apply hacks to this process. So I think this problem should be generalized and reported to upstream. If you disagree with me - suggestions are welcomed.
Also I'm going to close #9 because it became too messy. Seems like the only problem regarding sourcemaps still exists, is the extra intermediate sources.

I had same issues on my project, too. My case's similar: sourcemap(typescript + ngAnnotate)
I decided ngAnnotate not to generate sourcemap by adding { map: false } option. I guess ng-annotate does not add or remove extra lines during its transform. So it seems fine..


linuxPackages_testing_bcachefs.fwts-efi-runtime: remove failing patch

Motivation for this change
noticed it was failing on #84366
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

everything under linuxPackages_testing_bcachefs is broken on master
[19:51:02] jon@jon-desktop /home/jon/projects/nixpkgs (master)
$ nbfkg linuxPackages_testing_bcachefs.amdgpu-pro linuxPackages_testing_bcachefs.ati_drivers_x11 linuxPackages_testing_bcachefs.mwprocapture linuxPackages_testing_bcachefs.ndiswrapper linuxPackages_testing_bcachefs.nvidia_x11_legacy340 linuxPackages_testing_bcachefs.rtl8814au linuxPackages_testing_bcachefs.rtl8821au linuxPackages_testing_bcachefs.rtl8821ce
builder for '/nix/store/xfxxvc83illvcb0sk294631wnhbrqqdb-linux-config-5.3.2020.04.04.drv' failed with exit code 1; last 10 log lines:
  stripping FHS paths in `./tools/iio/Makefile'...
  applying patch /nix/store/mnlqwys9dxznjcvq4w3s0435s9ql8qv8-bridge-stp-helper.patch
  patching file net/bridge/br_private.h
  Hunk #1 succeeded at 46 (offset 7 lines).
  applying patch /nix/store/mbz5gln1q4swlzmqs2399br98qjif9kn-request-key-helper.patch
  patching file security/keys/request_key.c
  applying patch /nix/store/h4c3bag6lv3y47sbx83339xnalmlmdmg-modinst-arg-list-too-long.patch
  patching file scripts/Makefile.modinst
  Hunk #1 FAILED at 9.
  1 out of 1 hunk FAILED -- saving rejects to file scripts/Makefile.modinst.rej
cannot build derivation '/nix/store/r5c1h00nad6jriphd5rr9mvjv4d12cnc-linux-5.3.2020.04.04.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/291r69hjq1ilpa9ag1q67n5c4b2lykyj-amdgpu-pro-17.40-5.3.2020.04.04.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/6n79vrkyg4m5dv5zbvl1mf8vvqyxhsj7-ati-drivers-15.12-5.3.2020.04.04.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/4957aysrpslhbh4c0n7b1ngw1l2i3yvk-mwprocapture-1.2.4054-5.3.2020.04.04.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/gkqy86ayd8s8a1b95s0w9i75lqx9mxkl-ndiswrapper-1.62-pre-5.3.2020.04.04.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/nf8b4h35ccbzl03vi2jsjxs70ljpr0lj-nvidia-x11-340.107-5.3.2020.04.04.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/7gy6dpbwqp5ga05za52yf86p8q8wshfd-rtl8814au-5.3.2020.04.04-4.3.21.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/nc1k0ipmdk8fg3d1d4q76pw7wd451imi-rtl8821au-5.3.2020.04.04-5.1.5+41.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/kn2yi5psnf67xkgpfjy5qs6v2r9bx0px-rtl8821ce-5.3.2020.04.04-5.2.5_1.26055.20180108.drv': 1 dependencies couldn't be built
[0 built (1 failed), 0.0 MiB DL]
error: build of '/nix/store/291r69hjq1ilpa9ag1q67n5c4b2lykyj-amdgpu-pro-17.40-5.3.2020.04.04.drv', '/nix/store/4957aysrpslhbh4c0n7b1ngw1l2i3yvk-mwprocapture-1.2.4054-5.3.2020.04.04.drv', '/nix/store/6n79vrkyg4m5dv5zbvl1mf8vvqyxhsj7-ati-drivers-15.12-5.3.2020.04.04.drv', '/nix/store/7gy6dpbwqp5ga05za52yf86p8q8wshfd-rtl8814au-5.3.2020.04.04-4.3.21.drv', '/nix/store/gkqy86ayd8s8a1b95s0w9i75lqx9mxkl-ndiswrapper-1.62-pre-5.3.2020.04.04.drv', '/nix/store/kn2yi5psnf67xkgpfjy5qs6v2r9bx0px-rtl8821ce-5.3.2020.04.04-5.2.5_1.26055.20180108.drv', '/nix/store/nc1k0ipmdk8fg3d1d4q76pw7wd451imi-rtl8821au-5.3.2020.04.04-5.1.5+41.drv', '/nix/store/nf8b4h35ccbzl03vi2jsjxs70ljpr0lj-nvidia-x11-340.107-5.3.2020.04.04.drv' failed

Would like this PR to be merged as soon as possible, if there's no issues with it. Thanks.


File output issues.

When using livestreamer -o the produced file can't be seeked in and doesn't show the correct max videotime (it shows 0:00) in vlc.
The problem lies with the file, I've tried to open the file in different players and even tried re-encoding it with ffmpeg which gives me a NO FRAME error.
I've tried different rtmpdumps/librtmp.so.0 ( from here http://www.mediafire.com/?x4cvp5hl4m9xr#x4cvp5hl4m9xr) but this doesn't fix the issue.
I'm running Ubuntu 12.04 with Livestreamer 1.7.0

For people who are having this issue use FLVExtract + MP4Box. Grab it from here.
http://www.videohelp.com/tools?toolsearch=FLVExtract&submit=Search&portable=&s=&orderby=Name&hits=50
IMPORTANT: Get FLV Extract 2.2.0 jofori89 (direct link) under "more downloads". This version will remux it losslessly (not trascoding) into an MP4 file in couple seconds. You can then do whatever you want with the file (edit in video editor, seek forward backwards etc.) It's a normal MP4 file. There is also an option to remux to .MKV if desired.

Im having a similar problem with a live youtube stream. Im using the latest version of livestreamer and have windows 10 with all patches applied. Im recording a live 2 hour stream and output to mpeg file. The file size looks correct but the file will not play on vlc (current version). This only happens on the live stream. Regular downloads work perfectly. Will this old python script help?

@phcaptjim  have a look at https://github.com/streamlink/streamlink  it appears to have more development and is a fork of streamlink.


getData: Fix broken img.complete check.

getData currently always returns false, looks like this conditional is borked.
Closes #75.

Also closes #83

This is an absolute show stopper, how can this bug still be in the latest version?
It should be merged immediately! It took me forever to find this problem

Hi, any updates on merging this fix? Would be much appreciated!


Wallet recovery new

Modified the delete button functionality and added clear button
Converted seeds into single label
Added Constants for colour and storyboard


[DNM]Add update role to ci-framework

Add job to ci-framework repo. This change adds also playbook and role which is used by the job.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

/retest

/approve


Debugging "Task died unexpectedly with exit code -9"

I have a task that requires ~50 other tasks.
Input data is consistent. Very often I am seeing the following
INFO: Task CompareTwoD...fee1cca369 died unexpectedly with exit code -9
INFO: Informed scheduler that task   CompareTwoD...fee1cca369   has status   FAILED

on about ~3-5 tasks (out of 50).  They usually seem to be the same ones.
re-running luigi second time with the same params will usually successfully complete the failed tasks. Rarely I'll need to re-run the command the third time as sometimes FAILED tasks will occur on second run.
There is no traceback at all nor anything other than the two log lines provided.
How do I debug this? I'd like to know what part of code is causing this and why. This is happening on 16 core GCP instances with 108GB of RAM. The number of workers does seem to matter. It looks like the failures never happen when there's only 1 or 2 workers.
This is how I usually run luigi:
python -m luigi --module tasks.verification_task CompareTwoD... --dir-one /x/y/z/ --dir-two /x/y/w/ --workers 5 --local-scheduler --scheduler-retry-count 3
--
Update:
After further tests it seems that the failures occur on pandas.concat() of a 3d Panel object, i.e. see the comments in the code below:
        first_frame = data[0]

        if isinstance(first_frame, (Series, DataFrame)):
            data = concat(data, copy=False) # never seems to fail
        elif isinstance(first_frame, Panel):
            data = concat(data, axis=1, copy=False) # may fail once in a while when ran in multiprocessing but will succeed on 2nd or 3rd re-run

Is it possible you are running out of memory? Your script is getting killed by the OS, it might be worth to check the memory usage with different values for the workers parameter.

I had a similar issue and it was resolved when I used a machine with more resources (i.e. RAM and CPUs/Cores)


Subscribing is not working from the Linkedin App

Hi
I'm using Casper as the default theme for Ghost on the ghost.io platform. Many people contact me and tell me that the subscribe button/feature does not work when you browse through the Linkedin mobile app. The seems to block the popup form in the portal. Is there a way to fix this as many of my users comes through Linkedin? I am not a developer so I can fix this on my own...

This is a pretty interesting problem. I think the same will happen when the theme gets seen through instagram or twitter's browser on mobile. Maybe there should be an option to have the sign up popup replaced by a link to a signup page (if mobile.)

We have been aware that end users were encountering difficulties signing up via Ghost’s Portal when viewing Ghost sites inside the LinkedIn app on iOS.
We’ve always felt that this was an issue on LinkedIn’s side, rather than ours, and we’re pleased to report that when we did some further testing today the issue seems to have been resolved with no changes from our side.
If there are further questions or concerns about this please do let us know.
It’s unhelpful to speculate about this issue also affecting other apps. It is not necessarily the case that what happens in the LinkedIn app happens in Twitter and Instagram apps. We have not had any reports of this issue in Instagram or Twitter, and we cannot replicate the issue within these apps. If there is a specific concern do let us know.
It’s worth also mentioning that in contexts where you can’t use the Portal, custom sign up forms can be created: https://ghost.org/docs/themes/members/#signup-forms


.Net: Setting json_object mode in execution_settings does not enable JSON mode as expected

Describe the bug
Even if I write response_format: json_object in execution_settings when defining a Function, the value of the ResponseFormat property of ChatCompletionsOptions that is sent in the request to OpenAI is null, and JSON mode is not enabled.
To Reproduce
Steps to reproduce the behavior:

Create a Function that does not include the word “JSON” in the prompt.
Add response_format: json_object to execution_settings
Execute the Function
Check if an error occurs

This is the code
using StreamReader reader = new(Assembly.GetExecutingAssembly().GetManifestResourceStream(“Simple.prompt.yaml”)!);
// Create prompt
KernelFunction function = kernel.CreateFunctionFromPromptYaml(
    reader.ReadToEnd(),
    promptTemplateFactory: new HandlebarsPromptTemplateFactory()
);
Console.WriteLine(await kernel.InvokeAsync(function))

and this is Simple.prompt.yaml
name: SimpleResponse
description:  A simple function to respond to the user
template:
    <message role =“”system”“>You are a helpful AI assistant</message>
    <message role =“”user”“>tell me about AI</message>
template_format: handlebars
execution_settings:
    gpt-4-turbo:
        model_id:       gpt-4-turbo
        response_format: json_object

Expected behavior
The prompt does not include the word "JSON", so if JSON mode is enabled, I should get an error.
Expected error
 “error”: {
    “message”: “‘messages’ must contain the word ‘json’ in some form, to use ‘response_format’ of type ‘json_object’.“,
    “type”: “invalid_request_error”,
    “param”: “messages”,
    “code”: null
  }

Documantation
https://platform.openai.com/docs/guides/text-generation/json-mode

Analysis
On runtime, I have changed the value of executionSettings.ResponseFormat used in ClientCore line 763 as shown below. Making this change resulted in the expected error, confirming that JSON mode was enabled.

Name
Value
Type

Before
executionSettings.ResponseFormat
ValueKind = String : "json_object"
object { System.Text.Json.JsonElement }

After
executionSettings.ResponseFormat
"json_object"
object{string}

The value of executionSettings used here comes from FromExecutionSettings() in OpenAIPromptExecutionSettings line 158. In that function, the value of OpenAIExecutionSettings are prepared as follows.
var json = JsonSerializer.Serialize(executionSettings);
var openAIExecutionSettings = JsonSerializer.Deserialize<OpenAIPromptExecutionSettings>(json, JsonOptionsCache.ReadPermissive);

OpenAIPromptExecutionSettings.ResponseFormat is defined as follows, and since it is an object? type definition, when JsonSerializer.Deserialize<OpenAIPromptExecutionSettings>() is executed, the value is stored as a JsonElement type.
public object? ResponseFormat { get; set; }

Platform

OS: Windows 10
IDE: Visual Studio
Language: C#
Source: 1.1.0 (nuget)

Additional context

LLM: Azure OpenAI
Version: GPT-4-Turbo-Preview 1106

I saw in PR #4391 that having ResponseFormat as object? type was a conscious decision.
Respecting that, one way to fix this bug without changing the type definition, would be to add a new case to the switch statement in ClientCore line 764.
case JsonElement formatElement:
    if (formatElement.ValueKind == JsonValueKind.String)
    {
        string formatString = formatElement.GetString();
        switch (formatString)
        {
            case "json_object":
                options.ResponseFormat = ChatCompletionsResponseFormat.JsonObject;
                break;

            case "text":
                options.ResponseFormat = ChatCompletionsResponseFormat.Text;
                break;
        }
    }
    break;

If my suggestion is appropriate, I will go ahead and create a PR to fix this problem.
Feedbacks are welcome.

@sugii-norichika-intern-fixer Thanks for the detailed analysis. Would you like to create a PR with this proposed fix?

@markwallace-microsoft
Thanks for checking out the issue. I will create a PR to make this fix.


⚠ Processors has degraded performance

In d3de14f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 51 ms

Resolved: Processors performance has improved in 71e6474.


Add Session Entities

Hi,
Historically, sessions  entities were managed from the dialogflow API, now they can be created directly in the webhook :
https://groups.google.com/forum/#!msg/dialogflow-enterprise-edition-users/K-wSIgRyT90/-BkkFYLfAgAJ
In order to simplify session entity building could you had the same model as availlable with google-cloud-dialogflow (https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-dialogflow) :
It concerns the SessionEntityType class.
Then once builded it can be added to the webhook response like this :
        SessionEntityType sessionEntityType = SessionEntityType.newBuilder()
                .setEntityOverrideMode(SessionEntityType.EntityOverrideMode.ENTITY_OVERRIDE_MODE_OVERRIDE)
                .setName(sessionId + "/entityTypes/" + entityName)
                .addAllEntities(entities)
                .build();

            responseBuilder.setWebhookResponse$actions_on_google(
                    Optional.ofNullable(responseBuilder.getWebhookResponse$actions_on_google())
                            .orElse(new WebhookResponse())
                            .set("sessionEntityTypes", Lists.newArrayList(sessionEntityType))
            );

Update : A documentation has been released:
https://cloud.google.com/dialogflow/docs/entities-session#creating_session_entities_with_fulfillment

Support for Session Entity Types has been added in Release v1.8.0


implemented some hackfest feedback

I implemented most of the feedback from the Hackfest Google doc.
https://docs.google.com/document/d/17GzJf8uTfpe7TJrEpf9NomZ98LcnNvUs2V3j9jgDw2w/edit

@jistr This is a PR that implements most of the Hackfest feedback. I added links to the comments in the Google doc for reference.


Chrome doesn't display console.log after Observable completes

Describe the bug
Something interesting happens when you bind console.log of your browser as a callback for an Observable complete. Seems like it is not called since my logging container message is empty. The issue is not happening in Firefox (v94.0.2).
Expected behavior
Console.log should be called.
Reproduction URL
https://stackblitz.com/edit/rxjs-ziufsu?devtoolsheight=60
Version
7.4.0
Environment
Chrome v96.0.4664.45
Additional context
No response

Complete calls the function without passing in any parameter. Running console.log() on Chrome doesn't do anything, while on Firefox it does log an empty message.


Migrate mac builds to ruby dep.

The ruby dependency has been automated to include cocoapods.
Bug: https://github.com/flutter/flutter/issues/136377
Pre-launch Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[X] I signed the CLA.
[X] I listed at least one issue that this PR fixes in the description above.
[X] I updated/added relevant documentation (doc comments with ///).
[X] I added new tests to check the change I am making, or this PR is test-exempt.
[X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@vashworth @christopherfujino @cbracken please let me know if you have concerns about landing this change.

LGTM
I confirmed #132755 is no longer an issue with new version of cocoapods (There are no replacing: logs): https://chromium-swarm.appspot.com/task?id=657738f3d3a4cd10

Thank you @vashworth

which ruby version is accept flutter for ios setup?


Log responses only at debug log level

Logging these at info means that when a user runs:
chef-client -z

They may get all of their cookbook content logged to their terminal
(depending out their outputting options).  Since INFO is the default
log_level for non-tty devices, this has a big impact on what people
might see in their system log files or CI systems.

👍

:+1:

please consider new release too

looks like 7bc90e7eb7ca0d58df1785ffae2a33177634c1fe was released in chef-zero v4.6.2


Autoimport certs [WIP]

Motivation
This PR will add to the Android Showcase build a step that creates a network security config for self signed certificates
JIRA: https://issues.jboss.org/browse/AEROGEAR-3404
Description
Progress

[x] Port MCP Plugin
[x] Generate network security config
[x] Test config in app
[ ] Add a feature to print out the network config
[ ] Replace MCP strings with AeroGear
[ ] Code cleanup
[ ] Documentation

Additional Notes
To run this PR you only need to update your mobile-services.json file to one for your cluster and the plugin should do most of the work.

@johnfriz

@secondsun rebase and fell free to merge!


templates not found error

After following the steps mentioned, when I try to use the mwl calendar directive I get following error -
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarDayView.html&p1=404&p2=Not Found
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2Fcalendar.html&p1=404&p2=Not Found
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarHourList.html&p1=404&p2=Not Found
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarMonthCell.html&p1=404&p2=Not Found
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarMonthView.html&p1=404&p2=Not Found
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarMonthCellEvents.html&p1=404&p2=Not Found
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarSlideBox.html&p1=404&p2=Not Found
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarYearView.html&p1=404&p2=Not Found
The requested information does not exist
Error: [$compile:tpload] http://errors.angularjs.org/1.4.9/$compile/tpload?p0=mwl%2FcalendarWeekView.html&p1=404&p2=Not Found

Looks like you did not put templates where the directive expects them to be. How did you install mwl-calendar?

added it to bower dependences, the templates are under the dist folder in components folder. But the directive expects it at some other location.

Well... They should be in src/:

It sounds like you're including the wrong bundle that doesn't have the templates included, make sure you're including the one ending in -tpls.js: https://github.com/mattlewis92/angular-bootstrap-calendar/blob/master/dist/js/angular-bootstrap-calendar-tpls.js


root: allow updates on the root target ('$')

This commit allows for updates on the root target ('$'). The Jsonpath
lib doesn't know how to treat .apply( when the target is the root
object rightly so. Instead, let's manually merge the global spec
object when the JSON path target is '$'.
About #6

Ah, nice, it would be great to extend the merging functionality to support the top-level target!
However, I don't see this working as I expected, could you add a test or two, or even just  a working command example? I tried to use the overlay in #6 but it's not updating the sample document I'm using.

Thanks for taking a look @lornajane. I've fixed the code and pushed a test case to show it works :)
Let me know what you think.


port to RISC-V

Is anybody aware of any existing ports or plans to port Duktape to RISC-V architecture?

It's quite likely that Duktape will compile and work out-of-the-box for RISC-V.

Great. I am going to try then.

Let me know if something fails. I'll try to see if I can get an environment running easily with e.g. https://wiki.qemu.org/Documentation/Platforms/RISCV.

I'll add explicit detection for RISC-V in any case, it'll also be useful if something doesn't work out of the box.
Any idea what would be the best preprocessor macros to detect RISC-V - e.g. these https://github.com/riscv/riscv-toolchain-conventions#cc-preprocessor-definitions?

I will try running it on 32bit RISC-V core with 64KiB of RAM.
Will keep code here: https://github.com/drom/duktape-v

With that amount of memory you should use low memory options, especially ROM built-ins.

The QEMU RISC-V emulation seems very slow at present but I got it running and I can test basic compilation on a Linux RISC-V target hopefully tonight.

I am planning to run it bare metal, without OS. Microcontroller style.

Ok, then the most important factor is getting the minimum required libc functions and IEEE math compatibility. The architecture has a smaller impact.

The first board that I want to try is: https://www.sifive.com/boards/hifive1-rev-b
I can also try https://www.sifive.com/boards/hifive-unleashed
Are you interested in getting these boards to try?

It might be easiest to first try compiling and running on the Linux-based large memory board just to see that the architecture itself works correctly, and then tackle the low memory board.
I was able to compile Duktape for RISC-V 64-bit on Qemu at least so the architecture probably doesn't need anything special. The 32-bit variant will by default use a packed duk_tval representation (8 bytes per value) which relies on IEEE double specifics. But as long as the compiler respects IEEE doubles, that shouldn't be an issue.
Re: boards, I'll be happy to help with e.g. testing or debugging a base port, with the time I have available (I work on Duktape on my free time).

@drom Any update on your RISC-V efforts?

@svaarala No, did not have a chance to produce anything useful. I tried it on my free time and got distracted. I still think RISC-V port would be a very healthy idea. And I hope I will get to it one day.

To my knowledge RISC-V should work out of the box, so I'm just lacking that confirmation :)


new filtering FAQ section with info on LIKE and ILIKE

Brief PR describing how our filtering uses LIKE and ILIKE in cases where the DB is sql-like
Resolves #4821
Happy to link to this section in other areas of the docs. Where would that be most useful? Maybe editing the note at filter conditions and operators would be sufficient?

Is this really a FAQ? Wouldn't this be more something for the "Filtering" introduction at https://www.prisma.io/docs/concepts/components/prisma-client/filtering-and-sorting#filtering, before we have the different examples?

@janpio I think this content is still good as a FAQ but I agree that it's good information to at least be aware of before learning how to filter. I added an admonition where you suggested.

Hey is the information added in this PR accurate? I'm using prisma 5.14 and the following prsima query does not escape the _.
  const results = await prisma.xyz.findMany({
    where: {
      name: {
        startsWith: `a\_`,
      },
    },
  });


Development: Rewrite exercise logic to support multiple exercises of the same type

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Motivation and Context

At the moment we support only one exercise type per exam. Only one text exercise, one modeling exercise etc.
Description

This PR tries to refactor the underlying code of the E2E tests (and the E2E test itself) to allow for multiple exercise types per exam. A followup PR will add a test exam test, that tests a minimum 2 of each exercises for this test exam.
Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Exam Mode Test

[ ] Test

Codecov Report

Merging #6134 (e5263fb) into develop (0613cb5) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #6134   +/-   ##
==========================================
  Coverage      80.20%   80.20%
  Complexity     12820    12820
==========================================
  Files           2270     2270
  Lines          87799    87799
  Branches       13033    13033
==========================================
  Hits           70416    70416
  Misses          9684     9684
  Partials        7699     7699

Impacted Files
Coverage Δ

...e/scheduled/WeeklyEmailSummaryScheduleService.java
65.51% <0.00%> (-3.45%)
:arrow_down:

...1/artemis/service/LearningGoalProgressService.java
79.78% <0.00%> (+1.06%)
:arrow_up:

Flag
Coverage Δ

client
76.32% <ø> (ø)

server
84.52% <ø> (ø)

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 0613cb5...e5263fb. Read the comment docs.


Multiple unrelated gradle builds simultaneously timeout

Expected Behavior

Create Java build in dir1/build.gradle
Create long running Java build in dir2/build.gradle
Run gradle twice, once in each directory.
The multiple builds should complete successfully

Current Behavior
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileJava
> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not create service of type UserHomeScopedCompileCaches using UserHomeScopeServices.createCompileCaches().
   > Timeout waiting to lock Java compile cache (/home/ec2-user/.gradle/caches/7.4/javaCompile). It is currently in use by another Gradle instance.
     Owner PID: 8437
     Our PID: 8440
     Owner Operation:
     Our operation:
     Lock file: /home/ec2-user/.gradle/caches/7.4/javaCompile/javaCompile.lock

Context
Steps to Reproduce

Create Java build in dir1/build.gradle
Create long running Java build in dir2/build.gradle
Run gradle twice, once in each directory.

Your Environment
Running in Jenkins parallel block under Amazon Linux 2

I've worked around the problem by running each build with a different version of Gradle. They're now all running successfully.

What do you mean by "long running Java build"? What is "long running"? Could you pls. share a reproducer project? (https://github.com/gradle/gradle-issue-reproducer)

I mean a Java complilation that takes around 1 minute. I can't reproduce it using the reproducer linked because I'd need to write many thousands of lines of Java in order to make the compilation take long enough to reproduce the issue. I did try to reproduce using Spring Framework but sadly(!) it only takes 7 seconds to run ./gradlew clean assemble compileTestJava are you able to suggest any other large open source projects that have a large amount of Java code that I could demonstrate the problem with?

You can use ./gradlew --rerun-tasks in order to ignore previously cached task results and then it won't take just 7 seconds. However, I've tried reproducing the problem with two separate clones of the Spring Framework and can't. Must be something specific to your project, but no idea what...
If you can think of any way to give us further information, pls. do so. On our side, we will also try to figure it out, if/when we get to it.

I received a report of the same issue. There is a project build on a CI server that is getting failures like
11:53:26  > Task :compileJava
11:54:05  > Task :compileJava FAILED
11:54:05
11:54:05  FAILURE: Build failed with an exception.
11:54:05
11:54:05  * What went wrong:
11:54:05  Execution failed for task ':compileJava'.
11:54:05  > Could not create service of type UserHomeScopedCompileCaches using UserHomeScopeServices.createCompileCaches().
11:54:05     > Timeout waiting to lock Java compile cache (/home/ci_user/.gradle/caches/7.1.1/javaCompile). It is currently in use by another Gradle instance.
11:54:05       Owner PID: 12663
11:54:05       Our PID: 8929
11:54:05       Owner Operation:
11:54:05       Our operation:
11:54:05       Lock file: /home/ci_user/.gradle/caches/7.1.1/javaCompile/javaCompile.lock
11:54:05
11:54:05  * Try:
11:54:05  Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
11:54:05
11:54:05  * Get more help at https://help.gradle.org/
11:54:05
11:54:05  BUILD FAILED in 4m 38s
11:54:05  8 actionable tasks: 6 executed, 1 from cache, 1 up-to-date

when another build happens concurrently for another project on the same node.

This is running on Amazon Linux 2.
The projects being built take between 3 and 10 minutes to compile on these nodes.

I don't think the reproducer project adds any value on its own in reproducing the issue. I'll add "-S" to our CI builds. If there is something I could add to the build to provide more information for resolving, please let me know.

I've kind of reproduced the issue.
https://github.com/mjaggard/demo-gradle-problem
although it doesn't time out, the SpringFramework build doesn't proceed in its configuration until the test-project has finished. On a machine with a slow disk or network I think that might be the cause of the timeout issue.
I guess the underlying problem is that I'm doing a full build during the configuration stage. Is it easy to move the java-conventions plugin to a separate build so that it is not being done during configuration?


Optimize mocking

This is a set of commits that improves the performance when mocking by approximately 50%. I also have some questions towards the end of the text.
For a fairly large unit test module with 44 test cases with many mocked functions, the time to execute all the tests was reduced by 52% as indicated in the table below where upstream/master is the first line, and the HEAD is the last line. Lower time is better.

Execution time
Commit

67s
Baseline (the b2797f7 Bump version to 1.2.0)

...
Prepare the cache tab to hold more types of items

...
Collect unload-info during mocking

60s
Load lists of modules at a time

55s
Mock modules in parallel

47s
Reload modules instead of unloading them

32s
Let renamed modules stay loaded between sessions

The unit tests mocked some 70 functions across 20 modules of varying sizes, ranging from 3.6kB to 6.2MB. This was the file size of the beam files, which were compiled with debug_info. Erlang 23. I have not measured with Erlang 24 or any other Erlang version.
On the smaller scale it seems the optimization gives roughly the same performance gain. Below are some results (before ⟶ after).

Execution time
Mocking stats

158ms ⟶ 79ms
2 functions in 2 modules mocked, beam file sizes: 44kB and 36kB

112ms ⟶ 66ms
1 function mocked, beam file size was 8kB

In the original 67 second run of the big unit test of 44 test cases, the time was originally spent roughly as follows (only major time contributors are shown):

Time
Step

54s
mock_and_load_mods/1

23s
├ reload_mod_under_different_name/3

14s
├ get_exported_fas_and_object_code/1

6s
└ mk_mocking_mod/3 (results were cached, so this took time only once)

8s
unload_mods/1 (in end_session)

The general approach of the commits is to minimize unnecessary loads and unloads of modules, since these can be costly in modern Erlang (since unloading implies garbage collection of all processes to copy data from the module's literal area.)
To minimize unnecessary loading, it now keeps track also of the original modules in the ets cache table. Previously only the mockings were cached.
Another change is that instead of iterating over modules, it passes a list of modules to code for loading, since this was somewhat faster at times (although when I measured, this was very jittery for reasons I didn't see). I also tried to exploit cpu cores where available, for some parts of the processing.

I have a question about desired Erlang version compatibility: The code now uses code:atomic_load/1 and code:ensure_modules_loaded/1 which were introduced in Erlang 19. So it means the mockgyver now requires at least Erlang 19.
Do you want to support Erlang versions

only ≥ 21? If so, I can drop the ?with_stacktrace compatibility macro. Edit2: The addition of {preprocess,true} to rebar.config could then be dropped (2 places).
≥ 19? If so one could drop an Erlang 17-ism in get_module_checksum/1 although of course this would not impact performance in any way.
also pre 19? If so, I could add some kind of fallback to process modules individually instead of calling code:ensure_modules_loaded/1 and code:atomic_load/1.

Another question: Mockgyver now uses file:read_file/1 and beam_lib:md5(Filename) to reduce code loading. I think this means that mockgyver might perhaps not work well with embedded code loading. I don't know if it did earlier, or if it is important to make sure it does support this?

Edit: Forgot to say that I have tested the set of commits on a large project as well.
Edit2: Also forgot to say that review of the code is welcome, of course.

I have an idea for improving performance even further. No code yet, only an idea so far. But I think it will require some changes to the state machine logic. So once I have some code, I think it will depend on #19 (or something similar).

I added two commits early in the chain, because I think they made more sense there:

Use the checksum of the original module rather than the renamed as cache for the mocking module.
Introduce the term 'renamed' throughout (and corrected a few 'mocked' → 'mocking')

I also took the liberty to rebase on top of the updated master, assuming you want a linear history rather than a merge. (easy to undo if this was a premature guess from my side, just let me know)
Returning to your earlier topics:

Maybe we can have a chat to reason a bit about this...

Yes, absolutely!

embedded code loading:  ... What is it that makes it malfunction with embedded code loading? Won't it respect code paths and loading in the same way as dynamic code loading, only that it's done at the start, triggered by the boot script?

(guess this is a minor thing) Yes, maybe there is nothing that makes it malfunction. I was tracing the calls through code and the code_server into erl_prim_file and didn't manage to muster all the troups to compare this call chain to what the file and the file_server does for embedded mode and how prim_file and erl_prim_file relate to each other.

Thanks, merged!


Revise the README to be more helpful for new users

As the README stands right now, people that are interested in becoming a part of the community committee don't really have any idea of what we do.
I think that we should revisit a lot of the existing markdown files that outline governance, code of conduct, collaborating, and contributing and make sure they're explained in the main readme file instead of just linking to it.
We should also list working groups and initiatives more clearly, with a description of what they are / the help we need. And have visible action items people can take.
If we don't make it more explicit about our practices, it's going to create a barrier to entry for new people wanting to get involved.

[ ] - Revise README to be more verbose
[x] - Outline groups that are under our jurisdiction
[ ] - Explain more about processes that happen during meetings
[ ] - Move how to become a member and expectations to have higher visibility

I think these would be a start, feel free to add more as you see fit.

Hello @rachelnicole & @bnb!
I would like to take on this task as a good first issue and as someone relatively new to the community, this would be a great exercise in learning more about the community committee and the topics related to governance, code of conduct, collaboration, and contribution.
:) I appreciate the checklist and I would love to get started.
Who would be good points of contact to ask questions as I make the revisions?
Would a good approach be to re-read the README file and start marking sections that leave me with questions?  (As a someone new the community, I do not have a lot of prior knowledge on all that is involved, so my cache is clean :D )
I look forward to hearing back!
-Manny

@mannypamintuan Thanks for stepping up to take this on!
Good points of contact for this specifically would likely be any member of the Node.js Community Committee. If you have questions, definitely post them here - but also don't hesitate to reach out to any of us. I'm personally happy to help if you have any questions as you go.
I definitely think that your suggestion of reading through the README.md and marking it up with your comments is a very good way to approach it. Once you do that, you could share that back into this issue and we could compare it with the things that the members of the CommComm note that are missing/needed. Combine the two and I think we'll have a holistic view on what's needed from the point of view of someone approaching the CommComm for the first time and from a state of content-completeness. 👍

You are most welcome @bnb!
Thank you for the guidance, I will get started on this issue and any questions I will post here, but will also branch out and contact the CommComm members as needed 😄

Outline groups that are under our jurisdiction

We've done that a bit in https://github.com/nodejs/community-committee/pull/167 and https://github.com/nodejs/community-committee/pull/191 - checked it off 👍

@bnb @mannypamintuan it this still being worked on?

@ryzokuken As far as I know, no. If you want to take a stab at it, feel free to do so, even if it's being worked on! We're here for any questions.

@oe I'll jump in promptly. Thanks!

@oe @bnb Let's start with pt. 3 and 4 because they are much less vague than pt. 1.
1. Explain more about processes that happen during meetings
2. Move how to become a member and expectations to have higher visibility
Could any of you take out the time to let me know any of these?
It's okay if you're busy right now, even if you could point me to someone else who could it'd be helpful.

@ryzokuken We're currently trying to shift focus away from becoming a members, and more towards engaging in one of our intiatives. I think it might be better if we put that front and center. A more detailed description of each initiative, and some initiatives that are currently looking for help might be good.

@oe So from what I infer from it, accepting new members isn't the top priority, right? Makes sense.
I found a list of initiatives at https://github.com/nodejs/community-committee/blob/master/STRATEGIC-INITIATIVES.md is that all, or does this list need some changes? Should we list out a few to the README? (Especially those which require help)

@ryzokuken That list should be up to date. I was thinking of having something of a dashboard for initiatives which are easy to contribute to (such as the translation initiative), keeping a complete list of them in the README is probably as bad idea since we'd have to sync the STRATEGIC-INITIATIVES file and the README.

@oe that's completely on point. Could you point out which specific initiatives are easier to contribute to than the others? In the meantime, I'd look all of those up and will try my best to make a guess.

@ryanmurakami I'd suggest i18n, User Feedback, Website Redesign, and Badges for now.

@oe @bnb should I add this small sub-list of special initiatives in the initiatives section itself, or do I make a new section named something like "Getting Started" and list them in there?
If you prefer the latter, where should I position the new section? Right after "Contributing" and before "Current Initiatives, Teams, and Working Groups" or somewhere near the end?

@ryzokuken I'd add it inside of the Current Initiatives, Teams, and Working Groups
 section 👍

Hi I'd like to be involved and help with this too. Is there anything I could do to assist or be useful? Please let me know. Thank you!


⚠ Bofrost.es has degraded performance

In facb694, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1729 ms

Resolved: Bofrost.es performance has improved in 4d4c833 after 6 minutes.