create read all screen keyword

Hi there,
I am currently working on a project where we have keywords that take different paths if a certain text is displayed on the screen or not.
Until now, I have been working with the Read Keyword in this situation, as in:
${msg}    Read    ypos=1    xpos=1     length=10
${condition}    Evaluate    "text" in """${msg}"""
IF    ${condition}==True
    Do Something
Else
    Do Something Else
End

While this is working so far, I see a problem, since this is approach is highly dependent on the string's exact x and y position. If, for instance, a change is made to the UI and the string is now on ypos+1, the condition will be false.
This is why I created a keyword that does not care for the message's exact position, but focuses only on whether the message is contained in the current screen or not.
I would be very happy if you could incorporate these changes. In case there is any criticism, please feel free to reach out.

Hi @samuelpcabral thank you for merging the changes! Can you release a new version, so the changes can be downloaded with pip?

@robinmatz hello, sorry for the late.. you can install the new version with: pip install robotframework-mainframe3270 --upgrade


Documentation versioning is not working properly

If I go to the docs and click on the dropdown menu for the documentation versions available I get this:

Which is perfect. But if I click on the dev element of the dropdown list, it redirects me to the ansys-templates documentation.

It looks like the mech has not been fully adapted.

Thanks for opening this, @RobPasMue.
My fault. I used the wrong CNAME when creating the versions.json file in the gh-branch. This cannot be fixed through a pull-request but through a commit. Here it is d7fa869.

Great, thanks for solving it @jorgepiloto!


Is Redis required?

Hi,
I am trying to explore the option of not using Redis with Exceptionless. Is that a possibility or is Redis a requirement?
I think I read somewhere in the documentation that it is optional so I deleted the below environment variables. Is this the wrong approach?
EX_ConnectionStrings__Queue: provider=redis
EX_ConnectionStrings__Redis: server=redis,abortConnect=false

Currently, the Exceptionless logs are saying this:
[16:19:43 ERR] Health check Cache completed after 0.7787ms with status Unhealthy and 'Cache Not Working.'

Thanks for reaching out to us. It's not required but highly recommended as not using it will limit you to run everything in a single process and any non processed queued data will be lost upon restart. Sounds like there could be some kind of issue with the cache health check when using in memory cache client. Where is this log message coming from?

Thank you very much for the info. The log message was coming from Exceptionless' logs. I figured out the problem. In addition to updating the environment variables, the appsettings.yml needed to be updated as well to remove references to Redis.
The primary reason we are considering not using it is since we self host the applications there is an overhead with maintaining the Linux server that Redis lives on. Using a container would be better in that regard, but that is not a possibility for us currently.
Do you know if running everything in a single process would cause the app to increase the delay between sending events vs when they appear in exceptionless?

That depends on the volume of events that are being sent, but if you were previously only using a single event processor job with Redis then it should be the same or faster.

Thank you! I will close this ticket since my questions were answered.

Are you running into a new issue with Redis?

Just a follow up on the previous comment about the potential for losing queued messages when Redis is not used. Before I review the relevant code, could you validate my assumptions. The one big assumption I am making is that the Exceptionless client stores each event to local disk and then forwards to the Exceptionless web application. If the web server does not respond with success then the client leaves the event on local disk per some retention policy until an eventual call to the web server results in success. Now for the question. When Redis is not enabled, does the web server update Elasticsearch before a success response is sent back to the client or is it using an in-memory queue that could be lost if the web app goes down?

The client by default stores everything in memory unless configured to store it on disk. Depending on the status code returned determined if the event is retried or discarded (Look at the DefaultEventQueue in the clients). The web server streams it to disk immediately, queues an event for processing (with the file path of the saved event to the archive/queue folder) and then returns 202 status code. If you are not using redis you'll have unprocessed content in storage but nothing in the in memory queue so no processing will happen.

Would the evidence of this happening be some old events sitting in the archive/queue folder? Is that only expected to happen if the Exceptionless web application goes down regardless of whether it's a dirty or clean shutdown? I'm just trying to make a judgement call as to whether, for us,  the risk of loosing some events is worth the added complexity of the Redis dependency.
Lastly, would you be interested in a pull request that requeues what's on disk if Redis isn't being used?

Yes, having events in the queue folder would mean the in memory queue wasn't processed before restart or you were using redis and the queue item deadlettered. There is an endpoint you can hit to requeue the queue folder (check out the utility controller).

Yes that sounds reasonable, please note adding redis shouldn't add that much overhead as it's super efficient. I'm closing this but let me know if this is still an issue/question and we can reopen if needed.


Add support for platform specific modules.

Manually import all the mix-in modules, instead of
dynamically importing everything. This will allow for
platform if statements over the import statements
of platform specific modules.

Allow extensions to specify a single python file
instead of only supporting importing an entire
directory. An extension can use this to import a
file that handles any custom import rules they have,
such as using platform if statements.

It would be great, if it can be split to two commits. They can be in the same PR.

It would be great, if it can be split to two commits. They can be in the same PR.

Done.


[IDEA] Download all option

I implemented that on my fork: https://github.com/jlongman/humblebundle-ebook-downloader
(also added using and migrating to directories named for the bundles, and creating a super simple index.html file inside, and the option to not download files (i.e. only move to bundle directories, and other stuff added a while ago)

This is now added, thanks to @jlongman 👍


feat: introduce plugins

Issue
No issue.
Details

feat: add html, image, json and yaml plugins.
docs: add examples for using plugins
fix: handling

CheckList

[ ] PR starts with [#ISSUE_ID].
[ ] Has been tested (where required).

interesting. I've not used the plugins this is based on, but a couple of quick points:

implementation of import assertions in v8 is nearing completion https://bugs.chromium.org/p/v8/issues/detail?id=10958&q=import assertions&can=2 which should be available in Deno soon after. JSON modules should follow soon after that https://bugs.chromium.org/p/v8/issues/detail?id=11189&q=json module&can=2. This means that JSON files can be imported natively as a module. CSS should follow after that, though HTML may take longer. I would suggest going with that rather than using a non-native method.
I was going to suggest a rewrite for the Readme Overview section, which currently says deno-rollup is "to bundle Deno code". Particularly if you're bundling HTML, this is aimed at browsers, not Deno. I'd suggest changing and expanding this Readme section

interesting. I've not used the plugins this is based on, but a couple of quick points:
1. implementation of import assertions in v8 is nearing completion https://bugs.chromium.org/p/v8/issues/detail?id=10958&q=import%20assertions&can=2 which should be available in Deno soon after. JSON modules should follow soon after that https://bugs.chromium.org/p/v8/issues/detail?id=11189&q=json%20module&can=2. This means that JSON files can be imported natively as a module. CSS should follow after that, though HTML may take longer. I would suggest going with that rather than using a non-native method.

2. I was going to suggest a rewrite for the Readme Overview section, which currently says deno-rollup is "to bundle Deno code". Particularly if you're bundling HTML, this is aimed at browsers, not Deno. I'd suggest changing and expanding this Readme section

The purpose of these plugins is to provide a thin layer for common, and indeed official, Rollup plugins to help enable front-end development.
I'm very excited for JSON modules (import assertions and all the rest that is on it's way), and very much hope that folks would opt to use the native capabilities over this plugin once it drops! Until then however, this provides a small stopgap to provide like-for-like with current Rollup on Node.
Good point r.e. "Deno code" - it is a bundler running on Deno that can bundle Deno code, but also browser code (and in theory anything else provided you have the appropriate plugin!). I will adjust it to be slightly broader - if you have a good idea for a tagline / readme update then please do submit a PR 😄

Gone with "modules" over "Deno code" in the README for now as that is how it's described in the official Rollup lib - https://github.com/rollup/rollup#overview

ok. In the readme, I would say that it can bundle both JS and TS, and expand on how it differs from standard Rollup. But, as you say, I can always submit a PR.


Update mapping0330

Docs Build status updates of commit 3a9925d:
:warning: Validation status: warnings
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Verbose output to log file

After running
panoptic.py --url "http://localhost/apps/pbcs.dll/article?url=test"
I received the following output

Panoptic v0.1 (https://github.com/lightos/Panoptic/)

[i] Starting scan at: 00:02:47

[i] Checking original response...
[i] Checking invalid response...
[i] Done!
[i] Searching for files...
[i] Possible file(s) found!
[i] OS: Windows
[?] Do you want to restrict further scans to 'Windows'? [Y/n] y
[+] Found '/Program Files/MySQL/data/mysql-bin.log' (Windows/Databases/log).
[+] Found '/Program Files/MySQL/data/mysql-bin.index' (Windows/Databases/log).
... etc
[+] Found '/WINDOWS/system32/Macromed/Flash/FlashInstall.log' (Windows/Desktop applications/log).
[+] Found '/WINDOWS/system32/Macromed/Flash/install.log' (Windows/Desktop applications/log).

[i] File search complete.

[i] Finishing scan at: 00:05:39

I believe the output to be a true hit because (other than owning the server it was tested on) in the omitted output it showed very unique and correct paths.  However, when I run this same command subsequently (after trying the --write-files switch in between) it never gave me another hit.  I tried toggling several other flags with no success.
It would be nice to have had the verbose output written to a log for comparison.

I can add the option --save-output to write the verbose output to a specified file.


Any way to change how soon onMomentumScrollEnd fires?

Is there a different event to listen for, or is it possible to change it so onMomentumScrollEnd fires sooner? Right now it fires seemingly after the page is done swiping. I'm implementing a dots page indicator and currently it works, but the dots updated way after the page has been swiped. It's not a great user experience and was hoping I'm missing something obvious.

Hey @ds8k, onMomentumScrollEnd fires after scrolling completely stops. I’ve run into this situation before, but you can fix it by leveraging animatedValue to supply your own Animated.Value, then use that along with indices to change opacity or whatever on your indicator dots.
e.g.
{
  PAGES.map((slide, index) => (
    // Generate Dot for each Page
    <Animated.View
      style={{
        width: 7,
        height: 7,
        marginHorizontal: 4.5,
        backgroundColor: 'white',
        borderRadius: 3.5,
        opacity: myAnimatedValue.interpolate({
          inputRange: [
            index * (pageWidth + dividerWidth),
            (index + 1) * (pageWidth + dividerWidth),
          ],
          outputRange: [1, 0],
          extrapolate: 'clamp',
        }),
      }}
    />
  ));
}

Oh wow, thanks for the fast response! I got it working perfectly using your example. Only had to make one tweak to have the active dot reflect the active page:
opacity: this.animatedValue.interpolate({
  inputRange: [
    (index - 1) * width,
    index * width,
    (index + 1) * width,
  ],
  outputRange: [0.33, 1, 0.33],
})

Thanks again!

For sure! Glad to help out.


Unittest/valexpr

Added more unit tests to ValExpr.
Experimented with Lenses: however since we want automatic simplifications (rewriting)
we decided lenses are not used in this part.

For some reason these builds are not using the cache which I just filled after a successful build ...

@capitanbatata it takes some time for AppVeyor caches to be updated. Even after that they can occasionally fail. Better to try again a while later.

That's weird. Ok, then we need some patience :)
Thanks for the info!

Ok, the cache was hit now. So hopefully the build will finish on time.


Added new dataset on Information Economics

What have you done here? Please explain in detail so that I can corroborate your work.

I've added a new file Information Economics in your dataset folder


AsuraScans: Fix pages not found

Closes #6135
Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

Altough the idea is good, i can tell you by experience that parsing stuff from the next.js script content by relying on property starts and stuff is dangerous and can fail any time.
Next.js is putting this content into chunks and on site render its getting concatted again to a full script.. so what i'm trying to say is, yes it could work for the most time but it can also happen that your pages section gets split into 2 scripts and then your parsing fails.
I relied on parsing this json in the past and it worked for a long time and then broke, honestly i dont even know what factor decides wether the chunks are getting split or not.

Next.js is putting this content into chunks and on site render its getting concatted again to a full script

should be fixed

Next.js is putting this content into chunks and on site render its getting concatted again to a full script

should be fixed

The next thing that you should consider and honestly not sure what the rule for that is, they have placeholders and reference field values to other places, so its possible that they have a value as reference to another property, not sure if its to reduce duplication of values or what the rule there is. But you can see it when you search for things like $30 or any other value.

The next thing that you should consider and honestly not sure what the rule for that is, they have placeholders and reference field values to other places, so its possible that they have a value as reference to another property, not sure if its to reduce duplication of values or what the rule there is. But you can see it when you search for things like $30 or any other value.

References shouldn't be a problem because would be weird that the regex can catch them, it's already happening

The next thing that you should consider and honestly not sure what the rule for that is, they have placeholders and reference field values to other places, so its possible that they have a value as reference to another property, not sure if its to reduce duplication of values or what the rule there is. But you can see it when you search for things like $30 or any other value.

References shouldn't be a problem because would be weird that the regex can catch them, it's already happening

wdym? i actually meant that a image url could be referenced to another place

wdym? i actually meant that a image url could be referenced to another place

it is

In the website code there are the 2 versions, but the regex can't catch the version with references

Yes the regex can't catch the version with references, so whats happening if the url of the image is a reference?
I'm not saying that its always a reference, i'm just saying IT CAN be, depending on what the nextjs compiler decides to optimize and how.

Yes the regex can't catch the version with references, so whats happening if the url of the image is a reference?

When that happens it's like a chain of references not just the url, like this:
"pages\":\"$6d\"
6d:[\"$6e\",\"$6f\",\"$70\",\"$71\",\"$72\",\"$73\",\"$74\",\"$75\",\"$76\",\"$77\",\"$78\",\"$79\"
6e:{\"order\":1,\"url\":\"https://gg.asuracomic.net/storage/media/251620/conversions/00-optimized.webp\"}

It would also be strange if the compiler created a reference just for a string. In any case, it's a rare case that I will ignore. We have other extensions that parse JSON from Nextjs chunks and have never encountered that problem


router bar crash and no show title

hi, the react-native-router-flux is very helpful easy plugin. thanks for this. unfortunately encountered some problems, I do not know if because of me or because of a malfunction of the plugin. the problem is this
1)in the router bar if i see a title, this is to bottom of bar and the bar is too big respect you example.

if i go to next page in the router bar i dont see the title and if i push the back button the app crashes

i install the last react native version in windows 10, i tested the app in the genymotion emulator with android 6.0, 5.1 and 4.4 but in same case the problems is the sames.
how do I fix this? for me it is important to consider this plugin one of the best.

Kind of duplication #355. Sorry, ask React Native team to support ExperimentalNavigation properly for Android/Windows! This component is just wrapper around it.

how do I contact their team?

Weirdly enough, this doesn't seem to even be caused by navigating. Basically any component updating inside a scene results in memory being leaked and exponentially so, except when the scene is the very root scene - the problem does not show in that case.


Regression: location header is made absolute with redirect=manual

Description
fetching a redirect response manually should not alter the location header. but since v2, it is made absolute.
eg:
$ curl -sD - 'https://httpbingo.org/redirect-to?url=/foo.html'
HTTP/2 302
access-control-allow-credentials: true
access-control-allow-origin: *
location: /foo.html
date: Thu, 04 Feb 2021 03:10:22 GMT
content-length: 0
server: Fly/7226d36 (2021-01-25)
via: 2 fly.io

but with fetch:
    it('supports redirect: manual with path location', async () => {
      const resp = await fetch(`${protocol}://httpbingo.org/redirect-to?url=/foo.html&status_code=307`, { redirect: 'manual', cache: 'no-store' });
      assert.strictEqual(resp.status, 307);
      assert.strictEqual(resp.headers.get('location'), '/foo.html');
      assert.strictEqual(resp.redirected, false);
    });

AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ 'http://httpbingo.org/foo.html'
- '/foo.html'
Expected :/foo.html
Actual   :http://httpbingo.org/foo.html

To Reproduce
see failing test in: https://github.com/adobe/helix-fetch/pull/130

It's not a bug but actually a feature in node-fetch which helix-fetch supports (to ease migration from node-fetch to helix-fetch):
https://github.com/node-fetch/node-fetch/blob/master/src/index.js#L116-L120
If there's consensus that we don't want it I'll remove it.

to ease migration from node-fetch to helix-fetch

but we don't need that :-) we migrate from helix-fetch v1 to v2.. and in v1, the location header wasn't updated.

If there's consensus that we don't want it I'll remove it.

yes, I would remove it. I think the client should decide what to do.
(btw, for proxy implementations, this is a problem, and we would need to remove the host manually, see:  https://github.com/adobe/helix-dispatch/blob/79bb1e8083318152e959eb0312c2596e46e78acb/src/redirects.js#L49-L55)
@trieloff  WDYT?

fixed in ae78c75


[DEFECT] Heavy Test Skip

Defect Description
Describe the defect
What did you expect to see happen?
All heavy tests should run
What did you see instead?
Currently, the test heavy is green but some tests are not running due to duplicated files.
[incorrect test] duplicated files specified: tests/framework/user_guide/ReducedOrderModeling/ROMConstruction/1-historyPlot_scatter-scatter.png tests/framework/user_guide/ReducedOrderModeling/ROMConstruction/1-samplesPlot3DROMgp_scatter-scatter.png tests/framework/user_guide/ReducedOrderModeling/ROMConstruction/1-samplesPlot3DROMinverse_scatter-scatter.png tests/framework/user_guide/ReducedOrderModeling/ROMConstruction/1-samplesPlot3DROMsvm_scatter-scatter.png tests/framework/user_guide/ReducedOrderModeling/ROMConstruction/1-samplesPlot3D_scatter-scatter.png
(682/719) Skipped(  None!  )tests/framework/user_guide/ReducedOrderModeling/ROMConstruction
[incorrect test] duplicated files specified: tests/framework/user_guide/AdaptiveSamplingStrategies/LSsearch/1-historyPlot_line-line-line-line.png tests/framework/user_guide/AdaptiveSamplingStrategies/LSsearch/1-samplesPlot3D_scatter-scatter.png tests/framework/user_guide/AdaptiveSamplingStrategies/LSsearch/1-limitSurfacePlot_scatter.png
(683/719) Skipped(  None!  )tests/framework/user_guide/AdaptiveSamplingStrategies/limitSurfaceSearch
[incorrect test] duplicated files specified: tests/framework/user_guide/DataMining/dataMiningAnalysis/1-PlotKMeans1_dataMining-dataMining.png tests/framework/user_guide/DataMining/dataMiningAnalysis/1-PlotLabels_dataMining.png tests/framework/user_guide/DataMining/dataMiningAnalysis/1-PlotPCA1_dataMining.png

Do you have a suggested fix for the development team?
Describe how to Reproduce
Steps to reproduce the behavior:

Just check the test heavy in the civet regression test system.

Screenshots and Input Files
Please attach the input file(s) that generate this error.  The simpler the input, the faster we can find the issue.
Platform (please complete the following information):

OS: [e.g. iOS]
Version: [e.g. 22]
Dependencies Installation: [CONDA or PIP]

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or task?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users. have no impact on users
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[x] 5. If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?

@wangcj05 Hm, I don't see "duplicated files specified" is the output for a recent heavy test.  Can this be closed?
https://civet.inl.gov/job/495105/
Thanks.

@joshua-cogliati-inl These tests are skipped now because PIL is not available.

@wangcj05 Okay, I'll check with PIL installed.  Thanks.

@alfoa Do we need to enforce the installation of pillow on the regression machines? Currently, some heavy tests are skipped because PIL is not available.

@wangcj05 yes we need.
Josh can you modify the civet recipes for doing so?

Closure checklist passed...

@wangcj05 yes we need.
Josh can you modify the civet recipes for doing so?

The heavy tests already have --optional.


Overlay on/off with currently running program info

Again , coming from satellite receivers, would be awesome to turn on /off  a semi transparent HUD over currently played channel that would tell the name of currently running program from EPG. As well as long progress bar showing where we are in this program. To understand how long it has been running already and when will it end. Some tech parameters would be great as well like video resolution, audio bitrate etc.

Thank you so much for this implementation. Very helpful, however, if i am watching a channel and i want to re-check how long it is till the movie ends, what shortcut should i press to show that info bar again? So far it only appears when i switch to another channel. Then disappears and no clue how to make it appear again? Thanks


Multiselect filter

Hello,
Is it possible to make a multi select filtering column with a custom filter?
I want to select some values like in Excel, for example I have a list of employee and I want to select some of them with their contract type.

I mean multiselect, not multifiler. I want to select some values like in Excel, for exemple I have a list of employee and I want to select some of them with their contract type.

Hello,
I have a need equivalent as this point. I want to make an "Excel like" filter with the ability of filtering with the distinct values in the column.
I've check the sample but none of them sounds to look like what I am looking for.
thx for your help

With which part of the implementation are you having trouble with?


ADS pages not rendering correctly due to markdown files changes

Changes made to ADS markdown files has affected how ADS files are formatted on the SOC public site

Related to commit ddbcedb

@adonm to review

Have updated template to use admonitions better, ADS's can move over to new styling to fix


Issue with online tools - conversion from TV to XML

I have a spdx TV file that validates fine using the online tools validation tool, however I received an error trying to convert to XML using the online conversion tool: Analysis Exception process SPDX file: Missing SPDX ID
I'm guessing the exception is something else because all of the items seem to have a valid SPDX ID.
The file I'm trying to convert from TV to XML is available here: https://github.com/rjb4standards/REA-Products/blob/master/SAG-PM.spdx

Thanks @rjb4standards for pointing out this error.  I think I have pull requests to address several issues this has uncovered.
The main issue is not catching an invalid SPDX ID in the tag/value file.  If you remove the @, it should convert OK.
I'm planning on updating the tools to a new version over the weekend.  The update should catch these error earlier in the process.

Thanks @rjb4standards for pointing out this error.  I think I have pull requests to address several issues this has uncovered.
The main issue is not catching an invalid SPDX ID in the tag/value file.  If you remove the @, it should convert OK.
I'm planning on updating the tools to a new version over the weekend.  The update should catch these error earlier in the process.

Gary,
I replaced the @ in SPDXID, but now I see an error when converting to JSON, of a similar issue with License info – as invalid in that same TV file.
Thanks,
Dick Brooks
https://reliableenergyanalytics.com/products Never trust software, always verify and report! ™
http://www.reliableenergyanalytics.com/ http://www.reliableenergyanalytics.com
Email<EMAIL_ADDRESS><EMAIL_ADDRESS>Tel: +1<PHONE_NUMBER>
From: goneall<EMAIL_ADDRESS>Sent: Friday, January 15, 2021 3:30 PM
To: spdx/spdx-java-jackson-store<EMAIL_ADDRESS>Cc: Dick Brooks<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [spdx/spdx-java-jackson-store] Issue with online tools - conversion from TV to XML (#7)
Thanks @rjb4standards https://github.com/rjb4standards  for pointing out this error. I think I have pull requests to address several issues this has uncovered.
The main issue is not catching an invalid SPDX ID in the tag/value file. If you remove the @, it should convert OK.
I'm planning on updating the tools to a new version over the weekend. The update should catch these error earlier in the process.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/spdx/spdx-java-jackson-store/issues/7#issuecomment-761181562 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFI3NCQMZH7ZZ7ICFNL3JDS2CQVHANCNFSM4WENIPXA .

Gary,
I replaced the @ in SPDXID, but now I see an error when converting to JSON, of a similar issue with License info – as invalid in that same TV file.
Thanks,
Dick Brooks
https://reliableenergyanalytics.com/products Never trust software, always verify and report! ™
http://www.reliableenergyanalytics.com/ http://www.reliableenergyanalytics.com
Email<EMAIL_ADDRESS><EMAIL_ADDRESS>Tel: +1<PHONE_NUMBER>
From: goneall<EMAIL_ADDRESS>Sent: Friday, January 15, 2021 3:30 PM
To: spdx/spdx-java-jackson-store<EMAIL_ADDRESS>Cc: Dick Brooks<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [spdx/spdx-java-jackson-store] Issue with online tools - conversion from TV to XML (#7)
Thanks @rjb4standards https://github.com/rjb4standards  for pointing out this error. I think I have pull requests to address several issues this has uncovered.
The main issue is not catching an invalid SPDX ID in the tag/value file. If you remove the @, it should convert OK.
I'm planning on updating the tools to a new version over the weekend. The update should catch these error earlier in the process.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/spdx/spdx-java-jackson-store/issues/7#issuecomment-761181562 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFI3NCQMZH7ZZ7ICFNL3JDS2CQVHANCNFSM4WENIPXA .

I replaced the @ in SPDXID, but now I see an error when converting to JSON, of a similar issue with License info – as invalid in that same TV file.

This may be a known issue: https://github.com/spdx/spdx-online-tools/issues/281
Let me know if the error message is similar to:
Invalid license id '__anon__2'. Must start with 'LicenseRef-' and made up of the characters from the set 'a'-'z', 'A'-'Z', '0'-'9', '+', '_', '.', and '-'.
If so, it will be fixed in the next update.
If the error is different, please attach the updated tag/value file and I'll take a look at it.

I replaced the @ in SPDXID, but now I see an error when converting to JSON, of a similar issue with License info – as invalid in that same TV file.

This may be a known issue: https://github.com/spdx/spdx-online-tools/issues/281
Let me know if the error message is similar to:
Invalid license id '__anon__2'. Must start with 'LicenseRef-' and made up of the characters from the set 'a'-'z', 'A'-'Z', '0'-'9', '+', '_', '.', and '-'.
If so, it will be fixed in the next update.
If the error is different, please attach the updated tag/value file and I'll take a look at it.

Resolved with PR #2

Resolved with PR #2


Nesting Solution

lement counting in blockquote, to pop the right amount of elements.
Added inline Ids to all elements, turning nesting possible.

Hi @VHPaiva and thanks for the PR!
I am not sure what it solves? Do you have markdown examples of what does not work now and what does work after the PR? :)

It is a solution for Issue #18
Blockquote would not suport elements that are not paragraph inside it, as well as popping only one element from the result array, wich would duplicate the content before the blockquote.
> ## Title
>
> Item one.
>
> Item two.
This would print:
Title
Item one.

undefined
Item one.
Item two.

After the PR, it will print the correct result, and also suppot tables, lists and other blockquotes inside.

Aha! I see now, great! Thanks for looking into this :)

New version is published!


[Schema Registry] EventHub Avro Serializer Integration

SRAvroSerializer integration with SB/EH

[ ] kafka approach investigation
[ ] eventhub integration avro demo

https://github.com/Azure/azure-sdk-for-python/pull/13884


Allow setting api key and model in config file

This way they don't have to be exposed in dotfiles.
For this I moved to the directories crate, which also changes the chat history location out of the root. I felt that's a bit cleaner.
I added a flag to print where the config file is expected to be.

There aren't enough settings to add support for a config file yet. It adds complexity to the code and to the documentation with little to gain in my opinion

This way they don't have to be exposed in dotfiles.

For others experiencing I would suggest they do what I do with sensitive environment variables: set your sensitive env vars in a separate script and then source the script in your bashrc/zshrc:
# ~/.bashrc

if [ -f ~/local_api_keys.sh ]; then
  source ~/local_api_keys.sh
fi

# ~/local_api_keys.sh
export OPENAI_API_KEY=<your api key>

This way, you can keep your dotfiles synced across devices, without having to sync secrets


UI

Elements are not responsive

Thank you for letting us know @fescii, we'll work on that.

@Chal13W1zz  The header should be sticky to allow smooth navigation, also the site logo is too large, perhaps you should consider using a text or a minimal/SVG logo..
Also can I freely create/merge a pull request?

Sure, feel free to fork the project and contribute, we're rolling out an update before EOD today. The broken navigation links have been on our to-do list. But feel free to chip in.


⚠ Bofrost.at has degraded performance

In 4566454, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2718 ms

Resolved: Bofrost.at performance has improved in e22d569 after 6 minutes.


if statement doesn't work when field name contains @

Hi, another issue:

If statement doesn't work when field name contains "@"

ok - from the screenshot above it also looks like else if doesn't behave as expected either?

else if works fine in common cases. Only this one doesn't work correct.

Partially resolved in 0.1.6 :+1:

closed in 0.1.7


Permute x xko

Codecov Report
Patch coverage: 100.00% and project coverage change: +3.11% :tada:

Comparison is base (ca04e2a) 65.39% compared to head (6475f70) 68.51%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #64      +/-   ##
==========================================
+ Coverage   65.39%   68.51%   +3.11%
==========================================
  Files          17       17
  Lines        2315     2201     -114
==========================================
- Hits         1514     1508       -6
+ Misses        801      693     -108

Files Changed
Coverage Δ

src/utilities.jl
79.87% <ø> (+21.00%)
:arrow_up:

src/fit_lasso.jl
39.02% <100.00%> (+1.13%)
:arrow_up:

... and 3 files with indirect coverage changes

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


_config.yml baseurl differs from live URL

The baseurl defined in _config.yml differs from the live URL, which causes all the links in the navbar to be formatted:
https://getmonero.org/example-url/
instead of
https://web.getmonero.org/example-url/
This causes every link to return a 301 status code, instead of a 200 status code.
Is it a good idea to change it? Or is there a better reason to just leave it?
Thanks

IIRC that's on purpose. web.getmonero was confusing and looked scammy to some people (like ww.getmonero). I dont see a reason to change it.

Eric - I'm just having some trouble understanding what the original intent of having web.getmonero.com on the main website if it looks scammy?
Additionally, I know that from an SEO perspective on web.getmonero.org, it would be considered best practice to link to the place that these pages exist, not rely on 301 redirects to get there.
I apologize if this isn't the medium to ask these questions - I'm not really sure where else to go with them.
Thanks

Honestly i don't remember why we were using web.getmonero.org, but iirc it was related to cloudflare.
I suggest you to join #monero-site on Freenode, matrix and other platforms. That's a better place for questions than this issue tracker :)

Great, thanks!


Use this lib for vscode extension development to sign in users to Azure AD

Core Library
MSAL Node (@azure/msal-node)
Core Library Version
newest
Wrapper Library
MSAL Node Extensions (@azure/msal-node-extensions)
Wrapper Library Version
newest
Public or Confidential Client?
Confidential
Description
Hi! I have a vscode extension. I am looking for a possibility to sign in users to Azure AD via authentication code flow with PKCE inside my vscode extension. My goal ist to start the auth flow on extension activation hook and (after all) get the OAuth2 access token to perform API calls. I am familiar with this flow on browsers. All approach I tried so far did not work as msal uses browser based session/localstorage which is not available in vscode.
Does this lib could help my requirements to became reality?
MSAL Configuration
No response
Relevant Code Snippets
No response
Identity Provider
Azure AD / MSA
Source
External (Customer)

Yes, you can use msal-node for this. Do you have any specific questions?


[3.4.beta2] Strange dot at the end of y axis when using Procedural Sky

Godot version
v3.4.beta2.official
System information
Windows 11, GLES3
Issue description
Strange dot at the both ends of y axis when using Procedural Sky.

Steps to reproduce
Create a Procedural Sky, check out the y axis end.
Minimal reproduction project
No need.

Duplicate of https://github.com/godotengine/godot/issues/37192


Add Fort Davis

Fort Davis, AK 64.48, -165.42

So I think this one came from a spreadsheet that we developed back in ~Feb for the HSIAA, but in practice this may not be a great one to include -- it's basically atop Nome (for the scale of our data) and was abandoned a long time ago.
I suggest we do the opposite of this ticket and remove it.  @kyleredilla @charparr @MikeDelue agree?

So I think this one came from a spreadsheet that we developed back in ~Feb for the HSIAA, but in practice this may not be a great one to include -- it's basically atop Nome (for the scale of our data) and was abandoned a long time ago.
I suggest we do the opposite of this ticket and remove it. @kyleredilla @charparr @MikeDelue agree?

While a utility for adding more in the future does make sense given the current extent of the list, I agree that in this case removal > fixing and adding this location.


Anyone else suddenly getting error 500: Internal Server Error?

My script for importing orders was working fine yesterday (and for months prior).   Suddenly today, I am getting this when I call it:

C:\Users\Jeff\Downloads\php>php jeffWalmart.php importorders
PHP Fatal error:  Uncaught exception 'GuzzleHttp\Exception\ServerException' with message 'Server error response [url] https://marketplace.walmartapis.com/v3/orders/released?limit=10&createdStartDate=2017-03-23 [status code] 500 [reason phrase] Internal Server Error' in C:\Users\Jeff\Downloads\php\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php:89
Stack trace:
#0 C:\Users\Jeff\Downloads\php\vendor\guzzlehttp\guzzle\src\Subscriber\HttpError.php(33): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Message\Request), Object(GuzzleHttp\Message\Response))
#1 C:\Users\Jeff\Downloads\php\vendor\guzzlehttp\guzzle\src\Event\Emitter.php(108): GuzzleHttp\Subscriber\HttpError->onComplete(Object(GuzzleHttp\Event\CompleteEvent), 'complete')
#2 C:\Users\Jeff\Downloads\php\vendor\guzzlehttp\guzzle\src\RequestFsm.php(91): GuzzleHttp\Event\Emitter->emit('complete', Object(GuzzleHttp\Event\CompleteEvent))
#3 C:\Users\Jeff\Downloads\php\vendor\guzzlehttp\guzzle\src\RequestFsm.php(132): GuzzleHttp\RequestFsm->__invoke(Obj in C:\Users\Jeff\Downloads\php\vendor\guzzlehttp\command\src\AbstractClient.php on line 171

Since nothing changed on my end, I am wondering if this Internal Server Error is happening with others.

Now it seems to work again......must have been an issue on Walmart's side.


SSL support?

Hello,
it seems like I am unable to establish a connection and a part of the reason could be that I am using MongoDB Atlas and need to establish a ssl connection.
Although I changed the tcp connections to ssl connections, I cannot get my replicaSet connected. The constant "reconnect-reattempt" stopped though.
Grateful for any advice!
Cheers,
Erwin

There is no ssl support at this time

Ok, does the auth logic use authSource=admin?
{find, Source, <<"admin.$cmd">>, leads me to believe that.
https://github.com/SergejJurecko/erlmongo/blob/master/src/mongodb.erl#L808
If not, then that could be another reason for my authentication failure.

yep! Got a connection established with ssl. Wonderful!
I do have a side-question regarding to mongoapi. I get an error when I do:
Mong = mongoapi:new(mongo_pool,<<"mws">>).
Mong:count("user").
** exception error: bad argument
     in function  apply/3
        called as apply({mongoapi,[mongo_pool,<<"mws">>]},count,["user"])

But it works when doing
mongoapi:count("user", Mong).

Any suggestions to why this may?

Erlang 21 disabled tuple calls. You must call with mongoapi and last parameter Mong.

Great! Do you want a PR with ssl capabilities? I'm just thinking where to put the config val for the driver that sets ssl.

Sure

https://github.com/SergejJurecko/erlmongo/pull/49


Add detail rbacassessment,infraassessment info prometheus Metrics

Description
Related issues

Close #1310

Remove this section if you don't have related PRs.
Checklist

[x] I've read the guidelines for contributing to this repository.
[ ] I've added tests that prove my fix is effective or that my feature works.
[ ] I've updated the documentation with the relevant information (if needed).

@geoffrey1330  looks good , I'm missing the docs for infraassessment metric

@geoffrey1330 looks good , I'm missing the docs for infraassessment metric

Adding it now

lgtm 🚀


Emit module trace atomically by using LLVM's LockFileManager

Ensuring that creation of and writing to the module trace file happens atomically overall.
LLVM provides utilities to perform an atomic write-to-file:
https://github.com/llvm/llvm-project/blob/5de69e16ea9ab916401f4a8390fff91f18bbba2a/llvm/include/llvm/Support/FileUtilities.h#L111
However, we must support emitting module trace that appends to an existing file, which isn't currently supported by those utilities since they write-to-temporary and perform an atomic rename to achieve this atomicity.
Instead, use the same approach as the ModuleInterfaceBuilder and place a filesystem lock on the module trace output file in order to do the write.
Resolves rdar://76743462

@swift-ci please test Windows platform


feat: Introduce instruction recurse_or_return

Instruction recurse_or_return behaves – surprise! – either like instruction recurse or like instruction return. The (deterministic) decision which behavior to exhibit is made at runtime and depends on the current stack as well as the instruction's immediate argument i.
Argument i indicates one of the stack's top 16 elements. Let the value of the indicated stack element be a, and the value of its successor element b. In the slightly special case of i == 15, the indicated element's successor is taken to be stack element with index 0. If a != b, then recurse_or_return acts like instruction recurse, else like return.

I'm seeing an 11 % increase in the number of base columns which takes away what I estimate is 30-50 % of the gain that this new instruction yields. How would that number (the increase in the number of base columns) look if you remove the immediate argument to the instruction and only look at stack element 5 and 6 which is what we need for a faster TASM-verifier?

While I was aware that the additional cost of the new instruction in its current design is quite high, the hope was that raising the degree the constraints are lowered to, which would be possible cheaply with an upcoming update, would remove that additional cost again. However, some quick experiments indicate that this is not so; with a target degree of 8, the new instruction would contribute more than a quarter of the total degree-lowering columns. This is an even higher relative impact: at target degree 4, the current design would be responsible for around 15% of the degree lowering columns.

How would [the increase in the number of base columns] look if you remove the immediate argument to the instruction and only look at stack element 5 and 6 […]?

Probably a lot better. To find out the actual numbers, I need to write the corresponding code.

How would [the increase in the number of base columns] look if you remove the immediate argument to the instruction and only look at stack element 5 and 6 […]?

The new instruction recurse_or_return without immediate argument introduces an additional 3 base columns in the degree lowering table.

When targeting a degree of 12, which might be possible through a future upgrade, the additional cost of instruction recurse_or_return with immediate argument becomes negligible: it introduces only 2 additional degree-lowering columns.

Instruction recurse_or_return without immediate argument introduces XX additional degree-lowering columns:

Should the target degree be 12 at some point in the future, re-introducing the instruction's immediate argument could be considered.


Problem when loading new games

Hello,
i have a problem when i try to stop a game and run another game.
i am workin whith vr (xr plugin), the core with i have this problem is nestopia (i don't have try if the prblem is present also with other core).
to change game i use this function:
libretro.PauseContent();
libretro.StopContent();
libretro.StopAllCoroutines();
libretro.DeInitialize();
libretro.Initialize("nestopia",libretro.Directorygioco, gioco);
//libretro.Directorygioco is a variable that determine the path of the directory with application.datapath
libretro.StartContent();
initially i tryed only with stopcontent() and startcontent();
i also have tryied to divide the function that stop the content and the function that start the content, but i have ever the following errors:
System.NullReferenceException: Object reference not set to an instance of an object
This Exception was thrown from a job compiled with Burst, which has limited exception support.
0x00007ffbfc112762 (6014b71d4bad33b1c4b7c491bf53611) d13c9e1d2b2bc6d8b49ea59eabf9054c
0x00007ffbfc11236d (6014b71d4bad33b1c4b7c491bf53611) d13c9e1d2b2bc6d8b49ea59eabf9054c
0x00007ff72ed7f54f (Unity)
0x00007ff72ed7f8b4 (Unity)
0x00007ff72ed805ef (Unity)
System.NullReferenceException: Object reference not set to an instance of an object
This Exception was thrown from a job compiled with Burst, which has limited exception support.
0x00007ffbfc112762 (6014b71d4bad33b1c4b7c491bf53611) d13c9e1d2b2bc6d8b49ea59eabf9054c
0x00007ffbfc11236d (6014b71d4bad33b1c4b7c491bf53611) d13c9e1d2b2bc6d8b49ea59eabf9054c
0x00007ff72ed7f54f (Unity)
0x00007ff72ed7f8b4 (Unity)
InvalidOperationException: The Unity.Collections.NativeArray`1[System.Single] SampleBatchJob.DestinationSamples has been deallocated. All containers must be valid when scheduling a job.
Unity.Jobs.LowLevel.Unsafe.JobsUtility.ScheduleParallelFor (Unity.Jobs.LowLevel.Unsafe.JobsUtility+JobScheduleParameters& parameters, System.Int32 arrayLength, System.Int32 innerloopBatchCount) (at <10871f9e312b442cb78b9b97db88fdcb>:0)
Unity.Jobs.IJobParallelForExtensions.Schedule[T] (T jobData, System.Int32 arrayLength, System.Int32 innerloopBatchCount, Unity.Jobs.JobHandle dependsOn) (at <10871f9e312b442cb78b9b97db88fdcb>:0)
if i deactivate burst compiler, i have the following errors:
InvalidOperationException: The Unity.Collections.NativeArray`1[System.Single] SampleBatchJob.DestinationSamples has been deallocated. All containers must be valid when scheduling a job.
Unity.Jobs.LowLevel.Unsafe.JobsUtility.ScheduleParallelFor (Unity.Jobs.LowLevel.Unsafe.JobsUtility+JobScheduleParameters& parameters, System.Int32 arrayLength, System.Int32 innerloopBatchCount) (at <10871f9e312b442cb78b9b97db88fdcb>:0)
Unity.Jobs.IJobParallelForExtensions.Schedule[T] (T jobData, System.Int32 arrayLength, System.Int32 innerloopBatchCount, Unity.Jobs.JobHandle dependsOn) (at <10871f9e312b442cb78b9b97db88fdcb>:0)
SK.Libretro.Unity.AudioProcessor+<>c__DisplayClass12_0.b__0 () (at C:/Users/Masseria/Desktop/SK.Libretro-master/Unity/Scripts/Runtime/Audio/AudioProcessor.cs:100)
SK.Libretro.Unity.MainThreadDispatcher+<>c__DisplayClass5_0.b__0 () (at C:/Users/Masseria/Desktop/SK.Libretro-master/Unity/Scripts/Runtime/Utilities/MainThreadDispatcher.cs:60)
SK.Libretro.Unity.MainThreadDispatcher+<>c__DisplayClass4_0.b__0 () (at C:/Users/Masseria/Desktop/SK.Libretro-master/Unity/Scripts/Runtime/Utilities/MainThreadDispatcher.cs:56)
SK.Libretro.Unity.MainThreadDispatcher.Update () (at C:/Users/Masseria/Desktop/SK.Libretro-master/Unity/Scripts/Runtime/Utilities/MainThreadDispatcher.cs:53)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__7_0 (System.Object state) (at <787acc3c9a4c471ba7d971300105af24>:0)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at <10871f9e312b442cb78b9b97db88fdcb>:0)
UnityEngine.UnitySynchronizationContext.Exec () (at <10871f9e312b442cb78b9b97db88fdcb>:0)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at <10871f9e312b442cb78b9b97db88fdcb>:0)
NullReferenceException: Object reference not set to an instance of an object
SK.Libretro.Unity.FrameXRGB8888Job.Execute (System.Int32 index) (at C:/Users/Masseria/Desktop/SK.Libretro-master/Unity/Scripts/Runtime/Graphics/Jobs/FrameXRGB8888Job.cs:45)
Unity.Jobs.IJobParallelForExtensions+ParallelForJobStruct`1[T].Execute (T& jobData, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at <10871f9e312b442cb78b9b97db88fdcb>:0)
NullReferenceException: Object reference not set to an instance of an object
SK.Libretro.Unity.FrameXRGB8888Job.Execute (System.Int32 index) (at C:/Users/Masseria/Desktop/SK.Libretro-master/Unity/Scripts/Runtime/Graphics/Jobs/FrameXRGB8888Job.cs:45)
Unity.Jobs.IJobParallelForExtensions+ParallelForJobStruct`1[T].Execute (T& jobData, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at <10871f9e312b442cb78b9b97db88fdcb>:0)
Unity.Jobs.JobHandle:ScheduleBatchedJobsAndComplete(JobHandle&)
Unity.Jobs.JobHandle:Complete()
have you some idea ofhow i can solve those problems?
Thankyou for your support

Using only StopContent() -> Initialize(...) -> StartContent(), I can swap games on nestopia without any errors.
What does the resulting string for "libretro.Directorygioco + gioco" look like after the Initialize line?

the string look correct, i have these errors when i stop the play in unity

If it's just stopping play mode in unity, the thread probably doesn't have enough time to complete, using a weaker cpu or something else, either way I can't reproduce this.
I understand you get the error message but your actual problem is unclear. Does the old game stop, and does the new one start? If so, then it's fine.


Duckstation core does no longer launch on RG351V

Before submitting your issue or feature request.  DO NOT REQUEST ASSISTANTS FOR PRELOADED IMAGES.  I do not support or condone the use of preloaded ArkOS images.  Preloaded meaning images that come with copyrighted roms preincluded.  Look for support from the creator or supplier of those preloaded images, not from here!  If a ticket is submitted for assistance for such images or if there's an indiciation that a preloaded image is what the support request is for, the issue ticket will be closed with no further response.

This is not Anbernic Stock Emuelec or 351Elec.  ArkOS is a different distribution from those systems and will have differing features.  The only somewhat similarity is that they both use EmulationStation as a frontend.  Even with that, the versions of EmulationStation that's used in between ArkOS and Anbernic Emuelec/351Elec is different with different capabilities.  If there are features you prefer with Anbernic Emuelec/351Elec, just use those distributions instead.  The choice is yours.

Have you reviewed the Frequently Asked Questions available at https://github.com/christianhaitian/arkos/wiki/Frequently-Asked-Questions---RG351P ?

If your issue is related to being able to run certain emulators or ports, have you reviewed the Emulators and Ports section available at https://github.com/christianhaitian/arkos/wiki/ArkOS-Emulators-and-Ports-information for needed bios files and supported rom extensions?

Have you reviewed the known issues section available at https://github.com/christianhaitian/arkos/wiki/Known-issues ?

Describe the Issue (If applicable)
A clear and concise description of what the bug is.
Duckstaion used to work, but since I updated the OS, it no longer boots, it shows the arkos splash screen twice before returning to the playstation menu.
I have the required bios files as it was working before
I've tried deleting and re-downloading the core in retroarch with no avail
How can the issue be reproduced? (If applicable)
select playstation game with duckstation retroarch as the core
doesnt load
What device are you using?
RG351V
What version of ArkOS are you on?
arkos 2.0 (10292022)

You can find this during the initial boot process right before the Emulationstation loading screen

Anything else you'd like to include that may help to review this issue or feature request?

I can't replicate this issue on my end on the same unit with the same latest version of ArkOS.  Are you able to launch your games with pcsx-rearmed?  If not, something is probably up with your games.

they work fine with pcx-rearmed. When I launch retroarch standalone, an try to 'launch core' with duck station, that fails also, so I think it is something to do with the core or the config - are there any other steps I can take to try and 'reset' it ?

also PCSX_rearmed only appears in retroarch32, even though it looks like it's installed in retroarch

is there a system log I can read to see what's happening?

In the options menu, you can try restoring the Retroarch Core Settings to see if that resolves the issue for you.  I suspect you have a core option that is set that is causing that issue but I may be wrong.
PCSX_rearmed is currently configured for just retroarch32 in the emulationstation menu since it was primarily a 32bit emulator that recently got a 64bit build that is performing mostly acceptably now.  I'll add that as an additional selectable core for psx in the emulationstation menu in the future.
No log is kept.  What you can do is ssh into the device and run the following command and see what it returns to you:
retroarch -v -L /home/ark/.config/retroarch/cores/duckstation_libretro.so <game location/game name>.

I found the issue - it looks like the cores no longer look in /roms2/bios/ for bios (this worked before), I moved them to /roms/bios and it's now working fine
thanks for the ssh tip, that helped me!

Did you change this in the retroarch menu as that's set by default when you switch to sd2?  Either way, glad it's working now.

@christianhaitian I didn't change anything, it seemed to change after one of the updates, I won't touch anything now as it's working!


Fixed traj_segment_generator ep_lens recording

This is a fix for issue #302.
The bug affects logging in the PPO1 and TRPO modules, with episode lengths sometimes recorded as significantly shorter than they actually are.
Very minor changes, just added a variable for separate recording of episode lengths and iteration lengths. The iteration length is returned directly, and the episode length is appended directly too ep_lens. This simplifies the logic by not requiring current_it_timesteps.
Fixes #302

Hello,
thanks for this PR, please do not forget to read the contributing guide.
(only updating the changelog and adding your name at the bottom is missing ;))


Duration (TTL)

Replace the current ttl variable in favor of duration. The duration type should have a numerical value and unit of time. Having the duration will allow partner to set a duration for 3 secs or 5 minutes.

@senojj If we are updating the docs to let the user know TTL is in seconds, is it necessary to change the type of it?

@Santiago-Torres14 duration would be an upgrade from ttl. This issue doesn't duplicate #22.


No package found for 'chef-server' with version 'latest' for current platform in 'stable' channel.

Cookbook version
v5.0.1
Chef-client version
12.12.15
Platform Details
Vagrant / bento/ubuntu-16.04
Scenario:
Trying to run the default recipe
Steps to Reproduce:

Try to provision the following

Vagrant.configure("2") do |config|
  config.omnibus.chef_version = '12.12.15'

  config.vm.define "chef_server" do |chef_server|
    chef_server.vm.box = "bento/ubuntu-16.04"
    chef_server.vm.provision "chef_solo" do |chef|
      chef.cookbooks_path = "vendor/cookbooks"
      chef.add_recipe "chef-server::default"
    end
  end
end

Expected Result:
The machine successfully goes up
Actual Result:
chef-ingredient fails to find a package for chef-server.
==> chef_server: RuntimeError
==> chef_server:
==> chef_server: ------------
==> chef_server:
==> chef_server: No package found for 'chef-server' with version 'latest' for current platform in 'stable' channel.
==> chef_server:
==> chef_server:     Check that the package exists.
==> chef_server:
==> chef_server:     Cookbook Trace:
==> chef_server:     ---------------
==> chef_server:     /var/chef/cache/cookbooks/chef-ingredient/libraries/default_handler.rb:95:in `configure_from_channel'
==> chef_server:     /var/chef/cache/cookbooks/chef-ingredient/libraries/default_handler.rb:46:in `configure_package'
==> chef_server:     /var/chef/cache/cookbooks/chef-ingredient/libraries/default_handler.rb:23:in `handle_install'
==> chef_server:     /var/chef/cache/cookbooks/chef-ingredient/libraries/chef_ingredient_provider.rb:54:in `block in <class:ChefIngredient>'
==> chef_server:     /var/chef/cache/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb:41:in `run_action'
==> chef_server:
==> chef_server:     Resource Declaration:
==> chef_server:     ---------------------
==> chef_server:     # In /var/chef/cache/cookbooks/chef-server/recipes/default.rb
==> chef_server:
==> chef_server:      29: chef_ingredient 'chef-server' do
==> chef_server:      30:   extend ChefServerCookbook::Helpers
==> chef_server:      31:   version node['chef-server']['version'] unless node['chef-server']['version'].nil?
==> chef_server:      32:   package_source node['chef-server']['package_source']
==> chef_server:      33:   config <<-EOS
==> chef_server:      34: topology "#{node['chef-server']['topology']}"
==> chef_server:      35: #{"api_fqdn \"#{node['chef-server']['api_fqdn']}\"" if api_fqdn_available?}
==> chef_server:      36: #{node['chef-server']['configuration']}
==> chef_server:      37: EOS
==> chef_server:      38:   action :install
==> chef_server:      39: end
==> chef_server:      40:
==> chef_server:
==> chef_server:     Compiled Resource:
==> chef_server:     ------------------
==> chef_server:     # Declared in /var/chef/cache/cookbooks/chef-server/recipes/default.rb:29:in `from_file'
==> chef_server:
==> chef_server:     chef_ingredient("chef-server") do
==> chef_server:       action [:install]
==> chef_server:       retries 0
==> chef_server:       retry_delay 2
==> chef_server:       default_guard_interpreter :default
==> chef_server:       declared_type :chef_ingredient
==> chef_server:       cookbook_name "chef-server"
==> chef_server:       recipe_name "default"
==> chef_server:       config "topology \"standalone\"\napi_fqdn \"vagrant.vm\"\n\n"
==> chef_server:       product_name "chef-server"
==> chef_server:     end
==> chef_server:
==> chef_server:     Platform:
==> chef_server:     ---------
==> chef_server:     x86_64-linux

Doh, it says on the README.md that this cookbook hasn't been tested on 16.04. yet and truly the chef-server package isn't on the Ubuntu 16.04 branch yet: https://packages.chef.io/stable/ubuntu/16.04/
I guess the options here are either resolving to the 14.04 repo or downgrading the box?

16.04 is now supported - closing.


Ignoring retweets

How'd one go about ignoring reteweets from say the example in the docs?
TweetStream::Client.new.follow(14252, 53235) do |status|
  puts "#{status.text}"
end

@hakkiplaten the easiest way is to add conditions to your message handling code:
TweetStream::Client.new.follow(14252, 53235) do |status|
  if meets_your_requirements?(status)
    # do something with the status
  end
end

If you can be more specific about what you are trying to do I can probably suggest some additional approaches.

@stve I've decided to go with:
TweetStream::Client.new.follow(14252, 53235) do |status|
  unless status.starts_with? "RT"
    ...
  end
end

Do let me know if there are better ways.
Thanks.


fix(tsconfig.build.json): add commitlint.config.js to excluded files

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: typing part 2

Started introducing typing in the library.

cloud.py
packet_builder.py

Codecov Report
Attention: Patch coverage is 71.87500% with 9 lines in your changes are missing coverage. Please review.

Project coverage is 5.33%. Comparing base (cf798af) to head (69e9d94).
Report is 2 commits behind head on main.

Files
Patch %
Lines

midealocal/packet_builder.py
0.00%
8 Missing :warning:

midealocal/cloud.py
95.83%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff            @@
##            main     #27      +/-   ##
========================================
+ Coverage   4.10%   5.33%   +1.22%
========================================
  Files         77      77
  Lines       6571    6579       +8
========================================
+ Hits         270     351      +81
+ Misses      6301    6228      -73

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


Conflict Touch event in CardView

I have s ScrollView in CardView, How to touch to move the card. It is conflicted touch event between ScrollView and Cardview

Does your scrollView consume all touch events?
If yes, try to return false event handlers to bob the event up to CardView

I have s ViewPager in CardView, How to touch to move the card. It is conflicted touch event between Viewpager swipe and Cardview swipe left and right


How to import entries exported with watson log?

Hi,
I have exported entries from Watson with watson log --month --json --current. Now I want to add those entries to my Watson installation on another machine from the exported JSON file. Is that possible? If yes, how? I have tried to use watson merge without success.
Thanks in advance for the help :).

The frames are stored in the frames file in your application folder. You can merge them with a simple editor. Otherwise, for something easy to script, I suggest you to use jq a command-line json processor (probably available in your repositories if you use Linux). The commands in the following procedure are for a linux box.

Open a terminal.
Go in your application folder. For example,
cd ~/.config/watson.
Make a backup of your frames file:
mv frames frames20220203.backup.
Copy the frames file from the other machine in your application folder. Rename it frames-othermachine.
Merge the files frames20220203.backup and frames-othermachine with output in frames:
jq -s '[.[][]]' frames20220203.backup frames-oldmachine > frames.
Done.

@ericguirbal Thanks for the reply, I didn't know about the frames file before 👍 . I ended up writing a small script to add the entries from my JSON export to the local Watson instance by executing watson add for each entry as I couldn't get merging my entries into the frames file to work.


Mvn2sbt

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
Is this related to an already existing issue on sparkler?
If so, mention that issue by referencing its number here.
Will it close an existing issue?
Say 'Closes #IssueNum' here.
How was this patch tested?
We are particularly interested in unit tests, integration tests, manual tests you did to ensure that the patch works as expected, so briefly describe them.
Please review
https://github.com/USCDataScience/sparkler/blob/master/.github/CONTRIBUTING.md before opening a pull request.

Nice this is a lot of work well done Tom.
On Sat, Jan 22, 2022 at 09:43 Tom Barber @.***> wrote:

Merged #245 https://github.com/USCDataScience/sparkler/pull/245 into
main.
—
Reply to this email directly, view it on GitHub
https://github.com/USCDataScience/sparkler/pull/245#event-5937200052,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAI4TF2NVHTGLOLH7YEALQ3UXLUC5ANCNFSM5MSHPHXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Lewis
Dr. Lewis J. McGibbney Ph.D, B.Sc
Skype: lewis.john.mcgibbney


Updates for model2geovars

Corresponds to MPAS-JEDI#538.
The build and verification directories are updated to use the latest code and post-processing versions
The verification scripts directories in config/verification.py include changes from all of the following mpas-jedi PRs:
https://github.com/JCSDA-internal/mpas-jedi/pull/553
https://github.com/JCSDA-internal/mpas-jedi/pull/554
https://github.com/JCSDA-internal/mpas-jedi/pull/555
https://github.com/JCSDA-internal/mpas-jedi/pull/557
https://github.com/JCSDA-internal/mpas-jedi/pull/558
Plus changes in this branch (will submit this for PR after the others above):
https://github.com/JCSDA-internal/mpas-jedi/tree/feature/GenerateABEIFactors_merged

Above problem is fixed by this commit: https://github.com/JCSDA-internal/mpas-jedi/pull/558/commits/ca6074f69af5a80b99075b247935bad07e84db81
Ready to merge this PR and https://github.com/JCSDA-internal/mpas-jedi/pull/538.
Will merge on Monday afternoon.


This is not an issue but a doubt.

Why have you hosted the node app on 'https'?

In chrome version 47+ they force you to use https to be allow using WebRTC API.  It work fine in Firefox.

ok thanks....but can i change I use http instead of https?

Oh, Sure.    my pleasure.

@Cheng-Bin  , I cloned the SFU branch but its not working.I connect from two different systems in the same room but I dont see anyone else other than me.Where am I going wrong?
I'm using KMS 6.6.0 on Ubuntu 14.04 LTS (64 bits).Please help.


#781 Add zoom and scale parameters in onDrawItem of ItemizedOverlay

This PR adds the zoom and scale of the map to the parameters of ItemizedOverlay.onDrawItem(...). This allows subclasses to use this parameters for custom logic regarding drawing the icons.
issue: https://github.com/osmdroid/osmdroid/issues/781

Please note that ItemizedOverlay already has its own implementation which does not need these parameters. So I understand if you think this should not be merged and in such a case developers should develop their own overlay class.

since this is an api change (which is fine) would it make more sense to just pass in a reference to the mapview itself? Then any needed values can be queried for rendering purposes and we won't need to update the api again then next time a new value is available in mapview and it is required for rendering

I thought about it, but felt that having access to the mapview in this method could be a breach of separation of concerns. However, the mapview is already available in the onDraw method itself, so it may not be that big of a deal.

if the map view is available onDraw for the overlay class, then let's just make it available for the itemized icon overlay

@spyhunter99 It now uses the mapview as a parameter.


Can't navigate to camera on iOS 11

The camera button now direct to Photos, not camera

just like me. please help


Script

This script adds a notebook link to the screen starting with the given pattern i.e. idr0094...
Only the screens with plate starting with that pattern will be annotated.
This is similar to https://github.com/IDR/idr0093-mueller-perturbation/blob/master/scripts/add_notebook_links.py
I will look into moving it to idr-utils and make it as generic as possible later on.
cc @sbesson @dominikl

No objection to running this in production. ONly consideration is whether you want to attach the key/value pairs to the three screen containers (including the top-level one acting as a landing page) or only screenA/screenB? In the latter case, I assume it should be a matter of restricting the regex pattern.

It will only attach annotations to ScreenA/ScreenB since it only picks the screen with plates


[flaky-test] TestSystemChartsVersionSuite / TestInstallWebhookMinVersion

Flaky Test
test_project_create_default_role

Drone Build (if applicable)
pipeline stage URL:
(https://drone-publish.rancher.io/rancher/rancher/9861/6/2)

#42141

@samjustus and @MbolotSuse - I am moving this to v2.9-Next1 since I saw no active PRs for it.


same license key - multiple developers

hi guys,
I have another question regarding licensing, can multiple developer use the same license key, we have procured the license for 10 developers, but we got only one key. So I suppose all the developers should use same key, but while doing this we are getting "invalid license key error" in the browser console.
Please reply. thanks in advance.
@ceolter please respond
anybody willing to reply...

hi @vsanat - are you're an enterprise customer you should post queries on the members forum (https://ag-grid.com/forum) - you'll get a much faster answer there
In answer to your question yes, if you have a license for 10 developers then the same license is to be used by all 10 developers.
If you're getting an "invalid" license key message then thats almost certainly down to the license key not being set correctly. Can you please post (either here or on the members forum) what you're using to set the key and I can try help?
Please do not post your license key here!

PPS we don't check Github daily - if you are an enterprise customer, you should use the members forum and we will get back to you promptly! :)

Thanks Guys,,,
I got this working now, problem was not with the key, I have to upgrade my Angular from 2.0.0 to 2.2.4
One suggestion -> In this case ag-grid should not say License Key invalid, this might be misguiding as what happened to me. My license key was perfect only thing is I had to upgrade Ng. Please correct the error message if possible. :)
Cheers

this wasn't something on our end - our license key has nothing to do with angular versions.


getCSSRule throws an error and has been disabled

Do we really need this function?
Does the game still load everything correctly without this?

https://textadventures.co.uk/forum/quest/topic/cmsi_4rosew0ngic7rwf3w/what-does-this-mean


Rancher Upgrade to 2.7.2: document dynamic schema workaround

Upgrading Rancher to v2.7.2 when the elemental-operator chart is installed will cause the upgrade to fail: the rancher pod gets stuck in a crash loop (see https://github.com/rancher/elemental/issues/780).
The issue will be fixed in the next Rancher release.
In the meanwhile, document the issue and the workaround, which is to add an empty dynamicschemas.management.cattle.io to the Rancher cluster named machineinventoryselectortemplate.
apiVersion: management.cattle.io/v3
kind: DynamicSchema
metadata:
  name: machineinventoryselectortemplate

Ref: https://github.com/rancher/elemental/issues/780


Update faq.yml

update

Description

As already mentioned in #ISSUE_NUMBER, this PR tackles:

...
...
...

In particular, the ...
Checklist

[ ] I followed the indications in the CONTRIBUTING
[ ] The documentation related to the proposed change has been updated accordingly (also comments in code).
[ ] Have you written new tests for your core changes, as applicable?
[ ] Have you successfully ran tests with your changes locally?
[ ] Ready for review! :rocket:

Fixes

Fixes #

update

Chiudo la PR in quanto il file non esiste più essendo cambiato il processo di gestione delle FAQ


PRs script issue

@zmoon, for #281 I had a small issue with the prs.py script where it didn't seem to pick up all the PRs for the fortran-lang website repo from this month. It works fine for stdlib and fpm though, so I'm not sure if I'm using it wrong.

Sorry about that; I'll check it out


Kustomize stopped working since 0.9.23

Since release https://github.com/alexellis/arkade/releases/tag/0.9.23, an error is thrown:
The requested version of kustomize is not available or configured in arkade for Linux/x86_64

* Check if a binary is available from the project for your Operating System
* View the kustomize releases page: https://github.com/kubernetes-sigs/kustomize/releases
* Feel free to raise an issue at https://github.com/alexellis/arkade/issues for help

Doesn't matter which version of kustomize is configured, same error happens for these three:
        kustomize: 4.5.7
        kustomize: 5.0.3
        kustomize: 5.1.0

This was working until the latest release.
Expected Behaviour
Kustomize to work
Current Behaviour
Kustomize cannot be installed
Possible Solution
Steps to Reproduce (for bugs)
Context

If requesting a CLI for "arkade get"
How many downloads does this tool have? Check at:
https://somsubhra.github.io/github-release-stats/
If approved, are you willing to submit a pull request for this?
Your Environment

What Kubernetes distribution are you using?

kubectl version

Operating System and version (e.g. Linux, Windows, MacOS):

uname -a

cat /etc/os-release

What arkade version is this?

arkade version

The breaking change is that v prefix is now required - before this release, prefix v was not working, the only thing that worked was:
      - uses: alexellis/arkade-get@master
        with:
          kubectl: latest
          kustomize: 4.5.7
          kubeconform: v0.6.1
          helm: v3.10.3
          jq: jq-1.6
          yq: v4.34.1

Config that works on latest release:
      - uses: alexellis/arkade-get@master
        with:
          kubectl: latest
          kustomize: v4.5.7
          kubeconform: v0.6.1
          helm: v3.10.3
          jq: jq-1.6
          yq: v4.34.1


docker-desktop ERROR Download failed! (Error 22) HTTP response header was bad or unexpected

$ scoop update docker-desktop
docker-desktop: 4.16.3 -> nightly
Updating one outdated app:
WARN  This is a nightly version. Downloaded files won't be verified.
Updating 'docker-desktop' (4.16.3 -> nightly-20230207)
Downloading new version
Starting download with aria2 ...
Download: Download Results:
Download: gid   |stat|avg speed  |path/URI
Download: ======+====+===========+=======================================================
Download: cbb18c|ERR |       0B/s|D:/scoop_user_apps/cache/docker-desktop#nightly-20230207#https_download.docker.com_win_stable_Docker_20for_20Windows_20Installer.exe_dockerInstall.exe
Download: Status Legend:
Download: (ERR):error occurred.
Download: aria2 will resume download if the transfer is restarted.
Download: If there are any errors, then see the log file. See '-l' option in help/man page for details.

ERROR Download failed! (Error 22) HTTP response header was bad or unexpected
ERROR https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe#/dockerInstall.exe
    referer=https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe#/
    dir=D:\scoop_user_apps\cache
    out=docker-desktop#nightly-20230207#https_download.docker.com_win_stable_Docker_20for_20Windows_20Installer.exe_dockerInstall.exe

ERROR & 'D:\scoop_user_apps\apps\aria2\current\aria2c.exe' --input-file='D:\scoop_user_apps\cache\docker-desktop.txt' --user-agent='Scoop/1.0 (+http://scoop.sh/) PowerShell/7.3 (Windows NT 10.0; Win64; x64; Core)' --allow-overwrite=true --auto-file-renaming=false --retry-wait=4 --split=32 --max-connection-per-server=16 --min-split-size=1M --console-log-level=warn --enable-color=false --no-conf=true --follow-metalink=true --metalink-preferred-protocol=https --min-tls-version=TLSv1.2 --stop-with-process=10568 --continue --summary-interval=0 --auto-save-interval=1

Please try again or create a new issue by using the following link and paste your console output:
https://gitee.com/donglufei/DEV-tools

The latest version of docker-desktop seems to be 4.18.0, why did you name it nightly?

The manifest is fetched by [BOT] from another repository, so i did not name it, but i'm guessing that the original author did not want to bother with more work and just named it "nightly", so that it updates every day and not as usual.

Also i get no error when i run scoop install anderlli0053_DEV-tools/docker-desktop, it installs nicely


infringes my rights

yes hello lines Main.java:48-49 infringes my rights

nvm i found way more horrifying code in this project


Using the API to Upload reports

Is it possible to use the API to upload a report to TRAM?  Thanks in advance for any support.
The only API documentation I see is here:
https://github.com/center-for-threat-informed-defense/tram/wiki/Developers#making-api-calls

Not really. The API support was an after thought and doesn't expose all of the functionality in TRAM. We have helped some people build an automated submission/result system but it requires using username/password credential to login, and then scraping the HTML to extract the csrfmiddlewaretoken and using the HTTP headers to obtain the sessionid and csrftoken cookies. It's... not for the faint of heart.
I'll leave this issue open to keep track of this desire to see this feature added to the API. If anybody else wants to voice support for this request, please put a thumbs up on the OP.


Events / Observables

I'd be interested in discussing how expected events on observable objects could be described. Here's a first draft for one possibility based on my understanding of the current structural types:
new Channel({ displayName: String }) => ChannelInstance

interface ChannelInstance {
  displayName: String
}, emits: {
  messageAdded: { body: String, authorId: Number },
  memberJoined: { id: Number }
}

Thoughts?

How does a user subscribe to those events?

In common usecases I've seen: either MDN's addEventListener or EventEmitter's: [on, once, addListener].
In the former case, I can see specifying an addEventListener method on the interface but for the latter there might be considerable duplication.

In JSDoc the events emitted are enumerated with @fires and the events are described by @event:
/**
 * Represents a Channel on the server.
 * @fires Channel#memberJoined
 */
var Channel = function() {
    // ...
};

/**
 * Member joined the Channel.
 * @event Channel#memberJoined
 * @type {object}
 * @property {Number} id - The joining member's ID.
 */

I like emits. It would be a mistake to include this without specifying the event API, though (.on, etc...). =)

So, 3 implementations come to mind:
1. Implement extends:
new Channel({ displayName: String }) => ChannelInstance

interface ChannelInstance extends EventEmitter {
  displayName: String
}, emits: {
  messageAdded: { body: String, authorId: Number },
  memberJoined: { id: Number }
}

interface EventEmitter {
  on: ({ eventName: String, handler: Function }) => Void,
  once: ({ eventName: String, handler: Function }) => Void,
  addListener: ({ eventName: String, handler: Function }) => Void
}

The drawback there is that it's not guaranteed or implied that any of, or which of, the extended classes is the event emitter.
2. emits from
new Channel({ displayName: String }) => ChannelInstance

interface ChannelInstance {
  displayName: String
}, emits from EventEmitter: {
  messageAdded: { body: String, authorId: Number },
  memberJoined: { id: Number }
}

interface EventEmitter {
  on: ({ eventName: String, handler: Function }) => Void,
  once: ({ eventName: String, handler: Function }) => Void,
  addListener: ({ eventName: String, handler: Function }) => Void
}

This is basically a special invocation of extends that specifically calls out the event emitter.
3. Be opinionated
We could take the opinion that any interface should only contain a single interface for events and create a special keyword that defines the interface for any interface containing events:
new Channel({ displayName: String }) => ChannelInstance

events {
  on: ({ eventName: String, handler: Function }) => Void,
  once: ({ eventName: String, handler: Function }) => Void,
  addListener: ({ eventName: String, handler: Function }) => Void
}

interface ChannelInstance {
  displayName: String
}, emits: {
  messageAdded: { body: String, authorId: Number },
  memberJoined: { id: Number }
}

interface ChannelInstance extends EventEmitter {

No. That's not always what's happening. See the "composing types" PR.

Ah, excellent. So the spread operator might be useful here, too. The first implementation would look more like:
interface ChannelInstance {
  ...EventEmitter,
  displayName: String
}, emits: {
  messageAdded: { body: String, authorId: Number },
  memberJoined: { id: Number }
}

Alternatively, the spread operator could be overloaded in the case of the emits clause:
interface ChannelInstance {
  displayName: String
}, emits: {
  ...EventEmitter,
  messageAdded: { body: String, authorId: Number },
  memberJoined: { id: Number }
}

This form looks correct to me...
interface ChannelInstance {
  ...EventEmitter,
  displayName: String
}, emits: {
  messageAdded: { body: String, authorId: Number },
  memberJoined: { id: Number }
}

Since we are doing documentation, we will need to have some way to add the model.

bubbling
capturing
W3C

I'm not sure we need to do that. Seems like something that should be called out in prose and explained in more depth, anyway...?

That was just an idea I was throwing. Maybe it's going too far.

Can’t we achieve the same in the current spec without adding features (read: complexity)?
interface ChannelInstance {
  ...EventEmitter,
  displayName: String,
  on: ('message added', { body: String, authorId: Number }) => Void,
  on: ('member joined', { id: Number }) => Void,
}

By the way, an event emitter will differ in different contexts. A custom element will emit DOM events, whereas a node server will likely use EventEmitter – and both ways are idiomatic. It’d be wrong to tie ourselves to one context.

  on: ('message added', { body: String, authorId: Number }) => Void,
  on: ('member joined', { id: Number }) => Void,

This is not currently supported, and I find the syntax a bit ambiguous. How do you tell it apart from a normal function signature?

I meant it to be a normal function signature. I’m not an expert with our syntax yet though – chances are it should have been something like:
  on: {
    ('message added', { body: String, authorId: Number }) => Void,
    ('member joined', { id: Number }) => Void,
  },

I meant it to be a normal overloaded function signature.

That makes a lot more sense, and yes, that would work fine, except that different implementations might have different subscribe methods, so if we rely strictly on this, it doesn't necessarily scream "this is an event emitter".

The point I’m trying to make is:
Do we really need to scream “this is an event emitter”, since there are so many valid tastes of event emitters and since out current syntax covers all of them already?

I suppose that's a good question.

Looking to clarify re:
on: {
  ('message added', { body: String, authorId: Number }) => Void,
  ('member joined', { id: Number }) => Void,
},

Is on meant to be a special function name reserved for describing events? Or would this need to be redefined for [on, once, addListener, removeListener, off]?

Is on meant to be a special function name reserved for describing events? Or would this need to be redefined for [on, once, addListener, removeListener, off]?

The latter.

I understand the desire to re-use existing functionality, and I find overloading by event name and handler signature creative and novel.
But I have concerns:

I have to repeat myself.
It feels strange exposing class-level events as method overrides.
It will be hard for doc generators to be explicit about defining events.

I guess it comes down to whether we consider the observable pattern to be important enough in JS to provide the necessary support for explicit documentation. I do.

I have to repeat myself.

How do you have to repeat yourself? Can you show me an example?

It feels strange exposing class-level events as method overrides.

They're not method overrides. It's the function polymorphism syntax, slightly abused to create separate signatures for each of the event-type values. ;)

It will be hard for doc generators to be explicit about defining events.

This is one of my concerns, which is why I thought an explicit emits might be preferable, but if we can figure out how to tell the doc generator that a block is a bunch of events, that could solve the problem.

...hoping it's somehow implied that any other given method is or is not related to listening to those events.

This happens anyway with the emits syntax... only worse. In that case, the user has no way of knowing how the events are subscribed to! =)

How do you have to repeat yourself? Can you show me an example?
Well, I guess I wouldn't have to but I don't think the alternative is much better:

on: {
  ('message added', { body: String, authorId: Number }) => Void,
  ('member joined', { id: Number }) => Void,
},
once: {
  ('message added', { body: String, authorId: Number }) => Void,
  ('member joined', { id: Number }) => Void,
}

or
on: {
  ('message added', { body: String, authorId: Number }) => Void,
  ('member joined', { id: Number }) => Void,
},
once: (String, ()) => Void

(Not quite sure how once would look in the second example)

This is one of my concerns, which is why I thought an explicit emits might be preferable, but if we can figure out how to tell the doc generator that a block is a bunch of events, that could solve the problem.

This happens anyway with the emits syntax... only worse. In that case, the user has no way of knowing how the events are subscribed to! =)

I see that both approaches have a similar problem. With emits it's not explicit about which methods are associated with the events, although it is explicit what the events are. With the polymorphism approach, one method is specifically called out as an event handler, but the events themselves are not explicit and any other event handler methods would need to contain duplicated information if they are to be explicit as well (They can exist without, but they won't be explicitly related).
I think either approach can be modified to be appropriate:

emits would need to be accompanied by some mechanism to denote which methods are tied to the events
creative polymorphism approach would need to be accompanied by a way to denote which method describes to events, and which other methods use the same set of events (by pointing to the first method somehow, probably)

For emits, my suggestion is to include the event interface in the emits clause rather than the interface, something like:
interface { }, emits: { ...EventEmitter }
// or
interface { }, observable: EventEmitter { }

For the alternative, perhaps something like this would be enough:
interface {
  on: {
    ('messageAdded', { body: String, authorId: Number }) => Void,
    ('memberJoined', { id: Number }) => Void,
  },
  once: this.on,
  addListener: this.on
}

If you use the object spread syntax to mix in the emitter's natural API, you don't even have to do that.
interface Thing {
  ...EventEmitter,
  on: {
    ('message added', { body: String, authorId: Number }) => Void,
    ('member joined', { id: Number }) => Void,
  }
}

As a sentient being I can divine how that works and that looks pretty elegant to me, but I think there's a missing link as far as a documentation generator.

You're right. We would just need to figure out how to denote that on is describing a list of events. Maybe just a symbol prefix/suffix?

We need a function signature example.
(paramName: Type)
   => Type,
   throws: Error,
   emits: dragenter, dragleave

Is this correct?

@Mouvedia Although the function may trigger an event, the event is actually emitted from the class.

@ryan-rowland sorry could you be more precise? What are you calling a "class"?

@Mouvedia Can you give more context to your example code snippet?

OK I see what you mean now the event can't be simulated so it's not actionnable.
Is it made for things like the Push API?

I think it's important we remain consistent with the throws notation for events, and emits is probably the best way to do that.
IMO, we don't need to explicitly spell out the event API -- just mix in the event emitter with the object spread syntax.
I propose:
interface MyEventBus {
  ...EventEmitter
}, emits: {
  ('message added', { body: String, authorId: Number }),
  ('member joined', { id: Number })
}

Note: I think it's obvious that Void is implied in these cases, so it's a good call to omit it.

Shouldn't this part
emits: {
  ('message added', { body: String, authorId: Number }),
  ('member joined', { id: Number })
}

be
emits: {
  'message added': { body: String, authorId: Number },
  'member joined': { id: Number }
}

instead?

Maybe. What does everybody think of that?

Do you have a non-node.js example?

interface Alerter: {}, emits: {
  ('alert', msg: String)
}

var object = {};

_.extend(object, Backbone.Events);

object.on("alert", function(msg) {
  alert("Triggered " + msg);
});

object.trigger("alert", "an event");

(eventType: String, arg1: Type, arg2: Type ...rest: Type)
Is there a `,` missing?

yes.

My 2 cents:
emits: {
  ('message added', { body: String, authorId: Number }),
  ('member joined', { id: Number })
}

This seems like an odd hybrid to me. The definitions seem to be describing overloaded arguments for the on method, but I thought that made more sense when it was proposed as actually describing an overloaded on method. In its current state it looks like we're wrapping an array of methods inside object literal notation, which throws me.
emits: {
  'message added': { body: String, authorId: Number },
  'member joined': { id: Number }
}

I prefer the above because the intention is a littler clearer. We're saying "Here's a map of what this class emits, to the arguments passed to its listeners" in a way that's truer to JSON standards.

I prefer the above because the intention is a littler clearer. We're saying "Here's a map of what this class emits, to the arguments passed to its listeners" in a way that's truer to JSON standards.

Remember, there can be any number of arguments emitted with event. We literally are describing a function signature when we describe events, because they are always triggered via callback (at least, they are in every popular implementation currently in use).

Ah. I see where we're missing each other. I've been using the curly brackets to denote multiple parameters, not a single object.
emits: {
  'messageAdded': { body: String, authorId: Number },
  'memberJoined': { id: Number }
}

Was meant to represent
class.on('messageAdded', function(body, authorId) { /* ... */ });
class.on('memberJoined', function(id) { /* ... */ });

This is acceptable to me if everybody else likes it better:
emits: {
  'messageAdded': (body: String, authorId: Number),
  'memberJoined': (id: Number, { Name: String, email: String })
}

emits: {
  messageAdded(body: String, authorId: Number) {},
  memberJoined(id: Number, { Name: String, email: String }) {}
}

or
emits: {
  messageAdded(body: String, authorId: Number),
  memberJoined(id: Number, { Name: String, email: String })
}

?

@ericelliott +1 to:
emits: {
  'messageAdded': (body: String, authorId: Number),
  'memberJoined': (id: Number, { Name: String, email: String })
}

I think. To clarify, could a memberJoined handler here look like the following in ES5?
class.on('memberJoined', function(id, details) {
  console.info(details.Name, details.email);
});

@ryan-rowland Looks like you got it.
@Mouvedia I don't understand what the  {} at the end of those signatures is there for. They're just function signatures with the Void return type implied (imagine => Void at the end, if it helps).

@ericelliott function expression vs function declaration
emits: {
  'messageAdded': (body: String, authorId: Number),
  'memberJoined': (id: Number, { Name: String, email: String })
}

// versus

emits: {
  messageAdded(body: String, authorId: Number),
  memberJoined(id: Number, { Name: String, email: String })
}

@Mouvedia I believe those forms should be considered interchangeable. AFAIK, there is no difference in the type produced by function expressions vs declarations in JS object definitions.

Late to the party, but I don’t really like where this went in the end. If I have an API like
interface MyEmitter {}, emits: {
  'messageAdded': (body: String, authorId: Number),
  'memberJoined': (id: Number, { Name: String, email: String })
}

how do I consume it?
myEmitter.on('messageAdded', (…) => {…});
myEmitter.addEventListener('messageAdded', (…) => {…});
myEmitter.messageAdded.subscribe((…) => {…});

All of these are valid ways to emit events in different environments: node / DOM / RxJS. And I’m sure there are more ways.

Besides, if we keep adding new features to the spec instead of looking for solutions which cover more cases (even if it means a character or two more to type, as in the overloading example), we’ll end up with scope creep.
The fatter the spec gets, the harder it’ll be for others to learn – and the less likely it is to adopt widely.
In the end, what spoke against using overloading for describing event emitters?

@tomekwi One of the most important goals for me was to create a standard for documenting APIs that we can use in technical documentation.
We needed a standard, easily machine-readable way to document events, regardless of the listening API.
As for scope creep, I don't expect early implementations to cover all the features, but event documentation was a must-have feature for me that needed to be in the MVP version. I'm already using it.

:+1:

Should we add an example featuring a constructor as well?
CustomEvent() comes to mind if we do.


Error when using pip install

When I try:
$ pip install openvpn-api
I get this error:
Collecting openvpn-api   Using cached https://files.pythonhosted.org/packages/5e/3b/156bfe27945e66a17b7792eaf1fcbd30c3c072da627a4bb02b669f4e5c7a/openvpn-api-0.1.2.tar.gz     ERROR: Command errored out with exit status 1:      command: /home/joao/django/testenv/poc/tst-venv/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-558h3u0b/openvpn-api/setup.py'"'"'; __file__='"'"'/tmp/pip-insta ll-558h3u0b/openvpn-api/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_ info --egg-base /tmp/pip-install-558h3u0b/openvpn-api/pip-egg-info          cwd: /tmp/pip-install-558h3u0b/openvpn-api/     Complete output (5 lines):     Traceback (most recent call last):       File "<string>", line 1, in <module>       File "/tmp/pip-install-558h3u0b/openvpn-api/setup.py", line 10, in <module>         with open(os.path.join(here, 'VERSION')) as f:     FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-install-558h3u0b/openvpn-api/VERSION'     ---------------------------------------- ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Seems like pip is not finding VERSION file.
Am I doing something wrong?

Hi,
(i'm sorry for my bad english)
I don't know if this can help but the command:
'pip install git+https://github.com/Jamie-/openvpn-api.git'
works for me.
however I have problems with the connection.

It looks like the packaged version available in https://files.pythonhosted.org is missing the VERSION file.

Getting same error upon installing, wether through pip install openvpn-api or through pycharm package installer .
even tried specifying version number (0.1.2) but results the same
@Jamie- is there something we're missing here?

Yeah same happens for me too, will look into it. Also for some reason my notifications were off so I didn't see this until now.


code-refactor

Fixes: #36
Refactored the code.

I'm so sorry for making the similar PR again but I believe my previous PR changes were reverted.


change log level

What does this PR do?
fix noisy log
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge

/merge