Importing a video-based datasets

Hi, in the documentation I did not see any information about extractors with videos. I have many videos with annotation files in "CVAT for video" format. So, how can create the project with this videos? What methods and I have to use ( if it's possible can you show me the flow?)?

Hi. It is being developed now. We are open for your suggestions about the look and feel of the functionality. Unless implemented, Datumaro expects that a video is split by frames by the user. It can be done with ffmpeg, opencv and CVAT itself. If you have annotated the video in CVAT, probably, you better just export the annotated task as a dataset with images. Once the video is split, you can add images as described in https://openvinotoolkit.github.io/datumaro/docs/user-manual/media_formats/

@Okay i understand.
So lets assume I want to do not export tasks in CVAT as  dataset, I want to keep annotations in text file (in this case xml) for storage purpose. I can dump annoations from cli from 300 tasks(videos) as xml in "CVAT for images 1.1" and I can slice videos to frames. How can I put that annotations to Datumaro? Can you provide any example, how to inject annoations from xml to Datumaro (in this case probably it will be DatasetItem???).
My sugestion to this implementation is. I have many videos and many annoations dumped in xml for example or in rle(each corrseponding to ech video file).  Then, I want to "inject" that video and annot file to something like DatasetItem/whatever and then iterate through each video.

I can dump annoations from cli from 300 tasks(videos) as xml in "CVAT for images 1.1" and I can slice videos to frames. How can I put that annotations to Datumaro?

Then, I want to "inject" that video and annot file to something like DatasetItem/whatever and then iterate through each video.

You need to use the following commands:
datum create -o proj/
datum add path -p proj/ -f cvat -i path/to/dataset/
...

A dataset example is here:
https://github.com/openvinotoolkit/datumaro/tree/develop/tests/assets/cvat_dataset/for_images
A code example is available here:
https://github.com/openvinotoolkit/datumaro/blob/develop/tests/test_cvat_format.py#L38-L68
If you want to merge the tasks, consider using "projects" in CVAT, which allow to join tasks and export them as a whole. Alternatively, look at https://github.com/openvinotoolkit/datumaro/issues/16#issuecomment-893260740, if you don't want to use CVAT for this.

Related: #129

@zhiltsov-max for the moment I used custom scripts for pulling out annotations and making a dataset, due to lack of time.
Sorry for the late response.

@Jakubelo, please check if you have any comments about https://github.com/openvinotoolkit/datumaro/issues/456#issuecomment-968735148.


Implementation guide, or other examples? Particular for embedded serial flash.

Are there any guidelines for how to map the LFS block/read/program sizes onto a serial flash that has well-defined underlying geometry? e.g. align blocks to the sector size (minimum erase quanta), so the erase command in the drive is very simple to implement. However, sectors are 4K, which is not resource-light to do a read-modify-rewrite.
And then the what the effective implication of the choice read size and prog size are?
I actually already have it working on a large serial NOR flash, but due to the size and the high-level SDK shims, I am not entirely sure that everything is working as expected, even if files appear to read/write/list/etc correctly.
As I raised in another repo issue, the test battery doesn't map to an embedded context (not yet, I'll work on it), so I can't be sure that all the cases for bad blocks, exhaustion, and other edges cases are really correct on the actual serial flash block-device-like implementation.

There should probably more documentation about block device geometry. Also agree on the usefulness of a portable test suite (https://github.com/ARMmbed/littlefs/issues/44).
Here's some info for the short term that may help:

blocks to the sector size (minimum erase quanta)

This should be what you set your erase size to. littlefs does not buffer a full sector in RAM, but smaller values are always better for less wasted space for alignment. If sector size is less than 128 B, problems will happen, but this case should assert in mount.

However, sectors are 4K, which is not resource-light to do a read-modify-rewrite.

littlefs doesn't do a read-modify-write, instead it performs modifications on a stream of data as it copies it from one sector to another. This requires more buffers, but the buffers can be much smaller, since they don't need to be a full sector.

And then the what the effective implication of the choice read size and prog size are?

This is entirely a tradeoff of RAM vs speed. Larger read sizes = more RAM = less read operations = more speed. I haven't actually seen a use case where it makes sense to use a different read size and prog size.
I'm planning to change this to a single "cache_size" variable, but waiting for a major revision.
I put together some benchmarks and found that an optimal read_size is ~64B for SPI flash (MX25R). But if speed is a high priority it may be worth measuring your application with different values.

Agree with @geky, I also found that 64B for read/prog size is the optimal solution, but I put 1024B for the lookahead on my side.

@geky thanks, this is helpful. however, i have more questions to understand the requirements of the underlying device better.
for example, if i set read/program size to 64, does it mean that LFS will always invoke the device read/write functions with requests of this size and, more importantly, will the offset (as in block + off arguments) always be on the read/prog size boundary?

The measurement I did was on a filesystem with only one directory, so scanning the filesystem for free blocks was very cheap. that's probably why the lookahead size had such a low impact. Would probably be worth more investigation.

Hi @rojer,

If i set read/program size to 64, does it mean that LFS will always invoke the device read/write functions with requests of this size

LFS will always invode the device read/write with a multiple of this size. So if a device has a read size of 4 bytes, LFS may read 16 bytes at a time. But LFS will not read 15 bytes.

Will the offset (as in block + off arguments) always be on the read/prog size boundary?

Yep!

It does sound like we need an implementation guide, thanks for the questions, feel free to ask more because this is a good starting point for me to know what isn't clear.

Hi all, first of all, amazing project and thank you all very much for this work. I just started trying Littlefs and was successful in going through initial setup. However, the controller(STM32 discovery with SPI flash total size of 512KB) is going in Hard fault when writing and closing multiple files in the root dictionary(crash after writing 15 files of size 6 bytes). The source of hard fault is at LFS_ASSERT(entry.d.type == LFS_TYPE_REG); in lfs_file_sync function.
I have some open question for better understanding.
Regarding the user-defined functions and the configuration. Should the program size be same as the physical page? What will be the range of offset if program size and read size is different for better understanding with SPI devices( Some devices requires erase cycle before the program, only work with the base address and don't support partial page programming).
What should be the return value from the user-defined function(e.g 0 for valid read/write? ) and in the link to that how the LFS determines that block has gone corrupt? Looking forward.

@geky continuing my exploration of LFS i wonder if its CoW approach would be more friendly to using simple block device encryption. for that to work, we need the following:

reads and writes in 16 byte blocks on 16 byte boundaries (we assume AES here). from your previous comments it seems that setting read_size and prog_size should get us there.
because of the block nature of the cipher, once we touch a byte in a block, it can no longer be modified. this does mean that files that files need to be relocated when being opened for append and current end is not on a 16 byte boundary.

(2) is a rather big ask and basically precludes RMW operations, but with CoW being at the heart of LFS i'm hopeful :) it would be great if device encryption could be added without building a whole translation layer (something necessary for other filesystems, e.g. SPIFFS which relies a lot on NOR flash semantics and single bit flipping).

Hi @elekrofuss! That's sounds like a tricky bug, maybe opening a separate issue will make it easier to track it. I've not seen that assert fail in the wild before, which means:

The directory passed the checksum correctly, so it's not corrupt
The file's metadata stored in the directory was corrupt

Which is a bit hard to make happen. It's either a bug in littlefs, or some sort of memory corrupting on the MCU side.
Are you in a multithreaded environment? Are you protecting littlefs with mutexes?
If you're able to narrow down what's causing the bug to a code snippet and open a separate issue, that would help a lot.

Regarding the user-defined functions and the configuration. Should the program size be same as the physical page?

On a lot of the parts I've seen, the "page size" is the size of an internal buffer that caches the data sent over SPI. Smaller programs are still possible, but writing at the page size gets you the best program speed. In these cases it would be more efficient to use a multiple of the device's page size, but may not be a requirement.
It's then a tradeoff of RAM vs speed. A multiple of the page size is a good idea if you have enough RAM.
As you note some devices don't support partial page programming, on these devices your program size must be a multiple of the page size or you will get data corruption.

What will be the range of offset if program size and read size is different

All read offsets and sizes will be a multiple of the "read size", and all program offsets and sizes will be a multiple of the "program size". However, littlefs does require that the "program size" is a multiple of the "read size". Because of math this means that all program offsets and sizes will additionally be a multiple of the "read size" as a side effect.

What should be the return value from the user-defined function(e.g 0 for valid read/write? ) and in the link to that how the LFS determines that block has gone corrupt? Looking forward.

This is a good question to raise. All that the functions read, prog, erase and sync need to do is return 0 if it thinks it was successful. If the write actually failed to stay on the device, that is ok, after every write littlefs reads back the written block to verify that the write was succesful.
These functions can also return any negative error code (as long as it doesn't conflict with the littlefs error codes), which will be propogated directly to the user of the library.
Optionally, (and because of some legacy), these functions can also return LFS_ERROR_CORRUPT. This tells littlefs that the block was corrupted early on and can be useful if you want to synthetically limit the erases on a block or have some other measure of wear.

@apullin, example implementations are a good idea, though I'm sure where to put them. I'd like to make sure any code in the repository is tested, but that would be difficult if they require hardware. Maybe just inlining the examples in the documentation would work?

@geky continuing my exploration of LFS i wonder if its CoW approach would be more friendly to using simple block device encryption.

@rojer Absolutely! LFS tries to work with as few assumptions about storage as possible, with the goal of supporting these more abstract storage ideas. I'm hoping this gives the most room for littlefs to grow as the technology underneath it is still evolving.

reads and writes in 16 byte blocks on 16 byte boundaries (we assume AES here). from your previous comments it seems that setting read_size and prog_size should get us there.

Yep!

because of the block nature of the cipher, once we touch a byte in a block, it can no longer be modified without erase. this does, for example, mean that files that files need to be relocated when being opened for append and current end is not on a 16 byte boundary.
(2) is a rather big ask and basically precludes RMW operations, but with CoW being at the heart of LFS i'm hopeful :) it would be great if device encryption could be added without building a whole translation layer (something necessary for other filesystems, e.g. SPIFFS which relies a lot on NOR flash semantics and single bit flipping).

It should work without a problem! Rather than using RMW operations, LFS modifies data in a stream-like operation as it copies data from one block to another. This keeps RAM low and avoids rewrites.
This has some tradeoffs, such as needing two-blocks for every metadata block, but opens up a lot of opportunities.
And yes, if a file does not end on a 16 byte boundary, it will be copied out to another block even if appended to. (Actually, right now littefs doesn't trust that any data block has previously been erased, any opened files will get copied out to another block for safety. This could be improved in the future but would require a concept of the "erase value" and would be opt in).
Also a quick hint, littlefs doesn't actually need power-of-2 block sizes. So if you needed to store your nonce somewhere, you might be able to slip it into some space in each block. : )

Also a quick hint, littlefs doesn't actually need power-of-2 block sizes.

Does this apply to erase, program and read blocks?  So a backing store could (for example) use 1024 byte hardware sectors but tell littlefs that erase=1000 bytes, program=read=250 bytes, and then have 6 bytes to itself for metadata for each program/read block?

Does this apply to erase, program and read blocks? So a backing store could (for example) use 1024 byte hardware sectors but tell littlefs that erase=1000 bytes, program=read=250 bytes, and then have 6 bytes to itself for metadata for each program/read block?

Yep, all that is required is that erase is a multiple of program is a multiple of read.
Though note that littlefs still expects offsets to be continuous.


Cargo (rust) purl's are not encoded correctly

We have been having problems with Cargo/Rust lately:
[
  'Invalid purl<EMAIL_ADDRESS>  'Invalid purl<EMAIL_ADDRESS>  'Invalid purl<EMAIL_ADDRESS>]

The problem is that packageurl-js, which is used to validate the purls, needs the uri-encoded versions (+ -> %2B), but doesn't get them encoded.
<EMAIL_ADDRESS>fails with an error, while<EMAIL_ADDRESS>works as expected.
The problem seems to be in https://github.com/CycloneDX/cdxgen/blob/master/index.js#L689 where a newly generated, correct purl is decoded via decodeURIComponent.
Removing line 689 fixes our problem and the tests stay green. Unfortunately, the commit https://github.com/CycloneDX/cdxgen/commit/2caeb668f80a6405eada0116da7e068b7483bf1a that added the decodeURIComponent line has no comment as to why it was added.
Please see my attached PR which fixes this issue.

@misl-smlz,I knew we had a decoding problem but didn't realize the fix was this simple. Thank you so much for your contribution! I had added a decode centrally so that the individual functions in utils need not perform decoding. But things might have changed over time. Let me test this PR with a range of repos and come back.

@prabhu Would you mind if i add a few rust repos to your repotests.yml?

@misl-smlz, that would be awesome! Even complex examples are great additions.


Need API for searching through the atom tree

regex vs plain text
an API to "find the next/prev match" would be enough to get parity, but we' probably want one that streams all results
the matching needs to be done on the same text as shown in the UI, so this could be a bit tricky

1dfefe3


Add e2e tests for REST errors high alerts

Signed-off-by: João Vilaça<EMAIL_ADDRESS>
What this PR does / why we need it:
Add e2e tests for REST errors high alerts:

VirtApiRESTErrorsHigh
VirtControllerRESTErrorsHigh
VirtHandlerRESTErrorsHigh
VirtOperatorRESTErrorsHigh

jira-ticket: CNV-22403
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/cc @sradco

/retest

@0xFelix can you take a new look? I only rebased the changes
/cc @fossedihelm @xpivarc

/unhold

/lgtm
Thanks


OSX Notification Center

Added a simple bridge that creates native OSX notifications using PyObjC (available from PyPi). With this you can receive gntp notifications on your Mac without installing Growl.

Great idea! I'm not sure why I didn't think about bridging to Notification Center.

Done. I hope everything is well-ordered enough for you ;)

Thanks :)


save while inside a group should expand groups

See gif below. StateSmith plugin running in vscode, not on right. This allows us to observe the true state of the saved file without exiting it with the SS plugin which will expand it.

NOTE! When validating the fix, make sure you try CTRL+S and also save from file menu. The vscode-drawio extension treats those differently for some reason.

This fix should hopefully reduce the need for this error detection: https://github.com/StateSmith/StateSmith/issues/81


telink: b92: update b92 dts to use it for matter.

- update tlsr9528a-common.dtsi file.
- update tlsr9528a.dtsi file.

Signed-off-by: Borys Nykytiuk<EMAIL_ADDRESS>

Why CI Telink build examples has been cancelled after 15s?


i18n cant find en.json v^3.15.1

I believe I may have found a bug.
ERROR in ./node_modules/carbon-components-angular/__ivy_ngcc__/i18n/i18n.service.js

Module not found: Error: Can't resolve './en.json' in 'C:\Users\[me]\[Desktop]\IPAdvisor2.0\Front-End\AngularApp\node_modules\carbon-components-angular\__ivy_ngcc__\i18n'

I had to go to that location inside node_modules and add a copy of en.json inside __ivy_ngcc__/i18n, since the js file in there i18n.service.js is looking for it with
var EN = require("./en.json");

but as mentioned en.json not in that directory. It is inside i18n directory in root of angular-carbon-components

We don't officially support the ivy compatibility compiler or ivy at the moment. Additionally, @carbon/icons-angular doesn't support ivy either.
We plan to upgrade our build system to fully support ivy in the future, but for the moment I recommend sticking with the old compiler.

I am not sure if I used the ivy compiler specifically. The after installing package.json which has
"angular-carbon-components": "^3.15.1"

I do ng serve via angular cli and this error will show up. Is ivy related to the i18n directory? If so, that directory is created within the node_modules for angular-carbon-components.

/__ivy_ngcc__/ folders are only created if your project is configured to use the ivy compiler. I'd double check your project configuration. See here for the opt in instructions, the reverse should let you opt out.


Added my info in technical writers md

Hi, would you please add your information to the end of the file as specified in the instructions? Thank you.

Yeah, I'm sorry about that. Thanks!

Hi, it doesn't look as if you've added your changes to the PR?

Closing as no response to followup, feel free to reopen once your changes have been added to the PR


readme: add restore/backup walkthrough to readme

[skip ci]

cc/ @hongchaodeng @hasbro17

LGTM

all fixed.


Object.isFunction returns false for async functions

Sugar.Object.isFunction(async () => {}); // false

Every browser which natively supports async functions

And Node.JS too

Will have a look into this... thank you!


regression error: findNotesMetadata with any:

When I run a findNotesMetadata with words set to "foo", it works.
However what I need to do is to set words to
any: foo bar
...and have it return notes matching foo or bar
(I don't want foo AND bar (intersection), I want foo OR bar (union), to include either one of the words matched, or both.
This used to work great but lately it does not work as before...I get zero matches returned.
When I use any: keyword in the Evernote app, it works fine.
Please help!

NoteFilter.words field passed down to findNotesMetadata is expected to accept full search grammar, including the any: prefix. I recommend trying your any: foo bar search in Evernote Web, which uses the same API infrastructure. (Desktop Evernote clients implement search locally, so their results may be different.)
One difference between what you see when searching in Evernote Web and the actual query is that Evernote Web searches by word prefixes by modifying the query behind the scenes. If you search there for any: foo bar the actual query will be any: foo* bar* so that it will find all notes having words either starting with 'foo' or with 'bar'. If you want to search for exact words in Evernote Web, you need to search for any: "foo" "bar", and the returned results should be equivalent to the any: foo bar or any: "foo" "bar" query done via findNotesMetadata.
So please compare the results with Evernote Web, and make sure you're accessing the same account on the same server (sandbox or production).

Sorry, I was not detailed enough in my explanation.
When I search with any: followed by 2 or more exact words surrounded by double quotes, such as
any: "02013" "02014"
where these exact words (albeit strings of digits) do appear exactly in the titles of one or more notes, I get zero notes returned.
I also experience this when I try a search like:
any: "Sol 02013" "Sol 02014"
where again, these consecutive words appear in one or more notes. When I run the same query from Evernote Web, it works great.
Also I know my devtoken is working because I can create and remove notes just fine. Also I can run findNotesMetadata successfully and match whenever I do not use the any: keyword in the manner described.

Some quick sanity checks and questions:

Are you using the same accounts and the same server?
Do you have a personal or a business account? Could it be that you're, for example, searching in your personal notes when using findNotesMetadata (because devtokens are limited to personal notes only) but search in business notes when trying the same query in Evernote Web?

Definitely using the same account, where on web I'm logging in and with code I'm authenticating by dev token. No business account involved, strictly personal.
I swear this unmodified code that behaved properly in the past but has changed behavior now, but you're probably heard it all before and have good reason to be skeptical ;) Occam's razor, and all that. I really do hope that it's something simple. Let me know what other information I can provide to make this as easy as possible to diagnose?

I'd recommend trying to reproduce this on a simplest case possible: create a separate throwaway sandbox account with two notes, containing notes with the title "A" and "B" respectively. Search for any: "A" "B" in Evernote Web to make sure you're getting two notes. Then generate a devtoken for that account and use the minimal code to connect to that account and run the same query and display the number of notes found. This will help investigate the issue further.
Also, do you happen to remember when exactly it broke (which date)? This could also narrow down the possible causes if we are to have engineers investigate the issue.

Here is a standalone script that reproduces the problem:
require 'evernote-thrift'

def connect_to_evernote()
	begin
		userstoreUrl = "https://www.evernote.com/edam/user"
		userstoreTransport = Thrift::HTTPClientTransport.new(userstoreUrl)
		userstoreProtocol = Thrift::BinaryProtocol.new(userstoreTransport)
		userstore = Evernote::EDAM::UserStore::UserStore::Client.new(userstoreProtocol)
		user = "mslmars"
		userinfo = userstore.getPublicUserInfo(user)
		notestoreUrl = userinfo.noteStoreUrl()
		notestoreTransport = Thrift::HTTPClientTransport.new(notestoreUrl)
		notestoreProtocol = Thrift::BinaryProtocol.new(notestoreTransport)
		notestore = Evernote::EDAM::NoteStore::NoteStore::Client.new(notestoreProtocol)

		return userstore, notestore
	rescue Evernote::EDAM::Error::EDAMSystemException => ese
		puts "EDAMSystemException on findNotes: #{ese}, something went wrong retrieving notes."
		puts "errorcode #{ese.errorCode} message #{ese.message}"

	rescue Evernote::EDAM::Error::EDAMUserException => edue
		puts "EDAMUserException: #{edue}"
		puts "errorcode #{edue.errorCode} message #{edue.message}"
	end
end

(userstore, notestore) = connect_to_evernote()
spec = Evernote::EDAM::NoteStore::NotesMetadataResultSpec.new
spec.includeTitle = true

notebookGUID = "0296f732-694d-4ccd-9f5b-5983dc98b9e0"

filter = Evernote::EDAM::NoteStore::NoteFilter.new
filter.notebookGuid = notebookGUID

filter.words = 'Sol 02000'
notelist = notestore.findNotesMetadata("", filter, 0, 50, spec)
puts 'There are %d Sol 2000 notes.' % notelist.notes.length

filter.words = 'Sol 02001'
notelist = notestore.findNotesMetadata("", filter, 0, 50, spec)
puts 'There are %d Sol 2001 notes.' % notelist.notes.length

filter.words = 'any: "Sol 02000" "Sol 02001"'
notelist = notestore.findNotesMetadata("", filter, 0, 50, spec)
puts 'There are %d Sol 2000 or Sol 2001 notes.' % notelist.notes.length

The first two queries work correctly. I don't believe the third one does: it should return 40 results, but it returns 0 results.

Thanks for providing the script. I'd still recommend running it on a separate sandbox account with just two notes as I suggested above. This is to ensure that there are no other factors involved and that the behavior is reproducible across both sandbox and production servers. This will also ensure that Evernote QA and Engineering can easily reproduce the test case by recreating an account and notes.

I can't create a public shared notebook from a sandbox account. The permissions will not allow for it.

Thanks Mark, I was able to reproduce the issue both with the API and using the web client, and filed an internal issue for further investigation.

That's great! Good to know that I wasn't mistaken...sorry I couldn't make it work from the sandbox.
Hopefully it's not a herculean task to fix. I look forward to this being resolved in the future.

As a temporary workaround, it seems to work if you specify the notebook with notebook:"Notebook Title" instead of setting the notebook guid in the filter.

This should be fixed now.


refactor(x/bank): remove message events including sender attribute whose information is already present in the relevant events (backport cosmos/cosmos#17273)

Description

This patch would remove duplicate message events in x/bank keeper.
You may refer to the PR in the upstream.
Checklist:

[ ] I followed the contributing guidelines and code of conduct.
[ ] I have added a relevant changelog to CHANGELOG.md
[ ] I have added tests to cover my changes.
[ ] I have updated the documentation accordingly.
[ ] I have updated API documentation client/docs/swagger-ui/swagger.yaml

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: 0Tech:x: julienrbrtYou have signed the CLA already but the status is still pending? Let us recheck it.

Should rebase it after #1063 merged.

I think the AttributeKeySender of bank module is no need.
https://github.com/Finschia/finschia-sdk/blob/2afab695dd5961c093dd0e16727eda1535a66cac/x/bank/types/events.go#L12

The attribute is still in use, e.g. in transfer event.


[WIP] Zio

ZIO over JDBC

I'd also be willing to help with this, but I don't want to get in the way. Maybe like upgrading to ZIO 1.0.3 later and fixing the breaking changes (though you might not run into too many).
There's nitpicky stuff like "you can use shorter combinators like ZManaged.fromEffect" here and there, but I think minor stuff like that can wait until a final pass at the end.

This is so exciting!

@reibitto Any help is highly appreciated, if you'd like to work on this with me or take over please let me know. Also, I'm not sure about blocking. Right now the effect type is RIO[Connection, T], if we change to blocking it's RIO[Connection with Blocking, T]. Does that make usage simpler or more difficult?

The Blocking part is a bit tricky and I'm not sure what the "best practice" is here. I mean, it makes sense to use Blocking, but how best to expose it I'm not 100% sure. Generally provideSome and so on shouldn't be called often as it's usually only used when wiring the app together. If @adamgfraser suggested just ZIO.environment[Connection] then he might have other ideas that I'm not thinking of.
Whether it makes sense to create a Database / Quill ZIO service here is another thing to think about maybe?
For reference, there's tranzactio which uses Has[JdbcConnection] with Blocking:
https://github.com/gaelrenoux/tranzactio/blob/7e5c58452a9ad85bc6d0f6c72487559a17b9a672/src/main/scala/io/github/gaelrenoux/tranzactio/anorm/package.scala#L12
Besides the questions above, what are the remaining parts? I see tests commented out, but is there anything else? If the main ZIO modules are pretty much done I can try giving it a spin in my app and seeing what happens. If that works fine, I can maybe try exploring the other ideas I mentioned above.


Make the JS AST -> source step of the linker incremental.

Based on #4815 for the purposes of performance analysis; the first two commits do not belong to this PR. But otherwise can be reviewed independently.

Tree flattening seems problematic :-/

I fixed the flattening by manually flattening js.Blocks in Emitter.emitOnce. I think we should push this flattening further inside the various generation functions, but that turns out to be much more involved. I have a WiP over at https://github.com/sjrd/scala-js/tree/backend-no-blocks-as-flattened-stats but it does not compile yet. We should take this as a future internal improvement.

Addressed comments and rebased onto main.

Rebased, for good measure.


Error when installing the requirements

Hello!
When installing the requirements (pip install -r requirements.txt) I have the following error (the first of a long list indeed...):
Downloading spacy-3.0.6.tar.gz (7.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.1/7.1 MB 10.7 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... error
Error compiling Cython file:
------------------------------------------------------------
...
int length
cdef class Vocab:
cdef Pool mem
cpdef readonly StringStore strings
------------------------------------------------------------
spacy/vocab.pxd:28:10: Variables cannot be declared with 'cpdef'. Use 'cdef' instead.

Any suggestions on how to solve it?
Thanks in advance,
Rachele

FYI you'll only need to install the packages in requirements.txt if you're trying to reproduce the baselines from the paper, otherwise the requirements in setup.py are enough: https://github.com/segment-any-text/wtpsplit/blob/cfd5e24411d8c658b3000af0c62b6602a6c955ca/setup.py#L10-L21
In case that is what you are trying to do, this seems like an issue with SpaCy, you could try e.g. the solution here or upgrading SpaCy.


Write documentation for OpenAPI extension that allows defining api client dependencies

https://github.com/microsoft/kiota/blob/main/src/Kiota.Builder/OpenApiExtensions/OpenApiKiotaExtension.cs  PR #1869

closing since this has been merged.


update i18n for zh-CN (Simplified Chinese)

Update i18n for zh-CN for latest version, including:

common UI
Dyson Sphere Program

Thanks for the contribution!


Change lacking errors

Here is a list of little things I found missing in this PR.
But overall everything seems to be working and I'm not sure these errors are in the scope of this PR?

[ ] When a primary key inference fails the message is wrong: Missing primary key. vs The primary key inference process failed because...
[ ] When the maximum number of fields is reached the message is wrong: Maximum number of attributes reached. vs A document cannot contain more than 65,535 fields.
[ ] When we send an invalid ranking rule the message is wrong: invalid ranking rule truc vs `:rankingRule` ranking rule is invalid. Valid ranking rules are Words, Typo, Sort, Proximity, Attribute, Exactness and custom ranking rules.`

bors merge


schema change for database section

At present we have
databases:
      - file: XXX.template
        include_args: [ A, B, D ]
        define_args: |
          C={{ xxx }}
          E={{ yyy }}

First, the use of array/multiline string for include/define is inconsistent.
Second, Ordering of arguments is lost because they are distributed to two places in the YAML.
I propose this approach:
databases:
      - file: XXX.template
        args:  A B C={{ xxx }} D E={{ yyy }}

Whitspace is the separator (except inside jinja quotes) so that you can format as needed e.g.
databases:
      - file: XXX.template
        args:  |
          A B D
          C={{ xxx }}
          E={{ yyy }}

@coretl @niamhdougan any thoughts?

Slight concern that we are recreating YAML parsing inside a string... At the cost of some vertical space we could format as a list:
databases:
  - file: XXX.template
    args:
      - A
      - B
      - C={{ xxx }}
      - D
      - E={{ yyy }}

or a dict:
databases:
  - file: XXX.template
    args:
      A:
      B:
      C: "{{ xxx }}"
      D:
      E: "{{ yyy }}"

Actually, the inline version of the dict is reasonable:
databases:
  - file: XXX.template
    args: { A, B, C: "{{ xxx }}", D, E: "{{ yyy }}" }

args outputs
{'A': None, 'B': None, 'C': '{{ xxx }}', 'D': None, 'E': '{{ yyy }}'}

I quite like that.
vscode will format it vertically once the length exceeds 80 chars.
So we get no say in what the layout is but that is probably OK.

@coretl
Maybe its worth mentioning that this results in the following format for longer lists of args. ALSO the auto generator will always use this form (because ruamel)

    databases:
      - file: $(PMAC)/db/geobrickette_motion_stop.template
        args:
          active_DESC:
          mstop_ZNAM:
          active_OSV:
          active_VAR:
          SCAN:
          mstop_ZSV:
          P:
          mstop_R:
          active_ONAM:
          active_ZNAM:
          mstop_DESC:
          mstop_VAR:
          active_R:
          TIMEOUT:
          active_ZSV:
          mstop_ONAM:
          PORT:
          mstop_OSV:\

sorry above not quite true. The above is what ruamel will do. Vscode formatting will do:

    databases:
      - file: $(PMAC)/db/pmacVariableReadLED.template
        args:
          {
            ZSV,
            name,
            OSV,
            ZNAM,
            ONAM,
            SPEED,
            LABEL,
            VAR,
            PORT,
            P,
            Q,
          }

OK so the inline idea does not work because { is significant even inside quotes (!!)

Therefore I propose that we use the long-form:
databases:
  - file: XXX.template
    args:
      A:
      B:
      C: "{{ xxx }}"
      D:
      E: "{{ yyy }}"

As @coretl  suggested earlier


ShardAgent.ExecuteBatch() needs to ensure all storage types exist

Might make the daemon tests be more reliable.

Unnecessary, I must be misreading an error.


I was excited to use Nuxt Devtools but then this happen this error shows up

Environment

Operating System: Windows_NT
Node Version:     v18.14.0                                                                                20:24:27
Nuxt Version:     3.2.0
Nitro Version:    2.2.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      ssr, modules, colorMode, css, app, content
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction

I run npx nuxi@latest devtools enable on my existing project that was upgraded using npx nuxi upgrade
then I run yarn dev and then the error came out.

I also did yarn upgrade to make sure all my dependencies is the latest.
Rerun the yarn dev. yarn dev is working but the nuxt dev tools not working.
Describe the bug
So I cannot explain well what really happened but I believe this error will show what happens;

√ Nuxt Devtools is enabled v0.1.2 (experimental)                                                                                20:24:30
i nuxt-windicss v2.6.0 running with config: ./windi.config.ts.                                                                                nuxt-windicss 20:24:31

 ERROR  Failed to load url /<EMAIL_ADDRESS>(resolved id: D:/tools/nvm/v18.14.0/node_modules/@nuxt/devtools/node_modules/vite-plugin-vue-inspector/src/load.js?v=c6393dd2). Does the file exist?

 ERROR  Failed to load url /@fs/D:/tools/nvm/v18.14.0/node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.client.mjs?v=c6393dd2 (resolved id: D:/tools/nvm/v18.14.0/node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.client.mjs?v=c6393dd2). Does the file exist?

Here is an image view:

Additional context
No response
Logs
No response

me too

Same error on MacOS

We temporarily close this due to the lack of enough information.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required

I had the same issue when i had different node versions installed with nvm and ran devtools enable command with a wrong node modules.
Check node versions in your ~/.nuxtrc

We temporarily close this due to the lack of enough information. Please provide a minimal reproduction to reopen the issue. Thanks.

Why reproduction is required

I believe my description of the issue is understandable, some people are commending the same error showing up..

I believe my description of the issue is understandable, some people are commenting the same error showing up..

A description is no minimal reproduction 🙈

create vite.config.js file


Scheduled Tasks Run Immediately

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

Create a minimal task option task = {name: \"test\", every: 1h, offset: 0m} from(bucket: \"hello\") |> range(start: -10d)
Schedule a run of that task sometime far in the future (1 week for example)
Notice that the run is executed immediately

Expected behavior:

The task run is executed when it is scheduled for.

Actual behavior:

The task is run immediately.

Environment info:

MacOS arm64
InfluxDB version: InfluxDB dev (git: 33a7add745) build_date: 2022-07-13T19:14:36Z (latest master at the time of this issue)

When resolved, this test should be reenabled https://github.com/influxdata/grace/pull/166

how to solve the question?please help me

Steps to reproduce: List the minimal actions needed to reproduce the behavior.

Create a minimal task option task = {name: \"test\", every: 1h, offset: 0m} from(bucket: \"hello\") |> range(start: -10d)
Schedule a run of that task sometime far in the future (1 week for example)
Notice that the run is executed immediately

Expected behavior:

The task run is executed when it is scheduled for.

Actual behavior:

The task is run immediately.

Environment info:

MacOS arm64
InfluxDB version: InfluxDB dev (git: 33a7add) build_date: 2022-07-13T19:14:36Z (latest master at the time of this issue)

I test your method in influxdb frontend,but also can't send run immediately.


How do I make sourcelink in Projectscaffold for a tfs path?

A tfs source path is as such
tfs_repo_path/_git/reponame?path=/src/file.fs
Using string concatenation to concatenate the ?path= string behind the tfs repo path in the sourceRepo property in the generate.fsx file (included in project scaffold) does not work. It composes a path as such which is not what I wanted:
tfs_repo_path/_git/reponame/src/file.fs?path=#L42-42

Hi @creativecreeper, are you able to use MSBuild 15? If so, can you upgrade to SourceLink version 2? We just removed SourceLink version 1 from Project Scaffold.  If you follow the quick start, and then set the SourceLinkUrl property to what you need it to be.
The SourceLinkUrl should be a URL that provides the raw content. When I originally built SourceLink, it was used with TFS in an intranet. I figured out the URL by launching Fiddler and clicking the download button on the web UI. If you search this repo, you can see past URLs that worked for others and may be where to look for the documentation.
Given that example, the proj file would be something like this, where {0} is for the commit and * is used for the file path.
<Project>
  <PropertyGroup>
    <SourceLinkUrl>http://myserver:8080/tfs/myCollection/_apis/git/myProject/repositories/myRepository/items?api-version=1&contentOnly=false&versionType=commit&version={0}&path=*</SourceLinkUrl>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="SourceLink.Create.CommandLine" Version="2.1.2" PrivateAssets="All" />
  </ItemGroup>
</Project>

So to be able to do the above, I have to use the latest version of Project Scaffold first and then do what you mentioned?
Also, I am building a lot of projects together via a fake command, but I can edit the fsproj files of all the project to add the above.

So to be able to do the above, I have to use the latest version of Project Scaffold first and then do what you mentioned?

Those instructions are independent of Project Scaffold. But yes, using the latest would be a good idea since it doesn't include SourceLink.Fake.

Also, I am building a lot of projects together via a fake command, but I can edit the fsproj files of all the project to add the above.

With MSBuild 15, using a Directory.build.props file is a good way to go. See the Rx.net example.

TFS should be doable. Closing this due to inactivity.

Hello,
I'm using Visual studio Version 15.8.7.
I'm evaluating SourceLink for the debugging of private NuGet packages in the company I work in. We have an on-premise TFS server and use TfsGit.
I added the NuGet SourceLink.Create.CommandLine package and the SourceLinkUrl property in the library csproj file:
<PropertyGroup>
  <SourceLinkUrl>http://tfs-server:8080/tfs/collection/_apis/git/project/repositories/repo-name/items?api-version=1&contentOnly=false&versionType=commit&version={commit}&path=*</SourceLinkUrl>
</PropertyGroup>
<ItemGroup>
  <PackageReference Include="SourceLink.Create.CommandLine" Version="2.8.3" PrivateAssets="All" />
</ItemGroup>

After I build the Nuget package via TFS, I include it in one another project. When debugging a window informs me that the source will be downloaded "from the internet" and pastes a correct URL to the .cs file. This URL is correct if opened in the browser (shows me the correct version of the correct file).
If in Visual Studio I accept to "Download Source and Continue Debugging", it is not able to fetch the source from the link and shows me a .cs not found error page.
In the "error"  section I can read:

Looking for source using Source Link (http://tfs-server:8080/tfs/collection/_apis/git/project/repositories/repo-name/items?api-version=1&contentOnly=false&versionType=commit&version=12c004f255e10f0ebc71fa554cd5e77d1aed920f&path=file.cs)...
Source Link errors:
ERROR: The request failed with code 401 : "Unauthorized".
The file was not found with Source Link.

In VS I'm logged in the Company Domain and with the TFS server. What can be the problem?

Hey @gvdm90, dotnet/sourcelink is the newest version. Please see:
https://github.com/dotnet/sourcelink#team-foundation-server


Go back to root only if needed

It doesn't make sense IMO to get an assert when going back to root if the root is already presented. Or is there any other way to show the initial screen (for e.g. deeplink handling):
$routes.withDelaysIfUnsupported {
    $0.dismiss()
    $0.goBackToRoot()
}

Have added a convenience function to show initial root screen.

Thanks @Kondamon! I completely agree, it should not assert when going back to the root if we're already on the root, it should just do nothing.
However, I'm not sure I understand the usefulness of the convenience function. It should always be sufficient to call:
$routes.withDelaysIfUnsupported {
    $0.goBackToRoot()
}

The goBack family of methods work on both pushed and presented screens, so even if the stack contains a mixture of presented and pushed screens, there should be no need to call dismiss in addition to goBackToRoot. If you're seeing different behaviour, please could you describe it, as that would be a bug. Thanks!

In the meantime, I've merged your first commit and tagged a new version 0.2.4. Thanks for contributing!

@johnpatrickmorgan, I was initially thinking of UINavigationController behavior where you need to call popToRootViewController and dismiss any screens that are presented.
Ok, I got it! Thanks for clarification and the fast merge!


RGB or BGR ?

Hi,
I wonder that whether the image color you used is RGB or BGR ?
The opencv and PIL in python use different color formats and I'm not sure how much this will cause
Any help will be appreciated.

As described in readme, inputs are RGB.
If you use opencv, the order is BGR, you can swap it to RGB.
An example:
bgr_img = cv2.imread(img_path)
b, g, r = cv2.split(bgr_img)
rgb_img = cv2.merge([r, g, b])

It's RGB, not BGR.
You can verify it by displaying the sample data via matplotlib.pyplot
import numpy as np
data = np.load('v_CricketShot_g04_c01_rgb.npy')

data = data[0]
print data.shape

print np.min(data)
print np.max(data)

import matplotlib.pyplot as plt
img = (data[3] + 1.) / 2. * 255
img = img.astype('uint8')
plt.imshow(img)
plt.show()

The image will be displayed correctly.


Remove lossy resolution-to-requirements conversion in install plan

Summary
This is a longstanding piece of technical debt. After we resolve, we have a bunch of ResolvedDist entries. We then convert those to Requirement (which is lossy -- we lose information like "the index that the package was resolved to"), and then back to Dist.

This will enable us to fix some very subtle bugs in future PRs.


rindexer codegen typings leaks absolute paths

As in the title, the command generates files which contain absolute paths. Are the generated files not supposed to be checked into VCS? If not, happy to make a PR that makes them relative.

Hey thanks for this yes it’s a bug feel free to fix it happily accept a PR

do you want to take this @roshanr95 if so great - i am away till next week and can fix once back if not

Yes, I'll take this. I can either sanitize the absolute path before printing to file, or purge absolute paths in the codebase (i.e. std::env::current_dir) as much as possible if not entirely. Which option would you prefer?

yeah probably can just use ../../../ approach to be honest - awesome thanks good spot as well as would break for people when they deploy it haha

Abigen seems to convert relative paths into absolute paths internally :cry:

Ah ok, opened a couple of PRs with my existing changes btw. At a conference atm, so will take a week to get back to this in case it's still open.

hey not had time to look at these but I've spotted a few other places

aka in the handler itself does your fix any of that I'm not working on a project which is going to use rindexer so we can get this all fixed

should now not be valid as we bring ABI in the typings itself instead of looking at the file this just means any changes to ABI we would regen the types but that feels better anyway still one lives on in csv stuff but il fix that also


HDDS-8378. [Snapshot] Integration test to simulate staggered snapshot creation and deletion

What changes were proposed in this pull request?
Integration test to simulate staggered snapshot creation and deletion
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8378
How was this patch tested?
Integration test.

cc. @smengcl @hemantk-12 @swamirishi @aswinshakil @prashantpogde

Thank you for this PR @DaveTeng0


MS teams endpoints have changed

getting failure now from these
2024-04-01 18:17:43.674110 send 364 bytes to tls/[<IP_ADDRESS>]:5061 at 18:17:43.673960:
OPTIONS sip:sip2.pstnhub.microsoft.com SIP/2.0
Via: SIP/2.0/TLS <IP_ADDRESS>;branch=z9hG4bKrQQcZNygZ7tea
Max-Forwards: 70
From: <sip:foobar.com:5061;transport=tls>;tag=mt25ZHyU4BvUc
To: <sip:sip2.pstnhub.microsoft.com>
Call-ID: f96fd546-6af6-123d-9aac-0afffb788a3b
CSeq: 81443939 OPTIONS
Contact: <sip:foobar.com:5061;transport=tls>
Content-Length: 0

2024-04-01 18:17:43.751039 nta.c:8721 outgoing_print_tport_error() nta: OPTIONS f96fd546-6af6-123d-9aac-0afffb788a3b (81443939): Input/output error (5) with tls/[<IP_ADDRESS>]:5061
2024-04-01 18:17:43.850163 send 303 bytes to udp/[<IP_ADDRESS>]:63106 at 18:17:43.850016:
SIP/2.0 404 Not Found
Via: SIP/2.0/UDP <IP_ADDRESS>:63106;branch=z9hG4bK1579283766;rport=63106;received=<IP_ADDRESS>
From: <sip:1112@<IP_ADDRESS>>;tag=979277823
To: <sip:699333177686482@<IP_ADDRESS>>;tag=gpX2r5tDg82ge
Call-ID:<PHONE_NUMBER>-2078574427-1359795331
CSeq: 1 INVITE
Content-Length: 0

also: https://www.linkedin.com/posts/teddykabg_whats-new-direct-routing-microsoft-teams-activity-7165358204309127168-pe2k/?utm_source=share&utm_medium=member_android


Not working with Next.js v12

Hi! First of all, I want to thank you for bringing true reactivity to React.
Let's then get to the issue:
It's my first time using solid-react with Next.js, but I thought it would work even if React version is v18 (looking into package.json of the solid-react).
The first issue is that useUpdate() is not reacting to updates inside the component. The second issue is that useSignal()'s setter function is not setting the state within onMount() or even React's useEffect().
I will be waiting for the response, would like to hear about the issue is resolved.
Thanks in advance.

Just a quick update to reproduce you can create _app.tsx

Another issue is that if using reactive variables (value()) with string concatenation or template literals the output in the for instance className will be [object Object].

Thanks for your feedback~

Not tested in Next.js. At present, it is not clear what the specific problem is, maybe a reproducible demo is needed.
Yes, there may be problems with value() and some edge cases may need to be handled.
This is an experimental project, which may not have a lot of time to support. If you can provide a reproducible demo, I can try to check, but it can't guarantee to cover all the existing scenes.


Optimise implementation of find command

https://github.com/CS2103-AY1819S1-F11-2/main/pull/169
Refer to the comments found in the PR.
Some comments identified by @teowz46 👍  and Codacy

It is important to override hashCode if you equals
A lot of nested statements in your code

Most of it changed in latest, but will refine others soon.


[WIP] Virtual attributes for Containers and friends (performance changes)

depends upon:

[x] https://github.com/ManageIQ/activerecord-virtual_attributes/pull/120
~~https://github.com/ManageIQ/activerecord-virtual_attributes/pull/127~~

@agrare Can we outright claim that PersistentVolume#parent is always an Ems?
I get that a ContainerVolume#parent is polymorphic, but curious about the child class (i.e.: PersistentVolume). If not, may need to drop that change.
Numbers

ms
query
qry ms
rows
 comments

347.2
32
53.2
128
 /container_node/report_data#node-index

308.8
11
10.3
28
 /container_node/report_data#node-after

11.1%
66%
80.6%
78%
diff

ms
query
qry ms
rows
 comments

428.0
32
123.2
88
 /container_group/report_data#group-index

336.5
11
65.5
28
 /container_group/report_data#group-after

21.4%
66%
46.8%
68%
diff

ms
query
qry ms
rows
 comments

424.3
51
98.7
48
 /container_image/report_data

345.1
11
34.4
28
 /container_image/report_data

18.7%
78%
65.1%
42%
diff

no longer:

ms
query
qry ms
rows
 comments

278.6
31
12.7
48
 /persistent_volume/report_data#before

258.7
11
9.9
28
 /persistent_volume/report_data#after

7.1%
65%
22.0%
42%
diff

update:

rebased master
updated test to mark now sql friendly virtual attribute as ... sql friendly.

update:

extracted container volume assumption that the persistent volume is always associated with an ems.

The savings are very good, but I am not ready to put my foot down on that one.
The other changes are pretty much a no brainer.
update:

rubocops: add :dependent, :inverse_of

WIP: confusing CI values
I'm very confused by the failure. This works locally and I can't imagine where this could be going wrong. All test failures are the same. (I wrote the specs at the same time)
The spec(s) only shows partial SQL, but it looks like where(:id => subject.id) is sending the container_node.id as text instead of a numeric.
# rspec ./spec/models/container_group_spec.rb:53
# rspec ./spec/models/container_group_spec.rb:61
# rspec ./spec/models/container_node_spec.rb:50 <==

PG::UndefinedFunction: ERROR:  operator does not exist: bigint = text
LINE 1: ...OM "container_nodes" WHERE "container_nodes"."id" = $1 ORDER...

Again, the sql generated locally is working fine.
Also interesting:
subj = described_class.where(:id => container_group.id)
expect(subj.first.ready_condition_status).to eq("None") # works
expect(subj.select(:ready_condition_status).first.ready_condition_status).to eq("None") # failure

update:

rebase
fixed extra file committed (thnx fry)

Overall LGTM - one real question, and some specs are failing, but maybe they go away with a rebase since Ruby 2.7 is gone now.


Expose Integration Flow Endpoint as API and Test the Flow

Tutorials: https://developers.sap.com/tutorials/cp-starter-isuite-api-management.html
Hello,
I think in the Step 6 Congratulations! the formatting should not be for code:

Best Regards
Gregor

Hi @gregorwolf,
Thanks for noticing this.
The issue is fixed now. You can see the changes in a day or two's time.


feat: add example for truncate

I also upticked the dependency version and the rev in the patch section.

Looks good to me, it might be worth adding a comment in the docs saying that the truncate doesn't necessarily truncate num grapheme clusters but rather rounds down to the next unicode codepoint after num bytes.
I'm not sure if adding any extra complexity to the code is worth it though. At best you could maybe trim off num unicode codepoints by using s.char_indices().rev().nth(num) which will still look weird in a lot of cases and anything better than that will require an extra dependency. So a comment would probably be good, just so people aren't surprised that there are only 5 characters visible when they wanted to keep 10.


Failed to create fix for FormatLiterals: Unable to identify format literals

Ruff 0.0.285
ruff  *.py --select ALL --no-cache

file content:

'{' '0}'.format(1)

error:
error: Failed to create fix for FormatLiterals: Unable to identify format literals

PY_FILE_TEST_887401168.py.zip

I'm not sure what to do here -- this is expected, and it doesn't actually error for the user (in the sense that the program does not return a non-zero status code and the program still behaves reasonably), it just surfaces that we weren't able to analyze the format string. To me this is reasonable behavior.

For me this looks like internal ruff message, that is not really interesting from user perspective - there is no file or place where problem happened and how to fix it.
So I think that this should be at least hidden for end-user(could be available in verbose mode) or should contains info how user can fix this or to report problem issue to this repo


Optimize the cold startup of RaftEngine when enable-log-recycle == true

Discription
This commit optimize the startup of Engine when enable-log-recycle == true, by preparing a bunch of logs named with special suffix ".fakelog", so-called "Fake logs", to curtail the side effect when there is no enough stale files for log recycling.
Related Issue: close #277
Signed-off-by: Lucasliang<EMAIL_ADDRESS>

@tabokie PTAL, thx

@tabokie PTAL, thx

@tabokie PTAL, thx.

To improve, I think you can just keep thing even simpler, make FileCollection as simple as possible (as simple as a Vec):

Thx for your advices.
I've also take this design in previous draft, but I dropped it finally. For the reason why I didn't adopt the structure as u said, just like:
struct FileCollection {
    stale_files: FileList<F>,
    active_files: FileList<F>,
    ...
}

is that:
In previous work, SinglePipe is the operator and manager of FileCollection. IMO, the Stale files and Active files, represent by StaleFileCollection and ActiveFileCollection respectively, are the minimal operating unit of FileList. So, each one of them should be designed as an individual object because the related operations has been encapsulated in the API of SinglePipe. So, from my views, SinglePipe is just the subject with same trait as the new FileCollection u mentioned above. For example, SinglePipe.get_fd(...) just called the ActiveFileCollection.get_fd(...) to return the expected fd to callers.
And the confusing parts, such as prepare_dummy_logs_for_recycle, will be polished.

@LykxSassinator It doesn't contradict with that I said.

Then all the complicated logic can be put in-place, or wrapped into a bigger struct:

The code snippet I wrote refers to the way to "wrapped into a bigger struct". It can be done as "put in-place" as well.

@LykxSassinator It doesn't contradict with that I said.

Then all the complicated logic can be put in-place, or wrapped into a bigger struct:

The code snippet I wrote refers to the way to "wrapped into a bigger struct". It can be done as "put in-place" as well.

Yes, i got what u meaned. I will polish the current codes.

ping @tabokie  PTAL, thx

Ping @tabokie

Ping @tabokie

Ping @tabokie ,thx

Wait for final review after #285 is merged.

Wait for final review after #285 is merged.

Ignore, related updates of the dependency on rust version have been updated in this pr.

@tabokie ping.

ping @tabokie  PTAL, thx.

I took the liberty of cleaning up the abstraction myself, it grows to be, somewhat superfluous IMO.
And by the way, #278 (comment) is not addressed. When you use &mut self, there's no need to lock again, because mutable reference guarantees exclusive access.

Thx for your suggestions. I'll take some time to comprehend the newly introduced refactoring works.

ping @tabokie PTAL, thx.

ping @tabokie, thx.


[suggestion] make a better web terminal experience

I just did the demo for flocker with their web terminal and it's amazing(the terminal), I believe they're using Guacamole https://github.com/glyptodon/
It looks and feels like a legitimate terminal.

@deniseschannon Hi thr any update on this;
And it will be great if we can login directly in host also in addition to containers.
Jas99

The interface available to communicate with is a TTY.. A graphical VNC/RDP project like Giacamole doesn't make any sense here, it's for communicating with the graphical console of a host, like we do with VM support (but with NoVNC).


JobAccountant workaround for StepChain jobs with duplicate files - wmagent branch

Workaround for #9633 (real fix still needs to be created against master)
Status
ready (tested in submit7)
Description
Please read the last comment in the GH issue for further details on the actual root cause of this problem.
With this PR, we do not inject output files into the database if they came without any location in the FJR.
Which is the case for StepChain jobs that crash in the worker node, thus not actually staging those files out to the storage area (and getting an unique file id).
Is it backward compatible (if not, which system it affects?)
yes
Related PRs
none
External dependencies / deployment changes
none

 Fix #10486 - JobAccountant workaround for StepChain jobs with duplicate files

This patch has been pushed in in all 1.4.7 production agents.

A few patches have been accumulated, so I'm going to make a patch4 release.


Select symbols break get_dividends

Summary (include Python version)
Python 3.7. Hitting a ValueError of 'year 0 is out of range' when running get_dividends() with the stock "ICL". Running through a large loop and no other stocks hit the error before ICL, so it may be the only one.
x = Stock("ICL", output_format = 'pandas')
y = x.get_dividends(range = '5y')
Date/time of issue
July 16th, 2019.
Expected behavior
Actual behavior

Seems to be working now. Can you confirm? Thanks!


[Enhancement]Refine limit tokens.

调整历史信息全部删除时错误信息和token长度限制。

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

:exclamation: No coverage uploaded for pull request base (develop@a10039d). Click here to learn what that means.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop     #173   +/-   ##
==========================================
  Coverage           ?   61.96%
==========================================
  Files              ?       54
  Lines              ?     2671
  Branches           ?        0
==========================================
  Hits               ?     1655
  Misses             ?     1016
  Partials           ?        0

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


Passing an Active PDO connection to propel or extract it from propel

Hello,
I'm in the process of migrating codebase to use Propel, so i managed to generate the models and everything is fine, however im at loss at how to pass an active PDO connection to propel, or extract one from it, so we dont use double connection for each visiting user.
The codebase type hint \PDO and we cant hack it to use ConnectionInterface provided by Propel,
Is it possible to extract the active PDO connection from propel or pass one to it ?
PS: sorry if this question came up before, i searched the issues and i was unable to find any reference to it.
Thank you.

Is this still relevant or can it be closed?

@dereuromark Hi, i no longer work on that project you can go ahead and close it if you feel it's no longer needed.
Thank you.

https://github.com/propelorm/Propel2/pull/1611 will be a stab into decouling using an adapter
This is required anyway since PHP8 will introduce hard typehints that PHP7 disallows. So in order to have compatibility for both we will need this.
Closing then as the PR will be further worked to get PHP7+8 working soon.


Option to avoid the user account expiration by inactivity

Hi,
This PR add the option to use the expirable module without considering the users' inactivity days.
Then, your app can consider that an user is expired only checking the expired_at attribute.
To setup this you just need to define config.expired_after = nil on the devise initializer.
ps: i didn't find any tests in the gem codebase, so i didn't do one for this patch

Sad to see PR like this unanswered for 3 years


Can't set custom hosts for coredns

Environmental Info:
K3s Version: v1.22.7+k3s1

Node(s) CPU architecture, OS, and Version:

Linux master 5.4.0-104-generic #118-Ubuntu SMP Wed Mar 2 19:02:41 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:

sigle
Describe the bug:

After kubectl edit configmap coredns when restart k3s service or add new node , the config will be rewrite as default.
Steps To Reproduce:

I have read https://github.com/k3s-io/k3s/issues/462 ,but not work for me.

Expected behavior:
I hope it can run like this
apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns-custom # this is the name of the configmap you can overwrite with your changes
  namespace: kube-system
data:
    test.override: | # you may select any name here, but it must end with the .override file extension
          hosts {
              <IP_ADDRESS> example1.org
              <IP_ADDRESS> example2.org
              <IP_ADDRESS> example3.org
              fallthrough
          }

Actual behavior:

Additional context / logs:

Backporting

[ ] Needs backporting to older releases

apiVersion: v1
kind: ConfigMap
metadata:
name: xxxx
namespace: kube-system
data:
xxx.server: |
example1.org example3.org  {
hosts {
<IP_ADDRESS> example1.org example3.org
fallthrough
}
}


recipes-demos: benchmark-demo: Update npm-shrinkwrap.json

Post kirkstone (Yocto 4.0), there was a change in openembedded-core during Nanbield (Yocto 4.3) timeframe where the npm.bbclass was re-structured to add support for dependencies and dev dependencies 1

With this change, the older npm-shrinkwrap.json file is no longer valid & has to be updated so as to avoid build failures in scarthgap (Yocto 5.0)

Status of Benchmark Demo with this commit

Applied with https://github.com/TexasInstruments/meta-tisdk/commit/fe222439df5d7e2a42cfc650d610b8cfcd1b3897


Generating bad links

The command line program generates bad links.
To Reproduce
Steps to reproduce the behavior:

When prompted for  to add a link the link will be entered with // between https: and the second level domain (website name)

Expected behavior
Should return the url as entered
Screenshots

Desktop (please complete the following information):

OS: Mac 12.01

Hi @SJellen ,

Your Scenario

You faced this issue because you entered entire link while providing answers for creating readme.
Wrong Input:

Hence Wrong Output:

Correct Scenario

You need to only enter username as an answer and the readme-generator will take care of the rest.
Correct Input:

Hence Correct Output:


How to mount volumes to global volume in Docker Swarm and bundle

I am using Docker 1.12 and Compose 1.8. I am trying to understand how to mount the volumes for an image to global volumes.
The purpose is to use Docker services and Docker bundle for deploying clusters.
This is the error that I get:
WARNING: Unsupported top level key 'volumes' - ignoring
WARNING: Unsupported key 'volumes' in services.momgodb - ignoring

I guess the easy answer is, that Application Bundle is not yet feature complete in regards to what docker-compose is able to do.
Which is similar to how compose started back in the days. Some day (I have a candle burning for that) it will provide all the bells and whistles a docker-compose file can declare.
To be more precise: Application bundle will implement everything that docker service create offers you and docker service create hopefully allows everything that docker-compose up allows you to do.


DBZ-6840 Wrong filtered comments

https://issues.redhat.com/browse/DBZ-6840

@harveyyue @Naros Applied, thanks


Speed up Jacobian and Hessian with mapreduce

DI source

Fuse the map and reduce(hcat/vcat) for Jacobian and Hessian

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

Project coverage is 0.06%. Comparing base (f663225) to head (21a28f6).

:exclamation:  There is a different number of reports uploaded between BASE (f663225) and HEAD (21a28f6). Click for more details.
HEAD has 81 uploads less than BASE

Flag
BASE (f663225)
HEAD (21a28f6)

DI
66
0

DIT
16
1

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #561       +/-   ##
==========================================
- Coverage   98.39%   0.06%   -98.34%
==========================================
  Files         107      19       -88
  Lines        4739    1509     -3230
==========================================
- Hits         4663       1     -4662
- Misses         76    1508     +1432

Flag
Coverage Δ

DI
?

DIT
0.06% <ø> (-97.84%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


[bug] The ‘ owner_window’ method is not expected in Windows and macos

Describe the bug
This is my code on macOS.

This is my code on window.

I was migrating my tauri code to develop on macos and found that the "cargo build" command told me "method not found in 'WindowBuilder".
Although I know this is due to different structures between platforms, I wish Tauri would provide a fake method on macos, otherwise it would give me a headache, thank you.
Reproduction
No response
Expected behavior
Provide an identical method, even if it is fake.
Platform and versions
MacOS Sonoma and Tauri 1.5.2

Stack trace
No response
Additional context
No response

.owner_window is only available on Windows so you need to guard it like this:

let mut builder = WindowBuilder::new(&app, "window", url::WindowUrl::default());

#[cfg(target_os = "windows)]
{
	builder = builder.owner_window();
}
builder.build();

for macOS you could use .parent_window() which is kinda similar and you also need to guard it as well.


Enable download for OpenAPI 3 spec for Collector Management API

Is your feature request related to a problem? Please describe.
No problem, just a feature request
Describe the solution you'd like:
I cannot find an OpenAPI spec for the Collector Management API, however you make other such API docs available such as sumologic-api.yaml.  We are building some tooling using the API and having access to the Collector API spec would be helpful (without having to reverse engineer operations and response schemas from the web docs).
Describe alternatives you have considered:
Reverse engineering....
Additional info:
None

Hi @jeffreyaven , many thanks for your inquiry. I believe this is something in the works. I've reached out to our API team to confirm and also find out if maybe there's a better workaround in the meantime.

Hi @jeffreyaven , many thanks for your inquiry. I believe this is something in the works. I've reached out to our API team to confirm and also find out if maybe there's a better workaround in the meantime.

Thanks @kimsauce I've started reverse engineering this, would be happy to collaborate, I could explain what we are doing and get your thoughts

@kimsauce see attached, I have generated and tested this spec, would be great to get your feedback
collectors.zip

Hi @jeffreyaven, apologies for the delay. It took me a few days trying to find the right contact person for this project. I'm going to send an email to the address listed in your profile.
This sounds like it will be helpful to the engineering teams - thank you so much again! Talk soon.

Closing out this ticket -- convo moved over to email.


[bug] updating theme Thing failed for its release only has .zip or .tar.gz

Describe the bug
updating theme Thing failed for its release only has .zip or .tar.gz.

this code might be helpful
https://github.com/elastic/kibana/blob/b0711eb7022910500c7f7c4d81dc47e2d77e11df/src/cli/plugin/pluginDownloader.js#L49


add tool for creating graphql server

This tool should be extracted from the current mediator-service in GitLab. The goal is to be able to generate a the files necessary for automatically setting up a basic GraphQL server, based on a given GraphQL API schema and the corresponding resolver functions. The backend of the generated server should be configurable (i.e., not hard coded). It should be possible, starting from a GraphQL DB schema, to set up a working GraphQL server configured for a particular database backend.
Importantly, everything included in this tool MUST be unrelated to anything SPIRIT specific.

See branch add-tool-for-creating-graphql-server
@hartig Could you take a look at this setup and provide some feedback? If you look at the build script (build.sh) in the project root I think you'll get a basic idea of how it all comes together.

Robin, this looks quite good already!!
A few changes:

The directory 'examples' should be renamed to 'example'.
This 'example' directory should contain only the input files but not the output files. In fact, the output files should not be contained at all in the repo.
This 'example' directory should contain all the input files needed for generating the example server; that is, in addition to the DB schema, the following files should go there: 'api-schema-custom-extensions.graphql' and 'custom-resolvers.js'
The subdirectory 'schema' in this 'example' directory should be renamed to 'db-schema'
...and the example DB schema file within this subdirectory should be renamed to 'starwars-db.graphql'
Similarly, the generated subdirectory 'api' should be renamed to 'api-schema'.
In 'build.sh', there should only be two directories that the user is encouraged to specify: the root directory with all the input and the root directory for all the output. The default values for these should be:

$(pwd)/example/   (Note that, instead of ${root}, I deliberately use $(pwd) here; this is to avoid the impression that the input directory must be maintained as a subdirectory within the woo.sh directory structure.)
$(pwd)/generated-example-server/  (Not bin/ !)

Related to the previous point, the other variables that you declare in 'build.sh' to point to specific input or output files should be moved into a separate block of lines (separate from the lines in which the user is encouraged to specify the two root directories, see previous point). Of course, the user may still tinker with these additional variable declarations, but the separation should make clear that this is not the main intention.
The script 'build.sh' should be renamed to 'woo.sh'!! (Otherwise, what would be the fun of execution it ;)

Robin, notice also that your branch is probably incompatible with PR #42 created by @epii-1
Moreover, there are merge requests in the gitlab repo that extend the generator tool and the 'arangodb-tools.js' file. These changes need to be carried over to your branch here as well.

Resolved (see https://github.com/LiUGraphQL/woo.sh/pull/46)


Update build.yml to run tests under onnx==1.14.0

We have to merge https://github.com/google/jaxonnxruntime/pull/68 first to pass all onnx==1.14.0 tests.

Codecov Report

Merging #70 (3017098) into main (7bab943) will increase coverage by 0.47%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #70      +/-   ##
==========================================
+ Coverage   85.40%   85.87%   +0.47%
==========================================
  Files          66       66
  Lines        2747     2747
==========================================
+ Hits         2346     2359      +13
+ Misses        401      388      -13

see 14 files with indirect coverage changes


Not working on Modal

The component is not working if you have it on a modal screen

Yes i include the Provider

Did you wrap the modal in it?
Like so
<Provider>
    <Model />
</Provider>


[PE-D][Tester C] Could not get to user guide url after entering the 'help' or 'list' command

Exception appeared after trying to enter the command. Users cannot get to the instructions in the user guide thus making it less convenient for them to try/test.
Same the problem when I entered 'list'

Labels: type.FunctionalityBug severity.High
original: SHni99/ped#5

Fixed in PR #167


Set the StorageMaps source title for OpenStack

Fixes: #404
Set the StorageMaps source title, in case the source provider type is OpenStack, to 'Source volume types'.
In addition, add volume types mapping for empty state messages, for keeping code persistence.

@sgratch hi, can you make a backport to 2.4.1 ?

@sgratch hi, can you make a backport to 2.4.1 ?

Done: https://github.com/kubev2v/forklift-console-plugin/pull/430


Analytics

Google Analytics is probably good starting point.

@bfirsh What do you mean by Analytics?
Do mean the overview of how many items are stored for each product or something else?

@HaGuesto Product analytics. At the very least, something like Google Analytics to see if the product is being used. Sometime down the line where we want to actually get data about how the product is being used, we could use something like Mixpanel.


Make the sync marker uniform for the Avro coalescing reader

This PR is to fix the issue https://github.com/NVIDIA/spark-rapids/issues/5312 by appending the same sync marker to every block that being coalesced into a single Avro file.
It has mainly

introduced a new class named BatchContext, a new method createBatchContext in the parent class of the coalescing reader. This new method returns a BatchContext who lives during the whole stage of building a coalesced memory file. By this design, the merged Avro header can be shared with the steps of estimating the output size, writing file header and building the block data for creating a batch.
updated the copyBlocksData and GPU Avro coalescing reader to support writing a given sync marker.
added the related tests.

Performance on Local (seconds)

CPU 12 cores, and one GPU (Titan V, with 12GB memory)
Non-partitionedavro files, 2GB for 400 files and 4GB for 2000 files. (Data sizes are got by du -h)

Files Number
CPU
COALESCING

400
25.552
12.578

2000
27.631
13.022

closes https://github.com/NVIDIA/spark-rapids/issues/5312
Signed-off-by: Firestarman<EMAIL_ADDRESS>

build

I'm confused on the reported performance results.  Shouldn't this be reporting the performance of the GPU coalescing reader before/after this change rather than comparing the performance against the CPU?  Seems like we're changing way too many variables between the two setups to isolate the performance impact of any single change (i.e.: changing CPU to GPU, non-coalescing to coalescing, uniform sync vs. non-uniform sync, etc.).

I'm confused on the reported performance results. Shouldn't this be reporting the performance of the GPU coalescing reader before/after this change rather than comparing the performance against the CPU? Seems like we're changing way too many variables between the two setups to isolate the performance impact of any single change (i.e.: changing CPU to GPU, non-coalescing to coalescing, uniform sync vs. non-uniform sync, etc.).

I thought this perf can show us even with this change, we still get better perf than CPU, will update it accordingly.

build


Add Segment Percentage Difference

Added percentage difference to segment time comparison for delta KOM, delta PR and delta Year PR.

RE feature request #583

@devon-badman Nice one ! Thanks :)


Templates: make code reachable.

break in a loop instead of return.
Also sync SAP GitHub code.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: jerome-benoit:x: gochaxYou have signed the CLA already but the status is still pending? Let us recheck it.


how to...ideas on...integration with third part attribution svcs?

Any guidance, thoughts on hooks these links with existing attribution svcs like
mobileapptracking, appsflyer, and ads networks for more integrated measurement of exsiting
integrations?
thanks
nice stuff!

Hey Sirvon,
Thanks for the kind words - let us know if you have any feedback or suggestions for improvement! And of course, if you refer more devs to the platform, you get one of these awesome hoodies https://branch.io/referral/
Back to your question. We do this with a couple other partners like HotelTonight. The easiest way is to specify the $ios_url/$android_url key with the value of your ad network tracker link. Then, you can use our link in the advertisement and get our link attribution all in one place with the power of the deep links.
As an alternative, If you have figured out how to do a server to server integration with those guys, we also offer a pretty awesome web hook feature to send all our install and app re-open events back to the endpoint of your choosing. We even bundle in all the referral data so you can do reporting on your own server if you like.
Let me know how I can help!
Best,
Alex

Thanks for the insight.
It seems branch is giving devs back the attribution/event tracking power
thru simplified low/no fee measures.
More doc reading and experimentation is at hand to fully realize this
potential.
Truly thanks for this tool. Immense opportunity with no immediate pricing
barrier!!! Only knowledge necessary.
On Jan 2, 2015 10:10 PM, "Alex Austin"<EMAIL_ADDRESS>wrote:

Hey Sirvon,
Thanks for the kind words - let us know if you have any feedback or
suggestions for improvement! And of course, if you refer more devs to the
platform, you get one of these awesome hoodies https://branch.io/referral/
Back to your question. We do this with a couple other partners like
HotelTonight. The easiest way is to specify the $ios_url/$android_url key
with the value of your ad network tracker link. Then, you can use our link
in the advertisement and get our link attribution all in one place with the
power of the deep links.
As an alternative, If you have figured out how to do a server to server
integration with those guys, we also offer a pretty awesome web hook
https://github.com/BranchMetrics/Branch-Integration-Guides/blob/master/webhook-guide.md
feature to send all our install and app re-open events back to the endpoint
of your choosing. We even bundle in all the referral data so you can do
reporting on your own server if you like.
Let me know how I can help!
Best,
Alex
—
Reply to this email directly or view it on GitHub
https://github.com/BranchMetrics/Branch-Android-SDK/issues/21#issuecomment-68584921
.

Hi, @aaustin
Is the solution with the $ios_url still valid now, a year later or there is a different way? Will this kind of combined deeplink work also on the second launch?
I'm also trying to figure out how to combine Branch's Deeplink features with AppsFlyer ad networks.

oh, sorry.
actually I found a pretty good tutorial in the docs.
https://dev.branch.io/third-party-integrations/ad-network-analytics/overview/

@Zhukn1 Thanks for reaching out .The solution with $ios_url is still valid. In order to get a faster response could you please send your implementation questions to<EMAIL_ADDRESS>


Fee is heigher than blockchain.info,I am using rpcClient.GetFee()

Hi Nic,How are you?
I am little bit confused of how to calculate fee rate as we are currently calculating it by
rpcClient.GetFee() method but it is giving high rate than blockchain.info site,Please suggest what could I use? My client complaining the below problem.
" I have compared our fees with blockchain.info and we are charging more than them . They don’t even have Segwit implemented,
Like for a transaction of 0.0028 we are charging 0.00003939 for express fee and 0.00007679 for standard fee. Blockchain.info charging .00001130 for same transaction"
Thanks,
Abhinav Kumar

hey, use rpcClient.EstimateSmartFeeAsync, it allows you to configure in how much block you expect to be confirmed, and has two mode, conservative and non conservative.

Thanks for so much fast reply :)
So for using rpcClient.EstimateSmartFeeAsync what needs to be changed, i.e i have to update anything?
And "it allows you to configure in how much block you expect to be confirmed, and has two mode, conservative and non conservative." this point is not clear.

Thanks,
One thing i am not clear,Is Segwit also reduces fee cost OR just for separating the signature part to prevent from malleability?

@AbhinavJKJ yes segwit reduce cost. This call send back a feeRate on the amount of "virtual bytes" of a transaction. A transaction spending segwit ouptuts has a lower "virtual size" than a normal transaction.
If you use the TransactionBuilder with SetEstimateFees(feeRate), then this is all calculated for you.

Ohk thanks,
So SetEstimateFees(feeRate) will automatically deduce the fee cost?
Actually in our scenario we are calculating two rates one is standard and another one is Express by looping through blocks on rpcClient,And on transaction building process,I am passing the selected one by user.
I will try the suggested way and let you know,Is it working or not,Actually one day i checked with rpcClient.EstimateFee but it was unresponsive,Do you have any idea why it happened?

EstimateFee is depcrecated by core now. So use EstimateSmartFee, map the user choose to a confirmationTarget. (Express = 1, Normal = 6)
Then pass this feeRate to the transactoinBuilder with SetEstimatedFees(feeRate);.

Hi nic,
I have not applied this yet because of some more other task but i will try to apply it soon and let you know if i am getting any difficulty into that so thanks for your support.

Reopening, please close if it fixes your issue.

Thanks for reopening,really appreciable support from you 😊

got fixed?

@AbhinavJKJ
For the record, conservative will give you higher feerate, economical will give you lower. This is used in Bitcoin Core that, when you make an RBF-able transaction, it will do economical fee estimation, if you don't make it RBF-able, then it'll do conservative fee estimation.

Nic, when i tried to apply it,its giving an error for mnemonic code that is being used for HD wallet, currently i am just figuring out,there are some dll error, today is my holiday, i will ask if this error will not got fixed.
Thanks
Abhinav

Hi Nic,
For EstimateSmartFeeAsync  method i used NBitcoin latest version(<IP_ADDRESS>) but its throwing error with (ExtKey masterKey = new ExtKey();) ,Screenshot is attached.
I just stucked here cant understand why its coming.
Please help.
Thanks,
Abhinav Kumar

Hi Nic,
Did you get chance to look into above posted problem?
Thanks,
Abhinav Kumar

@AbhinavJKJ sorry for late reply, I was quite sick. Are you referencing NBitcoin from Nuget? and if yes, check you are using 4.5.2 at least. 4.5 is not supported.

No problem Nic, please take care of yourself,
I am using 4.1 from nuget this is latest one i got from there,now more releases has introduced? Ok let me check that and let you know.
Thanks,
Abhinav

I mean the .net version of the project you created. Can you paste here the content of your csproj file?

Yes should be able to. I think you should try visual studio 2017 it is quite cool.

Yes i am using that in one of my project, i will try this one as well. As there are many other dependencies as well so i will check with all that and let you know tomorrow.😊
Thanks,
Abhinav Kumar

Hi Nic,
I have upgraded the project and its successfully resolved one problem now other problem arouse its just getting stuck on var feerate=rpcClient.EstimateSmartFee(4,samrtfeeoptions.Economical).
Any suggestion why this new one?
Thanks,
Abhinav Kumar

what do you mean by getting stuck

Means not responding when debugger come on that line of code

and without debugger does it throws an exception?

can you do
var feerate = await rpcClient.EstimateSmartFeeAsync(4, SmartFeeOptions.Economical);
And add async to the method calling this?

Ok i will try this and let you know .

strange, what feeRate are you receiving? what is your code?

Hi Nic,
Actually i am receiving approx 0.00000370 for 0.00100000 BTC value.
Below is the code:
var rPCClientObject = new RPCClient(_credentials.UserName + ":" + _credentials.Password, new Uri(_coinParameters.SelectedDaemonUrl), _coinParameters.NetworkType);
EstimateSmartFeeResponse fee = await rPCClientObject.EstimateSmartFeeAsync(6, EstimateSmartFeeMode.Economical);
var moneyFee1 = transactionBuilder.EstimateFees(feeRate1);
var result = objCustomTransactionHistory.TransactionBuilder.Verify(objCustomTransactionHistory.Tranasction, out errors);
and result is returning false and the errors value is "Fee too low, actual is 0.00000370, policy minimum is 0.00000612".
Thanks,
Abhinav

You can workaround this error with transactionBuilder.StandardPolicy.CheckFee = false.
However I will take a look I was not expecting that to happen.

Wait how do you get feeRate1 ?

I am getting feerate1 through below method as per your suggestion:
EstimateSmartFeeResponse fee = await rPCClientObject.EstimateSmartFeeAsync(6, EstimateSmartFeeMode.Economical);

I have already used transactionBuilder.StandardPolicy.CheckFee = false;
and it resolved error but i think this is the problem with verify method,What you think? As per my understanding verify method is not verifying according to fee mode.
There is one more strange problem came into the scenario when i brodcasted the transaction its not showing on blocktrail but its showing on btc.com and after one confirmation on btc.com it started showing on blocktrail as well.
I workaround this and found that when i am using fee mode economical and block size 6 this scenario occuring but when i changed the fee mode to second type and decresed block size to 2 its not coming.
Please suggest why this is happening?
Please let me know if anything is not clear to you.
Thanks for your great support.

fee is different from feeRate1 can you just show me the line where you affect?

Hi Nic,
Below is the whole method:
public async Task<List> TransactionFeeRates()
{
List result = new List();
try
{
var rPCClientObject = new RPCClient(_credentials.UserName + ":" + _credentials.Password, new Uri("localhost:18332"), Network.Main);
EstimateSmartFeeResponse fee = await rPCClientObject.EstimateSmartFeeAsync(6, EstimateSmartFeeMode.Economical);
result.Add(new TransactionFeeType { Fee = Convert.ToString(fee.FeeRate).Replace("BTC/kB",string.Empty), FeeType = "Fee Rate" });
}
catch (Exception ex)
{
throw;
}
return result;
}
And the  tx.ToHex() value is:
0100000000010125660f319984e49c1018c087afa443b4df40391272a853e1d2c244811d4ba3a101000000232200202549bd1aae3ddf20365db062c812f40b4cf67bfb268b3919c2d393bcb6c2c37cffffffff02b0e100000000000017a91449dfb58e6586538c5d2b1b2705350b63c4cb6c0887a08601000000000017a914fe68bdcadde5d5c9fc036384fcdba1d8551b9e24870500473044022070434043ab80adabb10004dbc952034ed1d1b0a76b14ccdc83a83d0f8ef4e2b2022064343cc470bd76cc92abc317157d73f4229f32c2a1596ce99b59a95528718b0201483045022100f3800567a1e9b4c5a0eac838cee5a9570431dffb5894ffd3666da79bec7733bf0220512b25f6f2567cd043ea042557af34bb7da7026b280d0b8bd4118eb76317832601483045022100bb7ae144046fa5c6617ae6be8eb3780e12368a36075b0ea44a0deadf2bfd9d6302205ea8a283937eab64699da9aa8c477232e2cbb8413b4f70da88acc924a12dd04f0169532102905f69d5da7987d10535979b13d88427204b08f1373dbb4d70da350d773c77e221027881e05233d522ee3962fd7986ff96d6e856d0409b56ae963a0ec9a9f08d864a21024a647b0ed3b910225bf9c9f4f9df673f59914154b6d910d86b492ac093c904a153ae00000000

Do not do that.
result.Add(new TransactionFeeType { Fee = Convert.ToString(fee.FeeRate).Replace("BTC/kB",string.Empty),

Transform your Fee property into a FeeRate type, don't use string. You are probably having a bug due to dodgy conversions.

Actually this is not being used here result list is just for showing in view means to the end user.
In actual calculation its value is being used like feeRate1=0.00000367 in below:
var moneyFee1 = transactionBuilder.EstimateFees(feeRate1);
var result = objCustomTransactionHistory.TransactionBuilder.Verify(objCustomTransactionHistory.Tranasction, out errors);

Please tell me where you get feeRate1 do not tell me it come from EstimateSmartFee  and show me where it comes from in code.

EstimateSmartFeeResponse fee = await rPCClientObject.EstimateSmartFeeAsync(6, EstimateSmartFeeMode.Economical);
feeRate1=fee.FeeRate;

feeRate1 is just a decimal value like 0.00000045
In above
feeRate1 is being calculated by removing "BTC/kb" string from actual fee. FeeRate.

feeRate1 is being calculated by removing "BTC/kb" string from actual fee. FeeRate.

Is not equivalent to

EstimateSmartFeeResponse fee = await rPCClientObject.EstimateSmartFeeAsync(6, EstimateSmartFeeMode.Economical);
feeRate1=fee.FeeRate;

so which one you use?

because if you do your strange string manipulation, this is a bug. You should not do this.

You need to do txBuilder.SendEstimatedFee(fee.FeeRate)

yes i did that (txBuilder.SendEstimatedFee(fee.FeeRate)) as well but same problem. I analyzed fee calculated as well by both way fee was coming same.

As per my understanding verify method is not synched with this fee mode,that may be the problem.

Can you tell me the value returned by fee.FeeRate.

Actually fee rate i not remembered but fee do,I can tell you fee rate when on my system  around 4 PM IST.
Actually i am receiving approx 0.00000370 for 0.00100000 BTC value. This is fee calculated through txBuilder.SendEstimatedFee(fee.FeeRate);

I need you do give me fee.FeeRate exactly.

Hi Nic,
How are you,hope you are well,Sorry for not replied your last comment.
You can close this ticket.
Thanks for your great support. 🥇
Thanks,
AbhinavJKJ


Cannot sign in

User is already signed up, but when wants to sign in, it gives this error.

hello, you need to add the AUTH_SECRET environment variable on prod

Hi, yeah, that was the issue. Thank you. Maybe it would be better to have .env file with needed variables for dev mode. @leerob
Btw thank you for this starter! I think having template like this and keep maintaining it is huge boost for Next ecosystem and productivity overall. 🙏

Appreciate that @gdrxn!
Thank you @younes101020 🙏 https://github.com/leerob/next-saas-starter/pull/6


CSS

CSS
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

Pulled and Merged to Main


lib/path: Add path processing utilities

Part of #184. Contains @go.canonicalize_path and @go.realpath functions not from the original scripts/lib/walk in mbland/dev-setup. Updates walk_files to @go.walk_file_system with a breadth-first search option.

Coverage increased (+0.09%) to 94.795% when pulling a457e0b2585d3e7b478460ced31f1798f8c34a65 on walk-#184 into fb5853417a2edb4359856f4d21f2a8e0495e63c9 on master.


Recover an existing app ( Successful Modal )

Will need to create ( Successful Modal ) for Recovering an existing app via seed words @Deveshshankar

App Recovery Success Modal: https://www.figma.com/design/XL8VT1K79eW9H42LP1cXwN/Keeper-Issue?node-id=0-1&t=ZQJlujikwcDsczhz-1

Completed


Not working with 5.16.1

Hello @Unbrick its not working with the current version 5.16.1.

This current commit should make it work again (as of today, tested only with v. 5.40.0)


Auth implementation

This PR allows an admin user to actually login.
When an admin user is created with the following command:
$ stack exec -- kucipong-add-admin<EMAIL_ADDRESS>"test name"

They are sent an email with a url they can use to login.
The login handler is Kucipong.Handler.Admin.login.  It sets an encrypted session cookie with the admin's email address.
This code currently doesn't redirect the admin user to the homepage.  That will be implemented in a future PR.
@arowM @kayhide Please review.

見ました。OKです！

LGTM