setup ava for ts, port test/ to ts

Added ava typescript configuration, and port tests to ts.
In index.ts changed isDevToolsOpened() with webContents.isDevToolsOpened() ref
Found it through a ts error :)

the test was not included in yarn run test, need to check the devtools change.
Will confirm when ready to merge.

ready to merge
ref


Investigate MongoDB encryption and security solutions

https://docs.mongodb.com/manual/tutorial/configure-encryption/
Raised by @Kevin-Wei for further investigation. Might be worth checking to see if mongolab has one of these solutions.

Mongolab's pricing and etc: https://mlab.com/plans/

And Mongolab's security documentation: http://docs.mlab.com/security/

@Kevin-Wei can you look into a solution for this on Thursday and report back? Feel free to tag in someone else who's curious about mongo or encryption and have them help investigate what other people are doing on the cheap, as well.

Renaming and removing question since this is an investigate matter rather than an open discussion kinda thing now.

Closing in favor of #413 -- we're not going to buy mongo premium or anything like that and anything we wind up doing will be thru mlab.


Actual Sizes (Units) of Batteries Not specified

Please see the below link:
https://community.drivendata.org/t/battery-sizes-mw-or-kw/1994

Thanks for the report, we are investigating this.

Closed by 5dd23dbd1f1971f27a13ef66c8be8d02abca25ce


Dependency on serde_json 0.6 broken

Because there wasn't a 0.6 release after https://github.com/serde-rs/json/commit/5661c78b165e3f632529fb6a4e8e64468eeacc7e, crates depending on 0.6 are now broken because they try to upgrade to serde 0.7.
Can you release serde_json 0.6.1 please? :)

See the breakage like so:
$ cargo new test
$ cd test/
$ echo 'serde_json = "0.6"' >> Cargo.toml
$ cargo build
    Updating registry `https://github.com/rust-lang/crates.io-index`
   Compiling libc v0.2.7
   Compiling serde v0.7.0
   Compiling rustc-serialize v0.3.18
   Compiling rand v0.3.14
   Compiling num v0.1.31
   Compiling serde_json v0.6.0
/home/aidanhs/.multirust/toolchains/1.6.0/cargo/registry/src/github.com-88ac128001ac3a9a/serde_json-0.6.0/src/de.rs:530:5: 534:6 error: method `visit` is not a member of
trait `de::Deserializer` [E0407]
/home/aidanhs/.multirust/toolchains/1.6.0/cargo/registry/src/github.com-88ac128001ac3a9a/serde_json-0.6.0/src/de.rs:530     fn visit<V>(&mut self, visitor: V) -> Result<V
::Value>
[...many many errors...]

20:25 <aidanhs> hi, assuming you're the author of serde_json, just wanted to ping on https://github.com/serde-rs/json/issues/46 - I suspect it breaks a fair number of
                crates
20:26 <erickt> ack thanks
Day changed to 28 Feb 2016
01:10 <erickt> aidanhs thanks! pushed up a fixed crate


Update command descriptions for art, cli, organiations, and products

This PR updates the descriptions for the following commands:

art
cli
organizations
products

This PR closes Issue #204

Awesome! Thanks @rachelwhitton


Towards heap walk

This includes a two changes that are on the way to implementing heap walk.  The changes performed are:

Track the laden ranges of memory: the full and almost full slabs and large allocations.
Ensure each slab metadata knows what range of memory it is describing.  This was not previously the case for a fully used slab where there is no free list.

Will we finally reach precise heap allocation statistics?

Will we finally reach precise heap allocation statistics?

This is not aimed at better statistics.  We could add that, but it is not on my current plan.  My rough thought would be to track per sizeclass
sizeclass | total allocations | curr slabs | max slabs
The total allocations would be bumped everytime we grab a new free list, and curr slabs and max slabs would be increased on alloc_chunk and decreased on dealloc_chunk. This could then be done just with interlocked instructions on global state as it would be sufficiently infrequent to not cost too much.  It wouldn't track fragmentation though, which might be a useful thing to track.

This last commit https://github.com/microsoft/snmalloc/pull/569/commits/9042b405859858f0ef48ff7f21f1db5597013854 is my attempt to get the fix passed the CHERI compiler. We won't really be using this value, except to look up in the pagemap, but changing all the types in FreeObject to have a union with address_t seems painful.  @mwf-msr do you have any thoughts on what the correct approach is?


[Impeller] Exception : No Impeller Context is Available (IOS < 14)

Is there an existing issue for this?

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

Steps to reproduce
I am using flutter version - 3.10.4
When i built my app on ios versions below 14 (simulator) , it shows this error
Expected results
The App should work fine
Actual results

The app is running in background but the ui is unable to render , throwing the below exception
I am getting the api requests and usual logs in the terminal which proves that app is running in bakcground
It works fine on device >= ios 14
there is a issue on stackoverfloe regarding this but the solution is not appropriate
https://stackoverflow.com/questions/76934163/exception-no-impeller-context-is-available-ios

Code sample
NA
Screenshots or Video

Screenshots / Video demonstration

Logs
Getting the usual logs , getting the api logs as expected which run on app start - which proves that app is running in background .
Flutter Doctor output
Doctor output

┌─────────────────────────────────────────────────────────┐
│ A new version of Flutter is available!                  │
│                                                         │
│ To update to the latest version, run "flutter upgrade". │
└─────────────────────────────────────────────────────────┘
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.10.4, on macOS 13.1 22C65 darwin-arm64 (Rosetta), locale en-IN)
    ! Warning: `flutter` on your path resolves to /Users/rishabhsharma/Desktop/My_Computer/Installations/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/rishabhsharma/fvm/versions/3.10.4. Consider adding /Users/rishabhsharma/fvm/versions/3.10.4/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/rishabhsharma/Desktop/My_Computer/Installations/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/rishabhsharma/fvm/versions/3.10.4. Consider adding /Users/rishabhsharma/fvm/versions/3.10.4/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] VS Code (version 1.69.1)

The above will not be a differentiator , as i have tested this on multiple machines .

Hi @rishabhsharma3617
I don't have a such low iOS version so I can't reproduce this issue on my end. But I saw your comment at https://github.com/flutter/flutter/issues/127500. I tried reproducing that issue with --enable-software-rendering param but didn't see the issue.
To make the issue clearer, can you please confirm:

Issue can be reproduced with a new Flutter project (counter app)? Or does it load any images?
Does this issue persist on the latest stable/master channel? (the latest stable is 3.13.3)

I'm going to close this - this issue is not reproducible currently under normal conditions, and we have better failure modes now for when Metal is somehow not available on a simulator (e.g. in a virtualized environment that doesn't have GPU pass through).
For now, if you want to run Flutter on a simulator int hat environment you have to use Skia.


FIX: Support WSDL files with WSDL namespace being root

When having a WSDL file with the root namespace being "http://schemas.xmlsoap.org/wsdl/", parsing the file failed. This is fixed by this PR.

seems good, resolve conflicts pls and i will accept it


Request: Provide canvas styles shown in wiki gif

The Canvas wiki shows some cool styles that would be nice if they were included in the package by default.

Hi @OniKoneko
Those effects are from the power-effects package.
I'm trying to keep this package with only some basic defaults. So another packages can provide more specific things.


references in additionalProperties are not properly referenced

If you have a reference to a remote document, and that document has a model with additionalProperties: '#/somethingElse', it will not be inspected and resolved in the resolve logic.

this was solved here: https://github.com/swagger-api/swagger-parser/pull/605


Attributes: Client API to Model conversion

Closes #714

@vedhavyas I'm still adding tests to this,
also have a look at https://github.com/centrifuge/go-centrifuge/pull/1010
I will address any problems in this pr as its easier. I had merge because it just creates too many issue to merge back.

@vedhavyas This pr only needs some more tests to complete it, since you are taking over custom attr feature I have marked the tests needed.
Next steps after this

https://github.com/centrifuge/centrifuge-protobufs/pull/99 should be tested together with go-centrifuge to complete #896
#1012
cc @lucasvo @mikiquantum

@mikiquantum

We need to add this to the entity and entityrelationship model as well.
it is added to CoreDocument, so it will propagate to them

Is the test coverage confused here? says < ~7%
Not sure. The diff coverage is 81%. not sure how this is possible :-D

@vedhavyas I now can see it in the Entity Model as well, I didnt see it in the relationship one, but that can be added later.


Added FeatureSelect Component

Description
You can hover over and Click Features in a Map to highlight/ Select them. By Clicking you also auto generate a Selections radius.
Motivation and Context
This is just a Demo for the Vue3-Openlayers Docs.
For the vector-tile-layer and the vector-layer Components.

How Has This Been Tested?

Screenshots (if appropriate):
Types of Changes

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation Update
[ ] Other (Tooling, Dependency Updates, etc.)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

If you added a new component feature (layer, geom, source, etc.), please be sure to update the documentation:

[ ] Add component to output.globals in vite.config.ts
[ ] Create a src/demos/<Component>Demo.vue
[ ] Create a docs/componentsguide/<Category>/<Feature>/index.md containing the Demo and documentation for the component
[ ] Add the docs page to docs/.vitepress/config.ts

@mobinator great job! I've done some simplifications and code style optimizations. Feel free to check them out and comment if something is unclear.
There are some comments open.


Issue title doesn’t update but size does

Version: 1.2.0 (910)
Device: iPhone 6s Plus (iOS 11.0)
Was on the screen, issue title was updated, I did a pull-to-refresh and as the screenshot shows the size updated but the actual text did not!
Changing the segmented control did update the title eventually

Nice find!

done!


I'm getting a warning/error for tab completing the /whereis command

It happens even if I do a space and start typing out the player character by character.
https://user-images.githubusercontent.com/48810871/200442821-ec789c54-24e2-4340-a209-973b088ab770.mp4
Here is the text from my console.
/*
[16:05:00 ERROR]: Exception when TBYT attempted to tab complete whereis tby
org.bukkit.command.CommandException: Unhandled exception during tab completion for command '/whereis tby' in plugin WhereIs v2.1.4
at org.bukkit.command.PluginCommand.tabComplete(PluginCommand.java:150) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.Command.tabComplete(Command.java:93) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.SimpleCommandMap.tabComplete(SimpleCommandMap.java:240) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R1.CraftServer.tabCompleteCommand(CraftServer.java:2236) ~[paper-1.19.jar:git-Paper-81]
at org.bukkit.craftbukkit.v1_19_R1.CraftServer.tabComplete(CraftServer.java:2208) ~[paper-1.19.jar:git-Paper-81]
at org.bukkit.craftbukkit.v1_19_R1.command.BukkitCommandWrapper.getSuggestions(BukkitCommandWrapper.java:58) ~[paper-1.19.jar:git-Paper-81]
at com.mojang.brigadier.tree.ArgumentCommandNode.listSuggestions(ArgumentCommandNode.java:71) ~[brigadier-1.0.18.jar:git-Paper-81]
at com.mojang.brigadier.CommandDispatcher.getCompletionSuggestions(CommandDispatcher.java:601) ~[paper-1.19.jar:?]
at com.mojang.brigadier.CommandDispatcher.getCompletionSuggestions(CommandDispatcher.java:581) ~[paper-1.19.jar:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleCustomCommandSuggestions$5(ServerGamePacketListenerImpl.java:870) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.19.jar:git-Paper-81]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1359) ~[paper-1.19.jar:git-Paper-81]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:183) ~[paper-1.19.jar:git-Paper-81]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1336) ~[paper-1.19.jar:git-Paper-81]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1329) ~[paper-1.19.jar:git-Paper-81]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1307) ~[paper-1.19.jar:git-Paper-81]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1192) ~[paper-1.19.jar:git-Paper-81]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:303) ~[paper-1.19.jar:git-Paper-81]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "String.toLowerCase()" because "guess" is null
at me.varchar42.whereis.commands.WhereIs.onTabComplete(WhereIs.java:88) ~[Spigot-WhereIs-2.1.4.jar:?]
at org.bukkit.command.PluginCommand.tabComplete(PluginCommand.java:138) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
... 22 more
*/
Similar Output found here below.
https://www.spigotmc.org/threads/tabcompleter-error-for-multiple-arguments.399785/
Let me know if this is a Paper Server or Bukkit Error if this cannot be fixed on your end.
I'm running a Paper server on 1.19.0.

Currently 1.19 is not supported by the plugin. I am going to fix that in the coming few days.

I could not exactly replicate your issue, but users which username cannot be resolved will now get ignored by tabcomplete, instead of throwing an Exception.

Ok, i'll check out the new release and let you know.

I could not exactly replicate your issue, but users which username cannot be resolved will now get ignored by tabcomplete, instead of throwing an Exception.

The bug is fixed now. No more errors when tab completing on java edition.


Ability to Select Multiple Values

Hello,
Not sure if this qualifies as a PR, I had to do a little bit of refactoring.
The main gist of this PR is ability to select multiple values.

@logbon72 thank you for the PR! I will review this as soon as possible and get it merged, shooting for version 1.6.0 to have this feature.

Hey @logbon72 just finally getting around to merging this.  There are some things in here I want to update (e.g. merge conflicts, commented out code, etc.) so I will be making some changes to the code and re-submitting the PR.  Another things to avoid is we want to make sure to only commit src code and not dist code.  While I will be closing this PR and opening a new one you're name will still be listed as a contributor.  I am however going to remove the comment on the const file you made "Created by intelWorx on 17/11/2015." because we already have a set banner that appears at the top of every file.  Let me know if you have any questions.
Thanks.


drivers: pinmux: stm32h7: fix incorrect USART6 pin alternate functions

Fixed alternate function of PG9/PG14 for USART6 with respect to the datasheet (p98-p99 stm32h743zi.pdf mcu datasheet)
Must be AF7 instead of AF8.
Validated on STM32H743ZI:
Enables the USART6 to be used on D0/D1 pins of the Nucleo H743ZI board.
Signed-off-by: Jeremy LOCHE<EMAIL_ADDRESS>

@lochej Thanks for this contribution.
One comment though (but you don't need to modify anything):
In general, the rule is that people add their copyright only for major contribution on the file, which is not exactly the case here, but this will be the case with your ethernet driver proposal ;-).

@lochej Thanks for this contribution.
One comment though (but you don't need to modify anything):
In general, the rule is that people add their copyright only for major contribution on the file, which is not exactly the case here, but this will be the case with your ethernet driver proposal ;-).

You are absolutely right that sounds fair. I did this small PR get more familiar with the git contribution flow :) It's OK if my name doesn't show up in this file ^^

@lochej one more hint from me; you could just amend (commit --amend) the first patch and remove the copyright adding, so you don't have to do it and undo it in the following commit.

@lochej one more hint from me; you could just amend (commit --amend) the first patch and remove the copyright adding, so you don't have to do it and undo it in the following commit.

Thank you for your advice @ioannisg ! I have done the changes based on your recommendations. I'm still in the process of learning git and I'm getting more comfortable every day :smile:


Add .editorconfig and .clang-format files to help with consistent formatting by multiple contributors

From comment in #45.

Probably also want to run clang-format over the code to get a consistent baseline style once these have been added.

Commit bdd7ccc88d8fce7c4543d3c153df430b6dc789a9 adds initial versions of .editorconfig and .clang-format
These should most-closely mirror current style.
I'll apply clang-format to existing files after resolution for #45 has been merged to avoid unnecessary conflicts.


Environment tags syntax not valid

The Environment section describes the syntax as follows:
environment:                # create environment and/or record deployments
  name: string              # name of the environment to run this job on.
  resourceName: string      # name of the resource in the environment to record the deployments against
  resourceId: number        # resource identifier
  resourceType: string      # type of the resource you want to target. Supported types - virtualMachine, Kubernetes
  tags: string | [ string ] # tag names to filter the resources in the environment
strategy:                 # deployment strategy
  runOnce:                # default strategy
    deploy:
      steps:
      - script: echo Hello world

Noe the "tags" line defines either a single string or an array of strings as valid. However, when defining an array of strings in an actual pipeline, the following warning is received:
Incorrect type. Expected "string".
Is the documentation wrong or is it the YAML parser that needs to be updated?

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

ID: 7458d5b2-1bb7-7d87-7ce6-2b0c430b0155
Version Independent ID: edf5bbd3-a3f0-5426-e985-31290f8afd05
Content: YAML schema - Azure Pipelines
Content Source: docs/pipelines/yaml-schema.md
Product: devops
Technology: devops-cicd
GitHub Login: @steved0x
Microsoft Alias: sdanie

@steved0x Steve - Can you take a look at this? I looked at the article, but can't verify whether this is a parser issue or what.

I've encountered this as well. I'm getting the "A sequence was not expected", so the docs appear to be inconsistent with the actual behavior. That said, I would hope to able to use arrays of strings here in the future.


fix rmf_fleet_adapter cmake to be used by packages downstream

allows rmf_fleet_adapter::rmf_fleet_adapter to be used in cmake's target_include_directories and target_link_libraries

I'm not very familiar with these specific ament functions. Is ament_export_targets not sufficient for some reason? Other downstream packages (like rmf_fleet_adapter_python) seem to build against the imported rmf_fleet_adapter::rmf_fleet_adapter target without any problem. Are there some specific cmake configuration errors that you're getting without these ament function calls?

I'm not very familiar with these specific ament functions. Is ament_export_targets not sufficient for some reason? Other downstream packages (like rmf_fleet_adapter_python) seem to build against the imported rmf_fleet_adapter::rmf_fleet_adapter target without any problem. Are there some specific cmake configuration errors that you're getting without these ament function calls?

It seems that a couple of software updates to my system have been screwing up my builds, i tried building on my system without this PR and it works. So, I'll close it this PR

It seems that a couple of software updates to my system have been screwing up my builds, i tried building on my system without this PR and it works. So, I'll close it this PR


Introduce a merge operation for joining two records.

We have the following possibilities:

Expose disjoint fields in the joined record and leave common fields in nested records:

  r = Rec {
    def r1 = Rec { def y = 2; };
    def r2 = Rec { def y = 3; };
    def x = 1;
    def z = 4;
  }

If somebody tries to access r.y we can generate a compile time error message that says look in r2 r3.

Just leave two nested records (Slick does something similar):

  r = Rec {
    def r1 = Rec { def x = 1; def y = 2; };
    def r2 = Rec { def y = 3; def z = 4; };
  }

Here we could also have an error message if somebody misses a field.

Leave both nested records and provide disjoint fields in the joined record:

  r = Rec {
    def r1 = Rec { def x = 1; def y = 2; };
    def r2 = Rec { def y = 3; def z = 4; };
    def x = 1;
    def z = 4;
  }

Here is what I am imagining for cvogt/records: https://github.com/cvogt/records/issues/2

Crossposting @cvogt's comment from #119:
so one feature I have in compossible is merging of records
val r_a: Record[{def name: String; def age: Int}] = Record(name="Chris") ++ Record(age=99)

this becomes a problem when field names overlap
val r_b: Record[{def age: Long; def age: Int}] = Record(age=101L) ++ Record(age=99)

which is a valid Scala type. Preventing these cases when implementing ++ as a macro isn't really viable, if this use case should be supported:
def merge[T,S](r1: Record[T], r2: Record[S]): Record[T with S] = r1 ++ r2

because here ++ can't know if T and S have name clashes. We can't statically check during lookup either:
def lookup[T](r: Record[T with {def age: Int}]) = r.age
lookup(merge(r_b))

we can't know if T contains another def age.
So how should we handle that?
One idea would be not only looking up values by field name, but also by type after that. But TypeTags are expensive and do not have referential equality. The latter may not be a problem. Using Fully Qualified names instead would break with path dependent types.
And how should we handle upcasting in this case?
val r: Record[{def age: Any}] = Record(age=101L) ++ Record(age=99)
r.age

I don't have good answers to these. The best course of action to me right now seems to be deciding on the "best" out of the bad potential behaviors we can think of and well document these.
For example
Alternative 1 (sound, but probably impractical):

allow overloaded fields and use type tags of the expected return types to find which value to return in case of an overload (not sure using the expected return type actually works well for this)
live with the performance hit

Alternative 2 (unsound):

do not use type tags, but something lighter but do the same kind of lookup, e.g. fully qualified names of types and all super types to allow lookup
live with it being broken for path dependent types

Alternative 3 (sound(?), but runtime exceptions in cases that would pass in 2, but also cases that would be just wrong in 2):

always fail for overloaded names at compile times when we can and at runtime when we weren't able to find them at compile time, even if Alternative 2 would have worked in that case
live with runtime exceptions, but at least fail as early as we can

Any better suggestions? Any preferences? I have a slight tendency towards 3. Pushing people to avoid name clashes altogether and fail early and clearly even if at runtime seems better than making them work almost always. If we ever get faster type tags e.g. using scala meta (cc @xeno-by) we may be able to switch to Alternative 1.

I think we definitely should not allow multiple fields with the same name (and different types).
IMO merging the record should have one of the following resolution strategies based on the static type:

Take first
Fail

I actually propose that we make two different methods to do that (and in the scala-records project, the method would also probably have to be external).
This has a couple of implications:

The merge method probably has to be a whitebox macro
"Refined record types" (Rec[{ def a: Int } with T]) are not allowed in merge. At a later point, we might introduce judgments that would allow merging a record like that, but that is definitely a second step.

@gzm0
So what "strategy" do you suggest for println(r.age), i.e. member access, "Fail"? What could the api for "Take first" look like?
Why whitebox? Blackbox seems enough to me.
Is disallowing to use ++ on generic records Record[T] a reasonable limitation? Seems like a pretty big limitation to me. We would basically disallow generics for merging records.

I suggest the strategy to be part of the merge, not of the access.
The apis could be as follows:
val x = Rec(a = "foo")
val y = Rec(a = 1)

merge(x, y) // fail, `a` defined twice
mergeFirst(x, y): Rec[ { def a: String } ]

Why whitebox? Blackbox seems enough to me.

Indeed, Blackbox can be enough, depending on the exact semantics. In terms of the names above, merge can be implemented as Blackbox (and potentially fail):
def merge[T, U](x: Rec[T], y: Rec[U]): Rec[T with U]

However (as you pointed out in your post), if we pick the first field, we need to strip a member away, so the macro cannot be Blackbox.

Is disallowing to use ++ on generic records Record[T] a reasonable limitation?

Yes, it is. The goal of records is to have static typing judgments about the available fields and their types on a given member. If such a judgment cannot be made, no record should be created.

What does merge mean? In TypeScript there is type intersection, and it happily intersects even incompatible types (Auto completion of Atom-typescript list in the example pic):

One just can't use incompatible type merges e.g. string & number them in TypeScript, except setting as undefined. I don't think this issue of one or the either, because there could be another operator that merges incompatible types using Either, depending on the use-case it might be more convenient.

The difference here, is the we are merging values (and types). So a simple example would be:
val x = Rec(a = 1)
val y = Rec(b = "foo")
val z = merge(a, b)
z: Rec[{ def a: Int, def b: String }] = Rec(a = 1, b = "foo")

So a merge must have an actual value as a result (or fail, optimally at compile time). On the other hand, an having an ussatisfiable intersection type is fine since any assignment would fail (in Scala, you can write Int with String if it makes you happy).

Yes you are right, though I think I diluted my own point with the TS example. My only point was that there are more than one way to merge, e.g. when it hits incompatible types it wraps the types (and the values) in Either.

@gzm0 alright, let's go with disallowing merges on abstract types. Not sure we get away with it forever but we might and we can always loosen the screws later.
Also, how about instead of having a whitebox mergeFirst, we have only a blackbox merge and a whitebox "remove field operator". Those two subsume mergeFirst. E.g.
val r: Record[{def age: Long; ...}] = Record(age=99L, ...) ++ (Record(age=99, ...).remove(_.age))

(remove syntax only as an example of course)

Yes, that seems reasonable. The nice thing is, we don't even need the remove field as of now, since it can be done with an upcast (of course having appropriate projections is better, but we don't need them immediately).

I think failing is not a good idea.  It can lead to long lines of useless code.
Why wouldn't we do what SQL does: i) when there is a conflict you can access it by explicitly saying do you want left or right version or, ii) simply use Either for all conflicts on the field level. The base record has all non-conflicted things.
For the sake of type errors I would go with Either.

@vjovanov That's a good way to look at it. I am warming up to the idea of Either. What bugs me though is that I think a blackbox macro may be more important than "Either merging behavior" for the majority of people. I think we should definitely have a blackbox merge that is as good as possible and then we can have a different one that does the either variant. WDYT?
I am using ++ as the blackbox merge operator in compossible, because shapeless uses that. I have & as well, but warmed up to ++ in preparation to my scala days talk. Not sure what shapeless does in case of conflicts. We may want to follow shapeless' naming choices. Maybe +++ could be the other operator.
BTW, what are you planning to do for merging twice. Either[Either[],] or Either[,Either[]] or something else?

Having both a blackbox and a whitebox version of the operator would be good for the library. Not sure about Either[Either[,],] it is pretty inconvenient. Maybe a tuple or an HList would fit nicer into the picture ,or even nested records.


Running odo dev with persistent volume on IBM Cloud Kubernetes

/kind bug
What versions of software are you using?

IBM Cloud VPC Kubernetes v1.23.14
Add-ons: Block Storage for VPC v4.4

How did you run odo exactly?
$ odo preference set ephemeral false
$ odo init --name nodejs --devfile nodejs --devfile-registry DefaultDevfileRegistry --starter nodejs-starter
$ odo dev
[...]
 ◐  Syncing files into the container ✗  Command 'tar xf - -C /projects --no-same-owner' in container failed.

 ✗  stdout:

 ✗  stderr: tar: README.md: Cannot open: Permission denied
tar: package-lock.json: Cannot open: Permission denied
tar: LICENSE: Cannot open: Permission denied
tar: test: Cannot mkdir: Permission denied
tar: test/test.js: Cannot open: No such file or directory
tar: package.json: Cannot open: Permission denied
tar: server.js: Cannot open: Permission denied
tar: .gitignore: Cannot open: Permission denied
tar: devfile.yaml: Cannot open: Permission denied
tar: Exiting with failure status due to previous errors

Any logs, error output, etc?
$ kubectl exec -it deploy/nodejs-app bash

$ id
uid=1001(default) gid=0(root) groups=0(root)

$ ls -la /projects/
total 24
drwxr-xr-x 3 root root  4096 Nov 29 08:34 .
drwxr-xr-x 1 root root  4096 Nov 29 08:34 ..
drwx------ 2 root root 16384 Nov 29 08:34 lost+found

$ touch /projects/a
touch: cannot touch '/projects/a': Permission denied

No problem on OpenShift
The problem does not happen on an OpenShift cluster, as the group of the directoy of the mounted volume is the user's group:
$ ls -al
total 28
drwxrwsr-x. 3 root<PHONE_NUMBER>  4096 Nov 29 08:22 .
drwxr-xr-x. 1 root       root        4096 Nov 29 08:22 ..
-rw-rw-rw-. 1<PHONE_NUMBER><PHONE_NUMBER>     0 Nov 29 08:22 a
drwxrws---. 2 root<PHONE_NUMBER> 16384 Nov 29 08:22 lost+found
bash-4.4$ id
uid=1000630000(1000630000) gid=0(root) groups=0(root),1000630000

/close
The test cases pass.


Any solution for JQuery problem

Hi Guys,
This very very cool library and one of best I ever seen but it can't still work it out. I tried serval thing but every time it shows me Uncaught ReferenceError: jQuery is not defined     at semantic.min.js:11. ( Ahhh :worried:). Can some one suggest a solution for this issue.
I'm using this on electron app with angular. I have tried CDN and build up process even. Every time it gives the same error.
Thank you,
Regrads,
DELOCKDOWN.

You need to reference the jQuery script tag before referencing the Semantic-UI script tag in your header HTML file.
For example, assuming you're using the CDN for both, the correct order should be:

You can also check out: http://stackoverflow.com/questions/30281258/how-to-use-semantic-ui-cdn
Let me know if it works!
Cheers

Yes, I did that but it shows something like this and no didn't work this solution, still stuck on there

@delockdown do you combine your JavaScript into one file? How do you include all those JavaScript files on your pages?

@Banandrew, perviously i did that. Then I refer the comment of @jihoon-oh and did that, even that solution didn't work for me.
Check this codepen, it has simple dropdown. It is not working at all.
Regards,
DELOCKDOWN.

In the codepen, you didn't include the following in your JS:
$('.ui.dropdown')
  .dropdown()
;

Took me a while to figure out what was wrong too, but realized there is a tutorial on how to use the dropdown menu in the "usage" tab.
Here is the exact same codepen, except now with the proper JavaScript code written in.

@delockdown Excuse me, you did what? You didn’t answer any of my questions.

if you got the Uncaught ReferenceError:  jQuery is not defined at semantic.min.js:11 error again in the console, first and the only thing you should to do is put jQuery link load before the SemanticUI link load.
in first load the jQuery and then load the SemanticUI.be consider about the orders.
Wrong way
<script src="your_path/semantic.min.js" type="text/javascript"></script>
<script src="your_path/jquery.min.js" type="text/javascript"></script>

Correct way

Same problem for Angular 6. Is there any solution like ng-bootstrap??

Possible fix for that
<script>
  const jQuery = require('jquery')
  const $ = jQuery
  require('./semantic/semantic.min.js')
</script>


unrecognised option 'wallet-dir'

wulideMac-mini:Docker wuli$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
wulideMac-mini:Docker wuli$ docker run --name nodeos -p 8888:8888 -p 9876:9876 -t eosio/eos nodeosd.sh arg1 arg2
2018-09-19T09:28:37.390 thread-0   main.cpp:136                  main                 ] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorboost::program_options::unknown_option >
std::exception::what: unrecognised option 'wallet-dir'

you should remove it in config.ini.
This is the update of 1.3.0.
Unknown configuration items in config.ini will now error on startup (#5678)
Prior to 1.3.0 unknown configuration items in config.ini would be silently ignored. This behavior has been changed in 1.3.0 to an error that prevents startup of nodeos. Users with old auto-generated config.ini files may need to remove some options that are no longer available in nodeos for example wallet-dir or unlock-timeout

you should remove it in config.ini.
This is the update of 1.3.0.
Unknown configuration items in config.ini will now error on startup (#5678)
Prior to 1.3.0 unknown configuration items in config.ini would be silently ignored. This behavior has been changed in 1.3.0 to an error that prevents startup of nodeos. Users with old auto-generated config.ini files may need to remove some options that are no longer available in nodeos for example wallet-diror unlock-timeout

wulideMac-mini:eos wuli$ nodeos -v
v1.2.5
wulideMac-mini:eos wuli$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
wulideMac-mini:eos wuli$ docker run --name nodeos -p 8888:8888 -p 9876:9876 -t eosio/eos nodeosd.sh -e --http-alias=nodeos:8888 --http-alias=<IP_ADDRESS>:8888 --http-alias=localhost:8888 arg1 arg2
2018-09-19T11:42:19.386 thread-0   main.cpp:136                  main                 ] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorboost::program_options::unknown_option >
std::exception::what: unrecognised option 'wallet-dir'

Try docker run --name nodeos -v.

Same here:
>docker run --name nodeos -p 9999:9999 -p 9876:9876 -t eosio/eos nodeosd.sh -e --http-alias=nodeos:9999 --http-alias=<IP_ADDRESS>:9999 --http-alias=localhost:999
9
2018-09-21T19:51:13.641 thread-0   main.cpp:136                  main                 ] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::unknown_option> >
std::exception::what: unrecognised option 'wallet-dir'

If the info aren't correct in https://github.com/EOSIO/eos/tree/master/Docker, please fix it.

Then EOSIO/eos image should be fixed at https://hub.docker.com/r/eosio/eos/ as I'm using the latest one.

Same error here @jgiszczak
As @kenorb pointed, the docker container is what gets built at the README he mentioned.
Basically I followed the same instructions and got the same error. I have not specified any options in config.ini too.
After reading this here, I went into the config.ini and commented out the line as:
# wallet-dir = "."
That did not fix. Then I went into these:
docker-compose-latest.yml
docker-compose.yml
and removed
--wallet-dir options from there as well.
After all these changes, I removed docker container and docker images and rebuilt the container from scratch (takes some time on an i5 laptop tbh).
Still running into the same issue.

Same as @leventatbjss .

Same issue

same issue

Same issue

Same issue

remove 'wallet-dir = "."' from https://github.com/EOSIO/eos/blob/master/Docker/config.ini
FROM eosio/eos
COPY config.ini /

docker build .
it's work.

@liguobao Hi, how to remove 'wallet-dir = "."' from foreign github?) Or how ot force docker to build from local repository?

@jgiszczak Why can't you re-open this issue, if so many people have the same problem?

@kenorb Reopening until the next release.  Fixed in the repo by #6021 and #5988.

In case anyone else runs into this and needs a fix without building the whole image.
After an unsuccessful run ending with:
std::exception::what: unrecognised option 'wallet-dir'
Do:
docker cp nodeos:/opt/eosio/bin/data-dir/config.ini .
vi config.ini - COMMENT OUT wallet-dir or unlock-timeout
docker cp config.ini nodeos:/opt/eosio/bin/data-dir/config.ini

#6021 is merged so this issue should be fixed


Help in setting up a filter config

Expected Behavior
Hi, sorry to open an issue even if this is more a request for help, I don't think it's an actual bug.
I have a website with many feeds like this: https://www.ilfoglio.it/economia/rss.xml
I want to create a filter in feediron to discard articles when the linked articles contains the words "abbonati per" in the contents.
Current Behavior
Using the following config, I get no syntax error but both the test and the actual feeds are still displaying articles I want to omit:
{
    "ilfoglio.it": {
        "filtering": {
            "rules": "xpath",
            "rule": {
                "match": "(.\/\/link)[contains(., 'abbonati per')]",
                "action": "omit"
            }
        }
    }
}

Steps to Reproduce
Insert the config in feediron plugin.
Context

Operating System: TTRSS running in docker, latest version

Your config isn't a valid config, the syntax check is extremely simple and only verifies you have entered valid json. Feediron fetches the article full-text and formats it. It has no ability to perform any actions like dropping an article.
That said as part of the full-text process you could set an article tag and then use the TT-RSS content filters (preferences -> Filters Tab) to drop that tag.
A rough example:
{
  "type": "xpath",
  "xpath": [
    "section[@class='article'"
  ],
  "tags": {
    "type": "xpath",
    "replace-tags": false,
    "xpath": [
      "p[contains(text(),'abbonati per']"
    ]
  }
}

Thanks for the feedback. I read the documentation and your reply. Can I use the tags with the Readability type? Because without using Readability I'm not able to intercept the contents of the article.
I'm trying with this:
{     "ilfoglio.it": {         "type": "readability",         "tags": {             "type": "search",             "pattern": [                 "\/abbonati\/"             ],             "match": [                 "!paywall"             ]         }     } }
I don't know why it works only using the "!" match. Using this config it tags the article Paywall even if the word "abbonati" is in the result section of the testing page. If I use "paywall" instead of "!paywall" the test does not run.
Thanks!

Great to see you got it working, hope that all works out for you.


Hyundai Kona Hybrid 2020 use torque controller

Add torque tune for Kona Hybrid 2020, it's actually Best ( max_lat_accel 4.4, Friction 0.01 )
Add torque controller tune in " interface.py "
dongle id : 9a3aa85e86f9c3fc
route id : 9a3aa85e86f9c3fc|2022-06-03--12-58-55

We already have a PR for you car here: https://github.com/commaai/openpilot/pull/24707

We already have a PR for you car here: https://github.com/commaai/openpilot/pull/24707

Thank You ~~~
Windows용 메일https://go.microsoft.com/fwlink/?LinkId=550986에서 발송된 메일입니다.
보낸 사람: Shane @.>
보낸 날짜: 2022년 6월 3일 금요일 오후 3:50
받는 사람: @.>
참조: @.>; @.>
제목: Re: [commaai/openpilot] Hyundai Kona Hybrid 2020 use torque controller (PR #24728)
We already have a PR for you car here: #24707https://github.com/commaai/openpilot/pull/24707
—
Reply to this email directly, view it on GitHubhttps://github.com/commaai/openpilot/pull/24728#issuecomment-1145644646, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AU7VKPDC36HFQ4RW5OW34ELVNGTLTANCNFSM5XXNXUKA.
You are receiving this because you authored the thread.Message ID: @.***>


Added OvApi.nl

OvAPI is a collection of a lot of Dutch public transportation APIs in the GTFS format.

This contains two additions?

No. I edited the description of the ns.nl API. NS is the Dutch national railways, and "Transport for The Netherlands" did not seem appropriate to me, for an api that only provides info for trains,

Could you make those changed in individual commits please, rebasing them onto the current master.

Yeah need to fix merge conflicts before we can merge, thanks!

Closing


Update package in npmjs

After latest release many PR's has been merged. It's fix many problems and i think it's time for (pre-, beta-, alpha-, as-you-want-) release.

Please create a new release @huttarichard :+1:


Add external-dns to snail/sample-customer EKS cluster

Signed-off-by: Matias Charriere<EMAIL_ADDRESS>Some hints on changes to this repository
Public information only
This is a public repository. The content and commit history is visible to everyone.
Do not provide any customer-specific details. Use the customer's repository for that.
Descriptive PR title
Please write a descriptive pull request title. In this repo we don't maintain a changelog file, so the PR title (becoming the commit message after squash-merge) is the main information to understand a change in retrospect.

Towards https://github.com/giantswarm/roadmap/issues/2671


router don't swallow RESET action if it's not for itself, thus childR…

…outers will have chance to react to RESET action
(eg: stack inside stack, stack inside tab)
add StackActions.RESET to SwitchRouter's childrenUpdateWithoutSwitchingIndex whitelist
Works in my use case(with key provided, only reset the corresponding stack).
Ignore if this is useless.

Thanks for the PR. Can you rebase and fix the tests?

Thx for reply, sorry I don't have too much time to work on this recently. You

Okay. I'm closing the PR then. If someone wants to pick it up and send a new PR, feel free.


Script path

Hi! Fantastic walkthrough! Noticed that the path listed above might be off? The .js files live here: https://github.com/Azure-Samples/azure-iot-samples-node/tree/master/iot-hub/Tutorials/ConnectivityTests rather than the iot-hub\Tutorials\ConnectivityTests\simulated-device folder. Got confused for a moment then realize I had all the scripts already. Thanks!

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

ID: 25e0932f-9b86-d0bd-a297-5941214e3190
Version Independent ID: f7df034f-745e-cc49-755b-bf8836eb1844
Content: Check device connectivity to Azure IoT Hub
Content Source: articles/iot-hub/tutorial-connectivity.md
Service: iot-hub
GitHub Login: @dominicbetts
Microsoft Alias: dobett

@KingdomOfEnds Thanks for the feedback! We are currently investigating and will update you shortly.

@KingdomOfEnds  I am not sure if I am understanding the report. I downloaded the code, navigated to the path iot-hub\Tutorials\ConnectivityTests\simulated-device  and I found the simulatedDevice files

@Alberto-Vega-MSFT - Great thanks for the quick turn around. Shouldn't the path be iot-hub\Tutorials\ConnectivityTests\? I didn't see a folder named simulated-device. I had to switch from my terminal and hunt through my downloaded files to see why my command wasn't working. I also used ls in the \ConnectivityTests\ folder.
Each file should have the path?

iot-hub\Tutorials\ConnectivityTests\SimulatedDevice-1.js
iot-hub\Tutorials\ConnectivityTests\SimulatedDevice-2.js
iot-hub\Tutorials\ConnectivityTests\SimulatedDevice-3.js

@Alberto-Vega-MSFT - Went ahead and created a small PR to correct that thanks!

@KingdomOfEnds PR Merged. Thanks again for your contribution


async channel does not compile for me.

I have a rust program using gtk4. My cargo file is the following:
[package]
name = "mycode"
version = "0.1.0"
edition = "2024"
[dependencies]
async-channel = "2.3.0"
gtk4 = { version = "0.8.1", features = ["v4_6"] }
pollster = "0.3.0"
reqwest = { version = "0.12.2", features = ["blocking"] }
rfd = "0.14.1"
serde = "1.0.197"
serde_json = "1.0.115"
yup-oauth2 = "8.3.3"
And I get the following error.
cargo build
Compiling async-channel v2.3.0
error[E0432]: unresolved import concurrent_queue::ForcePushError
--> /home/vania/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-channel-2.3.0/src/lib.rs:50:41
|
50 | ...rentQueue, ForcePushError, PopError, PushError};
|               ^^^^^^^^^^^^^^ no ForcePushError in the root
error[E0599]: no method named force_push found for struct ConcurrentQueue in the current scope
--> /home/vania/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-channel-2.3.0/src/lib.rs:313:34
|
313 |         match self.channel.queue.force_push(msg) {
|                                  ^^^^^^^^^^ method not found in ConcurrentQueue<T>
Is it a version problem ??

Duplicate of #92


Implementing "Someone is typing...." functionality

I have ported the web version of the friendlychat example into the angular 4 suite. You can see mine live over here and it's appears to be working okay... I shall publish it opensource shortly.
Now I want to implement a feature that is such that when a User A starts typing then in realtime, user B should see a "User A is typing...." message. And when User A stops typing the message should disappear. Obviously, User A shouldn't see the message if he himself is typing.
I am considering just having an object in the db like so:
{
"isTyping":true,
"fromDeviceToken": "xxxx"
}

... and then just altering the isTyping field using firebase realtime.
Any better ideas about how can I achieve this? Any comments/improvements?
Can a Firebase Cloud pub/sub trigger be used to do this without persisting the typing state in the db?
If so, how?

Note: This question was also posted on Stack Overflow to get variety of ideas

Hi @somombo, I think persisting the state of the conversation and updating it in realtime is a good use of Firebase Realtime Database. You have an open connection to the database so use it. You could use Pub/Sub or FCM to accomplish this but given the small footprint this will have on the DB I'd think that would be a good solution.

Hi  @kroikie and @somombo , Can you please let me know how can I implement the" is typing " in ionic3 and Angular Firebase please?


Use Vault-supported official auth libraries

Right now, we maintain code for a bunch of different auth providers.
It looks like some of those providers may be available under Vault itself: https://github.com/hashicorp/vault/tree/main/api/auth
Investigate if we can use those libraries to replace some of our code with officially maintained versions.
This might also be interesting: https://github.com/hashicorp/go-secure-stdlib/tree/main/awsutil

The packages under vault/api/auth could be useful indeed! Right now we are putting together a map with login data for each of the auth methods, and then we acquire the api secret by manually doing a write operation on the respective auth methods /login path. With this lib, the whole operation could be simplified by creating an *Auth object with some options and call Login() on them, so we don't use the provider's SDKs, or packages directly.

The latest Vault API includes auth libraries and the current changes will be based on using these auth APIs instead of our own

todo @ramizpolic: check how we can use "temporary docker images" for tests from PRs

Meeting notes
TODO

Test against as many providers as possible (including Azure/GCP/AWS) with different authentication options

Notes

Get access to other environments (GCP + AWS) to test against


RuntimeError: Not enough memory

Hi Team,
I am getting RuntimeError: Not enough memory when my max_corpus_size  = 2595491.
Could you please let me know if any solution for this.
Thanks,
Siva Raghuram Susarla.

Hi @Raghuram1656,
It seems there is not enough RAM on the machine. Can you check how much do you have?

Thank you. I tried on Big memory machine and problem solved.


Preparation for the new Baeldung piece.

As per commits, added:

option to use MongoDB for projection with the mongo profile.
added scatter-gather and subscription query
added tests

Closing this as the changes have been made. Opening the pr to Baeldung.


hattip exposes no types

Problem
Hattip exposes no types.

Suggestion
Ship declaration files with the npm package.

If you, for example, only use the Express.js adapter, then we don't want to force you to download all the other adapters you don't need:

🧩 Modular: Use as much or as little as you need.

Many users care about the size of node_modules.

And, actually, I'm thinking the following would be satisfactory to everyone.
Most users:
// package.json

{
  "dependencies": {
    "@hattip/vite": "1.0.0",
    "@hattip/vercel": "1.0.0",
    "hattip": "1.0.0"
  }
}

If @hattip/vite isn't present then:

$ hattip displays an error:

No development server availble. Make sure to install a development server provider, such as @hattip/vite.

$ hattip preview displays an error:

No preview server availble. Make sure to install a preview server provider, such as @hattip/vite.

For hardcore users (vast minority):
// package.json

{
  "dependencies": {
    "@hattip/vite": "1.0.0",
    "@hattip/vercel": "1.0.0",
    "@hattip/cli": "1.0.0",
    "@hattip/router": "1.0.0",
    "// All other utils included by package `hattip`": "",
    " ... ": ""
  }
}

@samuelstroschein this means that hattip will represent 99% of HatTip's usage.
I'd argue the 1% hit is very well worth it for the extra HatTip "coolness". (Hardcore folks tend to like this kind of things :grinning:.)

I recommend reading our discussion https://github.com/inlang/inlang/pull/460#discussion_r1143781116.
We had similar arguments. At the end of the day adoption > perfection. If NPM downloads are a guiding force, separating hattip early into multiple NPM packages likely hurts adoption more than it benefits. Sites like https://www.libhunt.com/, https://npmtrends.com/, and Google respectively will rank hattip higher.

🧩 Modular: Use as much or as little as you need.

I don't relate modularity with npm package size. Modularity = I can import hattip/vercel if desired.

Many users care about the size of node_modules.

The adapters are all <100 lines of code. Neglactable size implications. Even if true I assume npm downloads > size of node_modules

The size of adapters may very well increase, e.g. full-fledged Vercel deployments, such as ISR, require deep and complex integration. See vite-plugin-vercel.
Plus, and even more importantly, many/most users will assume that adapters are "big". E.g. many users will think "OMG HatTip includes all adapters even though I only need the Express.js adapter. That's ugly!".
As for npm downloads, I believe my previous reply addresses your concerns.

Btw. I do think you've a good point with npm downloads being important, and you're right to shift our attention to that issue. I admit that I underestimated/neglected that part. Thanks!
I'm hopeful our plan for the npm package hattip addresses the issue; I think 1% is ok.

What are the benefits of creating another package that re-exports other packages?

The benefit is that the other packages are useful in their own right, outside of HatTip:

Auth.js uses @hattip/adapter-node in some of their integrations
Marko.js uses @hattip/bundler-netlify in Marko Run's Netlify adapter
A few people use @hattip/bundler-deno to deploy Node apps to Deno Deploy

I expect these cases to increase with time and I don't think they would chose these packages if they only existed as part of a largish monolithic framework.

It seems to me that you could just ship hattip with hattpi/cli, hattip/adapter/node, hattip/adapter/vercel etc.

Yes, this is more or less what we intend to do once we get there.


Unable to Decrypt Notes in NoteStore.sqlite with Known Password

Hello,
I have the NoteStore.sqlite file containing encrypted Apple Notes data, and I know the password used for encryption. However, I am unable to decrypt the notes using the tools or instructions in this repository.
So far, I have not used any of the code provided in this repository, as I am unsure how to proceed with decrypting the data. I see in the README that the program mentions decrypting notes if the password is known, but I am unsure if this applies to my situation or if I am missing a specific step or script.
Could you help clarify the following?
Is there a specific method or script in this repository to decrypt notes in NoteStore.sqlite when the password is known?
Are there any particular requirements or steps that I need to follow to decrypt the data (e.g., handling device passcodes or other encryption mechanisms)?
Is the decryption process supported for encrypted Apple Notes in NoteStore.sqlite files?
I would appreciate any guidance or instructions on how to use the code to decrypt my notes.
Thank you!

Hello! If you haven't yet run this program, I'd recommend reading the Password (-w | --password-file FILE option) portion of the README. That will explain how to feed in the known password. If you have run it and provided the password, I'd ask if this is from a recent version of notes using the device passcode, instead of a straight password.
I hope this helps!

Thank you for your reply. I have a follow-up question regarding the use of the decryption command.
I would like to know if the command ruby notes_cloud_ripper.rb -m /Users/Logitech/Library/Group Containers/group.com.apple.notes/ -w passwords.txt works for backups that were retrieved and decrypted using the command ruby notes_cloud_ripper.rb -i /home/user/phone_rips/iphone/[deviceid]/ for iTunes backups made on Windows.
Does the decryption process apply to both types of backups, or is it limited to those created on Mac?
I appreciate your help and look forward to your response!

Thanks for asking. The -w switch works for any of the backup types. The decryption here is just for the contents of the notes, if you are making encrypted iTunes backups, that is not yet supported (i.e. you'd need to use another program to decrypt the iTunes encrypted backup). Just make sure your iTunes backup doesn't have a password specified (or, if you are uncomfortable with that, take the backup off your Mac).

Okay, great—thank you for the clarification. Then I’m not sure if I might be doing something wrong because these are the steps I’m following, and they seem correct to me:

I create backups using iTunes on Windows 11, ensuring that I don’t encrypt them.
I use the command notes_cloud_ripper.rb -i, and it works properly, allowing me to retrieve the notes. However, the encrypted notes aren’t decrypted.
To handle this, I tried using the command notes_cloud_ripper.rb -m with the password I retrieved using Hashcat (and which I already remembered was correct). Despite this, I get the following error in the debug_log:
kotlin
D, [2024-12-28T15:10:04.688932 #7372] DEBUG -- : User asserted this is a MAC_BACKUP
After that, the process stops without providing any new output or results.

I’m unsure if I’m missing something or if there’s another issue. Could you let me know if these steps are correct or if I’m making a mistake somewhere?
But at this point, it's only curiosity to make it work because I retrieved the decrypted notes from the old broken phone. I would just like to help you make it work or assist in finding new bugs or clarifications on its usage. :)

Thanks for the follow-up. To answer your questions:

Sounds about right, although I don't have a Windows 11 VM to duplicate.
This should be correct. But what version iOS is this from? That would be behavior I'd expect (ish) if it was iOS 16 or newer and used the device passcode, vice a password, or if the password was wrong (which doesn't sound like it is the case based on your next point).

One way to tell that is if the ZCRYPTOITERATIONCOUNT column for the note is set to 0. This sqlite command would help you confirm if notes are using the device passcode, is your particular note listed in here?:
SELECT ZICCLOUDSYNCINGOBJECT.Z_PK,
  ZICCLOUDSYNCINGOBJECT.ZCRYPTOSALT,
  ZICCLOUDSYNCINGOBJECT.ZCRYPTOITERATIONCOUNT
FROM ZICCLOUDSYNCINGOBJECT
WHERE ZICCLOUDSYNCINGOBJECT.ZISPASSWORDPROTECTED=1 AND ZICCLOUDSYNCINGOBJECT.ZCRYPTOITERATIONCOUNT=0;

-m was the wrong switch to use here, it should still be -i. An iTunes backup won't validate as a Mac backup because all the files are hashed.

As a side note, you can now use an encrypted iTunes backup using the same -i if you don't want to have the data sitting around unencrypted. Check out version 0.22.


Ghost and Medium on SEO | Open Discussion

tl;dr: In Summary
The short version? Ghost is better for serious publishing. Medium is better for when you just want to write and don't care about the rest (SEO).
Ghost is best if…

You care about exclusive ownership and control over your content
Building a blog to benefit your own business is important to you
You want to use design which you choose, not someone else

Medium may be a better choice when…

Extra advanced functionality beyond basic publishing is not needed
You don't want to worry about promoting your blog at all

You can also publish to your Ghost blog and then syndicate it to Medium as a distribution mechanism. Ghost is currently working on making this even easier!
Ghost is an independent non-profit organisation.

We build publishing tools for modern journalism & blogging because we believe freedom of speech is important. Our software is released under a free open source license, our business model is completely transparent, and our legal structure means that 100% of the money we make is reinvested into making Ghost better.

We’re building a socially responsible, sustainable business which empowers people to share important stories and ideas. We’re in this for the long haul.

Source:
https://ghost.org/vs/medium/

My Opinion and Proposed Plan:

This is not an either or question. We should maintain our own blog on Ghost to keep the benefits of SEO and control (e.g. email capture), but also syndicate / repost to Medium to take advantage of their inbuilt distribution.

I am working on the best method for the automation of content syndication through Medium's and Ghost's API's. Buffer may be an option as long as it doesn't negatively affect SEO. Content is King! Remember to own your content by using the TLD (top level domain) as the primary author according to Google.

Note:
Ghost (and it's database) can be setup through Docker Compose, or we can just use Digital Ocean's prebuilt image and point the A record in our DNS.
Research and Recommended Reading:

https://themeisle.com/blog/wordpress-vs-ghost-vs-medium/
https://growthhackers.com/questions/ask-gh-would-you-move-your-company-blog-to-medium#comment-42912
https://blog.ghost.org/content-syndication/
http://www.canirank.com/blog/should-i-use-medium-as-my-blog/

Update:
Implementation recommendation based on current infrastructure movements:
https://github.com/OperationCode/operationcode_infra/issues/27

Thank you so much for the input!  After discussing with the other maintainers, we are not doing this at this time.


Legacy examples in @ts-rest/nest Docs

Some of the examples in the 🆕 @ts-rest/nest Configuration docs use the legacy @TsRest() decorator instead of @TsRestHandler().
I'm happy to go through and update them if they should, in fact, be @TsRestHandler().
An example from the docs:
import { TsRest } from '@ts-rest/nest';

@Controller()
- @TsRest({ jsonQuery: true })
+ @TsRestHandler({ jsonQuery: true })
export class MyController {}

🤦♂ Should've read more carefully.  Now I see there's a difference between the two.


Implemented HomePage - InputBoundry, InputData, Interactor, OutputBoundry, Outputdata, Controller, Presenter

Implemented HomePage - InputBoundry, InputData, Interactor, OutputBoundry, Outputdata, Controller, Presenter

Looks great Tanaya! All is in line with CA and thanks for including all the Javadocs too.

Nice work with aligning the requirements of CA, and including javadocs for relevant codes


chore: Convert web components to use Stencil

Extraterm is internally organised around the Web Components. Big complex chunks of the UI are isolated as Web Components. Also, some smaller more reusable components have been made for things like pop up dialogs and pop up menus. These smaller components are hand-made web components built on top of the browser APIs and using TypeScript. They contain a fair amount of boiler plate and are fairly crude in places.
(Stencil)[https://stenciljs.com/] is a kind of compiler and library for making web components. It is not a big framework, but it provides an extra layer of functionality and support on top of web APIs, all without making demands of the whole application architecture. Its most interesting features are Virtual DOM, Reactive data-binding, TypeScript and JSX.
Currently Stencil is very young and not ready for use inside Extraterm yet, but it is moving along quickly and seems to be a perfect upgrade path for how the components are being done now.

Instead of doing this I've implemented a small set of useful decorators for making web components. Stencil's workflow and requirements were a bad fit for Electron and this application.


Adds detailed code explanation to the SimpleTilemap sample

Adds detailed code explanation for beginners to the SimpleTilemap sample.

Thank you - as a beginner I found these comments really useful to help my understanding of tilemaps. I would love to see them merged.

I'm glad I could help two people out. (:

Not merge able because the samples are a technical demonstration and not learning material.


Search for short url record(s) by Alias attribute

Describe the solution you'd like
A search functionality that will return records by alias attributre and display them in the frontend table.
Alias doesn't have to be exact match in order to return records.
Functionality

Create a utility function that will return records based on alias
It should be under new function endpoint /search
It should be POST method
It should have payload {alias}
It should return documents if there are any on success
It should return failure message if no documents are found and display it on the UI
It should return error message if backend execution fails

Please follow code conventions you can already find in the code files to build this solution.

I can take this too


Create Add Sub-command for Event

Fix #100
Create new Add sub-command for Event.
Add functionality for Interactive mode which allows users to provide
information via the editor of their choice.
Updated README to include new Interactive mode functionality.
Signed-off-by: Anthony M. Bonafide<EMAIL_ADDRESS>

@mkbhanda , @difince
I am not able to add reviewers. I am bringing this up so this does not get lost.

@AnthonyMBonafide Thank you for your contribution! Happy to see you here :)
I really like the idea of having interactive modе, even that the code base will become even more tight with the changes in go-mod-core-contracts.
We could consider implementing the interactive mode with the other commands as well.
But overall I think that it is still valuable to keep the option of sending file that contains all the data?
Creating the first request is always harder. The interactive mode could ease this step. But once you have the template, I guess that editing already existing file and providing only one flag would be easier...
We should validate how it works on Windows. Overall we need to test how the entire CLI behaves with Windows. I plan to test it next week.
Sorry for the late response these days we got plenty of holidays in Bulgaria.
LGTM

@difince , I like your idea of a template sample file, along the lines of sample/createNotification.toml. @AnthonyMBonafide would you consider adding support for such an option. Your "tight" coupling comment makes me wonder whether we should have a samples/geneva, samples/fuji directory or should they be named samples/1.2/ ... the number saves us having to deal with mapping from release semantic version to names like Fuji, Geneva etc. If we go the Fuji route would need to change the response from .edgex-cli version to return the name too.

@difince, @mkbhanda Thank you
I like the comments you both have provided. I will work on implementing your suggestions.


[Emulator] Message is being sent to the dialog but I am seeing a "couldn't send message, retry" in emulator

Bot Info

Bot handle: Not yet deployed to Production
App ID:
SDK Platform: .NET
SDK Version:
Active Channels: Skype
Deployment Environment: Azure

Issue Description
I am exploring the bot framework and started creating a simple bot which will ask the user for his origin and destinations. It will then calculate the travel time for each of those destinations. Now, my flow is as follows

Greetings

User will be prompted to enter his destinations (Handled by DestinationDialog)

User will be prompted to enter his origin (Handled by OriginDialog)

Bot will ask user to wait for a moment as it calculates the estimates (Handled by EstimateDialog)

It will say that it has found the estimates and display the best possible option.

Now when the user enters the origin location in the conversation window, I am calling the EstimateDialog from OriginDialog. The thing is, it is taking some good amount of time to calculate the estimates if there are a number of destination options. During this time, the message which the user sent to notify his origin is shown as Failed saying that "couldn't send message, retry". But I can see the origin location when in debug mode in EstimateDialog. Is there any timeout that is causing this in the background? How do we let the MessageController know that the message sent by the user is received by the application? Should I be using context.Forward instead of context.Call when invoking other dialogs ?
I have pasted the sample code that is being used to call EstimateDialog from OriginDialogResumeAfter. Any help here? The only question in SO about this had no answers from the community.
Code Example
    private async Task OriginDialogResumeAfter(IDialogContext context, IAwaitable<LocationModel> result)
    {
        LocationModel origin = await result as LocationModel;
        context.Call(new EstimateDialog(origin,destinations), this.ReturnNewChat);
        context.PostAsync("Preparing estimates.. Hold On..");

    }

    private async Task ReturnNewChat(IDialogContext context, IAwaitable<List<TravelModel>> result)
    {
        var res = await result as List<TravelModel>;
        await context.PostAsync("Found the estimates");
    }

Reproduction Steps

Expected Behavior

Actual Results

Any help here, please?

Hi @karun-r
There's a 15 second timeout from the client.  If your responses are taking longer than 15 seconds, you'll need to initiate the slow process on another thread, return a 200 http status code, then proactively send the user the results of the long operation.  Context.Forward doesn't help with the 15 second timeout.
Pseudo code:

Send the user a message, stating that the bot is calculating estimates.
Initiate the long running process on another thread
return Request.CreateResponse(HttpStatusCode.OK);
Send a proactive message to the user after the long running process completes (here are a few examples of how to do proactive messages in .net: https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/core-proactiveMessages )

Let us know if you have further questions.

Thanks @EricDahlvang. This helped me fix that annoying issue.

@karun-r  may I know the code piece how its resolved? i am into same boat not sure what thread need to be opened to send status code while BOT is preparing it?

Seems example removed from link provided, can help @EricDahlvang

@amitkadu The v3 samples are in a different branch now: https://github.com/Microsoft/BotBuilder-Samples/tree/v3-sdk-samples/CSharp/core-proactiveMessages


[WIP] Pulse channel independent scaling

Summary
close #3576
This PR allows for pulse channel independent scaling. Default behavior is auto-scaling, and scaling factor is added below the channel name. New scaling parameter can be independently specified by python dictionary of pulse channel objects. If single value is specified rather than dictionary, visualizer apply the scaling factor to all channels.

[ ] solve parameter name conflicts with #3424
[x] add reno
[ ] add jupyter example to docstring

Details and comments
Schedule to visualize.
import qiskit
import qiskit.pulse.pulse_lib as pulse_lib
from qiskit.test.mock.fake_openpulse_2q import FakeOpenPulse2Q

backend = FakeOpenPulse2Q()
back_config = backend.configuration()

sched = qiskit.pulse.Schedule()
sched = sched | pulse_lib.drag(30, 0.5, 5, 1)(back_config.drive(0))
sched = sched | pulse_lib.drag(30, 0.3, 5, 1)(back_config.drive(1))
sched = sched | pulse_lib.gaussian_square(80, 0.7-0.3j, 5, 20)(back_config.control(0)) << 50
sched = sched | pulse_lib.square(50, 0.1, 100)(back_config.measure(0)) << 150
sched = sched | pulse_lib.square(50, 0.1, 100)(back_config.measure(1)) << 150

Conventional view
sched.draw(scaling=1, label=True)

Default behavior in this PR
sched.draw(label=True)

User defined scaling
scalings = {sched.channels[0]: 2, sched.channels[1]: 2, sched.channels[2]: 1, sched.channels[3]: 5, sched.channels[4]: 5}

sched.draw(label=True, scaling=scalings)

I see why you commented on the other PR, seems we should get that one merged and then reviewing this will make more sense (potentially)

I think #3424 will be merged soon, can we take another look at getting this in?

I'll update the code based on #3424.

Looks good! Should be good to go after Thomas' suggestions are incorporated

@taalexander thanks for updating docstrings. I think this is ready to go.

@1ucian0 thanks for catching this! I updated the code.


serverless-jest-plugin does not trigger other plugins before running tests. (webpack for example)

cross posted here: https://github.com/elastic-coders/serverless-webpack/issues/143
Seems like the test runner is not loading other plugins before running the tests. There is a suggestion at the discussion linked above.
@laardee  any thoughts on this?
Description
I'm trying to ensure that webpack runs before the testing plugin.
It appears tests are running the uncompiled code (not using webpack), and also using the node version. This means I'm not catching all the syntax errors lambda runtime does not support.
Reproduction
It's a bit tricky to reproduce this error, since you'd have to compare the jest test run results to that of a deployed function.
You can break the webpack integration by breaking the config file :
module.exports = {
  entry: null,
...

The test runner will not catch this error, which implies that webpack is not running before the tests.
The only way to catch this is by running serverless webpack serve
Additional Data
package.json
    "babel-core": "^6.13.2",
    "babel-loader": "^6.2.4",
    "babel-plugin-transform-runtime": "^6.12.0",
    "babel-polyfill": "6.13.0",
    "babel-preset-es2015": "^6.13.2",
    "babel-preset-stage-0": "^6.5.0",
    "serverless-jest-plugin": "^0.1.5",
    "serverless-webpack": "^1.0.0-rc.3",
    "webpack": "^1.13.1"

serverles.yml
plugins:
  - serverless-jest-plugin
  - serverless-webpack

@lpgeiger I'll make the same changes to this when the Mocha plugin is fixed.


Poller / task executor behavior with very small activity task thread pool size

Need to investigate the behavior when:

activityTaskThreadCount=1
activityTaskPollerThreadCount=1
activities are long-running (i.e. many minutes)
the poller is blocked submitting a second activity to the activity task thread pool.

Specifically, presumably SWF will eventually time out the activity task because I think the heartbeating doesn't run until it's in the activity task thread pool.
We may want to introduce an optional mode where the poller acquires the activity thread before polling for work.

(This can actually happen for any thread pool size but this is the most extreme example.)


'Add Top-Scroll-Button'

@Soumyajit2825  I believe we must add a top scroll button , that can make the user reach the top in one click.

Ok go ahead with it. Put a ss after your work

@Soumyajit2825 thank you!
I will upload a ss in few min

Here is the ss of the page!

WOW
Do PR


Implement hotplug events

Implement device add/removal events for PyUSB.

Not, it doesn't.

FYI: I am working on this.

@walac the hotplug callback returns a libusb_device, where and ho which type should it be converted? Should my hotplug implementation to a Device(_Device(dev, backend)) conversion?

@roberthartung Sorry for the delay, crazy work days. Thank you for working on this, as you already opened a PR, I will discuss design there. I will review it soon. Thanks again.

@walac great! Let me know what you think about the design and I can make changes and make a new pull request if necessary!

@walac Any news on this?

@roberthartung I am really sorry for the delay, but I am quite busy in work and personal stuff and could not give PyUSB the love it deserves so far in this year. I hope getting back to it soon.

Just uploaded a fix for user_data.

how pyUSB hotplug is going？

@leileigong Just merge PR #160 into your fork/branch. It works :-)

@mcuee I don't see why this issue needs to be pinned.

I agree. Just unpin it.


config: lower outgoing htlc broadcast delta

Builds on top of #2879.
We create outgoing htlcs and accept incoming htlcs within the go-to-chain window, risking triggering a force close. This PR updates the block deltas to make sure that we don't trigger a force close ourselves.
The main change is lowering the broadcast delta for outgoing htlcs. It can be lower than the delta for incoming htlcs, as we don't risk not being able to settle with the preimage if the tx(es) don't confirm in time.
The spec even suggests a delta of -1 for outgoing htlcs (https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#cltv_expiry_delta-selection). Meaning that we only go to chain in the block after the block where the htlc expires.
This PR doesn't lower it to -1, but uses 0 instead to prevent confusion around the negative number. This means that we go to chain when an outgoing htlc expires.
OutgoingCltvRejectDelta is a few blocks more than OutgoingBroadcastDelta. This is to prevent us forwarding an htlc that would bring us inside the broadcast window. We would probably receive a settle or fail quickly, but if a new block arrives in the mean time, we'd force close the channel.
FinalCltvRejectDelta could have been equal to IncomingBroadcastDelta, because as an exit hop we can immediately decide what to do with the incoming htlc.
This PR does increase FinalCltvRejectDelta a bit because for hodl invoices we do not decide immediately. Eventually, for hodl invoices, there will be automatic cancellation to prevent channel closure. This automatic cancellation should trigger some blocks before we go to chain. We can probably use the same value FinalCltvRejectDelta and the delta at which we cancel back hodl invoice htlcs.

Comments from @halseth

Add unit test to assert spec compliance of delta constant
Reword comment on IncomingBroadcastDelta in chain_arbitrator.go

Reminder: Also need to check the outgoing expiry when we are the sender of the payment. In that case, HtlcSatisfyPolicy isn't called.

# github.com/lightningnetwork/lnd [github.com/lightningnetwork/lnd.test]
./lnd_test.go:9473:33: constant -4 overflows uint32

@cfromknecht ptal
Implemented policy check for local htlcs.
Didn't implement unit test to assert spec compliance. It doesn't look very useful to me to just check that a constant has a value. Instead I added extensive comments to the config constants which should future devs make think about what these values mean.

@cfromknecht ptal

@halseth ptal


Sync doesn't work properly on many many phones (older os's it seems)

Mismatch between "Utterances recorded", "Utterances uploaded" and "Utterances recorded & not uploaded". (big mismatch, like e.g. 200)
Visible from the Sync menu.
So far, haven't been able to reproduce (haven't tested on older phones).

He means something like this happened:
Utterances recorded: 200
Utterances uploaded: 70
Utterances recorded & not uploaded: 10
70  and 10 do not equal 200


Handlers that spin off goroutines should recover, log, and send error

There's a few places in the code base that do not have a proper recover function to handle panics.
Any place where a recover is placed, there are channels for returning errors and data. There is a decision to be made here: Do we panic and allow everything to continue as usual or do we return an error?
The goroutine needs to return an error on the errchan. If there's a panic, the connection to the backing store could be in a broken state. If we return an error the connection will eventually get closed along with the other related connections (including the external one). This is desirable because it guarantees a clean starting state when a client reconnects.
While doing the recover gymnastics, a metric for caught panics should be incremented and a log line should be generated so that any panic location is tracked. There is already an unrecoverable error metric tracked in the server, so another metric isn't necessary.

@ScottMansfield would like to work on this. You've already given ample information but given that this issue is way too old now, are you still accepting contributions?


[BUG] Rancher Logging : "cluster.local" domain is used instead of actual domain of the cluster

Rancher Server Setup

Rancher version: v2.7.10
Installation option (Helm Chart):

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):  RKE1 Kubernetes v1.25.14

Information about the Cluster

Kubernetes version: v1.25.14
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? Custom

Rancher Logging "102.0.3+up3.17.10"

User Information

What is the role of the user logged in? Admin

Describe the bug
After installing the version 102.0.2+up3.17.10 of Rancher Logging via "App > Charts > Logging", we got the following error in fluentbit logs :
[2024/05/17 05:38:02] [error] [output:forward:forward.0] no upstream connections available
[2024/05/17 05:38:02] [ warn] [net] getaddrinfo(host='rancher-logging-root-fluentd.cattle-logging-system.svc.cluster.local', err=4): Domain name not found

It turns out that our cluster doesn't have the default top level domain set as cluster.local but company-name.local :
$ kubectl get cm coredns -n kube-system -o jsonpath="{.data.Corefile}"  | grep ".local "  | awk -F ' ' '{print $2}'
company-name.local

To Reproduce

Define a custom top level domain on the cluster via coredns (different from cluster.local)
Install the version 102.0.2+up3.17.10 of Rancher Logging via "App > Charts > Logging"

Result
Domain name errors appear in logs of pods rancher-logging-root-fluentbit-* and logs are not send to fluentd.
Expected Result
Logs are correctly send to Fluentd (no errors in logs).
Additional context

Before upgrading from Kubernetes v1.24 to v1.25, we were using v3.15.0 of Rancher Logging and it was working fine. The url that was used was not suffixed with cluster.local : rancher-logging-root-fluentd.cattle-logging-system.svc.
Is there a way to configure this fluentd URL or the top level domain used throught the options of the chart?
Linked to this comment of mine : https://github.com/rancher/rancher/issues/34772#issuecomment-2134614166

Update: our workaround solution was to add cluster.local to the coredns configmap (in the namespace kube-system :
.:53 {
    errors
    health {
      lameduck 5s
    }
    ready
    kubernetes company-name.local cluster.local in-addr.arpa ip6.arpa {
      pods insecure
      fallthrough in-addr.arpa ip6.arpa
    }
    prometheus :9153
    forward . "/etc/resolv.conf"
    cache 30
    loop
    reload
    loadbalance
} # STUBDOMAINS - Rancher specific change


How to pause/resume thread encoding process?

How can i pause then resume ffmpeg encoding process thread?
With many thanks,

Unfortunately, you can't.


Privacy Preserving in @hyperswarm/dht

@mafintosh
I opened a similar issue here: https://github.com/hyperswarm/hyperswarm/issues/81
In search for info about privacy preserving DHTs, I found these interesting papers:
https://www.gpestana.com/blog/in-pursuit-of-private-dhts/
"Some of the desirable properties of a private and metadata resistant DHT are:

    Anonymity for producers of content: tracking down who was the originator of content stored in the DHT should not be possible.

    Anonymity for consumers of content: nodes that request content from the DHT should not be linked to the requested content by external actors.

    Plausible deniability of the files hosted in the network nodes: when peers query for content in the DHT, they should not be able to identify which peers are storing the content.
"

https://raw.githubusercontent.com/gpestana/p2psec/master/papers/privacy_preserving_dht/privacy_preserving_dht.pdf
https://www.gpestana.com/papers/everyone-is-naked-rev.pdf
where privacy vulnerabilities within a DHT are described.
In the last paragraph of the second paper, few Privacy Enhancing Technologies (PETs) are outlined and suggested for DHTs.
Namely: Onion Routines, and cryptographic tools: Multi-Party Computation and Zero Knowledge primitives.
What are the mechanisms and the tools deployed in Hyperswarm in order to enhance and preserve, as much as possible, privacy?
Would it be feasible to implement the Onion Routines within or around Hyperswarm/dht?
I found this on-going javascript implementation of tor protocol: https://github.com/Ayms/node-Tor . Please, have a look at it. It would be awesome if Hyperswarm would incorporate and use it. Looking forward to your feedback
In this good overview of the Hyper Stack it's summarized everything needed about this theme:
https://github.com/tradle/why-hypercore/blob/master/FAQ.md#is-hyperswarm-anonymous
" Is Hyperswarm anonymous?

No. Let's explore what is revealed. Hyperswarm announces IP and Port of the peer to allow other peers in P2P network to connect with them. Hyperswarm's DHT holds that data, so any observer could simply collect this information. The observer will also learn the topic this peer is advertizing. Aside from that no other information is leaked. Is it worse than DNS? In DNS servers also announce their name and address to the world. But clients do not, while in Hyperswarm they do. On the other hand, topic name is more private than in DNS, it is just some hash, not a human-readable name.

So what can be done to protect IP addresses in DHT?

    Hyperswarm can be improved to encrypt data in DHT, and this way only the peers that know some shared secret could find each other.

    Potentially I2P can be used in the future.
"

So.. the questions are:  how to effectively deploy these two improvements?

Feel free to re-open, closing for now


improve CI caching of compiled dependencies

What problem is this PR intended to solve?
Quite a bit of CI time is spent compiling our packaged dependencies (libxml2, libxslt, libiconv, zlib). For a given platform, we should be able to cache these libraries once compiled.
This PR does two things:

move libgumbo out of /ports
caches /ports for most jobs that were previously caching just /ports/archives (which only contains the tarballs)

I'll run CI twice on this branch and compare the timing to previous runs to make sure this is actually effective.


Correct paddings in inline code blocks

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Before

After

Hi, Thanks for your contributions and these look great, however as part of a feature freeze we have in place due to us being in the final stages of releasing the current master branch to production, UI changes are on hold.
We'll have a look at this PR once we are through with the freeze. Thank you for your patience! 😄

The freeze does not cover the scope of the PR a.t.m. so it is good to be QA'd

@ojeytonwilliams did as you requested.

I believe this fixes #35497 , so am adding that to the PR description

@iliyaZelenko Thank you for your contribution to the page! :+1:
We're happy to accept these changes, and look forward to future contributions. :memo:


Fix 20886 - Retain tempCString buffer in browse

The temporary buffer returned by tempCString was assigned to a char* and hence destroyed after the statement.
This worked by accident for small URL's because the space was allocated on the stack and not overwritten before forking.
IDK how to add a test for this.

IDK how to add a test for this.

Probably overkill but you could create a shell script that writes its arguments to a file, and set BROWSER to the path to said script. Some std.process unittests do something like this.

Why didn't -dip1000 disallow?

Why didn't -dip1000 disallow this?

The code wasn't marked as @trusted, which bypasses the check.

Would -dip1000 have captured this?

Yes (if @trusted were to be removed).

The code wasn't marked as @trusted, which bypasses the check.

You mean:
The code was marked as @trusted, right?

Err, yes :)

Why didn't -dip1000 disallow this?

https://issues.dlang.org/show_bug.cgi?id=21868


documentation clarification.

Wade,
First, Fantastic Work.
One quibble, if you're using oh-my-zsh, you'll need to explicitly set {YOURPATH}

@codefriar can you elaborate on your solution?  I'm running into that issue, and I'm missing something obvious to set.   I've tried specifying the absolute path in the fpath statement, but without success.  Thanks for any pointers...


chore: bdd-spring-1575038570 to 0.0.1

chore: Promote bdd-spring-1575038570 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[KYUUBI #6250] Drop support for Spark 3.1

:mag: Description
Issue References 🔗

This pull request fixes #6250
Describe Your Solution 🔧
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[ ] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

thanks for making this PR, I noticed there are some places missed, you can search codebase of kyuubi-spark-sql-engine module with keywords "3.2"

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

Project coverage is 58.36%. Comparing base (4fcc5c7) to head (7d755a8).
Report is 4 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #6273      +/-   ##
============================================
- Coverage     58.37%   58.36%   -0.01%
  Complexity       24       24
============================================
  Files           651      651
  Lines         39560    39567       +7
  Branches       5447     5451       +4
============================================
+ Hits          23092    23095       +3
- Misses        13982    13996      +14
+ Partials       2486     2476      -10

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

LGTM if CI pass


Backend: Unit Testing

This PR contains unit tests for the backend. Considering that all the backend is in single package "main" this PR improves the unit test coverage to 80%

Could you rebase it, please?


SPI hardware nss management and modes settings

I didn't find any ways to configure spi as slave or using hardware nss pins. Is it implimented?

No, as of now both are not supported.

ok


No bugs found, or Infer failed midway?

Infer 0.12.0.
I'm running Infer on a C project, and seemingly no problems are being found. Nothing is reported in infer's output, no bugs.txt or report.csv files are generated, and inferTraceBugs errors out.
$ infer analyze
Found 45 source files to analyze in /blah/infer-out
Starting analysis...

legend:
  "F" analyzing a file
  "." analyzing a procedure

FFFF................................................................................................................................................................................................................F..............................F..............F.............F...........................................F.....F........................................................................................................F............................................................................................F...F..........F...............................F...................FF........................................F.................F........................F..........F..............................F..........................................................F....F.........................FF.............FF..........F....................F.......................FF..F...FF..........F...F....F....................F........F...........F.............F...................F...............F............F...................................................................

$ inferTraceBugs
Traceback (most recent call last):
  File "/usr/local/bin/inferTraceBugs", line 399, in <module>
    main()
  File "/usr/local/bin/inferTraceBugs", line 372, in main
    reports = utils.load_json_from_path(report_filename)
  File "/usr/local/Cellar/infer/0.12.0_1/lib/infer/infer/lib/python/inferlib/utils.py", line 83, in load_json_from_path
    encoding=config.CODESET, errors=errors) as file_in:
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/codecs.py", line 896, in open
    file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 2] No such file or directory: u'/blah/infer-out/report.json'

The lack of any reporting makes me wonder whether infer actually finished its job correctly. Or is this expected behavior?
If it is, I'd suggest that some explicit notification of "No problems found" would be good.
I have tried running infer -g analyze, but doesn't show anything I'd call interesting.
For context: my build system is not supported, so for the capture phase I've forced the builder to prefix every clang invokation with  infer capture --reactive --.

Thanks for the report. It looks like infer silently crashed during the run. Is there anything useful in infer-out/logs?

In infer-out/log/analyze, there is an err.log and an out.log, each weighting 1 and 24 MB.
There are also infer-out/log/driver and infer-out/log/capture (89 items, 16 MB).
I could upload them all somewhere non-public, or I could anonymize somehow the logs (any suggestions?)

For completeness, the output of infer -g analyze:
Found 45 source files to analyze in /blah/infer-out
Starting analysis...

legend:
  "F" analyzing a file
  "." analyzing a procedure
  "C" analyzer crashed
  "T" timeout: procedure analysis took too much time
  "S" timeout: procedure analysis took too many symbolic execution steps
  "R" timeout: procedure analysis took too many recursive iterations

FFFF.........................SS..S..................SS...............S.......S.............SS......S.S..S..S.SSS..............SSS...........S..S.S...S..........S........SS...S..S...S....SS...S.......SS.S...SSS.S.S..SS..S......S.S.S....SS...........F.SS..SSS.......SS.....S.S...S...S......S...........S.......S.S................S..S.......F....SSSF..S..........SF...............S....SS..S....FS.....S....F...S..S...S....S..S....SS...S.........S................S..S.......SS.........S................S.S.......S..S.S...S.....S.S.......FS....S..............SF...S.......S.S.S..........................S...............S........S.S.....S.................S...F....SS..F....................SS.S.......F......S..SS.FF....S.S.........SSF.S........S.......S.SS.....S.S.SS.S...........F........S.......F......S........SS......S.S.S...S.S..S....S.......F..S......S..........S....SS.........S....S..F.........FS........F...............................S.......S.........SF...S.....S.....SF.S.FF.S..F......S..S.........S.........S.F.....S......F.S.......FF..FF....F..........SF............S...........F............S...S.F....F...........F.S..S..F...S.S..........S........S........F.......F.........SS.SSF.S..S........S....S.S.....S.................S..S.S..S...S.S..S.............SS..S.S.S....

If you can, it would be worth trying the latest version of infer as we've removed some (but maybe not all) of these cases where infer silently crashes. The new version also has a single log file, which should be easier to share/send by email.

I'm not sure I have enough time for that, but I'll try, thank you.

With a build-from-source Infer (version v0.12.0-2dcde3a8), the analysis does end generating a list of problems. So... I guess this bug can be closed?

Great, thanks for the update. There have been a number of fixes since 0.12.0 that could have been related so I was hoping for that outcome.


[qa] Add a check for empty line at the end of a file

We should add another automated test to check if all the files have an empty line at the end of the file.
Many GCI students are making this mistake and an automated test will help them in my opinion! :smile:
PS: binary files must be ignored, the check should be performed only on text files.
If it can be performed with just a series of shell commands, we can use that and start adding this check to the .travis.yml build of this repo

Useful resources:

https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline
https://www.whatsdoom.com/posts/2016/09/05/finding-files-without-new-lines-at-the-end/

@atb00ker can you make and publish a GCI task for this? Maybe we can get this done before the program ends.

is it only placed in travis or with python?

You can implement it as a shell script or with python, both are fine! :smile:

Adding find . -type f -print0 | xargs -0 -L1 bash -c 'test "$(tail -c 1 "$0")" && exit 1
this line to script section in .travis.yml file. Right?

If yes, can I take the issue for other repos? & get as a task in GCI?
If yes, send me the link of GCI task instance.

Guys, if it can be done with a shell command, we should use that and not reinvent the wheel, in that case we should do it here in this repo first. The task is published in the GCI system.

Can you tell how to exclude binary and byte code (e.g.. Pyc) files?


Change the way underlying errors are displayed

Don't use the word "error" per #1570. This makes it harder to search logs. Just report the underlying error as a "message."
Motivation
We don't need to report an "error" surfaced inside e.g. a WARN or INFO line as an "error." Makes searching logs for real errors easier.

bors merge

@lrettig , please try bors merge again. sorry this is a known flaky test, we should probably skip it or fix it asap.
--- FAIL: TestNeighborhood_ReportConnectionResult (0.00s)

    switch_test.go:1063:

        	Error Trace:	switch_test.go:1063

        	Error:      	Not equal:

        	            	expected: 9

        	            	actual  : 10

        	Test:       	TestNeighborhood_ReportConnectionResult

bors merge