Windows Binary not executing successfully - open config/default.yaml: file does not exist [Bug]

chainsaw version Version
v0.1.9
Description
For the Windows executable it seems like the binary cannot retrieve internal paths of necessary files.
When starting chainsaw as proposed by the quick start guide the following error message pops up:
Loading default configuration...
Error: open config\default.yaml: file does not exist
As a next step I tried creating a default config file in the folder, which leads to the next file not being found with the following error:
Error: failed to load configuration (failed to read crds\chainsaw.kyverno.io_configurations.yaml: open crds\chainsaw.kyverno.io_configurations.yaml: file does not exist)
I have tried it also on Mac and Ubuntu, which works fine, so I figure it is a Windows issue. Has somebody resolved this ?
Steps to reproduce

Install binary via Go Installer or Binary download as described in the Install documentation of chainsaw
Run the example quick start guide
Run into errors

Expected behavior

Default config error is shown
After creating your own default config "open crds... file does not exist" error is shown.

Screenshots
No response
Logs
Loading default configuration...
Error: open config\default.yaml: file does not exist

Loading config (custom.config.yaml)...
Error: failed to load configuration (failed to read crds\chainsaw.kyverno.io_configurations.yaml: open crds\chainsaw.kyverno.io_configurations.yaml: file does not exist)

Slack discussion
No response
Troubleshooting

[X] I have searched other issues in this repository and mine is not recorded.

Thanks for reporting!

Confirmed here:
 .\chainsaw.exe test
Version: 0.1.9
Loading default configuration...
Error: open config\default.yaml: file does not exist

Hmmm, i have an idea 🤔

Because https://github.com/golang/go/issues/44305 - fixing

Thanks for the quick feedback, awesome work ! :-)
I have tried building a Windows binary and I am still getting an (other) error though:
Loading default configuration...
Error: failed to read crds\chainsaw.kyverno.io_configurations.yaml: open crds\chainsaw.kyverno.io_configurations.yaml: file does not exist
Maybe the changes were not applied on the code responsible for opening these CRDs ?
(Sorry for not being more of help, I am not too much into Go)

Thanks for reporting @Raazor , this is the same issue but in another package, i will push a fix.

Cool ! 💯

@Raazor i'm releasing v0.2.0-alpha.1 - it should fix the issue in the affected dependency, i would appreciate if you can check and eventually confirm it works now 🤞 🙏

@eddycharly Can confirm it is working 🥳. Awesome !
On a side note: Due to the replace directory however there is currently a problem with using go install from main / v0.2.0-alpha.1. I had to download the binary from release assets to get it working.
The error is described here: https://github.com/golang/go/issues/44840. (I did not open a bug ticket not since it was not a released version where it occurred.)

Thanks @Raazor !
I know the replace directive breaks go install, i will get the fix upstream https://github.com/kubernetes-sigs/kubectl-validate/pull/120 :)


MailboxDatabases.csv Column Name Change Between v6.6 and 7.6 of Server Role Requirements Calculator

In MailboxDatabases.csv which is generated by the Exchange Server Role Requirements Calculator, between version 6.6 and 7.6, a column name changed from DBFilePath to EDBFilePath. This breaks ExchangeConfigHelper.psm1 on line:
$currentDb | Add-Member NoteProperty DBFilePath (StringReplaceFromHashtable -StringIn $dbIn.DBFilePath -Replacements $DbNameReplacements)
A possible fix would be to read the version of the input .CSV, and choose an appropriate column name based on that.

Fixed in:
https://github.com/PowerShell/xExchange/commit/cb4d68b8cb171a87d8ae6db1b8a91647fc1131ab


Computational speed and efficieny of DLO

Hello!
Thanks for the amazing work! This is really useful. I am currently trying to run your program with a single core (no multi threading with OpenMP as done in NanoGICP code). However, the CPU Usage and RAM Allocation is really high. I wonder if this is because the keyframes are continuously stored and no keyframes are ever discarded in this->keyframes. I understand that storing all keyframes is helpful to retrieve far back frames for convex/concave hull and also for nearest neighbors in case of a loop maneuver for example but for computation purposes, I was wondering if there are scenarios that you have tested on where the inclusion of convex and concave hull and/or addition of nearest neighbor keyframes gave you a major improvement in the output (map and trajectory) in comparison to taking the latest k frames for example (allowing me to discard old keyframes and just keep the past few keyframes in log). Do you have any other recommendations/suggestions for running the algorithm on one core ? P.S. I have tried different downsampling for the source cloud and the submap but with not much luck. Thanks in advance!

Hi @surabhi96 --
Thanks for the interest in our work. Yeah we definitely observed that doing nearest neighbor keyframes + hull keyframes helped significantly reduce long-term drift in case of those "loop maneuvers" you mentioned. DLO was written with at least four cores in mind, so everything is highly parallelized to prevent any bottlenecks in the odometry for these lightweight platforms.
That being said though, there are certainly a few things you could do to help reduce RAM and CPU usage when running on a single core. Regarding RAM, it might be worthwhile to prune some of the keyframes somehow (i.e. keep only the latest k keyframes as you said). You'll probably see a reduction in accuracy, but depending on your use case that might be fine. You can also try playing around with the adaptive thresholds so it doesn't place as many keyframes in the environment (or turn it off altogether and having a static theshold). Increasing the voxelization will also help with RAM since it'll be saving less points per cloud into memory (although you've mentioned this already).
For CPU usage, it's a bit tough because NanoGICP heavily relies on multiple cores to perform scan-matching. Try playing around with the number of GICP iterations (perhaps reduce it down to 5 for S2S and S2M?) and also the number of correspondences. If you're not already, try using an IMU so that it primes the optimization with a (hopefully good) initialization point, which would reduce the number of iterations needed for convergence.
Those are some lower hanging fruits that you could try that immediately come to mind. I'll try thinking of anything else you could perhaps do. Let me know if that helps.


Number for error/log/output files starts at 02

Description

Naming scheme for job output files inconsistent with submit files.
Steps/code to reproduce issue
import pycondor
error = "/home/error"
output = '/home/output'
log = '/home/log'
submit = '/home/submit'
job = pycondor.Job('test', '/home/test.py', error=error, output=output, log=log, submit=submit, verbose=2)
dagman = pycondor.Dagman('tauMaster_dagman', submit=submit)
dagman.add_job(job)
for i in range(0,10):
job.add_arg(' -i ' + i, name = str(i))
dagman.build_submit()
Expected results

Files in the output/log/error folders to be named test_DATE_01_NAME to match the submit files in the submit folders
Actual results

Files in the output/log/error folders are named test_DATE_02_NAME

Thanks for reporting this @ljwille! I was able to reproduce the submit vs. log/error/output filename mismatch. I'll work on a fix.


fix asg lambda

I tested lambda directly in the NESS account and these are few bug fixes I observed (should be the last ones)

@Davidoutz Are you testing them by triggering the lambda manually?
@sgametrio I tested them in lambda interface until I made all of them work once. I saw the desired capacity changed after I run it and I saw the ec2 stopped and restart (when no ASG).

I still have a last issue that I am trying to solve due to how to pass instances_ids dynamically (based on tags). I can see that I am passing the right instances IDs from the caller to the module however the even rule has an empty list when calling the lambda (only for ec2 start/stop). The ASG one is fine.
Thanks for the review


Make CodeVerifierAuthenticator public

Make the CodeVerifierAuthenticator public, so it can be reused in custom authentication providers.

@Vojtech-Sassmann CodeVerifierAuthenticator is intended for internal use only. Can you please log a new issue providing more details on your use case and why you require that functionality to be exposed. Thanks.


Format style of displayValue and support date values

First of all, I think this is a very exciting project.
This PR tries to optimize code and suports the date values.
I hope that I can do my best to complete this repo.Although I think my commit may not match your expectations, I still submitted him as a PR.
Thank you.

Codecov Report

Merging #8 into master will increase coverage by 0.42%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
+ Coverage   93.24%   93.67%   +0.42%
==========================================
  Files           1        1
  Lines          74       79       +5
  Branches       18       18
==========================================
+ Hits           69       74       +5
  Misses          5        5

Impacted Files
Coverage Δ

src/dumper.js
93.67% <100%> (+0.42%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5150042...8181612. Read the comment docs.

Thanks :)


Explore quadratic table graph representation

Build a 2D array for every syntax node on the LHS and RHS. Cap the number of items in each (LHS, RHS) pair to (say) 10 to avoid exploring an exponential number of graph nodes.
This would give us very fast graph node lookup, plus the ability to tune how many different routes we explore for each nested node.
This would require a sentinel node for each end node in each syntax layer, as they have LHS and RHS as None.

This may not make graph logic faster, but it could enable a scalable parent node accuracy.
The idea of keeping a list of graph nodes ignoring parents, and then iterating through, could also work with the current representation.

Essentially done.


Dataset fact check bugs from bug bash

Cross-Reference for this issue on browse all: https://github.com/chanzuckerberg/cryoet-data-portal/issues/219#issuecomment-1843808398
Might be related to metadata.

Cross-reference for this issue on browse all: https://github.com/chanzuckerberg/cryoet-data-portal/issues/219#issuecomment-1843816712
Might be metadata issue.

10003 Dataset
https://frontend.cryoet.staging.si.czi.technology/datasets/10003?prev=%2Fbrowse-data%2Fdatasets&tab=metadata

more info: tissue name should be None since this is only the bacteria.
more info: citation is empty


Ubuntu 14.04 cake compressed install fix.

Won't build on 14.04 without this change.

Do you have an error associated with the install failing (from pear). I haven't had any problems in 14.04.

Yes, it silently fails because you are redirecting output to dev/null and you probably already had cake installed so you didn't notice. It downloads cake and then doesn't know how to extract the tarball as far as I could tell. Maybe cake changed their packaging?


recommended-bin-crates field in Cargo.toml

This RFC proposes the addition of an optional recommended-bin-crates field to the [package] section of Cargo.toml, to enable crate authors to point out related binary crates in the error message Cargo users get when attempting to cargo install a crate without binaries.
Rendered
(Opening an RFC for this since the idea has gotten positive feedback on the Rust Internals forum).

Clippy could gain a lint to check that the referenced crates actually exist, have not been yanked and are actually binary crates.

I feel like this might be something that cargo publish should could/should check, at least partially, though I'd be fine to still keep it only as a future possibility.

Right, I did also think about that. The issue with that is that there's somewhat of a chicken-and-egg problem when first publishing crates since the crates referenced via this new field are likely to depend on the crate containing the field.

But if you have not published a foobar-cli crate yet, publishing foobar library crate with a recommendation for foobar-cli is bad, too. Anyone could publish a crate called foobar-cli at that point, before you publish it yourself. It seems highly advisable to me to go about this in a different order, even if doing so would involve pre-publishing a crate in a dummy state to reserve the name. Either that, or have the initial version of foobar not come with a recommended-bin-crates field. And lastly, it’s always possible to disable checks done locally on your machine by cargo publish, if you know what you’re doing and you are willing to risk the race-condition.

So, I personally feel like this feature is almost too restrictive for binary crates, and would make more sense as a general recommendation mechanism. For example, serde-json is often used with serde, and the serde crate could vouch for that crate being recommended.
Except this almost approaches the point where it's maybe not a good thing to include in the cargo manifest, since that is pinned to versions and for example, installing an old version of serde would give old recommendations.
Just a few thoughts on this; not super strong on these ideas, just kind of my gut reaction to the RFC.

The proposed field has to be specific to binary crates so that cargo install can point out these crates when an installation fails because the crate doesn't contain any binaries. Improving that error message is very much the primary goal of this RFC.
I don't really see the need for a more general recommendation mechanism, I think documenting related libraries in the README works well enough, for instance the second link of the serde README is Data formats supported by Serde.

I saw other people using cargo install this way,
cargo install foo-cli
alias dora='foo-cli'
foo --help

so I thought I could add a feature: if a user wants to install a foo binary, cargo can install foo-cli directly and the user can run it as foo

A random way of re-framing this is for Cargo to have an equivalent of the diagnostic namespace.

We discussed this in today's Cargo team meeting as part of our RFC triage.  We had previously discussed the trade offs between putting everything into a package vs using a workspace.  We are overall in favor of improving the workflow for people.
The main concern is over what schema to use (which different designs can lead to minor tweaks to the semantics).  We discussed the possibility of a [diagnostics] table (inspired by the recently stabilized diagnostics attribute) and lean towards it after exploring several potential use cases for it.  We'd recommend exploring what the experience would be like to create a [diagnostics] table, what kind of fields make sense within that and what lessons we should learn from the diagnostic attribute (CC @estebank for any insight you can provide).
@rfcbot merge
@rfcbot concern schema

@epage (off the cuff) one thing that came up with #[diagnostic] is the need for it to be very permissive without causing errors: whenever you add a feature you would never be able to remove it without pain, and if you add a new feature to one version and people want to use it, you're forcing crate authors to bump their MSRV sorely for better errors. You'll also need to see how you handle these for transitive dependencies, whether crate authors can customize errors not just for people who have added them as direct dependencies, or for everyone that has them as a dependency in their tree.

@estebank any lessons on the reporting side?  We're wondering whether to expose just a string or go all out like diagnostics or have special built fields so we have semantic information.

Rather than treating this purely as diagnostic, what if we treated it as directly actionable metadata? If someone tries to install a crate, and it isn't installable because it's a library crate, and it has this field, directly install the mentioned crate instead.

@joshtriplett I'd have to dig through our notes to fully remember why we were leaning towards diagnostics but one concern with this RFC as a whole is that we need to match the behavior with expectations in a way that avoids the expectations that would lead to creating a circular dependency between the library and the bin.

@epage Not following how this would go circular. It would only lead cargo from attempting to install the lib to actually installing the bin, and installing the bin would likely depend on the lib, but that's not circular. What's the scenario of concern?


fix(maker): fix renaming of DMG output when a custom name is provided

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
When the user specifies a DMG name we shouldn't try rename it for them (that would be annoying, also this currently errors all over the place when they give a custom name 😆 )

@malept Would add another minute to all test runs unless we do a lot of stubbing and unit test the method, would you be OK with a thoroughly stubbed out unit test?

Yeah, I think I'm OK with that.

@malept Have a test 😄


Update-PSScriptFileInfo and Update-ModuleManifest Verbs

Summary of the new feature / enhancement
Update-PSScriptFileInfo and Update-ModuleManifest both use the Update verb but the proper verb should be Set. The PowerShell Verbs documentation have the following definitions.
Update

Brings a resource up-to-date to maintain its state, accuracy, conformance, or compliance.

Set

Replaces data on an existing resource or creates a resource that contains some data.

These two cmdlets set data on a resource in this case the script file info and module manifest respectively. They do not change state of a resource as update is intended for. Update-PSResource is a good example of the proper use of the update verb since it changes the state of the machine to bring it up-to-date. An alias can be added to CompatPowerShellGet to avoid breaking changes.
Proposed technical implementation details (optional)
No response

Thanks Thomas, curious if @JamesWTruher has a perspective on this one

@ThomasNieto I was looking at fixing this issue and realized that Update might actually be the correct verb.
I would love to hear your thoughts about this.
Update suits current implementation of cmdlets because:

If the file does not exist, it does not create it (set requires to create it if it does not exist)

PS> Update-PSScriptFileInfo -Path D:\temp\abc.ps1 -CompanyName ddd -Version 1.0.0
Update-PSScriptFileInfo: Cannot find path 'D:\temp\abc.ps1' because it does not exist.

If only 1 property is changed, the other properties are not affected and the values are preserved. As you can see the description "test" was not overwritten.

PS> New-PSScriptFileInfo -Path "D:\temp\test_script.ps1" -Version '<IP_ADDRESS>' -Description 'test'
PS> Update-PSScriptFileInfo -Path "D:\temp\test_script.ps1" -Version '<IP_ADDRESS>'
<#PSScriptInfo

.VERSION <IP_ADDRESS>

.GUID 249ad3ca-016b-4e1c-9cf4-469960eec436

.AUTHOR adity

.COMPANYNAME

.COPYRIGHT

.TAGS

.LICENSEURI

.PROJECTURI

.ICONURI

.EXTERNALMODULEDEPENDENCIES

.REQUIREDSCRIPTS

.EXTERNALSCRIPTDEPENDENCIES

.RELEASENOTES

.PRIVATEDATA

#>
<#

.DESCRIPTION
test

#>

while Set is certainly applicable, Update in this particular case is probably more appropriate, especially with regard to these tools not creating the resource if it does not exist. Update assumes the existence of a resource while Set does not.

While most Set commands do create the resource if it does not exist it is not required to do so. In the PowerShell verbs doc there is a reference to New vs Set and in that section it mentions that Set can optionally create the resource if it does not exist.

Use the New verb to create a new resource. Use the Set verb to modify an existing resource, optionally creating it if it does not exist, such as the Set-Variable cmdlet.

Considering both of your responses, I think Update still fits better as it signifies the resource must exist. Also, Set-Variable seems to be creating the variable if it does not exist.


BUILD: Add support for python 3.12 and drop 3.8.

This commit adds build support for the upcoming python 3.12 and drops support for python 3.8 as per NEP29 recommendation. This includes the following changes:

Build and testing workflow is updated to include python 3.12.
Upload to pypi release workflow step is updated by using trusted publisher management.
The cibuildwheel configuration is moved from release.yml to pyproject.toml.
cython version used to build the C extension across python versions is updated from 0.29.30 to 0.29.36

Codecov Report
Patch and project coverage have no change.

Comparison is base (6696587) 100.00% compared to head (d6a9358) 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##              main      #123   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines          135       135
=========================================
  Hits           135       135

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

Job for python 3.12 is expected to fail until https://github.com/numpy/numpy/issues/23808 is resolved.


consider using safe jvp by default for jnp.sqrt

We can just choose a convention for the derivative of jnp.sqrt at zero to be the right-side one. (We should check if these docs then need an update.)

I'm not sure what I meant by this issue; we already have jax.grad(jax.numpy.sqrt)(0.) == jnp.inf.


How to tween DOM Element

Hi, i'm seen its recently and trying to make comparision with other Animation Library (GSAP, Unim, Animo.js, tween.js) to see how is it really that very 2D fastest animation engine as said in Homepage. Thanks.

Hi, dalisoft. Pixi is a rendering library - it takes care of drawing the images to the screen. Animation/tweening libraries take care of moving/changing the images. The two are often combined. I've used Pixi.js with GSAP and it's sweeeet.

Hi @digibo
It means it's not a tweening engine? Thanks. I'm maked own script, that maked some work of GSAP and it's free. I optimized their performance and very interested how it be faster than my script animation except GSAP (because GSAP developers is very excellent)


Suggestions

Heya! Amazing work on Saturn! I'm really loving it so far. I was on the brink of losing my mind with MARs, but you have saved me! A few suggestions came up as I worked. I'll write them all here and leave it to you to organize them into individual issues as you see fit.
Zoom:  On my mac, the code is a bit too large. I can only see a small chunk of it at a time and would love to zoom out. I imagine the text size varies with screen resolution and other factors, so an IDE setting to change font size would be great.
Minimap: While a separate feature entirely, it falls into the same reasoning. Assembly code tends to be more tall than wide so having a VScode style mini side display of your entire code file would be neat. When working with tall CSS files I like to use large ASCII text art in comments and navigate my file using the minimap
Remove Enter to Autocomplete: A minor issue I had was when I wrote something and wanted to skip to the next line, but because what I wrote generated suggestions, pressing enter would actually auto-fill the suggestion instead of skipping a line when I didn't actually want it to. I notice that TAB is an alternate key you have set for autocomplete. I suggest removing the ENTER key from this, or adding some customization in a settings menu for which key triggers the autocomplete
File Listening: Most modern IDEs listen for file changes in case the file is changed from another IDE. I had my file open in both Saturn and VScode for various reasons, and making an edit in VScode did not cause the change to reflect in Saturn. The next time I'd save in Saturn, it would obviously overwrite and revert those changes that I made in VScode. There is no way to refresh the file in Saturn without reopening it manually. VScode has some sort of background listener which checks for file changes so that if it is edited externally, VScode updates the file in the editor.
Includes: It would be a blessing to be able to work in multiple files. I know that position of code matters in assembly, but C-style includes could work. If you have a large chunk of code, you can extract it into a separate file and replace it with a one-line include. Building the main file will simply construct the complete code by parsing all the includes.
Collapsing Blocks: If a block of code is tabbed, display an arrow which allows you to hide/collapse that block of code for better visibility and navigation

Hey! Thanks for bringing these things up! I think many of these features are due for 0.1.6. Options for font size, and autocomplete keys are features that I have been wanting to add for a while.
A Minimap and Collapsing Blocks for assembly are challenging features to implement, and might take longer to complete. I think I agree that assembly can be very difficult to navigate, but it might take some more time to rope these in. In the meantime, I'll try to provide an option for automatically watching files for other editors.
I'll split this issue tomorrow. Thanks for the feedback!

Also I should add Word Wrap as another suggestion, though Im sure you already had it in mind

Another Suggestion: customizing console docking side. Sometimes I'd like it on the right instead of the bottom

I can do some of this stuff! Word wrapping is hard for some of the same reasons as #9 but I'm always open to pull requests if you want to add a feature you'd like to use yourself. I'll still try to get more than half of these done for 0.1.6, it might just take a minute.

Awesome, Ill definitely try to implement some of these!

Just gonna keep adding suggestions here as I come up with them.
Splitting memory: Allowing the user to have two or more memory windows side by side at different locations to monitor changes (sort of like opening the same file twice in an IDE, to see one part of it in one window, and to edit another part on another)

Some of these were addressed:

Remove Enter to Autocomplete is now a Setting (Cmd + , and uncheck "Enter Autocomplete").
Includes have been introduced as the .include directive.
File Listening is new in v0.1.8, you should have no problem editing in your favourite editor.

I'm going to split these out into project tasks soon, so I can resolve each individually. Thanks again for posting these!

Will file listening work with git pull for example?

It should, yep. The package I'm using for fs listening is notify, which should have good support for all platforms, too.


Android refactoring

A big android refactoring. It wasn't intended to be thaaat big. My refactoring started to get out of sync since so many changes where made in vNext, so i updated all to fit into the structure of vNext. Normaly i develop closed source, thats also why there is only one commit 😅

Split Godfather class MediaPlayerService
Implement IMediaExtractor for Android
Implement INotificatioManager for Android
Set Androidmedia player into vNext structure
Improved AndroidService and MediaSession handling
Make Android sample run

Are there any breaking changes in this pull request?

No breaking changes, just a structur refactoring (as you can see no Code CleanUp) plus implementing the new interfaces for Android

Thanks you all! I've merged this in and made a first beta release on nuget: https://www.nuget.org/packages/Plugin.MediaManager/0.1.0-beta1


Provide typechat schema to agent extension

A PR has been merged in the agent extension to use TypeChat which doesn't changes in the service extensions.


Software Design: Class Diagram

As it was clearly stated that everyone should contribute to all different types of diagrams, we decided not to assign specific tasks.
We brainstormed and decided on the main classes in the Meeting - 7.
A preliminary list is as such:

Art item
Comment
User (Guest User) (Registered User)
Exhibition (Online - Offline)
Notification
Offer
Location
Tag
Search Engine
Message
Authorization Engine
Annotation
Profile
Moderator (Admin)

To Do:

Design (part of) the class diagram  that specifies the classes and the relationships among them.  Lucidchart is used to work on the diagram in a collaborative manner.
Please refer to the link of the working place available in our Discord.
Please comment down your contributions.
You may annotate questions or comments on the diagram.
After completing the diagram, it shall be exported and put into the related wiki page.

Deadline:
06.04.2022 @16.59

Added Data datatype with day, month, year, hour, minute, second and dayOfWeek fields. It has following functions:

Date(year: Int, month: Int, day: Int, hour: Int, minute: Int, second: Int)
AddYear(year: Int) : Date
AddMonth(month: Int) : Date
AddDay(day: Int) : Date
AddHour(hour: Int) : Date
AddMinute(minute: Int) : Date
AddSecond(second: Int) : Date
ToString( ) : string

Since UML Diagrams are not language-specific, that would be appropriate for now to keep the detail level for our Date datatype.

Added following functions to the Moderator class.

deleteComment(comment: Comment):void
deleteArtItem(artItem: Art Item): void
banUser(user: User):void
sendMail(listOfUsers: List):void

Functions for the Moderator class will be updated.

Following classes are updated.

Registered user

userID: int
+username: string
+userEmail: string
userPassword : String

LogIn(userEmail:String, userPassword:String)
resetPassword(userPassword:String, newPassword:String)
forgotPassword(userEmail:String)
deleteAccount(userPassword:String)

Guest user

SignUp(userEmail:String, username:String,
userPassword: String)
SignUpwGoogleAccount( userGoogleAccount:String)

Bidding System

sellerID: Int
+buyerID:Int
amount: Double
datePosted:Date
bidList:List

Bid(sellerID:Int,buyerID:Int, amount:Double, artItemID: Int, datePosted:Date)
OrderBids(bidList: List)

Comment

userID : Int
username:String
commentBody:String
dateCreated:Date
dateModified: Date

Comment(userID: Int, ArtItemID: Int,commentBody: String, dateCreated:Date)
getComment(): String
setComment(commentBody: String)

Annotation

userID : Int
title:String
dateCreated:Date

-annotate(userID:Int, artItemID:Int,title:String)

Exhibition

exhibitionID:Int
contributerList: List
artItemList: List<Art_Item>
startDate:Date
endDate:Date
type:String(online/offline)
participants:List<Registered_User>

setStartDate(startDate:Date)
setEndDate(endDate:Date)
setType(String)
publish(exhibitionID:Int)

Following classes, their fields and methods are added.

Tag

tagTitle: String
tagID:Int

addCustomTag(userID:Int, userLevel:Int, tagTitle: String)
addSystemTag(userID:Int, userLevel:Int, tagTitle: String)

Popularity

userID:Int
numOfFollowers:Int
numOfCopyrightedItems:Int
numOfExhibitions:Int

popularityCalculator()

Art Item

artItemID:Int
artItemName: String
ownerID:Int
dateUploaded:Date
uploadArtItem()
isCopyrighted():Boolean

Location

geoTagHistory:List<>

Specified the fields and functions of Notification & <<enumeration>>NotificationType as below;

Notification

-UserID: int
-notificaitonDate: Date
-notificationTitle: String
-notificationMessage: String
-notificaitonType: NotificaitonType

+Notificaiton(User ID: int, notificaitonDate: Date, notificationTitle: String, notificationMessage: String, notificaitonType: NotificaitonType)

<<enumeration>> NotificationType

+receivedOffer
+offerOnItemYouBidOn
+OfferAccepted
+OfferDeclined
+ExhibitionAlert
+InvitatioonAlert
+ExhibitionItemAdded
+Error

Added classes

Message
+senderID: Int
+receiverID: Int
+message: String
+date: Date
-Message(senderID: Int,
receiverID: Int,
message: String)
-getMessage(): String
-setMessage(message: String)

Comment

Notification

User

Also added relations between classes User and Notification.

Added enumeration ArtItem Type:
-photography
-drawing
-illustration
-sculpture

Added missing methods to ArtItem class.

Added fields and methods to User class.

Created Recommendation Engine class and added fields - pastTags and a method recommend.

Created Level System class:
+level_0: List< UserID:Int>
+level_1: List< UserID:Int>
+level_2: List< UserID:Int>
+getLevel(UserID:Int): void
+updateLevel(UserID:Int): void

Updated Recommendation Engine class:
-tagHistory: List< Tag>
-locationHistory: List<List< Locations>>
-searchHistory: List<List< string>>
-dateHistory: List<List< Date>>
-likeHistory: List<List<< ArtItem>>
-commentHistory: List<List< ArtItem, string>>
+recommend(userID: Int): List< ArtItem>
+getLocation(userID:Int):  Location
+getDate(UserID:Int): Date
+addLocations(Location): void
+addDates(Date): void
+getLikeHistory(userID: Int): List< ArtItem>
+getCommentHistory(UserID: Int): List<ArtItem, string>

Added fields and methods to User class regarding level and recommendation systems.

Reviewed the whole class diagram with @mumcusena and discussed about design ideas such as multiple inheritance and extensions.

Updated Chat Class with @mumcusena and @KarahanS:
-chatID: Int
-user1ID: Int
-user2ID: Int
-listOfMessages1: List
-listOfMessage2: List
+getUser1ID(): Int
+getUser2ID(): Int
+getMessagesOfUser1(): List
+getMessagesOfUser2(): List

Updated Comment Class with @mumcusena and @KarahanS. Added required fields and functions to provide reply to comment:
+commentID: Int
+userID : Int
+username:String
+commentBody:String
+dateCreated:Date
+dateModified: Date
+artItem: ArtItem
+parentID: commentID
+numberOfLikes: Int
+numberOfReplies: Int
-Comment(userID: Int, ArtItemID: Int, commentBody: String, dateCreated:Date)
-getComment(): String
-setComment(commentBody: String)
-getParent(): Int
-setParent(parentID: Int): void
-getNumberOfReplies(): Int
+editComment(commentBody: String):void

Reviewed the whole class diagram with @mumcusena and @KarahanS. Discussed about the relations between classes. Defined the relations between Chat, Message and User class.

Almost concluded the existing inter-class connections with @mustafa-cihan. There are just a few issues to be discussed in the nearest meeting regarding Bidding System, Level System, Search and some User fields. Also some designs need to be reviewed.
Redesigned Bidding System with @mustafa-cihan.
-sellerIDs: List< Int>

-buyerIDs:List< Int>
-amounts: List< Double>
-datesPosted:List< Date>
-bidLists:List<List< Bid>>
-offeredArtItems: List< ArtItem>
-SortBids(sellerIDs: List< Int>, buyersIDs: List< Int>, amounts: List< Double>, datesPosted: List< Date>, offeredArtItems: List< ArtItem>)
Decided with @mustafa-cihan that the Bidding System Class should act as a database for all biddings since Bid Class already provides the necessary functions for singular Bid Objects.

Note: Data privacy issues with respect to the Recommendation Engine should be discussed and necessary actions should be taken.

Bidding System replaced with ItemBids in Meeting#willaddlater.

Added some more fields and functions to ItemBids. Curent version is as below;

ItemBids

-sellerID: int
-itemID: int
-datePosted:Date
-activeBidLists:List
-pastBidLists:List
-acceptedBid:Bid
-minPrice: double
-saleDeadline: Date

+ItemBids(minPrice: int, sellerID: int, itemID: int, saleDeadline: Date)
+addNewBid(bidObject: Bid): void
+acceptBid(bidToAccept:Bid):Boolean
-expireBid(bidToExpire:Bid):Boolean
#sortByPrice(acticePastOrAll: int):List
#sortByDate(acticePastOrAll: int):List
#changeMinPrice(): boolean
#changeDeadline(newDeadline: Date): boolean
+getMinPrice(): double
+getDeadline(): Date

Reorganized inter-class connections regarding bidding system.

Added the following fields and functions to ArtItem regarding bidding actions.

-saleStatus: int
-itemBids: ItemBids

+getSaleStatus(): int
+sortItemBids(activePastOrAll: int, sortBy: int ):List<Bid>
+openForSale(minPrice: int, duration: Date ):boolean
-closeForSale(deadline: this.itemBids.getDeadline()): boolean

Followings are added to Exhibition class in the class diagram because they are necessary in the sequence diagram for Holding an Exhibition:

tagList:List
createExhibition()
addArtItem(artItemName:String)
addCollaborator(userName:String)
tag(tagTitle:String)

Added even more functions and changed the arguments and return types of some of the existing functions of RegisteredUser, ArtItem, ItemBids and Bid out of necessity for the sequence diagram for bidding on an item. Not including a list here because this is already lengthy so you may refer to lucid.app to view the current state.

-Created CopyrightTicket Class

-ticketID: int
-ticketBody: String
-userID: int
-artItem: Artitem
+addCopyrightTicket(artItem: Art item, userID: int, ticketBody: String)
+getCopyrightTicket(): CopyrightTicket

-Added ActiveUser the following

+createCopyrightTicket(artItem: ArtItem, ticketBody: string)

shareArtItem(artitem: ArtItem): void function is added to the registered user class
uploadArtItem():Boolean functions changed to uploadArtItem(artItemData: Data):Boolean ---> this method was used once in  squence diagrams, It is also changed accordingly.
-tag: Tag is changed to -tagList: list
Below functions and fields are added to the class of artItem:
-artItemType: String

-isVisibile: Boolean

-title: String
+setTitle(title: String): void

+setExplanation(explanation: String): void

+setVisibility(visibility: Boolean): void
+setArtItemType(artitemtype: String):void

+addTag(tag: Tag): void

Made following mechanism related additions to Registered User Class.

-followerIds: List< int>
-followedByMeIds  List< int>
-pendingFollowRequests: List< int>
+addFollower(requestSenderID:Int): void
+addFollowedByMe(userToBeFollowedID: Int): void
+sendFollowRequest(userToBeFollowedID: int): void
+receiveFollowRequest(requestSenderID:Int): void
+acceptFollowRequest(requestSenderID:int): boolean
+rejectFollowRequest(requestSenderID:Int): boolean
+addPendingFollowRequest(requestSenderID:int): void
+removePendingFollowRequest(requestSenderID:int): void
+findUser(userToBeFoundID:int): User

Made following mechanism related additions to NotificationType.

+ReceivedFollowRequest
+FollowRequestAccepted
+FollowRequestRejected

Added -comparePrice(): boolean to ItemBids

You can find class diagram here.


change mappedTags -> extraTags.

https://github.com/getsentry/raven-java/blob/master/raven-log4j/src/main/java/net/kencochrane/raven/log4j/SentryAppender.java
mappedTags is not used in SentryAppender.
Instead of "mappedTags", user should use "extraTags".

Any way of pushing this? It's a time saver and documentation shouldn't be wrong for this.

@ColinHebert @roam could you review this?

Fixed this in #149 (in all cases) -- thanks!

Thanks!


non_exhaustive on tuple struct with inner pub is not correct

We have
/// This type is consensus valid but an input including it would prevent the transaction from
/// being relayed on today's Bitcoin network.
#[derive(Debug, Clone, PartialEq, Eq)]
#[non_exhaustive]
pub struct NonStandardSighashTypeError(pub u32);

There are two problems with the code above:

non_exhaustive on tuple structs does not serve our forward comparability intentions because we cannot modify the error type to make it use named fields (assuming adding more details requires that).
The error type cannot be constructed by users of the library.

Possible solutions

Stop using tuple structs for errors, use named fields instead.
Remove the non_exhaustive
Remove the pub

I think it should be safe to remove #[non_exhaustive] in this specific case.


Android app crashing on start-up due to NullPointerException at com.android.installreferrer.api.onServiceConnected

Summary
Experiencing app crashes only with APKs from downloaded and installed from Google Play Store on physical devices only.
Apologies in advance as this initial bug report is going to be a bit bare bones in the hopes of being pointed in the right direction to help provide what's needed to fix.

Version
^10.12.0

Affected OS
android

OS Version
11

Current behavior
On start-up of the app it crashes with the following error
java.lang.NullPointerException
	at com.android.installreferrer.api.b$b.onServiceConnected(SourceFile:24)
	at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:2207)
	at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:2240)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8248)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

Expected behavior
Crash free
Additional information
I've confirmed that removing this package from my application prevents the crash from happening.
I am also not attempting to use any install referrer utils here.
react-native version 0.73.3
Pro-guard - not related
Pro-guard is enabled in my application however, disabling this does not fix the issue nor is it fixed by following the pro-guards steps within the README.
Build Gradle/dependency
I've also explicitly attempted to explicitly include the dependency for com.android.installreferrer:installreferrer (versions ^1.1.1 and ^2.2) to no avail.

Thanks in advance, I am going to continue trying to nail down the exact root cause but in the meantime appreciate any help.

From poking around in the code it may be (really not sure...) that the React Context provided is null
this.installReferrerClient = new RNInstallReferrerClient(reactContext.getBaseContext());

and then when the listener is registered and called we get the null pointer exception
  // Create the InstallReferrerStateListener instance using a Proxy.
  installReferrerStateListener = Proxy.newProxyInstance(
      InstallReferrerStateListenerClazz.getClassLoader(),
      new Class[]{InstallReferrerStateListenerClazz},
      new InstallReferrerStateListenerProxy());

  // Call startConnection on the client instance.
  Method startConnectionMethod = InstallReferrerClientClazz.getMethod("startConnection", InstallReferrerStateListenerClazz);
  startConnectionMethod.invoke(mReferrerClient, installReferrerStateListener);

Why the react context would be null I'm not sure - perhaps I'm following the wrong trail of breadcrumbs here

Having a null ReactContext is actually a really frustrating but common crash root cause in react-native. It has to do with the asynchronous nature of the native/JS bridge, and that the main react-native "Activity" can go away any time while the "Application" is still there (with your code, that still thinks it has a valid Activity with a valid ReactContext).
The native modules run in the Application context if I understand correctly, not the Activity context, so your code can still execute later but the Activity (with it's context) are gone and poof you get an NPE and a crash
Any use of ReactContext should have a null-safety guard around it
If you null-checked the ReactContext and just put a Log warning in there in case it's null then continued along as best you can in that case and posted that as a PR, that may be as good as it gets for a solution

Thanks, makes sense.
I am going to try get a PR up asap - having no luck being able to link the package in order to test locally as of yet however.


Updated readme.md with Chocolatey Install Instructions for #566

Added Chocolatey Install Instructions

This adds instructions for the Chocolatey Installation method requested in #566
Waiting on Chocolatey moderators to approve the package before marking this as ready for review.

I need to update a couple fields that changed during package review. and then this will be ready, but the package is approved. https://chocolatey.org/packages/bonobo-git-server/6.5.0

Let me know if anything looks incorrect, needs more detail, etc. The Chocolatey reviewers prefer to have exactly which prerequisites are setup by the package and a description of what happens at uninstall, but I left it out since it is listed under the manual install instructions.


Adding format selection for VSCode plugin

Aims to resolve #659
Replaces the old languages registerDocumentFormattingEditProvider for registerDocumentRangeFormattingEditProvider to add range formatting support. Note: registerDocumentRangeFormattingEditProvider still acts as a document formatter so the old one is not needed.
Potential issues: Currently only accepts valid AST code, so selecting an entire local function doesn't work, however selecting the contents of the function should work the same since that makes a valid AST.

Do you want to merge this as-is (behind an experimental config and a warning that depending on the selection, things will behave weirdly?
Or is this just to gather feedback on code style while you work on the actual implementation modifying the backend?

Do you want to merge this as-is (behind an experimental config and a warning that depending on the selection, things will behave weirdly? Or is this just to gather feedback on code style while you work on the actual implementation modifying the backend?

@shocklateboy92  I think this can be merged as-is currently. However it should be noted that I'm going to be implementing the options we talked about into the process for mapping AST nodes to their place pre and post formatting. The reason I bring this up is because I'll probably have to revisit this at a later date in an issue to update the format selection.
For the future:

I'll be opening a new Issue to add in support for the change that I'll be doing with the process options since I think that the plugin will need to pass it over to the process.

Implemented by #1376


Add Regimen Fiscal Receptor if available

CFDI 4.0 requires RegimenFiscalReceptor, adds it to the PDF if available.

Note: Was going to push code to add Pagos 2.0 support before realizing that PR #15 already includes those changes along with better CFDI 4.0 support and this change as well, happy to collaborate to close this PR get that one merged instead.

Implemented in v0.4.0


Explicitly specify ABI when building firmware/software

This allows using the prebuilt riscv64-unknown-elf cross-compiler in Debian.
I think this shouldn't break anything with your preferred toolchain; feel free to close the PR if it does.

:+1: Thanks


Refactor max_serialization_time to be passed as argument instead

max_serialization_time is moved from the static variable abi_serializer::max_serialization_time to being passed into methods that require it
Pass max_serialization_time as arguments instead of static variable of abi_serializer

PR Updated based on @jgiszczak comments (pass the deadline to validate() and remove commented code).
For @jgiszczak comment regarding eosio/* header inclusion in history_plugin CMakeList.txt, can @heifner please respond to it? Thanks!


add getMachineSet function and machineSet test in accordance with instascale issue #193_Add_functional_tests

Issue link

Add functional tests
What changes have been made

Added functions MachineSet and MachineSetReplicas in accordance with instascale issue #193_Add_functional_tests  ~ Guided by - @sutaakar

Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] Testing is not required for this change

/lgtm

/lgtm

/lgtm

/lgtm

/approve


Key is always None in Python binding

When consuming a Kafka event in Python using the Azure Function Binding the event key is always none.
I've tested the this outside of the Azure Function, using the Python Apache Kafka package, and the key is always present, so it does not seem to be a problem with our Confluent Kafka setup.

Init file
from azure.functions import KafkaEvent

def main(kevent : KafkaEvent):
    msg = kevent.get_body()
    value = avroDeserializer(msg, schemaValue)

Function
{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "type": "kafkaTrigger",
      "name": "kevent",
      "direction": "in",
      "consumerGroup": "myGroupName",
      "protocol": "saslSsl",
      "authenticationMode": "plain",
      "brokerList": "%BROKER_LIST%",
      "topic": "%ADDRESS_TOPIC%",
      "username": "%KAFKA_USERNAME%",
      "password": "%KAFKA_PASSWORD%",
      "dataType":"binary"
    }
  ]
}

This seems to be like a bug, we will look into this.

This is released in production.


Add Negotiation Card to Docs, Update README

Adds the MLTE negotiation card into the documentation as a reference.
Updated the paper version from arXiv to IEEE in our README, and updated all README links so that they now open in another tab (which is our default for the documentation).

Thanks for catching these discrepancies, Sebastian! I fixed most of them and actually just made the structure match that of the MLTE UI more closely. The only one that I think should be adjusted on the code side is the Identifiable Information field - I think that snuck out of the tooltip for Data Policies, because Data Policies covers things such as Personally Identifiable Information. I'll make an issue for that!


Fixed PHP errors in compatMeta() when $meta->size was not set

I had the problem that PHP (7) raised an error in compatMeta() because $meta->size was not set.

Yup looks good! Checking for .tag is more robust too. Thanks @bilke


[Do not merge] Add script to import MHRA alerts from whitehall

This is based on a resurrection of https://github.com/alphagov/specialist-publisher/pull/300.
This is used for importing Field Safety Notices and Company-led Drug
Alerts from their respective Whitehall publications into the
/drug-device-alerts finder (which is confusingly the
medical_safety_alert document type). A related Whitehall PR
(https://github.com/alphagov/whitehall/pull/2364) is used to export the
HTML attachments as a JSON file, each of which should be supplied to
the importer. The filename is used to determine the alert type to
import the document as.
The issued_date is parsed explicitly from the document title. This is
not ideal but works well with the current set of documents we have.
From this, the public_updated_at date is set before publish, in order
to ensure the alerts appear in the correct order in the finder. This is
done by prepending the public_updated_at_setter observer in a similar
pattern to the publish_cma_cases script.
Once this import has been completed in production, it’s expected that
we’ll revert this commit in much the same way as the initial imports
occurred, so please forgive the inclusion of 2015 in the date parsing
regex.
/cc @jamiecobbett @benilovj

It's like Java, but Ruby! :speak_no_evil:

Also I guess @tommyp is well placed to review this. Sorry buddy.

Adding something here to output the before and after slugs so we can add redirects later.

LGTM 👍


Idea for using Python worker

Sorry for asking here!
Is there any helpful information to use Python for implementing task workers.

I'm afraid not.

Are there any blueprint of Redis and kue's communication that we can read in order to implement a library on Python ?


Decoding payload later

For the next major we should change the current decoding logic.
Right now the message is immediately decoded, in the future, this
should probably be an additional seperate step, triggered by the application.
The reason of Kafka headers is, that you can quick decisions without decoding the payload.
With the current version of this lib, we always decode the payload and don't leverage that advantage.
Although the price for decode is small, this is of significance for topics with millions of messages.

Closed in favour of https://github.com/jobcloud/php-kafka-lib/issues/7


Add proppy-preact

Functional props composition for Components.
Links

Website: https://proppyjs.com
Docs: https://proppyjs.com/docs/introduction
API: https://proppyjs.com/docs/api
proppy-preact: https://proppyjs.com/docs/packages/proppy-preact/
GitHub: https://github.com/fahad19/proppy

Coverage remained the same at 100.0% when pulling 6ca8ce6450e21f6627adab4e72daceea36e67765 on fahad19:add-proppy into 86361f020ffb85cea9aac6af5a07f2682da425ed on developit:master.


add a store (development) but don't have config

When i add a store to test spree_analytics (in development mode).
I don't have information about config.

Maybe it's not possible in development ?
Thanks and Best regards.

The issue was the url. It didn't like the http://localhost:3000. You know have valid keys. Let me know if you can't retrieve them and I can message them to you.

Hi, thanks for you awnser.
Can you send me the key because i have nothing and i can't retrieve them.
Thank you and Best regards.
----- Message d'origine -----
De : cmar<EMAIL_ADDRESS>À : Benjamin GUIMBERTEAU
Envoyé : Thu Jan 26 19:10:56 2012
Objet : Re: [spree_analytics] add a store (development) but don't have config (#12)
The issue was the url. It didn't like the http://localhost:3000. You know have valid keys. Let me know if you can't retrieve them and I can message them to you.

Reply to this email directly or view it on GitHub:
https://github.com/spree/spree_analytics/issues/12#issuecomment-3673554

send me an email to chris at spreecommerce dot com.  Github won't let me send you a message directly. I'll reply with your info.

Thank you for your help ;-)


The version of mmcv

Prompt version is not correct, after the change is still not correct.

I have tried on 1.3.8 and 1.2.5


A few issues with my project source code

Found a few bugs through my projects source code. Too many bugs to create separate issues (sorry :/ )...
I'm using the vscode colorscheme in NeoVim
Here are a few bullets and screenshots:

C-style comments not ending correctly? Lines

Preprocessor (#if, #endif) make the ConfigModel class light blue (pic above). Lines

Appending strings to string[] sometimes works and gets worse if I comment those lines out. Lines

Multi line strings become green? Lines

Also seen in the screenshots above is that some variables are highlighted as if they're classes

Edit: I just realized that all of the screenshots were taken with vala.vim installed. I'll update the screenshots
Edit 2: Updated screenshots
Edit 3: Added perma links to code lines

Hi, thanks for the feedback!
Just pushed a commit which fixes some issues I had while using the parser. C-style comments were one of them and should now be working.
I believe the other bugs are caused by the fact I ~forgot~ did not yet implement Preprocessor expressions, will do it tomorrow.

Awesome! I'll try it tomorrow :)

Is there an easy way of updating? TSUpdate says that everything is up to date

IIRC nvim-treesitter has an automated script that periodically searches for new commits inside language implementations and test them. We just have to wait for it to run again.
You should see a commit named Update lockfile.json in the next hour or so.

The comments work now! :)
Still a few issues though:

Variables are green

The multi-line strings are now green (seems to kinda be working due to the escaped quotation-mark)

Some data types are colored as if they are classes:
VSCode:

NeoVim:

After removing one of the enums, everything white starts to look normal

Thanks for your hard work! :)

Added preprocessor and structs with functions should now work. I'll still give a more in-depth look into coloring in the future and create a MR to nvim-treesitter

Awesome! Thanks! The only thing left (that I've found) is the variable coloring :)

Coloring improvements have been merged in nvim-treesitter.


Environment variable being overwritten

I had an issue where reading the $BITRISE_DSYM_PATH environment variable after this step ran in my workflow it returned an empty string. I noticed the following line envman add --key BITRISE_DSYM_PATH. It seems like that overwrites the value, no? Is this somehow intentional?
I'd be happy to create a PR, but first wanted to check I'm not going crazy and  might be misunderstanding something, somehow hah.

Hi @Kymer that's a good question. I don't remember the reason of adding this line. It's either a copy paste from another example, or this line was required to make the script work :)
If you have a fix on your mind and you could test it, I would be glad to accept the PR.


Revert DTSPB-2824: Investigation: Effective way for Scheduling

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Closing this PR for now


Debounce?

I redid this experiment, and it works really well in our environment, super simplified! But it's doing something a little performance-oriented - running a regex on a ~30k records and building a chart. So doing it for every keystroke is not that great. In another application, I'd debounce the key events to make it a bit more pleasant. Should that be part of the runtime, or just a hand-rolled method?

No immediate plans here—we have a few related tools already.


[Enhancement] Flink on K8s，Submit a jar job in Custom Code Mode using the -Dkubernetes.pod-template-file.jobmanage parameter

Enhancement
Currently, StreamX submits a jar function for Custom Code on K8s, which needs to be packaged and submitted again. This process is complicated and time-consuming, and the usage of pod template parameters is inconsistent with Flink's native processing.
The following is the realization of the idea to optimize:
In Custom Code Mode, a switch can be added to submit jobs using the default -Dkubernetes.pod-template-file.jobmanage parameter.

Use wget of 'initContainers' to download the application jar package and deploy the job
The content of pod-template.yaml is as follows:
apiVersion: v1
kind: Pod
metadata:
  name: jobmanager-pod-template
spec:
  initContainers:
    - name: flink
      image: flink:1.14.2-scala_2.11-java8
      # Use wget or other tools to get user jars from remote storage
      command: [ 'wget', 'http://xxxxxx/api/v1/file/downloadJar?fileName=flink-demo-1.0.1-SNAPSHOT-1642065346071.jar', '-O', '/opt/flink/usrlib/flink-demo-1.0.1-SNAPSHOT.jar' ]
      volumeMounts:
        - mountPath: /opt/flink/usrlib
          name: flink-artifact
  containers:
    # Do not change the main container name
    - name: flink-main-container
      resources:
        requests:
          ephemeral-storage: 2048Mi
        limits:
          ephemeral-storage: 2048Mi
      volumeMounts:
        - mountPath: /opt/flink/volumes/hostpath
          name: flink-volume-hostpath
        - mountPath: /opt/flink/usrlib
          name: flink-artifact
        - mountPath: /opt/flink/log
          name: flink-logs
      # Use sidecar container to push logs to remote storage or do some other debugging things
    #- name: sidecar-log-collector
    #  image: sidecar-log-collector:latest
    #  command: [ 'command-to-upload', '/remote/path/of/flink-logs/' ]
    #  volumeMounts:
    #    - mountPath: /flink-logs
    #      name: flink-logs
  volumes:
    - name: flink-volume-hostpath
      hostPath:
        path: /tmp
        type: Directory
    - name: flink-artifact
      emptyDir: { }
    - name: flink-logs
      emptyDir: { }

目前，StreamX针对Flink on k8s的Custom Code提交jar作业，需要打包镜像，再提交，这个过程复杂且耗时，且pod template参数用法与Flink原生处理不一致。
以下是想优化的思路实现:
在Custom Code Mode，可以增加一个开关，使用默认的-Dkubernetes.pod-template-file.jobmanage参数提交作业。

使用‘initContainers’ 的wget 下载应用jar包，部署作业
pod-template.yaml 内容如下：
apiVersion: v1
kind: Pod
metadata:
  name: jobmanager-pod-template
spec:
  initContainers:
    - name: flink
      image: flink:1.14.2-scala_2.11-java8
      # Use wget or other tools to get user jars from remote storage
      command: [ 'wget', 'http://xxxxxx/api/v1/file/downloadJar?fileName=flink-demo-1.0.1-SNAPSHOT-1642065346071.jar', '-O', '/opt/flink/usrlib/flink-demo-1.0.1-SNAPSHOT.jar' ]
      volumeMounts:
        - mountPath: /opt/flink/usrlib
          name: flink-artifact
  containers:
    # Do not change the main container name
    - name: flink-main-container
      resources:
        requests:
          ephemeral-storage: 2048Mi
        limits:
          ephemeral-storage: 2048Mi
      volumeMounts:
        - mountPath: /opt/flink/volumes/hostpath
          name: flink-volume-hostpath
        - mountPath: /opt/flink/usrlib
          name: flink-artifact
        - mountPath: /opt/flink/log
          name: flink-logs
      # Use sidecar container to push logs to remote storage or do some other debugging things
    #- name: sidecar-log-collector
    #  image: sidecar-log-collector:latest
    #  command: [ 'command-to-upload', '/remote/path/of/flink-logs/' ]
    #  volumeMounts:
    #    - mountPath: /flink-logs
    #      name: flink-logs
  volumes:
    - name: flink-volume-hostpath
      hostPath:
        path: /tmp
        type: Directory
    - name: flink-artifact
      emptyDir: { }
    - name: flink-logs
      emptyDir: { }

@wolfboys @Al-assad
StreamX Flink on k8s Custom Code submission process is more complicated, I think the above method can simplify a lot.
StreamX Flink on k8s Custom Code提交流程较复杂，我想上面的方法，可以简化很多。

Good idea. It can really simplify the submission process.

Currently, there are no plans for this.


perf: Replacing artwork(id) with artworks query

This PR improves the performance of the app by fetching all artworks at once instead of nesting query renderers for the albums.
Before:
artwork(id: $id) {
      ...ArtworkGridItem_artwork
    }

After:
artworks(ids: [id1, id2, id3, ...]) {
      edges{
           node{
          ...ArtworkGridItem_artwork
          }
       }
    }

PR Checklist

[x] I tested my changes on iOS and Android.
[ ] I added screenshots or videos to illustrate my changes.
[ ] I added Tests and Stories for my changes.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Need help with something? Have a look at our docs, or get in touch with us.

Thanks Sam for thinking about the performance here! I think unfortunately we may want to keep it as is for now because from the thread it sounds like this endpoint is deprecated. It is possible we could use artworksConnection or filterArworksConnection for the same purpose but I would suggest holding off until we have a better sense of what offline access looks like. Reason being if offline ends up requiring fetching all data up front that might dictate which endpoints we use and also would mean that once fetched going to a page would be instant.

Makes total sense Brian

Should we close this pr?

Ya sure. I am closing it.


Exception when editing a Task

I'm getting this when editing a Task and trying to change the behaviour if the Task is already running.
System.InvalidCastException was unhandled
HResult=-2147467262
Message=Specified cast is not valid.
Source=Microsoft.Win32.TaskSchedulerEditor
StackTrace:
at Microsoft.Win32.TaskScheduler.TaskPropertiesControl.taskMultInstCombo_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
at System.Windows.Forms.ComboBox.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
InnerException:
I'm calling the UI Dialog as follows:
        Microsoft.Win32.TaskScheduler.Task dct = null;

        try
        {
            dct = util.CreateTask();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        if (dct != null)
        {
            TaskEditDialog ted = new TaskEditDialog(dct, true, true);
            try { ted.ShowDialog(); }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }

Windows 10 Professional. Visual Studio 2012. Nuget packages installed Sep 2015. Any assistance gratefully received.
Originally posted: 2015-10-19T06:28:33

Thank you. I'm running tests now and will reply when I have a resolution. In the mean time, I have some suggestions for how to use the library that are a little more optimal. 1) Use GetTask instead of FindTask if you know the task is in the root folder. 2) You are setting some properties to their default values. 3) The TimeTrigger constructor allows for the start time. 4) The Actions.Add method has a shortcut for adding executables.
TaskService tsmgr = new TaskService();

var dct = tsmgr.GetTask(strings.DataCommunicator2Task);

if (dct == null)
{
    string strThisProgram = Assembly.GetEntryAssembly().CodeBase.ToString();
    strThisProgram = strThisProgram.Replace(@"file:///", @"");
    strThisProgram = strThisProgram.Replace('/', '\\');

    TaskDefinition td = tsmgr.NewTask();

    // td.Settings.AllowDemandStart = true;  Default value - not needed

    td.RegistrationInfo.Description = strings.ExecuteTheDataCommunicator;

    TimeTrigger tg = new TimeTrigger(DateTime.Now.AddHours2);
    // tg.Enabled = true; Default value - not needed
    tg.Repetition.Interval = TimeSpan.FromMinutes(5);

    td.Triggers.Add(tg);

    td.Actions.Add(strThisProgram);

    try
    {
        tsmgr.RootFolder.RegisterTaskDefinition(strings.DataCommunicator2Task, td);
        dct = tsmgr.GetTask(strings.DataCommunicator2Task);
    }
    catch
    {
        MessageBox.Show(strings.CouldNotCreateDataCommunicatorTask);
        dct = null;
    }

}

return dct;

Originally posted: 2015-10-30T11:49:25

Good news. I found the bug and it's fix will release shorty with version 2.5.
Originally posted: 2015-10-30T13:00:44

Thank you, much appreciated.
Originally posted: 2015-11-02T03:20:19

Fixed in 2.5.0 release.
Originally posted: 2015-11-09T12:15:17


Merge 2-0-stable into master and get specs passing

What was the end-user problem that led to this PR?
The problem is that master is still running specs against older rubies even if 2-0-stable is not. That means quite a lot of PRs are blocked because they don't pass tests on old rubies.
What was your diagnosis of the problem?
My diagnosis is that we need to officially start bundler 3 development.
What is your fix for the problem, implemented in this PR?
My fix is to merge the 2-0-stable branch into master, bump the version to 3.0.0.dev in version.rb, stop testing against old rubies and get specs passing.
Why did you choose this fix out of the possible options?
I chose this fix because it gets master green while including everything currently in the 2-0-stable branches.

I got specs passing locally against 2.6, let's see what TravisCI says for other rubies.
Also, we have delayed deprecations to bundler 3 but I see no reason to not release the pending major deprecations on a future 2.x release. But we can discuss this separately, make a PR to 2-0-stable if we decide to do it, and then forwardport it to master.

Closing in favor of #6957, @colby-swandale will manually cherry-pick any commits he needs from here.


Removed viewer check

Description of changes:
The extra validation doesnt look necessary.so removing it
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Looks good, in my current task I'm working on this service and I have refactored that part and also removed it.


Training in real semi-supervision scenario训练报错

我的数据路径如下

按照您readme的指示，我把您的代码进行替换后用于训练真实半监督场景（其中image_root我设置为image_root = './data/LAA'）

报错信息如下：

请问除定义数据部分的代码需要修改外，还有其他需要修改吗

Hi @yyyyy-aa
Thanks for this issue. I have updated the repo for better comprehension and easier implementation for supporting real semi-supervision scenarios. Please pull the latest repo and follow the updated instructions shown in the README file.
The major changes include:

We add support for a new data pipeline instance that directly supports real SSL scenarios;
We change the storage of labeled and unlabeled training data.

Please follow the latest instructions.

请问真实的半监督训练场景下，labeled_root和unlabeled_root下的train_images是相同的文件夹吗？

No, in labeled_root, you should store labeled training and validation images. While in unlabeled_root, you should store  unlabeled training images.

Hi @yyyyy-aa
Thanks for this issue. I have updated the repo for better comprehension and easier implementation for supporting real semi-supervision scenarios. Please pull the latest repo and follow the updated instructions shown in the README file.
The major changes include:

We add support for a new data pipeline instance that directly supports real SSL scenarios;
We change the storage of labeled and unlabeled training data.

Please follow the latest instructions.

请问真实的半监督训练场景下，labeled_root和unlabeled_root下的train_images是相同的文件夹吗？

No, in labeled_root, you should store labeled training and validation images. While in unlabeled_root, you should store unlabeled training images.

In one word: Put your labeled data to labeled_root, and your unlabeled data to unlabeled_root. I guess it is quite simple with no questions.

您好，可能我没有表达清楚，我想问的是：
按照半监督中常用的设置（10%有标签，20%有标签），在真实半监督场景的代码里是没办法通过设置ratio=0.1或0.2来划定有标签和无标签训练图像的吗，这个步骤是需要自行随机从有标签文件夹（80张）中裁掉一定数量的图像到无标签文件夹来达到这个划分的目的吗？

That's correct.
Setting labeled data ratio to 10% or 20% is a common technique in evaluating the effectiveness of semi-supervised learning algorithms. Given a fixed number of available data, a better SSL model should yield better performance when the ratio of labeled data is lower. However, since we need to change the ratio of labeled data, we require that all of the available data are actually labeled so that any data in the dataset could play the role of "labeled data", and we could change the ratio of labeled data freely without modifying the IO code or dataset itself.
The reason that we provide the support for real semi-supervision scenario is that if we have some unlabeled data that could boost segmentation performance potentially, they should be stored separately so that the IO process would "know" which data is labeled and which are not, therefore performing different IO process and preprocessing on these data.
However, it makes no sense if you are setting different ratios of labeled data in our "real semi-supervision scenario" as it is NOT designed to do so. If you want to change the ratio, you would always simply change the RATIO argument in the .cfg files stored in configs folder.

Another personal suggestion is that I would suggest reading related papers, the whole README file, as well as other issues before starting a new issue, and maintaining conciseness and exactness in the issue, which could reduces unnecessary communication and saves time for all of the collaborators in the repo.
Also, please respect other's time by not opening too many issues that are not related to the paper/implementation. It is not repo owner's duty to help those who are interested to debug.


Update typescript version

Update typescript version

Hi,
We are running out of time.
We look for volunteers to help upgrading ts2jsdoc to Typescript 1.8.
Thanks.

Should be TypeScript v2.1 today...

Hi @zixia,
Are you interested in upgrading TypeScript in this project as a PR ?
Thanks

I would be wiling to help in upgrading for Typescript 2.1. Whatever guidance you could provide to get started would be great.

Hi @jimsugg,
I'm really happy to help you in upgrading to Typescript 2.3.
Here is a first task list to upgrade this project :

[ ] Updates project dependencies
[ ] Updates project build dependencies
[ ] Update project typings
[ ] Update the forked tsc.ts from typescript source repo Patch
[ ] Fix issues with new TypeScript AST (mostly in lib/processor.ts and lib/syntax.ts)
[ ] Add missing TypeScript features :

[ ] Spread operators
[ ] Destructured parameters
[ ] Generators
[ ] Generic inline types
[ ] Typeguard functions
[ ] Intersection Types
[ ] Class expressions
[ ] abstract
[ ] Number, boolean, and Enum literal types
[ ] never Type
[ ] readonly
[ ] Non nullable types
[ ] Optional properties in class
[ ] await / async ?
[ ] Mapped Types
[ ] keyof
[ ] object Type
[ ] Mixin Classes
[ ] Generic defaults

This looks intimidating but a lot of features are really simple to process.
Take a look at the project's source code and tell me if you need more help. Main files are :

lib/ast.ts: Entry point (look at compile and getFileComments functions)
lib/processor.ts: Detect AST node and call the good extractor (process function)
lib/syntax.ts: Contains functions for each AST node type.

Also, we could maybe plug into the new Language Service Extensibility to do our processing directly during Typescript compilation.
Again thank you for your contribution.

Hi -
Thanks very much for this.
I’m sure you are probably as busy as I am with “real” work.
I decided to jump into this because I am working with a team in which my part involves creating a set of npm packages (at this point, they are private) to support a much larger effort. i am promoting Typescript use strongly within that team, and I also have to provide documentation for the packages, which is what led me to ts2jsdoc. Trying to document TS with jsDoc alone is somewhat possible, but is a real pain.
I am in the process of familiarizing myself with the internal structure of ts2jsdoc, and of course this also means I need to understand Typescript internals better. That will be an added plus for me I think.
Yesterday, I cloned the ts2jsdoc repo and started the process of making it at least buildable with TS 2.3, specifically working (so far) on your top 3 points below, and to some degree point #5. Thanks for mentioning point # 4 - I hadn’t really realized that was an issue yet.
As I move forward, I will send you some brief updates and notes on what I have done, in case you see anything that you may wish to comment on.
I am working in WebStorm 2017.
So far, this is what I have done. Everything is subject to review and further investigation, of course.
I updated the peerDependency for typescript 1.4 to 2.3 (might as well jump in feet first, right?)
With regard to typings, I want to (as much as possible) remove the dependence on that, and use the new @types npm repository and/or the Typescript declarations included with the packages, such as the Typescript 2.3 package.
I removed the node.d.ts file (it was still based on node 0.12 anyway - I am running with v7 if possible, or v6 if v7 is a problem)
I removed the refs for node.d.ts and typescript.d.ts in _definitions..d.ts.
I removed the typescript declarations in _definitions.d.ts - seems like this is covered in the current Typescript declaration file.
Seems like we still need a ’typings’ definition for jsDoc, since there don’t seem to be any jsDoc declaration files that are being maintained.
Having enabled the Webstorm Typescript compiler, my first task is just to eliminate all the errors it is showing me, based on the new Typescript definitions. This should cover much of what you note in your point # 5.
A lot of things are pretty straightforward, e.g., they renamed some things (‘ES6’ -> ‘ES2105’, ‘filename’ -> fileName etc.,) some function signatures changed a bit, etc.
Other things are not as straightforward, and I need to dig in and figure out what the changes really mean. Example, there are no longer ‘Anonymous’ and ‘Intrinsic’ flags in ts.Typeflags.
Once I get through this phase, I will build this and try to run it, before I start on the new TS features. Just as a first milestone, I would like to see it work ok at least with the older features.
Here’s a couple of questions/requests. I don’t want to take up too much of your time, but if you any good thoughts on these, let me know.
If you have any general pointers on how you debug this, let me know. Do you generally debug it as a jsDoc plugin, or in its standalone mode?
Is the internal function as a plugin basically the same as when it runs as a standalone tool, or are there significant differences (e.g., parts of the code that may be used only in standalone?)
I will probably have more questions, but I want to take some time getting into it before I ask too much, because I can probably figure most of it out without bothering you too much.
Thanks,
Jim Sugg
PS - Is Maxime your first name?

On May 5, 2017, at 3:57 AM, Maxime LUCE<EMAIL_ADDRESS>wrote:
Hi @jimsugg https://github.com/jimsugg,
I'm really happy to help you in upgrading to Typescript 2.3.
Here is a first task list to upgrade this project :
Updates project dependencies
Updates project build dependencies
Update project typings
Update the forked tsc.ts from typescript source repo Patch https://github.com/spatools/ts2jsdoc/blob/master/lib/tsc.ts#L607
Fix issues with new TypeScript AST (mostly in lib/processor.ts and lib/syntax.ts)
Add missing TypeScript features :
Spread operators
Destructured parameters
Generators
Generic inline types
Typeguard functions
Intersection Types
Class expressions
abstract
Number, boolean, and Enum literal types
never Type
readonly
Non nullable types
Optional properties in class
await / async ?
Mapped Types
keyof
object Type
Mixin Classes
Generic defaults
This looks intimidating but a lot of features are really simple to process.
Take a look at the project's source code and tell me if you need more help. Main files are :
lib/ast.ts: Entry point (look at compile and getFileComments functions)
lib/processor.ts: Detect AST node and call the good extractor (process function)
lib/syntax.ts: Contains functions for each AST node type.
Also, we could maybe plug into the new Language Service Extensibility https://github.com/Microsoft/TypeScript/issues/6508 to do our processing directly during Typescript compilation.
Again thank you for your contribution.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/spatools/ts2jsdoc/issues/4#issuecomment-299471446, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGS0BY2TY0RtIR1cdiyFhG_Q3UlS7qcks5r2yrCgaJpZM4Ioxts.

It looks like the only reason for the forked tsc.ts is to be able to use ts2jsdoc globally as a standalone converter. Is that the case?

Hi @jimsugg,
Thank you for your report.

You're right, the forked tsc.ts is only here to be able to run ts2jsdoc as a binary which takes the same options as tsc. If you look to the module it is not the built version but the source version available in TypeScript repository. The fix is available on line 607 in ts2jsdoc.

I agree to remove typings dependencies by using @types npm packages.

You're on the good way, I think we should consolidate old features by upgrading our AST processor. Then we will be able to add smoothly all new features available in TypeScript.

Do not hesitate to ask me if you need more information.
Thanks

I haven't forgotten this project. I have it transpiling and running with TS 2.3, but there are still things to be worked out with parsing. Also, for new features (e.g., a function that returns a tuple,) I am running into issues in jsDoc with the type parser, and these need to be sorted out. If you have any thoughts on potential issues with jsDoc type parsing limitations, let me know. There is an interesting comment in the jsDoc code that implies the maintainers have considered supporting plugins for type parsing.

Hi @jimsugg,
No problem, time is sometimes hard to find!
I'm happy you achieve upgrading the core project to make it run with TS 2.3.

For the Tuple type, we can use a return type of Tuple with the tsdoc's specific @generic tag which contains the content types of the Tuple. By default the template should write that in the form Tuple<T1, T2, ...>. We can improve it by detecting the Tuple type and write it in the form [T1, T2, ...].

It is totally possible to improve jsDoc type parser and add custom tags. In fact, tsdoc already include a plugin for jsDoc: plugin.js. It currently includes:

@ctor: Allow to separate class from constructor (and multiple constructor) ;
@callsignature: Multiple function call signatures ;
@ctorsignature: Interface constructor signatures ;
@enum: Special typedef ;
@generic: Specify generic parameters for types and return types.

Do you want to include your first commits in a pull request so I could review it and merge it in a new ts23-upgrade branch? It would be a good common base for us to work.

Thanks for your work
Max

@SomaticIT, hello.   Your last post mentioned tsdoc, were you referring to ts2jsdoc?

Yes i fixed it sorry!


Some documentation improvements

https://hibernate.atlassian.net/browse/HV-1415
https://hibernate.atlassian.net/browse/HV-1417

Applied; thanks, @gsmet! Note I've added one more commit to reference the BV spec URL via the property we've defined for it.


Fix unmarshalling of additional properties

Generator now generates UnmarshalJSON() method for types that contain
additional properties.
Add missing tests for additional properties.

Fixes https://github.com/Azure/azure-sdk-for-go/issues/2695


Feature request: visit() is not useable with modify()

node-jsonc-parser presents several convenient ways of interacting: The scanner, the visit interface, or traversing a parse tree. Unfortunately, only the parse tree interface is compatible with modify/Edit/applyEdits. This means there are essentially three interfaces, but two are read-only.
Context
I have a lot of JSON files, from which I want to remove all instances of a particular deprecated property. I intended to use node-jsonc-parser to write a script to find those instances and delete them. At first I thought the Visitor interface would offer an incredibly simple way to do this; I could write a single JSONVisitor:
let edits:Edit[] = []
visit(jsonString, {
	onObjectProperty: function(property: string, offset: number, length: number, startLine: number, startCharacter: number) {
		if (property == "cursedPropertyName") {
			// Do something here to add "remove this property" to edits?
		}
	}
})
jsonString = applyEdits(jsonString, edits)

The realization I quickly hit was there is no way to create the Edit to move the property. modify() requires a JSONPath, obtaining a JSONPath (eg, findNodeAtLocation) requires providing a node or a root node (which means running the parse interface). I could create an Edit object manually with the offset and length of the property, but this might mean creating a noncompliant JSON document (eg, if I removed a property but not the preceding comma).
Expected behavior
There should be some way to use the convenient visitor-style interface with modify()/applyEdits(). Two ways I can think of to do this would be

Add a Node.visit() interface. The reason I would prefer to use the visitor interface rather than parseTree is parseTree required me to write code to recursively traverse the tree of node children, a somewhat complicated construction for a simple find/replace script. However, jsonc-parser could just as easily provide a visitor interface to node trees, calling a visitor function and passing in the appropriate node for each node in the DOM tree, eg calling onObjectProperty for each NodeType="property" node.

Add some variant of modify() that works with the offset/length arguments, but still knows how to produce edits that transform from a compliant JSON document to a compliant JSON document, eg, it also removes incidental material like whitespace and commas as appropriate. This option might be harder due to ambiguity about what to remove.

Another thing that would help would be simply being clearer in the documentation about what is supported. Writing my script once to use visitor and then starting over with parsetree was a bit frustrating, but if I had known to start with parsetree, I could have skipped the steps of trying to make it work with scanner and visitor and that would not have been frustrating. The documentation could make this clearer by, in the "Why" section, between the third and fourth bullet points, adding the non-bulleted text "Using parseTree enables the following extra functionality:".

Actually, wait, could I have got this with getLocation()?

The current API also appears to be rather inefficient for what you want to do. It appears for every removal you want to make, you would have to call modify() followed by applyEdits(). It does not appear to be possible to accumulate all edits from multiple modify() calls and then only call applyEdits() once because each edit will affect the location of subsequent edits.
Other JSON libraries of different programming languages (e.g. Gson or Jackson for Java), usually allow to easily modify the JSON DOM and then to convert that DOM back to JSON. It appears this library does not offer such functionality?
For example Gson has the following type hierarchy:

JsonElement

JsonArray
JsonObject
JsonPrimitive (might also make sense to split this into JsonBoolean, JsonNumber and JsonString)
JsonNull

The user can then modify the DOM with the appropriate methods for each type (e.g. JsonArray has different methods than JsonObject) and then convert these objects back to JSON.
If this project wanted to add similar functionality it be good to introduce new types for this; working with Node might be somewhat cumbersome because there is no type-safety and you would manually have to make sure to produce valid Node objects.

@Marcono1234 , I do not think that is accurate, the doc for applyEdits says:
"All offsets refer to the original state of the document. No two edits must change or remove the same range of

text in the original document."

The first part seems to suggest to me a group of applyEdits may be applied atomically. The second sentence would only be necessary to support "apply many edits atomically". In my testing, I may submit multiple edits to a single applyEdits() and it applies them all in the right place.

It seems to depend on which edits you are making. Here are two types which will produce malformed JSON:

Removing subsequent array elements / object properties.
This will cause both elements / properties to remove the same ,, which in the end results in one character too much being removed:const json = '{"a":1,"b":2}'
let edits = jsoncParser.modify(json, ["a"], undefined, {})
edits = edits.concat(jsoncParser.modify(json, ["b"], undefined, {}))

// Prints only `{`; the closing `}` is missing
console.log(jsoncParser.applyEdits(json, edits))

Removing array elements / object properties in reverse order:const json = '{"a":1,"b":2,"c":3}'
let edits = jsoncParser.modify(json, ["c"], undefined, {})
edits = edits.concat(jsoncParser.modify(json, ["a"], undefined, {}))

// Prints `{"b":2,"c":3`
console.log(jsoncParser.applyEdits(json, edits))

There might be more cases.

Because those examples seem completely valid per the node-jsonc-parser documentation, I believe you have found bugs and you should file those in their own issues.

@Marcono1234: Interesting. But, because those examples seem completely valid per the node-jsonc-parser documentation, I believe you have found bugs and you should file those in their own issues.

Can this be closed now that #62 is merged? I haven't looked into this close enough to work out whether 62 would have solved the problem I was having in August.

Not completely sure if this is solved yet. Because this library does not support combining multiple modifications in a safe way set (as mentioned in https://github.com/microsoft/node-jsonc-parser/issues/48#issuecomment-951320656), you would probably still have to repeatedly use the visitor on the JSON document and then apply each modification, one by one.
You as reporter can probably judge best whether your use case is solved with the recent changed done by #62.
Unless @aeschli as maintainer wants to keep this issue open to keep tracking this feature request.


fix(versions): update Activiti/example-runtime-bundle versions into master

UpdateBot pushed maven dependency: org.activiti.cloud.rb:activiti-cloud-runtime-bundle-dependencies to: 7.1.204

UpdateBot commands:
updatebot push-version --kind maven org.activiti.cloud.rb:activiti-cloud-runtime-bundle-dependencies 7.1.204


fixing current article price on account order detail page

based on this issue:
https://issues.shopware.com/?_ga=1.213278548.1138760268.1442990783#/issues/SW-13133 i created a small bugfix.

Thanks for your PR.
I had to change a couple of things so I decided to write it myself. The fix for this issue was merged with commit 9aa3490530d5a14bf5fbe59d55a6422397c76acd.
Thank you @teiling88


Rename "favorites" to "bookmarks"

The screen below uses both words "favorites" and "bookmarks" to refer to the same thing.
We should settle on one word, and use it in the whole UI ad source code (including variable names, ideally even database fields, to avoid one more hurdle for newcomers).

I don't think it's too difficult to change, but I'm not sure which would be the most appropriate option. What do you think?

No strong opinion.
https://www.techwalla.com/articles/what-is-the-difference-between-favorites-bookmarks says:

Windows Internet Explorer is the only major Web browser that uses the term "favorites."

Given that Internet Explorer is really major anymore, I guess "bookmarks" will sound natural to more people?

Sounds good to me. :)

Hello, can I work on this?

@diamniko Yes thanks!

Hello, I committed in a new (local) branch but I can't push.
Also there's some screenshots:

What happens exactly when you try to push?
On Wed, 25 Aug 2021, 01:49 diamniko, @.***> wrote:

Hello, I committed in a new (local) branch but I can't push.
Also there's some screenshots:
[image: image]
https://user-images.githubusercontent.com/56235463/130656985-b7b4d4e6-2743-4e50-a9ee-df0f37b36cc3.png
[image: image]
https://user-images.githubusercontent.com/56235463/130657013-636da93d-72c4-440b-808f-d1bfd91d065b.png
[image: image]
https://user-images.githubusercontent.com/56235463/130657033-63b04dd2-27f2-4eee-86cd-ceb25f0bf520.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/commons-app/apps-android-commons/issues/4508#issuecomment-904810234,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAYKBRRCGMXENQNVQJIRPTT6PES5ANCNFSM5AOWIW2Q
.
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&utm_campaign=notification-email
.

Hello, I still can't push...

Please fork the repository before cloning.
See https://docs.github.com/en/get-started/quickstart/fork-a-repo
Thanks!

@nicolas-raoul  can i work on this issue

@Prince-kushwaha It is yours, thanks! :-)


Does not handle redirects well

Title.
Steps to reporoduce:

Find a page where there is a link to a page that redirects to the main trope.
Hover over the link
Redirect is shown, but Laconic description is not.

Example, this is from hovering over the link to Omnipresent Trope (which redirects to Omnipresent Tropes) on the page Spoilered Rotten

Suggested fix: if Trope.title contains 'aka: ' use anything after this as the title when looking up the Laconic description

Thanks for the bug report, i'll look into this asap!

Hey @Bpendragon  just to confirm what you'd like to see happen here ❤
I don't see a laconic page for https://tvtropes.org/pmwiki/pmwiki.php/Main/OmnipresentTropes with or without the redirect, could you link me to where I could get the laconic from here please 😄
Thanks so much again, this forced me to update the whole extension to typescript!

Sorrry it took so long!
I just fixed this :) will update now


Explain transactional behavior in the context of reactive programming

In our weekly call we discussed net-effects of ACID properties when using reactive infrastructure components.
With reactive runtimes, we move congestion out of the JVM and leave concurrency to the database. We should explain the effects of isolation and locking in consideration of MVCC and illustrate how this affects applications that make use of transaction management to e.g. group multiple statements together or which wait for other transactions to complete.
This is an investigation and documentation task.

See:

https://groups.google.com/forum/#!topic/r2dbc/EtrT0i1a2L0


pulling resources ?

I understand that @andreacogliati managed to compile (https://github.com/conda-forge/miniforge/issues/46) Qt 5.15, but has trouble in packing ... @rgommers, couldn't @ilanschnell help out here?
BUT ... we need to be careful, 5.15 will be around for several years and many projects will depend on it, so the builds for Windows/Linux/macOS should be the same! Not like the 5.12 where in Linux (an old version) of gstreamer is blended in whereas in the Windows equivalent it isn't ... (maybe that's the reason why anaconda is still using the aged 5.9.2 ?!?)
Don't get me wrong, I :heart: gstreamer! As a matter of fact, @ccordoba12, the screen-cast plugin for spyder (>=5) will use it, but we will get in trouble if the Windows/Linux/macOS versions don't match up!
IMHO, it is better to leave gstreamer out of the Qt 5.15 equation, and leave it to the gstreamer-feedstock to add the python bindings there. Even better, @goanpeca they could link against QtPy and not get into the nitty-gritty of licensing :rofl:

We've been ok having different versions for aarch than for x64. But in reality, we will need many CDTs for qt, and those are tedious, and not so fun.
If you can help knock some of them out, that would be great!

But in reality, we will need many CDTs for qt, and those are tedious, and not so fun.

Indeed, so pulling resources might be the answer :yum:

We've been ok having different versions for aarch than for x64.

I am interested in a pyqt for aarch64 ... where can I find that ?
On an Ubuntu 20.04 running on ARM I don't find anything on conda-forge ... there might be other channels though :crossed_fingers:
Anyway a newer and consistent Qt for Windows/Linux/macOS on x86_64 should be the first concern.
In October Big Sur will be there ... curious to see how long it will take Apple to also release aarch64 devices ... then, -as-they-say- "shit hits the fan", also for anaconda I recon :laughing:

apologies ... the title of the issue should be of course "pooling resources" ... was late :wink:

I am interested in a pyqt for aarch64 ... where can I find that ?

Tom, I was able to compile PyQt 5.15 natively on a Jetson AGX Xavier. I also compiled PySide2. I have no problem detailing what I did if that helps creating an official package for the architecture; it was actually quite straightforward, just had to be careful with all the prerequisites.

I have Qt 5.15.5, PyQt 5.15 and Spyder 4 builds available on https://anaconda.org/rdonnelly.
As the primary contributor to Qt in both Anaconda Defaults and conda-forge, can you please remember to tag @mingwandroid when discussing Qt? Thanks!

@hmaarrfk this has nothing to do with CDTs which I find neither tedious nor non-fun.

They can be fun! In moderation


Migrated Apache Kafka Upgrades procedure

What changed, and why it matters
Migrated https://help.aiven.io/en/articles/5678687-what-happens-during-a-kafka-cluster-upgrade
Fixes #1173

Would like to receive feedback both on the article but also on the usage of mermaid


Add support for 'none' authentication for kafka while still allowing SSL

Kafka can be operated in the unauthenticated mode. My company unfortunately uses this for internal Kafka instances hosted via AWS MSK due to issues with IAM authentication and librdkafka.so.  Because of that, i need to enable SSL while not performing any authentication.  (eg. support port :9094)
This was not supported by the Kafka configuration in Tile38.
This simple change adds support for auth=none&ssl=true in SETHOOK.
I have a PR ready for this.

Merged!


[FR] Support python 3.13

Please verify that this feature request has NOT been suggested before.

[x] I checked and didn't find a similar feature request

Problem statement
When trying to run inventree with python3.13 it complains about not finding the module imghdr (and probably some other things, haven't dig deeper?)
Suggested solution
Remove the deprecated imghdr dependency as per https://stackoverflow.com/questions/79144437/how-to-resolve-no-module-named-imghdr-error-in-python-3-13-with-tweepy
Describe alternatives you've considered
.
Examples of other systems
No response
Do you want to develop this?

[ ] I want to develop this.

Would probably also make sense to add 3.13 to CI