Trouble building in Visual Studio 2015 for Xbox UWP x64 cocos2d-x app

Decided to give gainput a try after researching controller libraries that could be used with Cocos2d-x, based on some discussions and recommendations on their forums.  However, I've been having some problems deploying anything to the Xbox with gainput added.
Basically, I have a cocos2d-x 3.15 Visual Studio solution for our game and I used cmake to generate the VS 2015 x64 gainput solution using the command cmake -G "Visual Studio 14 2015 Win64".  I then added the "gainput" project to our cocos2d-x VS solution and set it as a build dependency.
I also needed to add the gainput\lib\include folder to "Additional Include Directories" and for the Linker, added gainput-d.lib to "Additional Dependencies" and added the lib\Debug output directory to "Additional Library Directories".
I now get source-code completion, and the sample gainput code from the basic example builds and everything links.  However, when deploying to the Xbox, I get the error message "A dependent dll was not found.
I thought this was because in the AppX folder, the gainput-d.dll file was missing, however copying it there and re-deploying was unsuccessful.  I used the Dependency Walker tool and it seems gaininput-d.dll needs kernel32.dll, user32.dll, xinput9_1_0.dll, ws2_32.dll, vcruntime140D.dll, and ucrtbased.dll.
This seemed strange because these look like win32 specific dependencies so I checked the preprocesser build flags for the "gainput" project and sure enough, they included WIN32 and _WINDOWS, which I don't think should be there for x64 builds.
Sorry for the long write-up but wanted to be detailed on exactly what was going on.  Do you know of anyone who has been able to use your library for Xbox UWP x64 apps, or even Windows 10 UWP x64 apps?  Building/running the samples worked fine for me, but those are simply win32 desktop builds, so it's not a fair comparison.  I could very well be running an incorrect build configuration.
I'd like to try using the library on the Xbox for our game, any help on this would be greatly appreciated.
Thanks!
Mark

I believe the following cmake command is what should be used to generate the UWP x64 solution.
CMake -G "Visual Studio 15 2017 Win64" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 -DCMAKE_GENERATOR_TOOLSET=v141,host=x64 ..
However when opening the resulting solution in Visual Studio 2017 and attempting to build the "basicsample" project or even just "gainput" results in hundreds of unknown identifier errors.
If gainput simply doesn't support what I'm trying to do then that's totally ok, I just wanted to give your library a chance.  If so, I can move onto SDL for the time being until some cycles can be freed up to look into this.
@jkuhlmann would it be possible to get a quick heads up so I know whether or not to wait?  Thanks a lot!!  :)


Remove manual FPGA test script

This script is not working any more as-is, and doesn't seem to have any
users. Remove it to avoid confusion.
Fixes #1599

@imphil there are some references in https://github.com/lowRISC/opentitan/blob/master/doc/rm/ref_manual_fpga.md to this file. You can probably just delete the last section.

Good catch, updated!


Could you please upload the requirements.txt?

Could you please upload the requirements.txt?

@shuxiaobo Hello! Which folder do you refer to? I'm pleased to provide the requirements.txt file.

@SivilTaram Hi~ thanks for your reply. I see the requirements.txt in model_training, but ModuleNotFoundError: No module named 'xentropy_cuda_lib' here is a module is missing

@shuxiaobo Hello! Do you follow the instructions to install xformers first?

I've solve the problem, thanks a lot


Update packages with security issues

Thank you! I think it is ok. There are some vulnerabilities reported by the automatic checks due to some package versions used by this project. With the updates of this PR, they should be solved.


⚠ Mobitopup has degraded performance

In e6d05eb, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 11565 ms

Resolved: Mobitopup performance has improved in 89e9db7 after 417 days, 52 minutes.


Add deps rust

Is there a way to add deps for evcxr? Essentially use the :deps command on the current root Cargo.toml would be incredibly useful since it would allow for more complete evaluation. Something like :deps {path = $PWD} or something similar. This would allow actually evaluating of functions from the crate (though refreshing would presumably need to happen often to reflect code changes...).
On a related note, is there a way to directly drop into the evcxr repl from neovim? This would let me run :dep ... so I can evaluate pieces of code from the crate I'm working with.
(Really cool project BTW! I think this could be super useful when doing rust dev)

I'm afraid I'm not sure, I didn't write this client and I know nothing about the toolchain other than some Rust basics.
Are these command line arguments? Because I'm sure the config that points to the binary could support that. Either with minimal changes or it may already work.
I'm kinda surprised this Rust REPL doesn't already pick up on your projects dependencies? That seems like a very core feature of a REPL to me. Are you starting the REPL from within your project directory?
And as far as dropping into the REPL goes, no, not right now. The processes Conjure starts for the simple stdio based systems (like this one) are headless. The only frontend is the log buffer. That may change in my future iteration of stdio support, so I'll keep this in mind.

@rafaeldelboni do you think this would be possible? Not asking you to do it of course, just interested in your opinion 🙂

Evcxr has some "limitations" because it's main mind set is to work more like a Jupyter Notebook instead of a project mind set, so I don't think currently it has a way to read the Cargo.toml, that would be a nice feature we could ask to the reply developer.
Issues like this one made me see this:
https://github.com/google/evcxr/issues/70
But what you could do is open a conjure buffer in your nvim session <local leader> l v for example and write a new line on it like :dep rand = { version = "0.7.3" } and evaluate the line or select it and evaluate the selection.
You could even write the above in any file and evaluate the line, like I did in this playground:
https://github.com/Olical/conjure/blob/master/dev/rust/sandbox.rs
You just need to uncomment the :dep before evaluation.


Adding support for future/promises

I'm having issues using this library to fmap over a Future object.
(extend-protocol Functor
  <some.future.class>
  (fmap [v f] (future (f (deref v))))
  (lift [v] (deref v)))

(>>=* (future 5) :lift) ; => 5
(>>=* (future 5) inc) ; Raises exception: clojure.core$future_call$reify__6962 cannot be cast to java.lang.Number
; The above example should return a Future object with val = 6

hi, I'm currently on holidays, will only be able to look at this next week.
if you want to debug this in the meantime add some print statements to you're extend functor functions to make sure they are being callled and what is the type of the value they pass to fmap's function argument.

All right. It isn't printing anything, so my bet is that I'm giving the class wrong.
I cannot tell what is the class or type of Clojure's futures, since when I do (type (future 5)) it prints clojure.core$future_call$reify__6962, and I don't know what that means.
For the time being I'm going to use Imminent, which has already implemented chainable futures and promises.

Imminent is maybe a better choice for what you want if you're just using futures.
For reference java future implements: java.util.concurrent.Future
user=> (import '(java.util.concurrent Future))
java.util.concurrent.Future
user=> (instance? Future (future))
true


angular dependency resolution in bower.json

I'm not familiar with frontend stuff; is this ok? bower update fails with this
Unable to find a suitable version for angular, please choose one:
    1) angular#1.2.29 which resolved to 1.2.29 and is required by angular-mocks#1.2.29, angular-resource#1.2.29, angular-route#1.2.29, angular-scenario#1.2.29
    2) angular#~1.2.16 which resolved to 1.2.29 and is required by ooni-api
    3) angular#~1.2.0 which resolved to 1.2.29 and is required by angular-typewrite#0.0.4
    4) angular#>=1.0.8 which resolved to 1.4.8 and is required by angular-datamaps#0.1.2
    5) angular#>=1.2.16 1.4.x which resolved to 1.4.8 and is required by angular-ui-grid#3.0.7

Prefix the choice with ! to persist it to bower.json

So I hit !1. Makes the deploy easier.

:+1: looks good to me.

aight, i'll merge.

agreed :+1:


JUnit5: Shorten test code by using parameterized tests

If we use JUnit 5 instead (#707), we can use new annotations to make some of our tests more readable. For example, in AddCommandParserTest, we have quite a bit of boilerplate code as we have multiple assertParseFailure(...). Existing code:
@Test
public void parse_compulsoryFieldMissing_failure() {
    String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE);

    // missing name prefix
    assertParseFailure(parser, VALID_NAME_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB,
            expectedMessage);

    // missing phone prefix
    assertParseFailure(parser, NAME_DESC_BOB + VALID_PHONE_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB,
            expectedMessage);

    // missing email prefix
    assertParseFailure(parser, NAME_DESC_BOB + PHONE_DESC_BOB + VALID_EMAIL_BOB + ADDRESS_DESC_BOB,
            expectedMessage);

    // missing address prefix
    assertParseFailure(parser, NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + VALID_ADDRESS_BOB,
            expectedMessage);

    // all prefixes missing
    assertParseFailure(parser, VALID_NAME_BOB + VALID_PHONE_BOB + VALID_EMAIL_BOB + VALID_ADDRESS_BOB,
            expectedMessage);
}

However, when we use the new annotations in JUnit 5, we can supply the parameters outside of the test method, thus we only have one assertParseFailure(...).
@ParameterizedTest
@ValueSource(strings = { VALID_NAME_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB, // missing name prefix
        NAME_DESC_BOB + VALID_PHONE_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB, // missing phone prefix
        NAME_DESC_BOB + PHONE_DESC_BOB + VALID_EMAIL_BOB + ADDRESS_DESC_BOB, // missing email prefix
        NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + VALID_ADDRESS_BOB, // missing address prefix
        VALID_NAME_BOB + VALID_PHONE_BOB + VALID_EMAIL_BOB + VALID_ADDRESS_BOB }) // all prefixes missing
public void parse_compulsoryFieldMissing_failure(String userInput) {
    assertParseFailure(parser, userInput, String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE));
}

Parameterized testing exists in JUnit4, using a runner:
https://github.com/junit-team/junit4/wiki/Parameterized-tests
We can change our tests, even without JUnit5.

Let's not bring in new concepts if we can help it. Weak students can tolerate verbosity but cannot survive concept overload. We can of course add a comment to mention how to reduce verbosity and leave it to students to change if they want.

@damithc should we close this issue, or should we update a test to become a parameterized test as a sample for students to follow if they want to?

It seems like leaving a sample in a random part of the code base is not visible enough for the students. As such, I think that we can just close this issue.

Agreed.


Add option for unlimited clone depth

Current dependencies on/for this PR:

master

PR #200

PR #201   👈

This comment was auto-generated by Graphite.


Add support for resolving parameters from AWS SSM credential manager

Feature request

How can we improve the module?

Add support for resolving parameters from AWS SSM credential manager.
Would adding this line work?
Environment="CONCOURSE_AWS_SSM_REGION=${region}"

here: https://github.com/telia-oss/terraform-aws-concourse/blob/master/modules/cloud-init/atc.yml#L49

Hey @pinfoldd!
Assuming you are thinking of using parameter store as the secret backend for concourse, then yes your suggestion should work (this module used to do that). But you'd need to make it configurable, since I believe Concourse does not support multiple secret backends yet I think? 🤔


Adonis make command file indentation

Choose the correct repo
Not sure if its in this repo or the cli or the ace one. (Sorry in advance)
Issue
I have set up editorconfig
# editorconfig.org

[*]
indent_size = 4

However whenever I use any of the make:migration make:controller etc. etc. commands, the file generated, does not respect the indentation_size (defaults to 2)

Hey @oscarmorrison!
editorconfig is an editor's plugin that set your editor configuration to respect what you set up.
It has nothing to do with Adonis and will not change how the generator generates our file

Yes as @RomainLanz said it’s a plugin to instruct the editor. But lemme see if we can do anything about it or not

I am closing this, since there is no simple way for AdonisJs to read the .editorconfig even before the project doesn't exists.


Error in Chrome console when npm start

IMPORTANT: This repository's issues are reserved for feature requests and bug reports. Do not submit support requests here.
Steps to reproduce and a minimal demo of the problem
git pull
npm install
npm start
What steps should we try in your demo to see the problem?
Current behavior
can not open index in broswer
in terminal :
src\client\app\main-prod.ts(5,36): error TS2307: Cannot find module './app.module.ngfactory'.

and Chrome console

Chrome index

Expected/desired behavior
should be no error
Other information
OS Windows 10
node 4.4.7
npm 3.10.7
Chrome  53.0.2785.89 m (64-bit)

in system-config.js I see:
System.config(JSON.parse('[object Object]'));

Thanks for reporting the issue! Should be fixed in master.

thx

I ran into the same issue while trying to run the tests.
Steps to reproduce and a minimal demo of the problem
git pull
npm install
npm run webdriver-start
npm run serve.e2e
Current behavior
can not open index in browser
in terminal :
src\client\app\main-prod.ts(5,36): error TS2307: Cannot find module './app.module.ngfactory'.
Chrome
Identical to @liuyangc3
Chrome index
Identical to @liuyangc3
Expected/desired behavior
should be no error
Other information
OS Windows 10
node 4.4.7
npm 3.10.7
Chrome 52.0.2743.116 m (64-bit)


Submit a Listing hangs on Uploading images when saved.

Add a Listing
After adding all images
Submit Listing.
RESULTS - Hangs on Uploading images
EXPECTED RESULTS - Should not hang.

This is a center issue after all.

Please re-test.

Passed on staging.


Update README.md

Add ProgressIndicatorView

Project URL
https://github.com/exyte/ProgressIndicatorView

Category

Indicators
Description

A number of preset progress indicators created with SwiftUI.
Why it should be included to awesome-ios (mandatory)
Easy to use default looking indicators to show progress for 0 to 1 for when you need to track percentage of progress
Checklist

[x] Has 50 GitHub stargazers or more
[x] Only one project/change is in this pull request
[x] Isn't an archived project
[x] Has more than one contributor
[x] Has unit tests, integration tests or UI tests
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

@f3dm76
Thanks for contributing!


[CORE] Upgrade Arrow to 15.0.0

Upgrade arrow to align with Velox's arrow dependency. Thus when user needs to enable compile_arrow_java build option, arrow 15.0.0 can be built and installed to local, then will be used by gluten build.
There are some Spark-3.2 UT fails. They are ignored by this pr temporarily.

Hi @Yohahaha, could you rebase this pr? I note we need this upgrade to avoid an invalid pointer issue. Thanks!

Hi @Yohahaha, it's strange that a few UT fails. Do you have any clues?

Hi @Yohahaha, it's strange that a few UT fails. Do you have any clues?

sorry, I dont have enough time to find root cause and continue iterating this PR for now. It would be great if community could take it.

@PHILO-HE thank you!

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_5174_time.csv
log/native_master_04_25_2024_8ade7a9cb_time.csv
difference
percentage

q1
37.26
36.23
-1.029
97.24%

q2
23.91
23.67
-0.232
99.03%

q3
37.26
39.09
1.838
104.93%

q4
38.60
37.31
-1.284
96.67%

q5
71.02
69.05
-1.965
97.23%

q6
7.64
5.64
-1.997
73.86%

q7
84.03
84.14
0.105
100.13%

q8
85.33
85.57
0.244
100.29%

q9
120.92
123.29
2.370
101.96%

q10
45.40
46.88
1.474
103.25%

q11
20.09
20.38
0.289
101.44%

q12
24.02
28.18
4.162
117.33%

q13
56.20
55.46
-0.741
98.68%

q14
17.59
17.25
-0.347
98.03%

q15
30.65
31.27
0.619
102.02%

q16
14.16
13.89
-0.270
98.10%

q17
104.04
104.73
0.694
100.67%

q18
146.01
145.71
-0.293
99.80%

q19
14.77
13.71
-1.056
92.85%

q20
29.15
27.47
-1.681
94.23%

q21
285.12
286.10
0.979
100.34%

q22
14.78
14.41
-0.373
97.48%

total
1307.94
1309.44
1.506
100.12%


fixed #53 : support for tags, paths and methods ordering

Also :

migration to markup-document-builder 0.1.6-SNAPSHOT

I deprecated OrderBy because there was too many parameters to both enable/disable and set a comparator for all resources. Let see if it's ok for you.

Nice PR. Thx. I have to think again about ordering, because custom comperators are difficult to configure for users using the Maven, Gradle plugin or CLI tool.


Pass _context and _self as apply() arguments rather than as args' values

It would be very handy to not have to track arguments that are external to Filter/Function actual parameters, given that this two are always present. Handling of multi-arg functions, in particular, would benefit. The downside is it breaks compatibility.

Unfortunately breaking backwards compatibility at this point is not an option; I know there are a lot of custom extensions out there. I'll keep it in mind for a possible version 2.0 of pebble (which I haven't begun development on).
In the meantime if by "multi-arg" functions you mean functions that accepts an unknown or unlimited amount of arguments I suggest using the built-in min or max functions as reference. They use an integer as a key to pull out arguments from the argument map which will effectively ignore the "_self" and "_context" keys.
Otherwise, if by "multi-arg" functions you mean functions that accept more than one argument but you still know exactly how many, I suggest giving them all names, such as I do in the built-in i18n function.

That's understandable. I'll close this for now, then.

Am I late to beg you to reconsider this now that 2.0 breaks backcompat??

Implemented on the 3.0 branch


Feat/auth cpc 102 signup user

All tests passed, register/signup UI is implemented, the logic behind it is mostly done but still in the works. My sprint consisted of creating the Register UI and logic, but I only managed to completed the UI.

Is this branched off of one of my branches?

Is this branched off of one of my branches?

Yes, I  think I did it with you? I believe I had to do it in order to get the User classes instead of recreating them and creating possible merge conflicts.

Is this branched off of one of my branches?

Yes, I think I did it with you? I believe I had to do it in order to get the User classes instead of recreating them and creating possible merge conflicts.

Ah yes I remember that


Rename Identity tables in the TodoTemplate project

Rename Identity tables. AspNet should be removed from the first Identity tables to better integrate the system and name the tables.

Delete all prev migrations and create one new clean migration after this change @Cyrus-Sushiant


double-beep: Watch leakedmovies.cinemax21.org

double-beep requests the watch of the watch_keyword leakedmovies\.cinemax21\.org. See the MS search here and the Stack Exchange search here.

leakedmovies\.cinemax21\.org has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Breaking change on v0.0.28

v0.0.28 release has involved to update graphql dep from v0.13.0 to v14.0.0. The problem with the latter version it doesn't support node 9.x:

error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "6.x || 8.x || >= 10.x".

So, I think this evolution would have deserved at least a minor version.

Ugh, annoying :(
I don't think there's much we can do after the fact anymore?


Fix typo in formatting on videoplayer.md

Fix typo in formatting making the event overview title and previous snippet to not render correctly.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


checking ollama client/version compability

While testing on two laptops the last two weeks I was discovering various issues caused by ollama version differences.
On laptop 1: could not run granite3-dene well. seem ollama itself was "stuck" at 0.3 version because I never restarts my laptop. Once I noticed ollama had an update available (its only visible in the menubar if you click on it) I got 0.4 and things got better
On laptop 2: the ollama client was installed with brew but ollama server was the main ollama binary. Resulting in me running a 0.1 ollama client, ollama 0.4 server. And had all such of problems.
Just like https://github.com/redhat-developer/vscode-paver/issues/101 where ollama version mismatches can be problematic we should look into either shipping our own ollama or at least check if versions align/are within a  supported range.

p.s. you get info like this when running ollama -v :
ollama client available, server not running:
ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.4.1

ollama client available, server not running:
ollama -v
ollama version is 0.4.1
Warning: client version is 0.1.3

(above is not verbatim copy but just from memory - thus replicate the scenario, don't implement based on that pattern of text)
ollama server and client aligned:
ollama -v
ollama version is 0.4.1

from that we could warn/ suggest updates.

@neehar18 this is an extension of #101


How to diagnose "Issuer letsencrypt-staging not ready"?

I'm setting up cert-manager to automatically renew TLS certificates and I'm stuck on this error Issuer letsencrypt-staging not ready. (letsencrypt-staging is the name of my ClusterIssuer).
Here is the output from the cert-manager pod:
controller.go:171] certificates controller: syncing item 'default/passgen-crt'
sync.go:120] Issuer letsencrypt-staging not ready
controller.go:180] certificates controller: Re-queuing item "default/passgen-crt" due to error processing: Issuer letsencrypt-staging not ready
controller.go:171] certificates controller: syncing item 'default/passgen-crt'
sync.go:120] Issuer letsencrypt-staging not ready
controller.go:180] certificates controller: Re-queuing item "default/passgen-crt" due to error processing: Issuer letsencrypt-staging not ready

Here is my ClusterIssuer yaml:
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt-staging
spec:
  acme:
    # The ACME server URL
    server: https://acme-staging.api.letsencrypt.org/directory
    # Email address used for ACME registration
    email<EMAIL_ADDRESS>    # Name of a secret used to store the ACME account private key
    privateKeySecretRef:
      name: letsencrypt-staging
    # Enable the HTTP-01 challenge provider
    http01: {}

And here is my Certificate yaml:
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: passgen-crt
spec:
  secretName: passgen-crt
  dnsNames:
  - '*.passgen.site'
  commonName: passgen.site
  acme:
    config:
    - http01:
        ingressClass: nginx
      domains:
      - '*.passgen.site'
  issuerRef:
    name: letsencrypt-staging
    kind: ClusterIssuer

What does "not ready" mean exactly? How do I go about solving this?

FWIW, I think your ACME server URI is invalid (you forgot v02!).
Describing the Issuer should provide some more info as to how to fix it too 😄

The server URL was the problem - thanks!
This is the correct URL for staging:
https://acme-staging-v02.api.letsencrypt.org/directory
And this should be the URL for the real thing:
server: https://acme-v02.api.letsencryp.org/directory

@KristianWindsor You made a typo for production URL (letsencryp without t in the end):
Correct:
https://acme-v02.api.letsencrypt.org/directory


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter undefined for common errors and appropiate suggestions to keep this adapter up to date.
Please see the result of the check below.
weblate-test
  -

[ ] :heavy_exclamation_mark: [E000] FATAL: cannot access repository https://api.github.com/repos/mcm1957/weblate-test
[ ] :heavy_exclamation_mark: [E999] GLOBAL ERROR: [object Object], {"message":"Request failed with status code 404","name":"AxiosError","stack":"AxiosError: Request failed with status code 404\n    at settle (C:\GitHub\iobroker-bot-orga\node_modules\axios\dist\node\axios.cjs:2015:12)\n    at Unzip.handleStreamEnd (C:\GitHub\iobroker-bot-orga\node_modules\axios\dist\node\axios.cjs:3131:11)\n    at Unzip.emit (node:events:531:35)\n    at endReadableNT (node:internal/streams/readable:1696:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)\n    at Axios.request (C:\GitHub\iobroker-bot-orga\node_modules\axios\dist\node\axios.cjs:4262:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http","fetch"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Cache-Control":"no-cache","Pragma":"no-cache","Expires":"0","User-Agent":"axios/1.7.3","Accept-Encoding":"gzip, compress, deflate, br"},"cache":false,"method":"get","url":"https://api.github.com/repos/mcm1957/weblate-test"},"code":"ERR_BAD_REQUEST","status":404}
:thumbsup: No warnings found
Please review issues reported and consider fixing them as soon as appropiate.

Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considers as blocking point for future updates at stable repository.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
Note: This issue replaces issue #32
@mcm1957 for evidence

This issue has been replaced by new isse #34
This issue can be closed.
your
ioBroker Check and Service Bot


Add a "Features" bullet-point

Hi all,
Thanks for starting this repo, I think it's a great way to have everything going on in one place.
Could I suggest that each entry has a "Feature" bullet-point, which includes key:value pairs like:
Method XYZ
- Paper: URL
- Code repo: URL
- Features = Model_input:MSA; Multimers:no
Method ABC
- Paper: URL
- Code repo: URL
- Features = Model_input:pLM; Multimers:yes

Something like that. My idea is to contribute to the repo but also have a table format based on features, a bit like the ColabFold tables, e.g. see below:

See a manually-typed table I created in Google Sheets:

Thanks for considering

Yes, yesterday @sokrypton and I were deciding how to split the pLM models from the MSA models, this also came up as an option (having some text attribute rather than creating super categories). I've now restyled the page using "tags". Maybe it's too much, but potentially there could be feature: XX tag, e.g. . What do you think?

I wish it was possible to filter the page by tags, too... That would be sooooooooo helpful

With the reformatted README.md, I can now tabulate the tool names with this one-liner:
cat README.md | grep -A999999 '\#\#\#\ Predictors' | grep -B999999 '\#\#\#\ Tools' | grep '^\ \ \-\ ' | sed 's/\ \ \-\ //' | csvtk add-header -n Method

See csvtk at https://github.com/shenwei356/csvtk
Then programmatically compare to the current version in Google Sheets. I can programmatically download the Google Sheets table with:
tosheets --spreadsheet=1ikiDyS1TcayyFcdfhywSHQCAwjM3IJOwFB7FGKl8wfc -x -s bit.ly/biofold -c A:A -d ',' > /tmp/1.csv

See https://github.com/avilella/tosheets
Then compare a vs b with csvtk and xsv:
# cat /tmp/1.csv  | csvtk rename2  -F -f "*" -p "(.*)" -r 'a_${1}'  > /tmp/1j.tmp
# cat /tmp/2.csv  | csvtk rename2  -F -f "*" -p "(.*)" -r 'b_${1}'  > /tmp/2.tmp
# xsv join  --full 1 /tmp/1.tmp 1 /tmp/2.tmp  | csvtk rename2 -F -f "*" -p "^a_(.*)" -r 'a_${1}' | csvtk rename2 -F -f "*" -p "^b_(.*)" -r 'b_${1}'

See https://github.com/BurntSushi/xsv
This way we can programmatically find changes in the README.md and easily keep the two in sync in the tabular version.

You could add the CSV'd readme directly back to the repo, small CSVs render well in GitHub: https://github.com/sacdallago/bio_embeddings/blob/develop/examples/use_case_one/annotation_file.csv

I think we addressed the main point here :) so cllosing for now


unbindAll(forEventName eventName: String)

App crashes while trying to disconnect. I want to change my view controller with the incoming pusher message, everything is fine until the perform segue triggered. It always stucked at unbind functions.
open func unbindAll(forEventName eventName: String) {
    self.eventHandlers[eventName] = []
}

For this function, eventName value is always lldb. so app crashes all the time. If I don't use eventName in bind function, no errors shown.
From your code
myChannel.bind(eventName: "new-price", callback: { (data: Any?) -> Void in
    if let data = data as? [String : AnyObject] {
        if let price = data["price"] as? String, company = data["company"] as? String {
            print("\(company) is now priced at \(price)")
        }
    }
})
--> NOT WORKS

pusher.bind(callback: { (data: Any?) -> Void in
    if let data = data as? [String : AnyObject] {
        if let commenter = data["commenter"] as? String, message = data["message"] as? String {
            print("\(commenter) wrote \(message)")
        }
    }
})
--> WORKS, but in that case app will crash at:

open func unbindAll(forEventName eventName: String) {
    self.eventHandlers[eventName] = []
}

function. there is a problem with eventName i guess but I couldn't solve that.

I need some more information to be able to understand the problem that you're encountering.
Could you perhaps attach a project with sufficient code in it to demonstrate the problem and how to recreate it?
THanks!

@cankocoglu just checking in to see if you're still encountering the problem? If you are, a sample project would be a massive help in terms of debugging the issues you're facing!

Closing as stale.


Cant add into the repository

I get this error
"Repostitory structure for main is not compliant"
when I want add "https://github.com/matt-FFFFFF/hassio-addon-repository" as custom repo.

Can't reproduce unfortunately
https://github.com/matt-FFFFFF/hassio-addon-repository works for me here. Maybe check internet access from the HA machine.

Closing due to inactivity


[Node.js] Fix npm install issue

@halton This change fixes npm install issue when install from tarball, and also updates the version for publish to npmjs , PTAL, thanks.

@halton I went through the travis log, seems there are something wrong with the env?

@tingshao seems like the the script in .travis.yml below does not work, could you try to fix it?
 pyenv local `pyenv versions|sed 's/ //g'|grep "^3"|tail -1`;

@halton ok.

@halton I pushed a new commit to re-trigger the CI checks, no content update, PTAL, thanks.


[BUG] my bloxtrap is stuck on configuring roblox it doesnt load the game

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[X] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.7.0
What problem did you encounter?
[BUG] my bloxtrap is stuck on configuring roblox it doesnt load the game
Bloxstrap Log
N/A

Update Bloxstrap. https://bloxstraplabs.com or https://github.com/bloxstraplabs/bloxstrap/releases/latest


.NETStandard v2.0 support

By creating new Xamarin.Forms project based on .NETStandard 2.0, Plugin.BLE packages are restored using .NETFramework v4.6.1.
Rebuilding the solution inside VisualStudio 2017 is successfull, but if I try to set up Jenkins or VS Mobile center for CI/CD/CT, then rebuild fails because of this "issue".
Inside Jenkins I am trying to build using MSBUILD.
Is there any workaround or do you soon plan to add .NETStandard 2.0 support?

Hi @dinodzakmic,
I'm the friendly issue checker.
It seems like (100.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

Do it work with .NETStandard 2.0?

@biapar  It's working when I use my machine for build and deployment, but on my Jenkins server it does not work.

Which is the min .NET version supported?

Plugin.BLE (2.0.0-pre1) is .NETStandard 1.0
NETStandard.Library (>= 1.6.1)


CorsConfigBuilder exposeHeaders and allowedRequestHeaders should accept CharSequence

Expected behavior
In Netty 4.1, HttpHeaderNames constants are AsciiStrings. It should be possible to directly pass those constants to CorsConfigBuilder methods such as exposeHeaders, allowedRequestHeaders.
Actual behavior
Those methods take String, so one has to convert and call toString on the AsciiStrings.
Netty version
4.1.8.Final

I can provide a PR.
The question is: "can we use CharSequence all the way down, meaning having CorsConfig::exposedHeaders and CorsConfig:: allowedRequestHeaders return Set instead of Set?".

can we use CharSequence all the way down, meaning having CorsConfig::exposedHeaders and CorsConfig:: allowedRequestHeaders return Set instead of Set?

Answer my own question: no without breaking API (Java's Set is invariant).

AsciiString#toString() caches the string conversion. So with these static methods you should only have to pay the price 1 time. Also with the string improvements in jdk9 we may investigate removing AsciiString when we can support jdk9.

@Scottmitch Got it. Closing then, thanks!

Actually, in terms of API, we could just make the CorsConfigBuilder accept CharSequence and call toString internally. WDYT?

I haven't thought about it too much but the class is final so on the surface that seems reasonable.

I'll send a PR later tonight.

@slandelle cool.. Just ensure you also keep the old methods to preserve binary compatibility.

@normanmaurer Well, I just plan to expand to super type in covariant position (foo(String) -> foo(CharSequence)), so it should be fine, shouldn't it?

Nope this is not fine see also:
https://github.com/netty/netty/issues/6283

Am 09.02.2017 um 20:07 schrieb Stephane Landelle<EMAIL_ADDRESS>@normanmaurer Well, I just plan to expand to super type in covariant position (foo(String) -> foo(CharSequence)), so it should be fine, shouldn't it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Mmm, #6283 looks very different to me (at least from a types perspective).
addAll(Future[]) (varargs are arrays) is NOT a generalization of addAll(Promise[]), event though Promise extends Future because arrays are invariant, not covariant.
My first guess was that it wasn't necessary in #6292 to restore add(Promise).
Then, I'm not 100% sure of what happens in the Java bytecode, let me check.

My bad, Java arrays are covariant.

I stand corrected :)

PR: #6340


Mediawiki Problem

I've just set this up and would like to say a big thank you first of all.  It's very good and much better than trying to manage things across multiple nginx.conf files.
I have 14 proxy_hosts configured, all with SSL and other than flicking a few switches and adding a few locations everything appears to be working perfectly.
My MediaWiki service isn't playing ball though and just wants to redirect to the local IP address.  Anyone had any specific issues with Mediawiki?  My previous wiki.conf files didn't appear to have anything unusual or any additional locations:
location / {
proxy_pass http://192.168.168.nn;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Thanks again!

Sorry, ignore this!  I got to the bottom of it, which was a Mediakiki configuration issue in LocalSettings.php


User might want to interact with PasteMyst on more than one accounts

As of now, the wrapper does not offer usage of more than one API keys which can be a bad design choice if the user of it wants to use pastemyst on more than one account.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.

The best I can think of is to change the authorize field to:
pastemyst.setDefaultAuthorization("Auth Token");

which would mean that there is would be a default authorization when the optional auth argument is not provided. Here's an example of how it would be used:
import * as pastemyst from "pastemyst-ts";

pastemyst.("Auth Token");

const paste = pastemyst.pastes.getPaste("Paste ID");

Now, if the paste is private, it would fill in that auth header, it can be overridden by providing it directly/manually:
const paste = pastemyst.pastes.getPaste("Paste ID", "Auth Token");

which means the default header won't be used.
Defenition meta of getPaste:
function getPaste(pasteID: string, authToken = token); // Token is null by default and assigned
                                                                                // by the setDefaultAuthorization function.


logout area in "mobile view" when logged on

the form(?), button(?) or what ever peeks over bottom box border
didn't find the css screw to adjust

fixed by some other change^^
guess it was a display matter in css


Issues/141 Clarify model.hpp source code

So I named the branch incorrect. So this is for #141

The new comments are not accurate. I will create a ticket #150 to improve the quality of comments in the model::run method.


@anandsahil This information should be in the README

@anandsahil
Hi,
First part, where you define clinet is OK.
You do not have to generate keys yourself. It is done automatically when initialisation process is started.
Here are the steps:

You create a clinet - you've done that.
You send initialisation process orders (INI and HIA) like that:

get INI order - you've done it;
with async/await: const response = await client.send(iniOrder);
without async/await client.send(iniOrder).then(r => console.log(r)).catch(e => console.log(e));
do the same for HIA order

You have to generate and print ini letter. You can do it like this:

const bankName = 'Zürcher Kantonalbank';
const template = fs.readFileSync('your_path_to_this_file/ini.hbs').toString();
const letter = new ebics.BankLetter({ client, bankName, template });

await letter.serialize('bankLetterFilename.html'); // or then, catch

Open the html file. Print it. Send it to the bank. Now they are suppose to activate your account.

Once your account is activated by the bank, now you're ready to download their (bank) keys:

Execute HPB order and get the keys

const hpbOrder = ebics.Orders.HPB;
const response  = await client.send(hpbOrder);
await client.setBankKeys(response.bankKeys);

Now you're ready to go.

Hope this will help.
Regards,
Vlad
Originally posted by @vladhristov in https://github.com/node-ebics/node-ebics-client/issues/1#issuecomment-512206846

Very helpful, thank you.
JP

Thanks !
I am new to this ISO and i have to implement it. But there is no informations on the about... Can you help me ?


fix: use where parms in count generated code

The _where param was unused, as described in https://github.com/Brendonovich/prisma-client-rust/issues/177

Will write some tests and then merge


LoadError: no such file to load -- helpers/primer/form_helper

With the 0.13.2 version of the primer_view_components gem, I get a LoadError on first access of any page of my app:
Puma caught this error: no such file to load -- helpers/primer/form_helper (LoadError)
org/jruby/RubyKernel.java:1071:in 'require'
.../lib/ruby/gems/shared/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:in 'require'
.../lib/ruby/gems/shared/gems/primer_view_components-0.13.2/lib/primer/view_components/engine.rb:47:in 'block in Engine'

The error is due to a require that uses an incorrect path to the form_helper.
      initializer "primer.forms.helpers" do
        ActiveSupport.on_load :action_controller_base do
 --->     require "helpers/primer/form_helper"
          helper Primer::FormHelper

          # make primer_form_with available to view components also
          ViewComponent::Base.prepend(Primer::FormHelper)
        end
      end

The correct helpers folder location is actually added to the eager_load_paths earlier in the engire:
      config.eager_load_paths = %W[
        #{root}/app/components
        #{root}/app/forms
        #{root}/app/helpers
        #{root}/app/lib
      ]

Therefore, simply removing the require on line 47 fixes the issue.

Fixed by https://github.com/primer/view_components/pull/2336


Setup CircleCI, semantic-release, and rename to @react-native-community/voice

Summary

Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Checklist

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

Pending repo admin permissions to test


[Bug] Find scikit-learn version conflict in requirements/runtime.txt and requirements/extra.txt

In requirements/runtime.txt, it is necessary as scikit_learn==1.2.1
https://github.com/open-compass/opencompass/blob/main/requirements/runtime.txt#L37
But in requirements/extra.txt,it is set as scikit-learn==1.5
https://github.com/open-compass/opencompass/blob/main/requirements/extra.txt#L3C1-L3C18
which will cause conflict

Thanks for the report. We will fix this conflict in next version.


Add IO type classes

e.g. MonadThrow MonadCatch: https://github.com/adelbertc/aiyou/tree/master/yax/core/src/main/scala/io

You can do the same with things withMonadError[F, Throwable], can't you?

Afaict, MonadError covers all of the same cases.

I cannot disprove your claim. You win this time, Spiewak.


Implement consistency test

Hopefully I understood correctly what you where meaning when you said "consistency test".
Let me know if it OK.
Ref https://github.com/marceloboeira/voik/issues/8

@boaz-codota yes! great, the CRC Digest should do the job.
I've noticed the build is failing:
thread 'test_commit_log_data_consistency_of_random_values' panicked at 'called `Result::unwrap()` on an `Err` value: Segment(Index(Io(Os { code: 24, kind: Other, message: "Too many open files" })))', tests/integration_test.rs:22:46

Usually, for integration tests we would probably need to set something like:
ulimit -n 10000

@boaz-codota yes! great, the CRC Digest should do the job.
I've noticed the build is failing:
thread 'test_commit_log_data_consistency_of_random_values' panicked at 'called `Result::unwrap()` on an `Err` value: Segment(Index(Io(Os { code: 24, kind: Other, message: "Too many open files" })))', tests/integration_test.rs:22:46

Usually, for integration tests we would probably need to set something like:
ulimit -n 10000

@boaz-codota yes! great, the CRC Digest should do the job.
I've noticed the build is failing:
thread 'test_commit_log_data_consistency_of_random_values' panicked at 'called `Result::unwrap()` on an `Err` value: Segment(Index(Io(Os { code: 24, kind: Other, message: "Too many open files" })))', tests/integration_test.rs:22:46

Usually, for integration tests we would probably need to set something like:
ulimit -n 10000

I'm not sure what you by  that ulimit thing. Can you explain it a bit further to me?

@boaz-codota yes! great, the CRC Digest should do the job.
I've noticed the build is failing:
thread 'test_commit_log_data_consistency_of_random_values' panicked at 'called `Result::unwrap()` on an `Err` value: Segment(Index(Io(Os { code: 24, kind: Other, message: "Too many open files" })))', tests/integration_test.rs:22:46

Usually, for integration tests we would probably need to set something like:
ulimit -n 10000

I'm not sure what you by  that ulimit thing. Can you explain it a bit further to me?

@boaz-codota yes! great, the CRC Digest should do the job.
I've noticed the build is failing:
thread 'test_commit_log_data_consistency_of_random_values' panicked at 'called `Result::unwrap()` on an `Err` value: Segment(Index(Io(Os { code: 24, kind: Other, message: "Too many open files" })))', tests/integration_test.rs:22:46

Usually, for integration tests we would probably need to set something like:
ulimit -n 10000

I'm not sure what you by that ulimit thing. Can you explain it a bit further to me?

the error is that there are too many open files, which is likely related to the an OS limit. In theory, we have to fix that instead of raising the limit, but for the sake of the test now just raising the limit should do the job.
ulimit does that...

@boaz-codota yes! great, the CRC Digest should do the job.
I've noticed the build is failing:
thread 'test_commit_log_data_consistency_of_random_values' panicked at 'called `Result::unwrap()` on an `Err` value: Segment(Index(Io(Os { code: 24, kind: Other, message: "Too many open files" })))', tests/integration_test.rs:22:46

Usually, for integration tests we would probably need to set something like:
ulimit -n 10000

I'm not sure what you by that ulimit thing. Can you explain it a bit further to me?

the error is that there are too many open files, which is likely related to the an OS limit. In theory, we have to fix that instead of raising the limit, but for the sake of the test now just raising the limit should do the job.
ulimit does that...

@marceloboeira fixed

@marceloboeira fixed

Thanks a lot!

Thanks a lot!


LayerExtension: add support for needsRedraw

For #3844

Background
More details in #3844

Change List

LayerExtension: add needsRedraw()

Coverage decreased (-2.6%) to 80.113% when pulling afaced97d4ca56c507a7e4fe2624c20b12b40dcc on ExtensionRedraw into e031eabbe50936b0f7bbe0d0d336ebec75d163c8 on master.

Based on discussion with @Pessimistress , I will update this PR with following :
Define a list of props (when changed don't require re-aggregation) and during update cycle, compare all props excluding above, to determine if re-aggregation is needed, this way we can avoid changes to the LayerExtensions.

This PR might change, based on how my CPU Aggregation refactor work going, will wait couple more days before updating this.

Closing in favor of a better solution : https://github.com/uber/deck.gl/pull/4008, will address remaining comments in 4008.


Test with whois.cymru.com

Test with server: whois.cymru.com

looks like it uses a different query syntax

this server will have to be tested for each query method to determine if will support it.


Add type hints and check them in CI

XBlock is a widely used core library, but is pretty abstract and thus can be hard to reason about. So, this would be a particularly valuable repo to add type hinting to.
This could be done before, after, or as part of:

https://github.com/openedx/XBlock/issues/708

Some additional notes are here:

https://github.com/openedx/XBlock/issues/710

early WIP: https://github.com/openedx/XBlock/pull/713

@bradenmacdonald I've been working on this, and it's going pretty well. I'm actually really impressed how far mypy has come--typing XBlock Fields as generic descriptors works great!
The hardest part so far has been dealing with how XBlock's implementation is chopped up into a bunch of tiny mixins.  A good demonstration of the pain is HierarchyMixin, which is written in such a way that I can't see it ever working outside of the XBlock class. Here's the typing hack I'm using to get around it.
I'm really tempted to collapse all the mixins down into a simple hierarchy:
class Plugin:
    ... # as is
class ScopedStorageMixin:
    ... # as is

class XBlockMixin(ScopedStorageMixin):
    ... # as is

class SharedBlockBase(ScopedStorageMixin, Plugin):
    ... # collapse in: XmlSerializationMixin, HandlersMixin

class XBlockAside(SharedBlockBase):
    ... # as is

class XBlock(SharedBlockBase):
    ... # collapse in: HierarchyMixin, ViewsMixin

Does that sound like a good move? Or do you think the current set of mixins is worth keeping around?

Alternatively, here's an even more aggressive simplification. It would add capability to XBlockMixin, but I honestly think we'll need that extra capability when we go to apply type-checking to the XBlockMixins in edx-platform:
class Plugin:
   ... # as-is
class Blocklike:
   ... # collapse in: RuntimerServicesMixin, ScopedStorageMixin, XmlSerializationMixin, HandlersMixin

class XBlockMixin(Blocklike):
   ... # as is

class XBlockAside(Blocklike, Plugin):
   ... # collapse in: HierarchyMixin, ViewMixin

class XBlock(Blocklike, Plugin):
   ... # collapse in: HierarchyMixin, ViewMixin

@kdmccormick I think that the only useful aspect of the current mixins is code organization - grouping similar functions, attributes, etc. together in their own files. I don't think they're actually used separately in any meaningful way. So I'm totally in favor of some simplifications.
In fact, the current organization often makes it hard for me to find code when I need to look something up, if I can't remember which mixin it's in.

Having been in those mixins in specific trying to understand how xblock asides work, I could not be more in favor of collapsing them together.
And In general the code uses way too many mixins so if there's an opportunity to lower that with no side effects that's awesome.

Great! I opened:

https://github.com/openedx/XBlock/issues/714

I will probably open a separate PR for the mixin collapsing, which I'll rebase #713 onto.

This is almost ready or review: https://github.com/openedx/XBlock/pull/761


feat: update to support array middleware

Everything looks good expect this change: https://github.com/seamapi/fake-seam-connect/pull/200/files#r1651613761
Maybe we can just revert it and add some more tests here for api key and pat auth methods? https://github.com/seamapi/fake-seam-connect/blob/main/test/api/client_sessions/create.test.ts

Everything looks good expect this change: https://github.com/seamapi/fake-seam-connect/pull/200/files#r1651613761
Maybe we can just revert it and add some more tests here for api key and pat auth methods? https://github.com/seamapi/fake-seam-connect/blob/main/test/api/client_sessions/create.test.ts

Sorry this one kind of fell off the radar. I'd like to get this over the finish line. I'm not sure what you mean by reverting it, are we going to support both auth_method schema as well as the new one? Happy to change it to a 403.

Everything looks good expect this change: #200 (files)
Maybe we can just revert it and add some more tests here for api key and pat auth methods? main/test/api/client_sessions/create.test.ts

Sorry this one kind of fell off the radar. I'd like to get this over the finish line. I'm not sure what you mean by reverting it, are we going to support both auth_method schema as well as the new one? Happy to change it to a 403.

Sure. The issue is still the one from this comment: https://github.com/seamapi/fake-seam-connect/pull/200#discussion_r1651613761
The endpoint auth method in the PR does not match the behavior for the actual endpoint.

@chmaltsp I tried to test out the changes in the SDK but I'm getting errors. I think we are close but either I'm doing something wrong with passing the tokens or the fake is not authorizing them properly: https://github.com/seamapi/javascript-http/pull/150


org-babel can't output file results

I want to output file results, but it don't work, just output the raw output
#+begin_src rustic :crates '((plotters . 0.2)) :results output file
use plotters::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
    let root = BitMapBackend::new("/tmp/images/0.png", (640, 480)).into_drawing_area();
    root.fill(&White)?;
    let mut chart = ChartBuilder::on(&root)
        .caption("y=x^2", ("Arial", 50).into_font())
        .margin(5)
        .x_label_area_size(30)
        .y_label_area_size(30)
        .build_ranged(-1f32..1f32, -0.1f32..1f32)?;

    chart.configure_mesh().draw()?;

    chart
        .draw_series(LineSeries::new(
            (-50..=50).map(|x| x as f32 / 50.0).map(|x| (x, x * x)),
            &Red,
        ))?
        .label("y = x^2")
        .legend(|(x, y)| Path::new(vec![(x, y), (x + 20, y)], &Red));

    chart
        .configure_series_labels()
        .background_style(&White.mix(0.8))
        .border_style(&Black)
        .draw()?;
    println!("/tmp/images/0.png");

    Ok(())
}
#+end_src

#+RESULTS:
: /tmp/images/0.png

Thanks for the bug report. This has to be added. I'm currently kind of busy, so I don't know when I will add this. However I would gladly merge a working PR.

Shouldn't this be #+begin_src rustic :crates '((plotters . 0.2)) :results file :file ~/image ?

Please test the latest commit.

Thanks, it's working, and I'll close this issue


Improve CSS for AI Voice Assistant

Title: Enhancing CSS Styles for Improved Visual Appeal
Issue Description:
We aim to enhance the visual appeal of our project's user interface by refining and beautifying our CSS styles. This initiative is crucial for providing users with a delightful and immersive experience while navigating through our application.
Goals:

Improved Aesthetics: Revamp existing CSS styles to achieve a visually appealing design that aligns with modern UI/UX standards.

Consistency: Ensure consistency in design elements such as colors, typography, spacing, and layout across all pages of the application. Colour Scheme should not be changed

Accessibility: Prioritize accessibility by adhering to best practices, including high contrast ratios, appropriate font sizes, and keyboard navigation.

Responsiveness: Ensure that the UI remains aesthetically pleasing and functional across various screen sizes and devices.
Tasks:

Refinement of Design Elements: Enhance visual elements such as buttons, forms, navigation bars to create a more polished look.

Layout Improvements: Optimize page layouts for better organization and flow, ensuring intuitive navigation and information hierarchy.

Responsive Design Implementation: Implement responsive design principles to ensure a seamless user experience across various devices and screen sizes.

Locating the File

Clone this Repo
On your machine

 ThereForYou -> voice-to-text_text-to-voice -> static -> css

Change style.css according to above guidlines

Running the Program

ThereForYou -> voice-to-text_text-to-voice
Run command pip install -r requirements.txt on windows and pip3 install -r requirements.txt on Linux and Mac
To run the program you may need your own Open-AI key  in .env path.
Then run another.py inside root folder

Please assign it to me under GSSOC'24

I want to work on this issue. Please assign this issue to me under GSSOC'24.

you have been assigned the issue

Hi I am Manasi, I am a contributor to GSSoC'24 and would like to contribute to this issue, can you please assign this issue to me.

sir assign this issue to me, I would like to work on it in GSSoC' 24

pls let me resolve the issue,i have prior experience.


fix link in k8s docs

Not so much to say about this PR.
@dtomcej and @timoreimann is it ok to use the daemonset variant as kind of canonical example in this case?

@marco-jantke looking at the docs page, I get the feeling that the two example links are misplaced:
They appear in the annotations section even though neither of the manifests contain any annotations.
I'm thinking that it might be better to just drop the whole paragraph. We already have a pointer to our Kubernetes guide at the very top of the Kubernetes configuration page.
WDYT?

Makes definitely sense. Updated the PR description and title.

Merge conflicts need to be resolved.


The leaderboard is missing in https://paperswithcode.com/sota/text-classification-on-imdb

Still there yet...

Issue still there...


Write a JavaScript program to convert octal to decimal

Description
Write a JavaScript program to convert octal to decimal
Octal is a base-8 number system. It uses only eight digits: 0, 1, 2, 3, 4, 5, 6, and 7. The digits are called octits. An octit is the smallest unit of information in a computer. An octit can be used to represent a single value, such as 0, 1, 2, 3, 4, 5, 6, or 7, or it can be used to represent a single state, such as on or off.
To convert an octal number to decimal, we can use the following algorithm:

Multiply the first octit by 8^0.
Multiply the second octit by 8^1.
Multiply the third octit by 8^2.
Multiply the fourth octit by 8^3.
Repeat steps 3 and 4 until the last octit.
Add the results of all the multiplications.
The decimal number is the sum of all the multiplications.

Input  : 12
Output : 10

How to contribute

Save the solution in ConvertOctalToDecimal.js file
Add ConvertOctalToDecimal.js file in convert-octal-to-decimal folder

!assign


Use the Sass port of Bootstrap 3.4.1

the fixed version available at https://github.com/kikyous/bootstrap3-sass
we are currently using the LESS version as a placeholder because of me wanting the documentation site to be ported

this is done


[P5js HI] Hindi translation for Environment and Accessibilty

This PR is for the Hindi Translation of Environment and Accesibility referrences.
@TanviKumar @Divyansh013 can you please review this PR and let me know the changes if any.
Thanks !

@TanviKumar PTAL

@ranaaditya could you clear the failing test related issues? Translations look fine otherwise

I'll fix it after merge


automation entity name consistency

Home Assistant release (hass --version):
0.60.0
Python release (python3 --version):
official docker image: homeassistant/home-assistant:latest
Component/platform:
HA on docker
Description of problem:
when defining a script, the syntax is:
script:
  script_name:
    alias: Human Readable Script Name
    sequence:
      - service: light.turn_on
        entity_id: light.livingroom

this creates a script.script_name entity
for automations the syntax is:
automation:
  - alias: Some automation name here - shows up in UI
    trigger:
      - platform: time
        hours: 8
        minutes: 30
        seconds: 00
    action:
      - service: light.turn_on
        entity_id: light.livingroom

This creates a automation.some_automation_name_here__shows_up_in_ui entity
Expected:
This is not consistent. there is no way to set a more structured entity ID for automations without using alias, which is what sets the UI name. I CAN use alias, and then customize a friendly_name, but I think it would be better to go for consistency.
I propose to allow the script syntax as well as the existing one for automation:
automation:
  clean_automation_id:
    alias: Some automation name here - shows up in UI
    trigger:
      - platform: time
        hours: 8
        minutes: 30
        seconds: 00
    action:
      - service: light.turn_on
        entity_id: light.livingroom

this would let us have automation.clean_automation_id and have the alias set the UI name, just like with the script component.

Came here with the same idea in mind
There is room for improvements here :)

There has been no activity because no dev picked up on it. the situation has not changed.

Automations now have id, see: https://www.home-assistant.io/docs/automation/editor/#migrating-your-automations-to-automationsyaml however entities that you use still can't use those ids.
I guess this would be even easier to implement now.

has this changed since @ciotlosm comment?

any devs picking this up? or is there no interest in this?


Techdebt/refactor brevents syncmarkers

Summary

Cherry picked previously approved work in a new branch
Added dev note
remove calls to BREventManager
removed BREventManager
renamed error message
fixed Firebase Analytics event error

Thanks @josikie


README emojis contribute links

Description
As part of the project README redesign
added Emojis
added links
added contribution options
Rationale: For some users the celo monorepo could be the first impression they have of celo. A
A nice README is a good way to help people engage in the project as well. A project with nice README and screenshots will get the attention of users better since it’s a direct way to explain why this project matters, and why people should use and contribute to the project. Good README should also include enough details to help a new user get started, e.g. how to compile, how to install, and how to start integrating.
README educational content I used.
A beginners guide to writing kickass readmes
AWESOME READMEs
Tested
tested links

@timmoreton Did the fixes, Thx for the review.


Add the moderated_content_bulk_publish module

Summary

Installs the contrib module moderated_content_bulk_publish
This allows for bulk "publish/unpublish" content from the main content admin view.
There is a D9 core issue linked from the module that should eventually eliminate the need for this module.
Metadata

Question
Answer

Did you use a meaningful pull request title?
yes

Did you apply meaningful labels to the pull request?
yes

Did you perform a self review first?
yes

Documentation reflects changes?
no

CHANGELOG reflects changes?
yes

Unit/Functional tests reflect changes?
no

Did you perform browser testing?
yes

Risk level
Low

Relevant links
JIRA issue, bug reports, security alerts, etc.

https://thinkoomph.jira.com/browse/RIG-22

https://www.drupal.org/project/moderated_content_bulk_publish

@pfrilling Updated tests, these are passing now.


chore: Using object notation syntax instead of array notation

Fixes #7444

@mohanarpit Were there more changes expected from this PR ? or was it good to go?


Create a custom media node that allows us to merge embeds

Context
Currently we have custom tags for YouTube, CodeSandbox and CodePen.
To make it easier it would be great to have a single media tag so that it can either render a specific media it recognises or add it to an iframe.
Expected Behavior
Without removing the old tags, add a new tag that allows us all of the functionality of all of the current tags as well as a fallback to an iFrame.
Add to the discussion
Either add comments to this issue/and or Discord before taking this one so we can agree on a appropriate interface.

I would like to work on this if it is free.

Absolutely! I'd love to know if you have suggestions on some ways of it working. You can suggest stuff in open source channel on Discord. 🦾
I was thinking it would look something like: {% media src="https://www.youtube.com/embed/93R57sLATM4" /%}

I will spike this and get back to you on some options about how to implement it under the hood but I think the tag as you have it written is perfect.

UPDATE: This is the best approach I found so far. Just have to make sure preparing the src urls is nice and tight. should finish it in a few days. https://github.com/codu-code/codu/compare/develop...xiaoniuniu89:codu:dcallaghan/MediatagEmbed-%23158

@xiaoniuniu89 I might make another issue for the fallback because I'm not sure either to be honest.
Great work! This is closed with #184 🎉
Some of the examples you suggested in case anyone wants to try it:
// Youtube
{% media src="https://www.youtube.com/watch?v=7mmlmxamw_k" /%}

{% media src="www.youtube.com/watch?v=7mmlmxamw_k" /%}

{% media src="https://youtu.be/7mmlmxamw_k" /%}

{% media src="youtu.be/7mmlmxamw_k" /%}

// Code Sandbox
{% media src="https://codesandbox.io/embed/vanilla-vanilla?fontsize=14&hidenavigation=1&theme=dark" / %}

{% media src="https://codesandbox.io/s/vanilla-vanilla" /%}

// Codepen

{% codepen src="https://codepen.io/yuanchuan/pen/dyqYYBN" /%}

{% media src="codepen.io/yuanchuan/pen/dyqYYBN" /%}

// Fallback

{% media src="https://www.codu.co/" /%}
{% media src="www.codu.co/" / %}


Is there a way to add multiple timeout to mio::Poll?

Say if I have a UDP server waiting for packets, on each client or connection, after some time I want to keep a timer say 60 seconds on each connection, when a timeout event occurs, the server will send packets to detect if the peer is alive or not, if yes, schedule next timer.
The poll method only requires a timeout duration parameter,  it seems that I can't have multiple timers, is that correct?
If so, are there any other work grounds?
By the way, I know the c library libev can deal with this, it support multiple timers and each timer have an extra data field which we can use as a context linked to the specific event.

I'm pretty sure that Tokio handles this by just computing which timer has the smallest duration and using that.

Yeah, like @Darksonn said, it's best to handle timers in user-space. Unlike libev witch contains "everything" to setup an event loop, Mio focuses on provided non-blocking I/O. You could use something like Linux's timerfd, but I do think user-space timers are more performant (less system calls).
If you're looking for a concrete example you can indeed look at Tokio, or Heph (polling: https://github.com/Thomasdezeeuw/heph/blob/807537773119831778ae7c57c7e917db5271cff0/src/rt/local/mod.rs#L437-L510, determining next deadline https://github.com/Thomasdezeeuw/heph/blob/807537773119831778ae7c57c7e917db5271cff0/src/rt/local/timers.rs#L117-L144).

Thank you for your help!
In fact, the main problem with my scenario is that, when a timeout event occurs, I need to know which connection is causing the timeout so I can send a keepalive message to the peer.
I'm thinking to keep a reference of the connection of the latest timer, but I don't like the idea.

@ least on older mio (0.6, 0.7) you can easily register multiple timers on
the builder with different tokens. I never ran it @ massive scale, staying
@ max. maybe 200 timers or so.
On Fri, May 28, 2021 at 3:15 AM tubzby @.***> wrote:

Thank you for your help!
In fact, the main problem with my scenario is that, when a timeout event
occurs, I need to know which connection is causing the timeout so I can
send a keepalive message to the peer.
I'm thinking to keep a reference of the connection of the latest timer,
but I don't like the idea.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tokio-rs/mio/issues/1492#issuecomment-850042703, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AANDIC3VQANYJYNG3LBFA53TP3VBTANCNFSM45TRV35A
.

@przygienda Thank you, I will give it a try.

@tubzby you can start with a simple BinaryHeap<(Instant, Token)> (with a Mutex if needed) for your timer implementation, it should cover most needs and scales relatively well. Once it stops scaling you can look into something called a "Timing Wheel" which is the data structure I (and I believe Tokio) uses for keeping track of timers.


Add typeof in pure.rst

Tho actually if we want to implement typeof that will return type, then we should do it first (because I don't like to give it name like ctypeof, in contrast with functional sizeof, so that implementation will go to cython's built-ins, so it'll be as accessible as sizeof, and then set cython.typeof as deprecated and rename it as something else, idk typrstrof?


Build of 9.0.2086  fails on Linux Mint 21.1

Steps to reproduce
Try to build from the git repo like usual.  Observe this:
In file included from vim9class.c:15:
vim9class.c: In function ‘ex_class’:
vim9class.c:1563:24: error: ‘e_abstract_must_be_followed_by_def_or_static’ undeclared (first use in this function); did you mean ‘e_abstract_must_be_followed_by_def’?
 1563 |                 emsg(_(e_abstract_must_be_followed_by_def_or_static));
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim.h:580:25: note: in definition of macro ‘_’
  580 | # define _(x) ((char *)(x))
      |                         ^
vim9class.c:1563:24: note: each undeclared identifier is reported only once for each function it appears in
 1563 |                 emsg(_(e_abstract_must_be_followed_by_def_or_static));
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim.h:580:25: note: in definition of macro ‘_’
  580 | # define _(x) ((char *)(x))
      |                         ^
make[1]: *** [Makefile:3510: objects/vim9class.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/opt/bld/vim/src'
make: *** [Makefile:29: first] Error 2

Expected behaviour
I expect it builds.
Version of Vim
9.0.2086
Environment
Linux Mint 21.1
Logs and stack traces
No response

Bisecting reveals that 9.0.2085 is the cause.

a little patient please 🙏 to give me time to fix it

No rush :)

Fixed by patch 9.0.2087
Git changeset 33c1da7ff49c3ccdce3a6d98bd620e324c5cd6ff
Mercurial changeset c29a8c1b4d0338b51405eb337170da25dcfab303
Best regards,
Tony.


chore: upgrade rusty_v8 to 0.98.2

Includes:

https://github.com/denoland/rusty_v8/pull/1532
https://github.com/denoland/rusty_v8/pull/1533

Closes #834

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.66%. Comparing base (0c7f83e) to head (ac25b6a).
Report is 70 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #835      +/-   ##
==========================================
+ Coverage   81.43%   81.66%   +0.22%
==========================================
  Files          97       98       +1
  Lines       23877    24440     +563
==========================================
+ Hits        19445    19959     +514
- Misses       4432     4481      +49

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


relative imports don't work when running tk from a top-level directory

Description
relative imports don't work if running tk from a higher level directory.
❯ tk show deploy/environments/test
evaluating jsonnet: RUNTIME ERROR: Field does not exist: environmentName
	main.jsonnet:7:13-38	object <anonymous>
	During manifestation

❯ cd deploy/environments/test

11:27:42 in deploy/environments/test
❯ tk show .
  apiVersion: v1
  kind: deployment
  metadata:
    name: test
    namespace: default

Expected Behavior
Can import files relative to the file mentioning the import
Actual behavior
error such as:
evaluating jsonnet: RUNTIME ERROR: Field does not exist: environmentName

Repro Steps
.
├── deploy
│   ├── environments
│   │   └── test
│   │       ├── README.md
│   │       ├── config.libsonnet
│   │       ├── main.jsonnet
│   │       └── spec.json
├── jsonnetfile.json
├── jsonnetfile.lock.json

main.jsonnet

(import './config.libsonnet') +
{
  deployment: {
    apiVersion: "v1",
    kind: "deployment",
    metadata: {
      name: $.config_.environmentName
    },
  },
}

config.libsonnet

{
  config_+:: {
    environmentName: "test",
  },
}

Extra Data
tanka version 0.11.1
running
jsonnet ./deploy/environments/test/main.jsonnet

works as expected

Having a hard time reproducing this:

add one additional step:
add this file to you root directory:

config.libsonnet

{}

so, it looks like the problem is that ./config.libsonnet actually refers to multiple files based on the injected JSONNET_PATHs.
I cannot repro this either with jsonnet
17:37:30 in ~/tmp/test
❯ jsonnet -J $(PWD) deploy/environments/default/main.jsonnet
{
   "deployment": {
      "apiVersion": "v1",
      "kind": "deployment",
      "metadata": {
         "name": "test"
      }
   }
}

based on the above, I think that tanka is not treating relative paths correctly. cc @sbarzowski - can you confirm how jsonnet handles relative paths vs JPATH?

@ghostsquad I am not yet fully through identifying the issue. I can reproduce using v0.11.1, but it seems to have disappeared on master. Could you check?

Alright, it was fixed in https://github.com/grafana/tanka/commit/d60b4a2eb9e980cde87286c0ffe500e8840fe675.
Apparently, the filename passed to jsonnet.EvaluateSnippet() has far more meaning than anticipated (assumed it was purely informational for stacktraces)
Turns out, it is what std.thisFile returns and apparently also used by the importer.

FYI there is newer API (EvaluateFile / EvaluateAnonymousSnippet) which should help avoid this sort of trouble in the future. We now distinguish between diagnostic file name (which might include placeholders like ) and importer filename. https://github.com/google/go-jsonnet/pull/447

Fixed in https://github.com/grafana/tanka/commit/d60b4a2eb9e980cde87286c0ffe500e8840fe675, new API implemented in https://github.com/grafana/tanka/commit/e8b3805e198077e6d1856f40fb25c64c30b7a690


Remove maintainers from the list

So long for now!

I asked Dustin if we should put an alumni section in there... do you want to revisit that, @DHowett? I can slap Paul and Austin and Leon and I in that segment. And anyone else who has fallen out of my head.


Update docs for 010 overwrite behavior

In 0.10 it is no longer possible to overwrite the field set for a point. This updates the glossary entry for point, the FEI that discusses writing duplicate points, and adds a note to 09_vs_010.md. It also removes the FEI that talks about writing more than one CQ to a single series.
Issues:

The section in 09_vs_010.md is still rough. Should I include a note about this being a workaround for deletes in 0.9 and now, with 0.10, users must wait for DELETE SERIES to perform deletes?

Fixes https://github.com/influxdata/docs.influxdata.com/issues/221

I agree there should be a note about the old delete workaround in 0.9 no longer works in 09_vs_010.md. Also, there should probably be a note that DELETE SERIES does not work in 0.10 in the FEI too with a link to the GH issue.

:shipit:

Thank you, @gunnaraasen!


Integration with react-native

This package is built to support react-native. Due to my lack of experience with react-native I'm opening this issue to summarize the findings by users of this library.

I'm putting together an example repo that should be helpful

Haven't finished yet but may have found a potential issue. The CallbackComponent in redux-oidc calls this.props.userManager.signinRedirectCallback() on componentDidMount() with no params. signinRedirectCallback() can take a url param or will grab it from somewhere else.
https://github.com/IdentityModel/oidc-client-js/blob/1966f008330d3ea05357274466cf8092537d1415/src/UserManager.js#L232-L234
Like I said, I haven't really gotten that far yet but just something I noticed. We'll probably have to grab the url from the deep link callback and pass that along.

The url used by default is the redirect url passed into the userManger's settings. I have dropped the binding for this prop, but can reintroduce it if it is required. But I guess defining the URL once in the user manager's settings should be fine.

I probably haven't dug far enough yet and I'm not super experienced reading other people's code so this is all a bit new to me! But how does the userManager get the tokens from the callback redirect?

No offense intended.
The callback from the authentication server contains the token embedded in the URL of the callback with a hash. It looks just like this:
https://yoururl.com/callback#state=blob&access_token=blob&authuser=0&session_state=blob2&prompt=none
The user manager then fetches the token from the redirect callback.

Oh sorry, I took no offense, should have included the emoji sooner hah.
Yeah ok that's what I thought. So will we have to pass that in manually from the deep link? The native app has no concept of a browser or way to get the url other than through the deep link callback

Ok, I've put up my Example repo but I'm getting this error:
babelHelpers.typeof is not a function. (In 'babelHelpers.typeof(exports)', 'babelHelpers.typeof' is undefined)

Thank you for pushing your repo. I'll have a look at it as soon as I find the time. Maybe this is related to your issue?

Yeah I found that but adding react-native-stage-0 didn't seem to fix it... I'll probably take a good look after the weekend now, too intense for a Friday afternoon 😄

I've looked into that error today. There is a fix in 0.41 but that's obviously not officially released yet.
The commit links to the same StackOverflow link that you suggested as a temp fix but I've added react-native-stage-0 to .babelrc and I'm still getting the error.

I think I'm going to build something for my application from scratch. It's going to take me a while to get up to speed with the way that oidc-client works and I don't really need all of the functionality that it provides initially. Hopefully I can build it out over time though and release it for others to use but it's not my priority right now. Feel free to get in touch if you need any RN help though.

@MyGuySi Thank you for your efforts. The difficulty I have right now is finding ways to register a callback for the RN app. Do you know how to do this or where I can look that up? I'm using Android.

I've implemented mine just with HTTPS requests because it's our own identity provider, but you can use a custom URL and a deep link to get the callback
https://facebook.github.io/react-native/docs/linking.html

That seems to be what I was looking for. Thanks again!

Hi @maxmantz , I'm trying to implement oidc-client in react native too. I'm wondering whether it will be possible to use a WebView  for the login page, as that should mean we can refresh the token silently. I didnt realise the client wasnt tied to a browser until this morning so I'd been trying to do it manually.

Yes the WebView looks like the perfect fit for both login and silent renew. I would preferrably have it loaded at the root component (invisible or with 0 height & width) of the app. Then, when the userManager fires the userExpiring event, load up the required HTML file into it and have it silently renew the token.
I would use another WebView to display the login page when no user is present, or the user is invalid / expired etc.
This is all still theoretical though, since I haven't had the time to implement it myself, but I don't see why it wouldn't be working like that.

Ive just been trying to import your package into react native and I'm hitting errors.
To recreate
 npm install -g create-react-native-app
    create-react-native-app my-app
    cd my-app/
    npm i --save redux-oidc

add an import in App.js - import 'redux-oidc'
npm start
The first error can be bypassed by deleting the .babelrc file from the node_modules/redux-oidc folder

I have now created my own react-native project and I'm getting the error from this issue. There seems to be something awry with loading external modules in react-native.
The second error you're facing ('fs') seems to come from jsrasign's usage of it. jsrasign is a dependency of oidc-client. I hope that can be circumvented somehow, or this will be a problem with compatibility.

I've now got oidc-client working with React Native :)
(although no session montioring or background refresh)
The fs error was strange since I couldnt see that dependancy in there, and it works now for oidc-client.
So far I've created a PopupNavigator and RNStore components which I'm passing in to override the defaults in UserManagerSettings.  I'm going to have a go at implementing these with a WebView and see if it works. I can then do a PR to add the components I've created to your repo if you like? There is of course a dependancy on React Native for these components, so I'm not sure how this would work in terms of adding a dependancy on your module for these?

Sounds amazing. I'd be very happy to see what you came up with.

Just to keep you updated, I wont be able to work on this until next week , but should be able to get something done then. I was wondering if it should sit in a separate repo to avoid adding a peer dependency on React Native?

Don't worry about the timing - I don't have much time to get into react-native right now either :)
About the dependencies - if you think you need specific stuff from the react-native library, a separate repo should do the trick. I'm not opposed to that approach by any means. Thanks again!

Do you guys have any updates on this ?
I'm struggling to make it work with react-native, I have tried also without libraries just with the WebViews and still having some issues reading some cookies.

@tibbus What issues are you finding? I've got oidc-client working with React Native, although not fully tested on android yet.

I made it work as well, 2 days ago when I posted I used a wrong token for the logout, but now login and logout works perfectly inside a WebView.
Also was confused about some cookies from the WebView, but everything is sorted now.

Does anyone have an example repo using react native as a reference? One was posted earlier by @MyGuySi  but it doesn't seem to exist anymore.

@sattaman Do you have an example repo for using oidc-client with React Native?

@Dygerati Yeah sorry I removed it as we've since changed the way we're handling our auth. We switched to the resource owner flow and I'm managing token expiration manually.

I've got the same point as @maxmantz with the 'Cannot read property 'TYPED_ARRAY_SUPPORT' of undefined' red screen - I've tried setting a custom WebStateStore for both userStore and stateStore ... but no joy so far. If @sattaman has any guidance or an example repo - it would be really helpful. Thanks.

Sorry for the late response.  I don't have an example repo.
I think the 'TYPED_ARRAY_SUPPORT' error was occurring for me using yarn but not using npm i possibly?
I created a Navigator which I passed to oidc-client as follows
class CustomNavigator {
  constructor({ onNavigate } = {}) {
    this.onNavigate = onNavigate
  }
  prepare(params) {
    this._promise = new Promise((resolve, reject) => {
      this._resolve = resolve;
      this._reject = reject;
    });
    return Promise.resolve({
      navigate: ({ url }) => {
        this.onNavigate(url);
        return this._promise;
      },
    });
  }
  callback(url, keepOpen, delimiter) {
    this._resolve && this._resolve({ url });
    return Promise.resolve();
  }
}

then passed as
  popupNavigator: new OidcNavigator({
    onNavigate: (url) => {
      Linking.openURL(url);
    },
  })

My AsyncStorageStore was
import { AsyncStorage } from 'react-native';

export default class {
  set(key, value) {
    return AsyncStorage.setItem(key, JSON.stringify(value));
  }

  get(key) {
    return AsyncStorage.getItem(key).then((res) => {
      const value = JSON.parse(res);
      return value;
    });
  }

  remove(key) {
    return this.get(key).then(value =>
      AsyncStorage.removeItem(key).then(() => value));
  }

  getAllKeys() {
    return AsyncStorage.getAllKeys();
  }
}

and this was set as
  userStore: new AsyncStorageStore(),
  stateStore: new AsyncStorageStore(),

I did get it working with a WebView, but abandoned this as we are using Google as a provider and they block WebViews. I will be updating to use Chrome Custom Tabs https://github.com/droibit/react-native-custom-tabs or similar and sfsafariviewcontroller https://github.com/skycocker/react-native-sfsafariviewcontroller soon. Ill try and post a more complete solution soon

I have created an example repo here: https://github.com/NerdySaiyan/redux-oidc-example-react-native
Thank you @sattaman for the code samples!

Amazing. Thank you! I'll check it out.

Hi @sattama, @NerdySaiyan
Thank you very much for the explanation and example repo...
Can you please provide a complete example repo with customtabs, safariviewcontroller and silent signin implementation.

The implicit flow is not meant to be used by mobile devices - [this spec] should be used instead.
This library implements this spec for react-native.
Therefore redux-oidc is not meant to be used with react-native. Closing this issue as a result. Thanks to everyone who helped in this thread and tried to make it possible.