KO-13263 Added module exports to support UMD

This change is

package.json, line 7 at r1 (raw file):
Previously, brendan-roche (Brendan Roche) wrote…
why was this changed?

their karma test was returning errors on npm test and as we have just forked it temporarily so the test is by-passed

package.json, line 34 at r1 (raw file):
Previously, brendan-roche (Brendan Roche) wrote…
we're not really maintaining ourselves so it should still point to original library issues

its in devDependencies so it won't install on npm install

package.json, line 4 at r1 (raw file):
Previously, brendan-roche (Brendan Roche) wrote…
We shouldn't be altering the name, version or description of another library. Ideally we've just forked it temporarily until they update and we don't need to

changed this incase we use the npm install because if the name is same and we run npm install <package_name> it will point to the main package not the forked one,

dist/spi-client-js.js, line 291 at r1 (raw file):
Previously, brendan-roche (Brendan Roche) wrote…
why are they prefixed with underscores?

its a build file modified through npm run build

dist/spi-client-js.js, line 396 at r1 (raw file):
Previously, brendan-roche (Brendan Roche) wrote…
try to keep all requires together, and ideally at the top of the file

its a build file modified through npm run build

dist/spi-client-js.js, line 398 at r1 (raw file):
Previously, brendan-roche (Brendan Roche) wrote…
You've got this defined at this top of this file too?

its a build file modified through npm run build

package.json, line 34 at r1 (raw file):
Previously, brendan-roche (Brendan Roche) wrote…
for some reason reviewable has moved my comment under a different line. If you change the review for this file to include all changes, you'll see my comments relate to removing:
  "bugs": {
    "url": "https://github.com/AssemblyPayments/spi-client-js/issues"

got it, removed it as its not affecting anything


Windshield icing, dirt (ASOBO_Detail_map) not exporting

missing ASOBO_detail_map in windshield texture slots. (main branch test)
commit 547df62a9fbeafae9282814e5c7c1e9beeeca629

This should also be fixed in #11


Auto-generate main.zng

Hello, thanks for this promising project.
I’ve a rust crate https://github.com/kraktus/rs-retroboard-chess that has sparked the interest of cpp users. I’d like to make it available.
The good thing is that it mostly returns simple types or wrapper around it, however the api surface is still quite high to make a main.zng file manually. Is there a way to generate it from the rust code? Even imperfectly, as a way to save time.

I added a very low effort implementation of a main.zng generator, you can use it by generating your project's json docs by cargo +nightly rustdoc -Zunstable-options --output-format=json and copy the result into zngur/zngur-autozng/doc.json and then run autozng using cargo run. I did it for your project, and here is the result:
type crate::MoveKind {
    #heap_allocated;
    fn new(Option, Option) -> Result;
    fn is_uncapture(self) -> bool;
    fn is_en_passant(self) -> bool;
    fn is_unpromotion(self) -> bool;
    fn to_retro_uci(self) -> String;
}
type crate::UnMove {
    #heap_allocated;
    fn from_retro_uci(&str) -> Result;
    fn new(Square, Square, MoveKind) -> Self;
    fn to_retro_uci(self) -> String;
    fn is_uncapture(self) -> bool;
    fn uncapture(self) -> Option;
    fn is_unpromotion(self) -> bool;
    fn is_en_passant(self) -> bool;
    fn uncapture_square(self) -> Option;
    fn mirror(self) -> Self;
}
type crate::RetroPockets {
    #heap_allocated;
    fn color(self, Color) -> &RetroPocket;
    fn color_mut(self, Color) -> &mut RetroPocket;
    fn from_str(&str, &str) -> Result;
}
type crate::RetroBoard {
    #heap_allocated;
    fn new_no_pockets(&str) -> Result;
    fn new(&str, &str, &str) -> Result;
    fn push(self, &UnMove);
    fn pseudo_legal_unmoves(self, &mut UnMoveList);
    fn legal_unmoves(self) -> UnMoveList;
    fn board(self) -> &Board;
    fn retro_turn(self) -> Color;
    fn us(self) -> Bitboard;
    fn our(self, Role) -> Bitboard;
    fn them(self) -> Bitboard;
    fn their(self, Role) -> Bitboard;
    fn king_of(self, Color) -> Square;
    fn flip_vertical(self);
    fn flip_horizontal(self);
    fn flip_diagonal(self);
    fn flip_anti_diagonal(self);
    fn rotate_90(self);
    fn rotate_180(self);
    fn rotate_270(self);
}
type crate::ParseRetroPocketError {
    #heap_allocated;
}
type crate::RetroPocket {
    #heap_allocated;
    fn decr(self, Role);
}
type crate::ParseRetroUciError {
    #heap_allocated;
}

It is broken in multiple ways, and you can use it just as a template. You need to fix these things for it to become usable:

Names should be full qualified, like crate::UnMove, ::shakmaty::Role or ::std::string::String.
Generics are ignored and should be added
Generic types used in function arguments and return types should be added as separate types, with appropriate methods like unwrap.
self types are wrong (I can fix this easily if it is annoying).
You probably want to do this once for shakmaty crate as well.

The autozng is a simple 200 line script which you can easily read and improve, and ideally we want to have a full featured autozng and it is in the scope of this project, however I currently don't have time to make it complete and polished, but I can add some more features if you desire.
Please tell me if you hit any problems in using zngur, or have some ideas. My own project that triggered me to create zngur became fully Rust, so now there is no real project using it. But I still believe in zngur idea and would really like to see a real project use zngur, so I will help you if you hit any zngur related problem.

Thanks! I actually did something similar 2 years ago: https://github.com/kraktus/cargo-extern-fn and got quite far using proc macros, but it was based on cxx which turned out to be too limited in terms of fondamental type support (not even Option), and seemingly no active development from the maintainers to add them or accept PRs.
Will definitely check it out once I've more time.


Deployment of Mattermost and Kubeapps give chatflow certificate error in 'create subdomain'

Tester community started testing and encounter error in 'create subdomain' step in chatflow, both for Cryptpad and Kubeapps. What does this error mean ? Webgateway issue ?

Have deployed new solutions - Taiga and Cryptpad and both have a successful deployment of the gateway.  Closing issues


issue33 Make UserTransaction available via CDI

Signed-off-by: Michael Musgrove<EMAIL_ADDRESS>#33
This PR adds support for running the MP Concurrency TCK against containers that do not automatically expose UserTransaction (such as the one used by the SmallRye concurrency implementation).

Thanks


Start 1.1.0

No review needed.

Coverage remained the same at 35.903% when pulling 89a671dfef62a43386822d40428337ce9cf95a3c on start_1.1.0 into 5f3157ac758b92006d24c27b48ab7f57e1b67c5f on master.


why is the update script currently (since 2020may?) disabled?

from what i can discern, the update script has been disabled since the last edit, about a year ago, but I don't see an "issue" about this and cannot find any comments in the history that explain this.  I'm not a coder, so I may be missing something, but if there's an issue this is addressing, can we have an open issue that documents is, so I can track when it's resolved?  Thanks.  Also, until it's resolved, should we be updating any scripts that have been updated in the last year, manually? [since it's not a debian package]
https://github.com/pivpn/pivpn/blob/master/scripts/update.sh

if i am not mistaken this is the main reason why: https://github.com/pivpn/pivpn/issues/1069
Mainly related with breaking changes and confusion with users having it installed with prior versions and therefore breaking their installations.
pivpn just makes the installation process for you, all the rest is updated through your package manager.
This said it was disabled till we find a solution and the old philosophy remains, https://github.com/pivpn/pivpn/wiki/Upgrading
What is important to keep updated is your protocols not pivpn! Pivpn is only worth being updated if you really want any feature we might have added to the scripts that assist you with managing your vpn.
if you really want to update it ... for now there are only two ways ...

backup your installation, re-install and restore the backup or manually update
cd /usr/src/pivpn && git pull origin master be aware that this approach might introduce changes not backwards compatible therefore break your setup.

Thanks!!  I don't know why i never found that */wiki/Upgrading page.  makes sense now (except why the script presents the -up option at all).  I guess it wouldn't be too difficult to pivpn uninstall, and then re download the script and install again [and configuring half a dozen clients wouldn't be difficult].  Is there a way to determine which version of the pivpn install I have, so that I may determine if anything was added from my version?

Is there a way to determine which version of the pivpn install I have, so that I may determine if anything was added from my version?

Run pivpn debug and at the beginning of the output you will see the date of the last change to PiVPN.


Where is information on ‘extern “C++”’?

I actually came to this page specifically to learn the difference. There isn’t a lot of good information out there on that, and even in this page the only examples shown provide ‘extern “C”’.
What if I don’t care about interop with C or other languages? What if what I really want to do is make a C++ class library (not a mere function library) that’s strictly to be consumed by other C++ code? If it’s an option that exists right alongside ‘extern “C”’, why was that implemented? What does it do/accomplish (and what does it not do/accomplish)?
Furthermore: How do I best go about generating .lib and .dll class library projects (again, that are strictly to be consumed by other C++ code) and how might ‘extern “C++”’ fit or not fit into that kind of project?

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

ID: 5507963a-8f67-1de6-d164-28469e956006
Version Independent ID: d4155e73-d05d-997b-8454-09564ea117d8
Content: extern (C++)
Content Source: docs/cpp/extern-cpp.md
Product: visual-cpp
Technology: cpp-language
GitHub Login: @corob-msft
Microsoft Alias: corob

@random9q
Those are good questions. For the headline question, the answer is simple. extern "C++" exists for symmetry with extern "C". The extern "language" pattern specifies something called a language linkage, which is an implementation-specific set of naming and calling convention rules applied to external symbols for variables and function names. When you specify extern, it's also extern "C++" by default. extern "C" means use the C naming and calling convention for the declared name, while extern "C++" means use the C++ naming and calling convention. The only practical use for extern "C++" is to declare a function or variable with C++ linkage that's nested inside of an extern "C" block. I'd question such an item in code review; as it's almost certainly in the wrong place. In decades of coding, I've never had occasion to use extern "C++" except when writing about it, like this. You'll probably never need it, either.
As for creating C++ DLL or static library projects, I recommend using the templates in Visual Studio. If your code will never need to interoperate with other languages, then it's safe to ignore extern "C" for interfaces, and just use regular extern declarations to call your static library functions, or __declspec(dllimport) for DLL function declarations. All functions and global or thread-local variables that do require extern "C", such as those in the CRT or the Win32 APIs, specify it in the relevant header files, so you'll never need to worry about it in your own code. Hope that helps.

Thank you for your patience as we work through our backlog. We have received more issues than we can manage at this time. We are closing issues based on their severity, how broadly applicable they are, and whether there is enough information provided to act on the issue. If you believe that this issue should not have been closed, please reopen it and provide a comment explaining why.


Fixed two more occurrences of requires public

Changed to requires transitive

@jklingen Thank you very much for your PRs. I didn't know anybody was actually going through this repo - awesome! :smiley:

@nicolaiparlog thanks to you for making this 😃. I thought it was good to do some warm-up exercises before testing migration of a real-world project and found this repo a really good starting point. 👍

Good idea, I just changed it as suggested.


Shutdown/restart button

I have searched in maraschino's code on how you made the cog-item  which goes to configuration mode.
Wanted to do the same for a shutdown/restart function, but then hovering in de topright section of maraschino.
I didn't found the examples on how you did that cog-hover thing, so I can't make it myself (python/js newbie)...
Someone or you interested in creating a shutdown/restart function? Maraschino really needs a clean shutdown/restart function.

That would probably be better off somewhere else, like the library module. The top-right is probably going to be used for gugahoi's remote, and the bottom corners are off limits for the time being (don't want to over-complicate the UI).

Oh sorry, just skimmed the ticket - I thought you were just asking how to make a hover cog thingy (it's all done in CSS).
To clarify, are talking about shutting down / restarting the entire computer?

Well shutting down whole computer is an idea too of course,
but I was talking about stop/restart maraschino.
A button or link that stops maraschino, like sickbeards http://sickbeard:port/home/shutdown.
For aesthetical reasons hidden until hovered over :)

Shutting down the entire computer is an idea, but necessarily a very good one :)
Genuine question: what is the use case for this / what's the benefit of it? The only time I restart Maraschino is when I update it from git, and then I'm already on the command line.

I am on commandline too most of the time. But my (main)maraschino is on a remote headless server, so if I want to shutdown that one I need to ssh into it then stop the daemon.
It is for people not used to commandline that use maraschino. After such a button is written, an update maraschino can be written, which needs the restart function. This way you could make maraschino check for updates, and if updates are present, show an updatebutton next to the stop/restart button.
Believe it or not, some people, especially those on lowpowered nas-devices, want to stop maraschino to save resources for other tasks... ;)

Stop Maraschino? Madness! But sure, I can see how some people may not want it running all the time (although I personally prefer it being available at a click of a button).
Leaving this ticket open in case anybody (myself included) want to find a nice way of implementing this.

I agree with @Mar2zz that a shutdown function will be useful, specially when we implement an update function.

I don't really need buttons, just url's are ok too. It's needed in start stop scripts until there is some daemon-mode or pidfile option.
Right now Maraschino forks too often to create pidfile with correct pid in it. daemon-mode can't be done until some kind of importlock is written. But that's lots of work.
On full linuxdistro's everything can be done with the built in start-stop daemon (which can handle pidfiles on it's own) but nas-devices like synology's and qnaps don't have a start-stop daemon, so they benefit from an exit url (wget it so it stops) until maraschino can handle pidfiles on it's own.
Right now I have a syno startscript that only supports starting, it needs stop/restart for for example gitupdates. Of course, it's madness to stop Maraschino, but hey we live in a mad world.


On the mobile version of the website the top menu cannot be dismissed with a click

For example if I click here :

The top menu should dismiss I believe but it does not.

Sorry but that's how the Bootstrap navigation bar works.

@nikitavoloboev I've briefly tested adding this to the footer partial of the HTML (just before the body tag is closed), and it seems to work.
    <script>
	$(document).on('click',function(){
    $('.collapse').collapse('hide');
})
    </script>

@anthonylavado, I added your script to the theme. Thank you!


Synchronise access to Cache to prevent corruption of state with IPC

The problem
Currently if you have 2 processes (in particular sub processes) running that use the CachedClientSession if they both start adding items to the cache, one of there processes is going lose the references to the data it fetched, and any file saved to _out_cache will be orphaned. Not good.
Solution

There are some other approaches like making making the data a flat CSV and allow new data to just be appended to it. That sounds pretty reasonable tbh, but I want to have fun here.

So what I'm going to do is create some kind of erlang style IPC layer where there's a process that "owns" the responsibility of reading and writing to the cache state as well as performing the network requests. Some kind of Http Daemon.

When should it start and end?

If you start a task that needs the HttpDaemon and it's already running it should start the daemon if it wasn't already running.
If the task that starts it ends but another task that needs it starts running, it should continue running.
If the daemon will stop running once all other consumers have stopped.

How do new consumer processes discover existing running daemon processes

I'll figure that out later, I think saving the pid to disc is probably fine.

The approach

Use multiprocessing.connection.{Client,Listener} to impelement the daemon server daemon client stuff
We can probably just move the entire role of http into the daemon, and then create a wrapper for ClientSesssion that interacts with it so all the code that uses ClientSession goes unchanged.

An example of the multiple processing API
Here's an example for a simple daemon that just counts. It doesn't show how we start the process or we discover the process
Server
from multiprocessing.connection import Listener

class CounterManager:
    def __init__(self):
        self.counter = 0

    def handle_request(self, request):
        if request['action'] == 'increment':
            self.counter += 1
        elif request['action'] == 'decrement':
            self.counter -= 1
        elif request['action'] == 'reset':
            self.counter = 0
        return self.counter  # Always return the current counter value

    def run(self, address):
        listener = Listener(address)
        print(f"Counter Manager running on {address}...")
        while True:
            conn = listener.accept()
            request = conn.recv()  # Receive a message from a client
            response = self.handle_request(request)
            conn.send(response)  # Send back the current counter value
            conn.close()

if __name__ == '__main__':
    manager = CounterManager()
    manager.run(('localhost', 6000))  # Manager listens on port 6000

Client
from multiprocessing.connection import Client

def send_request(action):
    with Client(('localhost', 6000)) as conn:
        request = {'action': action}
        conn.send(request)  # Send a request (increment, decrement, reset)
        response = conn.recv()  # Receive the current counter value
        return response

if __name__ == '__main__':
    # Example usage of the client
    print(f"Incrementing: {send_request('increment')}")
    print(f"Incrementing: {send_request('increment')}")
    print(f"Decrementing: {send_request('decrement')}")
    print(f"Resetting: {send_request('reset')}")
    print(f"Current Counter: {send_request('increment')}")  # To check the final value

What I want to do is use some form of IPC to create a message passing interface to interact with the cache.

Initial work has been started in #74


Just used to trigger acceptance tests - ignore

/deploy

You can access the deployment of this PR at https://renku-ci-nb-707.dev.renku.ch


Add Portkey to related resources

Summary
Adding Portkey.ai to list of tools

Slight edits for consistency.


fix unable to open database

fix unable to open database
Motivation
badger 2022/02/16 03:40:15 INFO: All 6 tables opened in 1.363s
badger 2022/02/16 03:40:15 INFO: Replaying file id: 46 at offset: 17321025
badger 2022/02/16 03:40:16 INFO: [Compactor: 0] Running compaction: {level:1 score:1.0013011395931244 dropPrefixes:[]} for level: 1
badger 2022/02/16 03:40:18 WARNING: Truncate Needed. File /data/mainnet/check-data/60a5748dd7f8da0a76c89a122db470212216e7e5654bbbcb8b8940ec103bc403/000046.vlog size: 46411776 Endoffset: 46409207

Solution
https://github.com/dgraph-io/badger/issues/1353
Open questions

Hello @millken  - seems like you would need to rebase this since the failure on circleci is due to some copyright gen
-// Copyright 2021 Coinbase, Inc.
+// Copyright 2022 Coinbase, Inc.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Not able to add spaCy pipw

I tried python -m coreferee install en as well as pip install of the zip file but still getting this error

Have you tried issuing the command shown under In [3]? If so, what happened then?

Closing as no further answer received.


Update bindgen to 0.31.3

The constified_enum translation for C enums is the default now, and does not need to be explicitly specified.
Note: I wasn't able to get cargo test to succeed with or without this change, so I am not 100% sure everything is gravy after these changes.

Thanks for the contribution. I'm sorry for ignoring this for over two years. I don't have a good notification scheme.
The latest version no longer uses bindgen as a build dependency, so this should be no longer an issue.


chore: upgrade cargo deps

todo: upgrade clap as require more code changes across various binaries

bors try

bors try

bors try

bors merge


Load Mocha and Chai from NPM

This PR converts Mocha and Chai from Bower into NPM dependencies and updates them at the same time (major version bumps!).
ember-mocha-adapter hasn't been converted yet, because:

it's not published to NPM
it is supposed to be merged into ember-mocha (see ember-mocha-adapter#35)

/cc @rwjblue

originally this PR used Mocha 3 already, but due to https://github.com/switchfly/ember-cli-mocha/issues/73 I'd like to hold off on that for now.


RevEng: Don't produce HasIndex() API if it would already be assumed

Due to supporting a primary key, but make allowance for the outputting
HasName() (on a primary key) or HasConstraintName() (on a foreign key) as needed.
Fix for #3710.

:shipit:

Checked in with commit dbb5c9f.


Notify on authentication result

Builds on this PR - shortcut resolving authentication when a videoLoaded/webcastLoaded is triggered. Also return a promise from updateToken that's resolved when complete (or rejected if failed)

Folded into PR #54 , closing this one


[DO NOT MERGE][WIP]Implementing basic authentication with URLSession

@pushkarnk this hasn't been touched for a few weeks. Shall we close this for now, and then re-open later when there's further work?

@alblue I've been doing some work on this lately and facing a lot of issues trying to fit authentication in the current URLSession framework. Anyway, I'll close this one for now and submit a new PR once I have something working. Thanks!


Custom JMX PORT

Is there an option to change the JMX port to a custom port?  I use AWS MSK and the default JMX port is 1101.  where can I change that?

Does CMAK suport it on its own ?

There's open question in CMAK
https://github.com/yahoo/CMAK/issues/762
Feel free to ask there, this project can't support port change unless CMAK itself supports it.
Closing the issue.


create a test that reproduces with a smaller database (1 segment and 1 checkpoint?) and run in CI

See #1102

https://github.com/zenithdb/zenith/pull/1292 merged, which addresses this. Feel free to reopen the issue if I'm missing something.


Added the buildFullSubmissionState [Not For Merging]

Motivation
Added a buildFullSubmissionState function to the Submission model. This function is intended to build the full state of the form, including field values.
This will make it easier for users to render and add values to fields.
TODO: Need to support repeating fields.
TODO: Need to support file fields.

Going to PR against a feature branch


Tests for [PackageControl] service

One less service to add tests to!

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @PyvesB!

  Generated by :no_entry_sign: dangerJS


Android 13: discoverServices() seems to be required before getServices()

Describe the bug
I have a BLE peripheral which doesn't change its services and characteristic at runtime (at least I think so, is there a way to test that?). When I connect to this peripheral from Android 11, from iOS 15 or from Chrome, getServices() seems to work as it should.
When I try it from Android 13, getServices() returns an empty array.
If I call discoverServices() first, then getServices()returns all the services as it should, returning 7 services I expect.
If I then rebuild the app and try to do getServices() again without doing discoverServices() first, I again get an empty array. The peripheral wasn't restarted in the meantime and its services should be the same.
One thing to note: I do not provide any services nor optionalServices to requestLEScan() - can this be an issue?
To Reproduce

requestLEScan(). For options, I use justallowDuplicates = true
connect to a specific peripheral found in scanning
call getServices() for that peripheral on Android 13
empty array is returned
retry the same process but with calling discoverServices() before getServices()
array with services is returned from getServices()

Expected behavior
getServices() should return the existing services of the peripheral
Plugin version:

@capacitor-community/bluetooth-le: 3.0.0-1

Desktop:

OS: MacOS Ventura 13.3.1 (a)
Browser: Chrome
Version: 112.0.5615.137 (arm)

Smartphone:

Android 11 device: Xiaomi Redmi Note 8 Pro, MIUI 12.5.7
Android 13 device: OnePlus Nord CE 5G, OxygenOS 13
iOS device: iPhone 7, iOS 15.7.5

Service discovery is automatically run as part of the connect call. Can you check the logs in Android Studio when you connect to the peripheral and see if there is a difference between your Android 11 and Android 13 device?
The options of requestLEScan shouldn't matter.

Thank you for the suggestion! Here are the logs from Android 11 device:

and here's Android 13 device:

They look a bit different, I'm not sure what's relevant though. Is there anything else I can check?

Do you call getServices immediately after connect? What happens if you add a delay before you call getServices?

Yes, immediately after connect resolves. So I tried inserting 5 seconds of delay before getServices and sure enough, it now works:

I guess this means connect resolves before its internal discoverServices finishes - is that intended behavior? if so, I'll just await discoverServices manually just to be sure :)

I guess this means connect resolves before its internal discoverServices finishes - is that intended behavior?

No, this is not intended. In fact the connect call waits for the onServicesDiscovered callback from Android before it resolves. Seems like your OnePlus device somehow behaves differently. I have never seen this, but it could be that this is specific to the device, and not the fact that it is Android 13.
Not sure if there is something that can be done in the plugin about this.

I see. Well, I'm at a loss - maybe it's somehow connected to that eattSupport : false that is shown on the connect() line in the log?
For my purposes, I'm fine with awaiting discoverServices every time after connect to know the precise moment I can call getServices, so this issue can be closed or just mentioned in docs/discussion.


Create new 3_place and 4_route flow stages

@Lastdayends @854768750 @srini229 Are any of you using the old command line pnr interface? bin/pnr_compiler.py

No. I use schematic2layout.

No. I use schematic2layout.

Great. This PR is removing support for bin/pnr_compiler.py Let me know if you still need it.

@stevenmburns No, I do not use it.

@srini229 Approve this if you don't need bin/pnr_compiler.py

@srini229 I want to double check with you that you are no longer using the bin/pnr_compiler.py script for running the PnR flow standalone.

@stevenmburns i'm not using it as well. --flow_start 3_pnr:place does the job for me.


JAVA-1013: TimestampCodec should format dates in human-readable format.

LGTM.
UTC is how a date would have to be formatted if it was "inlined" in the query string instead of sent along as a value, so it's the right timezone to use.

:+1:


feat: change return type of setValue to include context on the execution

This PR changes the return type of setValue from boolean to SetValueResult. While not strictly necessary, this change enables applications to give better feedback to users why a command failed and make better decisions what to do with successful commands.

@zwave-js-bot automerge


cmd/go: data race on (*load.PackageInternal).Gcflags field

The race was observed at head with go test -race cmd/go, but doesn't always reproduce.

        WARNING: DATA RACE
        Read at 0x00c00037e8b0 by goroutine 17:
          cmd/go/internal/work.gcToolchain.gc()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/gc.go:105 +0xc83
          cmd/go/internal/work.(*gcToolchain).gc()
              <autogenerated>:1 +0x107
          cmd/go/internal/work.(*Builder).build()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:642 +0x1fd4
          cmd/go/internal/work.(*Builder).Do.func1()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:107 +0x465
          cmd/go/internal/work.(*Builder).Do.func2()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:164 +0x97

        Previous write at 0x00c00037e8b0 by goroutine 16:
          cmd/go/internal/load.setToolFlags()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/load/pkg.go:1800 +0x184
          cmd/go/internal/load.LoadImportWithFlags()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/load/pkg.go:1726 +0xe9
          cmd/go/internal/work.gcToolchain.symabis()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/gc.go:307 +0x2ea
          cmd/go/internal/work.(*gcToolchain).symabis()
              <autogenerated>:1 +0x8c
          cmd/go/internal/work.(*Builder).build()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:606 +0x183f
          cmd/go/internal/work.(*Builder).Do.func1()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:107 +0x465
          cmd/go/internal/work.(*Builder).Do.func2()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:164 +0x97

        Goroutine 17 (running) created at:
          cmd/go/internal/work.(*Builder).Do()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:151 +0x66e
          cmd/go/internal/test.runTest()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/test/test.go:752 +0x15cf
          main.main()
              /usr/local/google/home/bcmills/go/src/cmd/go/main.go:213 +0xa09

        Goroutine 16 (running) created at:
          cmd/go/internal/work.(*Builder).Do()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/work/exec.go:151 +0x66e
          cmd/go/internal/test.runTest()
              /usr/local/google/home/bcmills/go/src/cmd/go/internal/test/test.go:752 +0x15cf
          main.main()
              /usr/local/google/home/bcmills/go/src/cmd/go/main.go:213 +0xa09

Note to future self: nothing from Builder.Do should call LoadImportWithFlags. Package loading accesses global mutable caches and is not concurrency safe.

@aclements, could you take a look at gcToolchain.symabis? I think there's a bigger issue here, but I'm not sure I understand what's being done well enough to fix it.
The race is triggered by symbabis calling load.LoadImportWithFlags (previously known as LoadPackage), which is not thread safe. It reads and writes global state (in particular, flags in the loaded package), so it shouldn't be called inside an action.
symabis calls load.LoadImportWithFlags for a few specific packages (runtime, runtime/internal/atomic, sync/atomic) for other packages that depend on them. So in addition to the data race, it seems like there's a cyclic dependency that might not be recorded. For example, assembly files in sync/atomic are read when building runtime/internal/atomic, but I don't think that's recorded in the action id, so a change in one of those files wouldn't trigger a rebuild of runtime/internal/atomic.
Is there another way to implement this that avoids reading those files inside an action?

@aclements Is there a way to avoid the dependency cycle? A change in one of these packages may not cause the other packages to be rebuilt, since the build system doesn't know about these. The call to LoadImportWithFlags is also not safe.

The goal of this code is to scan for references from assembly in package A to symbols defined in Go in package B and tell the compiler when compiling package B. This is working around "group 2" issues from the internal ABI design. Things that come to mind:

We only need the SFiles list from package A. Can we get that without triggering all of the non-thread-safe stuff? Can we include those in the signature of package B? It's not really a cyclic dependency, since compiling B doesn't depend on compiling A; it just depends on some of the same input files. This solution would live in cmd/go.

Currently we only construct ABI bridges when compiling the package that defines a symbol, but with the right type information we could potentially construct them in the referencing package. However, these are mostly (all?) references to unexported symbols, so their type information isn't in the export info, so I'm not sure how we would get the right information to package A.

We could mark symbols in package B that need to be referenced from assembly in other packages. We avoided any sort of annotations in the internal ABI design, but maybe an annotation is the less-bad hack here. We could restrict that annotation to runtime/.... This solution would live in the compiler.

I'm kind of leaning toward 3 as the least-bad solution.

I looked at implementing this yesterday. It looked like both the SFiles and the assembler flags were needed (mkSymabis calls asmArgs). Those can vary based on command line arguments. If the assembler flags aren't actually needed, we could probably get the list of SFiles without too much hassle with cfg.GOROOTsrc, the package name, and a ReadDir call.

Making the change on the referencing package side sounds good, but it still sounds like a big special case. That's probably going to be true no matter what.

I agree this seems like the least bad option. If this can be done before the beta, I think we should move forward with this.

Jay's proposed work-around got me to actually work on this again. :)
I chatted with Russ and Cherry and our proposed fix is to make "//go:linkname"d symbols have all of the ABI wrappers, and to mark the symbols that are being called from other packages with self-linknames.
This dovetails with something gccgo already does (and which might be a good idea to do in the gc toolchain) where unexported symbols cannot be referenced from other packages unless they are linknamed. The meaning of "this symbol can be referenced from other packages" goes nicely "this symbol can be referenced from assembly in other packages".

That fix sounds much better than my hack! :)
Do you think that will land before the beta? If so, I'll abandon my CL.

I have the CLs mostly prepared already, so yes. I'm just building all of the configurations to make sure I've marked the right symbols, which takes a while.


Add transactions in SQL operations

A PostgreSQL library does not support the result Result.LastInsertId()[1],
here we will use a RETURNING syntax as recommended by own community [2].
[1] https://golang.org/pkg/database/sql/#Result
[2] https://github.com/lib/pq/issues/24
closes #48

Nice return a record is much better
Em qui, 5 de jan de 2017 às 11:53, Cássio Botaro<EMAIL_ADDRESS>escreveu:

@cassiobotaro commented on this pull request.
In adapters/postgres/postgres.go https://github.com/nuveo/prest/pull/61:

data := make(map[string]interface{})

data["rows_affected"] = rowsAffected

data["insert_id"] = lastId

Why not return the inserted record?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nuveo/prest/pull/61, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEpfGZW6d9ceE3bdC3kW3ZBVpVs70hblks5rPPXdgaJpZM4LbrnK
.

thank you @marioidival


Recognize with monitor crashes on specific file

Environment

Tesseract Version: tesseract 4.00.00alpha
Commit Number: f8e26eedff5ba8c6ebbe247d05a3a0ccd04a532d
Platform: Linux osboxes 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Current Behavior:
Crash in api->Recognize(&monitor) with specific image file.
start >= 0 && start + num <= length_:Error:Assert failed:in file ratngs.cpp, line 324
Segmentation fault (core dumped)

Expected Behavior:
No crash.
Code to reproduce:
#include "tesseract/baseapi.h"
#include "tesseract/genericvector.h"
#include "tesseract/renderer.h"
#include "tesseract/ocrclass.h"
#include <leptonica/allheaders.h>

int main()
{
    tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
    ETEXT_DESC monitor;

    // Initialize tesseract-ocr with Russian, without specifying tessdata path
    if (api->Init(NULL, "rus")) {
        fprintf(stderr, "Could not initialize tesseract.\n");
        return 1;
    }

    // Open input image with leptonica library
    Pix *image = pixRead("test.jpg");
    api->SetImage(image);
    // Recognize (should crash here)
    api->Recognize(&monitor);

    api->End();

    return 0;
}

test.jpg:
https://user-images.githubusercontent.com/7984580/38233906-d99b50b8-3724-11e8-95a2-86b18d88b034.jpg
Suggested Fix:
Backtrace:
#0  ERRCODE::error (this=this@entry=0x7ffff7d8a640 <_ZL13ASSERT_FAILED>,
    caller=caller@entry=0x7ffff789e8f0 "start >= 0 && start + num <= length_", action=action@entry=ABORT,
    format=format@entry=0x7ffff787eeb4 "in file %s, line %d") at errcode.cpp:86
#1  0x00007ffff7855581 in WERD_CHOICE::remove_unichar_ids (this=0x135d800, start=start@entry=1, num=num@entry=1) at ratngs.cpp:324
#2  0x00007ffff784850d in remove_unichar_id (index=1, this=<optimized out>) at ratngs.h:481
#3  WERD_RES::MergeAdjacentBlobs (this=this@entry=0x20979f0, index=index@entry=0) at pageres.cpp:972
#4  0x00007ffff76db80a in tesseract::Tesseract::write_results (this=this@entry=0x7ffff7fb0010, page_res_it=...,
    newline_type=<optimized out>, force_eol=force_eol@entry=0 '\000') at output.cpp:192
#5  0x00007ffff76dbdb3 in tesseract::Tesseract::output_pass (this=this@entry=0x7ffff7fb0010, page_res_it=...,
    target_word_box=target_word_box@entry=0x0) at output.cpp:112
#6  0x00007ffff76c4968 in tesseract::Tesseract::recog_all_words (this=0x7ffff7fb0010, page_res=0x20a7e40,
    monitor=monitor@entry=0x7fffffffe280, target_word_box=target_word_box@entry=0x0, word_config=word_config@entry=0x0,
    dopasses=dopasses@entry=0) at control.cpp:425
#7  0x00007ffff76af41c in tesseract::TessBaseAPI::Recognize (this=0x8059d0, monitor=0x7fffffffe280) at baseapi.cpp:869
#8  0x0000000000400b40 in main ()

Tesseract crashes only if Recognize called with monitor parameter not null.
monitor parameter affects because of this condition:
control.cpp:
  // changed by jetsoft
  // needed for dll to output memory structure
  if ((dopasses == 0 || dopasses == 2) && (monitor || tessedit_write_unlv))
    output_pass(page_res_it, target_word_box);
  // end jetsoft

My suggestion is to move this code block below few lines (after "Remove empty words, as these mess up the result iterators.").
I think there are empty words in page_res_it and it causes crash in output_pass.
After this change there is no more crashes.
  // Write results pass.
  set_global_loc_code(LOC_WRITE_RESULTS);
  // This is now redundant, but retained commented so show how to obtain
  // bounding boxes and style information.

  PageSegMode pageseg_mode = static_cast<PageSegMode>(
      static_cast<int>(tessedit_pageseg_mode));
  textord_.CleanupSingleRowResult(pageseg_mode, page_res);

  // Remove empty words, as these mess up the result iterators.
  for (page_res_it.restart_page(); page_res_it.word() != NULL;
       page_res_it.forward()) {
    WERD_RES* word = page_res_it.word();
    POLY_BLOCK* pb = page_res_it.block()->block != NULL
                         ? page_res_it.block()->block->poly_block()
                         : NULL;
    if (word->best_choice == NULL || word->best_choice->length() == 0 ||
        (word->best_choice->IsAllSpaces() && (pb == NULL || pb->IsText()))) {
      page_res_it.DeleteCurrentWord();
    }
  }

  // changed by jetsoft
  // needed for dll to output memory structure
  if ((dopasses == 0 || dopasses == 2) && (monitor || tessedit_write_unlv))
    output_pass(page_res_it, target_word_box);
  // end jetsoft

  if (monitor != NULL) {
    monitor->progress = 100;
  }
  return true;
}

Please also try with latest code from GitHub and check if crash happens in
same place.
On Tue 3 Apr, 2018, 12:46 PM oleg-st<EMAIL_ADDRESS>wrote:

Environment

Tesseract Version: tesseract 4.00.00alpha
Commit Number: f8e26ee
https://github.com/tesseract-ocr/tesseract/commit/f8e26eedff5ba8c6ebbe247d05a3a0ccd04a532d
Platform: Linux osboxes 3.10.0-693.17.1.el7.x86_64 #1
https://github.com/tesseract-ocr/tesseract/issues/1 SMP Thu Jan 25
20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Current Behavior:
Crash in api->Recognize(&monitor) with specific image file.
start >= 0 && start + num <= length_:Error:Assert failed:in file ratngs.cpp, line 324
Segmentation fault (core dumped)
Expected Behavior:
No crash.
Code to reproduce:
#include "tesseract/baseapi.h"
#include "tesseract/genericvector.h"
#include "tesseract/renderer.h"
#include "tesseract/ocrclass.h"
#include <leptonica/allheaders.h>
int main()
{
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
ETEXT_DESC monitor;
// Initialize tesseract-ocr with Russian, without specifying tessdata path
if (api->Init(NULL, "rus")) {
    fprintf(stderr, "Could not initialize tesseract.\n");
    return 1;
}

// Open input image with leptonica library
Pix *image = pixRead("test.jpg");
api->SetImage(image);
// Recognize (should crash here)
api->Recognize(&monitor);

api->End();

return 0;

}
test.jpg:
https://user-images.githubusercontent.com/7984580/38233906-d99b50b8-3724-11e8-95a2-86b18d88b034.jpg
Suggested Fix:
Backtrace:
#0  ERRCODE::error (this=this@entry=0x7ffff7d8a640 <ZL13ASSERT_FAILED>,
caller=caller@entry=0x7ffff789e8f0 "start >= 0 && start + num <= length", action=action@entry=ABORT,
format=format@entry=0x7ffff787eeb4 "in file %s, line %d") at errcode.cpp:86
#1  0x00007ffff7855581 in WERD_CHOICE::remove_unichar_ids (this=0x135d800, start=start@entry=1, num=num@entry=1) at ratngs.cpp:324
#2  0x00007ffff784850d in remove_unichar_id (index=1, this=) at ratngs.h:481
#3  WERD_RES::MergeAdjacentBlobs (this=this@entry=0x20979f0, index=index@entry=0) at pageres.cpp:972
#4  0x00007ffff76db80a in tesseract::Tesseract::write_results (this=this@entry=0x7ffff7fb0010, page_res_it=...,
newline_type=, force_eol=force_eol@entry=0 '\000') at output.cpp:192
#5  0x00007ffff76dbdb3 in tesseract::Tesseract::output_pass (this=this@entry=0x7ffff7fb0010, page_res_it=...,
target_word_box=target_word_box@entry=0x0) at output.cpp:112
#6  0x00007ffff76c4968 in tesseract::Tesseract::recog_all_words (this=0x7ffff7fb0010, page_res=0x20a7e40,
monitor=monitor@entry=0x7fffffffe280, target_word_box=target_word_box@entry=0x0, word_config=word_config@entry=0x0,
dopasses=dopasses@entry=0) at control.cpp:425
#7  0x00007ffff76af41c in tesseract::TessBaseAPI::Recognize (this=0x8059d0, monitor=0x7fffffffe280) at baseapi.cpp:869
#8  0x0000000000400b40 in main ()
Tesseract crashes only if Recognize called with monitor parameter not
null.
monitor parameter affects because of this condition:
control.cpp:
// changed by jetsoft
// needed for dll to output memory structure
if ((dopasses == 0 || dopasses == 2) && (monitor || tessedit_write_unlv))
output_pass(page_res_it, target_word_box);
// end jetsoft
My suggestion is to move this code block below few lines (after "Remove
empty words, as these mess up the result iterators.").
I think there are empty words in page_res_it and it causes crash in
output_pass.
After this change there is no more crashes.
// Write results pass.
set_global_loc_code(LOC_WRITE_RESULTS);
// This is now redundant, but retained commented so show how to obtain
// bounding boxes and style information.
PageSegMode pageseg_mode = static_cast(
static_cast(tessedit_pageseg_mode));
textord_.CleanupSingleRowResult(pageseg_mode, page_res);
// Remove empty words, as these mess up the result iterators.
for (page_res_it.restart_page(); page_res_it.word() != NULL;
page_res_it.forward()) {
WERD_RES* word = page_res_it.word();
POLY_BLOCK* pb = page_res_it.block()->block != NULL
? page_res_it.block()->block->poly_block()
: NULL;
if (word->best_choice == NULL || word->best_choice->length() == 0 ||
(word->best_choice->IsAllSpaces() && (pb == NULL || pb->IsText()))) {
page_res_it.DeleteCurrentWord();
}
}
// changed by jetsoft
// needed for dll to output memory structure
if ((dopasses == 0 || dopasses == 2) && (monitor || tessedit_write_unlv))
output_pass(page_res_it, target_word_box);
// end jetsoft
if (monitor != NULL) {
monitor->progress = 100;
}
return true;
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/1449, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AE2_o1N2hvFGoQwu4bES22ZQ6jSz8g5lks5tkyHEgaJpZM4TEkOa
.

Same behavior detected with latest code from GitHub
Commit: 10f4998aee3ccc68e9c4931ce744dd292ad6ff19

Duplicate of #989.

However It's not fixed in #989

@oleg-st : I am not able to reproduce it with current code on openSUSE 15 64bit. I slightly modified your code and it works for me:
    Pix *image = pixRead("test.jpg");
    api->SetImage(image);
    api->Recognize(&monitor);
    char* outText = api->GetUTF8Text();
        printf("OCR output:\n%s", outText);
    if (outText)
        delete [] outText;

I also tried other "Russian" image from issue 1912 and it works for me.
What is source of your rus language? tessdata_fast, tessdata_best or  tessdata or custom?

start >= 0 && start + num <= length_:Error:Assert failed:in file ratngs.cpp, line 324
Segmentation fault (core dumped)

Probably duplicate of #948.

@zdenop
Reproduced both with tessdata_best and tessdata_fast.
Code (slightly modified):
#include "tesseract/baseapi.h"
#include "tesseract/ocrclass.h"
#include <leptonica/allheaders.h>

int main()
{
    tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
    ETEXT_DESC* monitor = new ETEXT_DESC();

    // Initialize tesseract-ocr with Russian, without specifying tessdata path
    if (api->Init(NULL, "rus")) {
        fprintf(stderr, "Could not initialize tesseract.\n");
        return 1;
    }

    Pix *image = pixRead("test.jpg");
    api->SetImage(image);
    api->Recognize(monitor);
    char* outText = api->GetUTF8Text();
        printf("OCR output:\n%s", outText);
    if (outText)
        delete [] outText;

    api->End();

    delete monitor;

    return 0;
}

Output:
[oleg@osboxes tesseract]$ g++ -I /opt/tesseract4/include/ -L /opt/tesseract4/lib/ -std=c++11 -ltesseract -llept test.cpp -o testcpp
[oleg@osboxes tesseract]$ LD_LIBRARY_PATH=/opt/tesseract4/lib/ ./testcpp
Warning: Invalid resolution 0 dpi. Using 70 instead.
Image too small to scale!! (3x36 vs min width of 3)
Line cannot be recognized!!
Image too small to scale!! (3x36 vs min width of 3)
Line cannot be recognized!!
Image too small to scale!! (3x36 vs min width of 3)
Line cannot be recognized!!
start >= 0 && start + num <= length_:Error:Assert failed:in file ratngs.cpp, line 325
Segmentation fault (core dumped)

Try this advice:
https://github.com/tesseract-ocr/tesseract/issues/948#issuecomment-303429778

@amitdo It helped.
No crush with api->SetVariable("unlv_tilde_crunching", "false");

@zdenop, please close this issue.

@amitdo : what about to change default value unlv_tilde_crunching to false (maybe to set it only in unvl)?
I looked for reason why my test did not crash and I found out that I used old rus.trainneddata (file date is 2016-11-28). When I used tessdata_best version of rus.trainneddata  - it crashed.

The problem is that the unlv renderer needs it.
Changing it to 'true' inside the unlv renderer will be too late.

but setting 'unlv_tilde_crunching' to 'false' by default and putting this variable in unlv config with a 'true' value will be be probably fine.


npm start problems

When i try npm start, get some issue. I updated node.js, but nothing
npm ERR! Darwin 15.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.2.0
npm ERR! npm  v3.8.9
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: npm run start:tunnel
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'npm run start:tunnel'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the react-boilerplate package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run start:tunnel
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs react-boilerplate
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls react-boilerplate
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /work/TRASH/react-boilerplate/npm-debug.log

Try cleaning your cache (npm cache clean), removing local node modules (rm -rf ./node_modules), run the setup (npm setup), then npm start.

From the snippet above, one can't really tell what the problem is. I'd also suggest reinstalling, feel free to comment again if you're still having issues!


Allow std lib class to initialise a new object created within its constructor

See comment in the constructor of TurtleGraphics' and the temporary kludge method tempInitialise`

Covered in #810


Edit Shape in popup menu when annotation isn't in edit mode

Either this should either switch that annotation to edit mode or not be in the context menu if inapplicable.

This behaves correctly in the current master (switching which annotation is being edited).  I'm not sure what version the user has installed.  I'm closing this without more information.


Integrate helm chart with Cert-Manager CA Injector

The current Helm chart requires the passing of TLS certificate values. Then it will create the certificate secret and hard code the caCert value for the webhook.
Other helm deployments have the option of using Cert-Manager to manage the webhook certificates using the CA Injector. This automates the updating of the webhook caCert value.  https://cert-manager.io/docs/concepts/ca-injector/
External-Secrets has a helm chart that supports this:
Here the cert-manager.io/inject-ca-fromannotation  is being set on line 12  (https://github.com/external-secrets/external-secrets/blob/main/deploy/charts/external-secrets/templates/validatingwebhook.yaml)
Currently, I am blocked from implementing  this because

The MutatingWebhookConfiguration yaml does not allow me to add annotations in /helm/templates/webhook.yaml
the webhooks.clientConfig.caBundle value is not optional in /helm/templates/webhook.yaml
The creation of the webhook-cert is not optional in  /helm/templates/webhook.yaml

Can Cert-Manager support be added to the Helm?
Thanks

Hi @phmcder, thanks for opening this issue. What's in the AWS load balancer controller would adapt well to our Helm chart (webhook annotation, secret/cert,  and volume).
Adding cert-manager support makes sense, though the timeline to address would likely depend on demand. Happy to review a PR as well if you'd like to accelerate this.


0:7a9620c325cae64791d0a92b80b5726b32b072d8216ced4edb15289edc41175b

103443375

298035522

298035522

This issue is not related to the repo and can be closed. @tolya-yanot


Hello, can I have your discord contact?

Can I contact you at the discord?

Sure. My discord name is: hydra__


correct a small typo in the log function

https://github.com/ngx-rocket/generator-ngx-rocket/blob/e05fee047c6f8e5eafd17c9c063d2ab162d6a572/generators/app/templates/src/app/%40core/logger.service.ts#L106

[ x] bug

Not sure about this: when checking the passed log-level against the one in the class, shouldn't we only accept the levels greater than the one in the class?
eg.
if we set a logLevel=Warning in the class, and do a log.debug('msg') we would not expect this message to be printed.
just changing  if (level <= Logger.level) { for  if (level >= Logger.level) { would make it
  private log(func: (...args: any[]) => void, level: LogLevel, objects: any[]) {
    if (level <= Logger.level) {
      const log = this.source ? ['[' + this.source + ']'].concat(objects) : objects;
      func.apply(console, log);
      Logger.outputs.forEach(output => output.apply(output, [this.source, level, ...objects]));
    }

That may seem counter-intuitive, but log levels with higher importance have lower values, as defined by:
export enum LogLevel {
  Off = 0,
  Error,       // 1
  Warning, // 2
  Info,         // 3
  Debug     // 4
}

So the code is actually correct 😉

That may seem counter-intuitive, but log levels with higher importance have lower values, as defined by:
export enum LogLevel {
  Off = 0,
  Error,       // 1
  Warning, // 2
  Info,         // 3
  Debug     // 4
}

So the code is actually correct 😉


Airline doesn't seem to work as expected on Windows (Also i just started using vim today)

environment

vim: vim 8.2
OS: windows

my _vimrc:
set nocompatible
filetype off
call plug#begin()
         Plug 'preservim/nerdtree'
         Plug 'rust-lang/rust.vim'
         Plug 'vim-airline/vim-airline'
call plug#end()

colorscheme monokai

set encoding=utf-8
set number

set splitbelow
set splitright

nnoremap <C-H> <C-W><C-H>
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>

actual behavior

expected behavior
Something like this. With the arrows and the correct unicode

please search the documentation for powerline


WebContainer can't be saved to pom.xml when update runtime config

Plugin name and version
Azure-webapp-maven-plugin:1.12.0-SNAPSHOT
Plugin configuration in your pom.xml
<runtime>
     <os>Linux</os>
     <javaVersion>jre8</javaVersion>
     <webContainer>jre8</webContainer>
</runtime>

Expected behavior

Actual behavior

webContainer won't be saved to pom.xml

Steps to reproduce the problem

Manually change configuration runtime to old configuration of linux-jre8
Run mvn azure-webapp:config to update runtime to linux-java11

Test pass in new pr, close the issue.


Fix a self detection issue where parents are not marked down during ATS startup.

When proxy.config.http.parent_proxy.self_detect is set to 2 the host in parent.config should be marked down
when that host is the same host ATS is running on ie, self detected.   The fix eliminates multiple calls to createHostStat() which was marking the self detected host back up.  Also, this PR adds a SELF_DETECT reason code used when self detection marks down the host in parent.config.

Remember to suggest important fixes to the LTS branch (and wherever else it's appropriate). This seems important.

Also, the Milestone here is 9.0.0, not 8.0.3

@zwoop I think it should go in 8.04 or 8.1.0.  When you say, "Remember to suggest important fixes to the LTS branch", is that an email o the dev list?  I'm suggesting that it gets cherry picked to 8.

@jrushford No, that's to set the "Projects" field up on the right side here. As you can see, I've added it to the "8.x" project already.

thanks @zwoop and @bryancall

Cherry picked to 8.1.0


stop testing on node 10.x we're not using it

timothe-macbookpro~/healthmap/healthmap-gdo-temp(nodes|…) % node --version
v12.16.2

No strong feeling about this but seems like we're just wasting free build time of github actions with that node version.

Totally agreed. Had considered lumping this into my previous actions clean-up, but balked. Thanks for doing this.


Optimized SCC performance & fix some bugs

Spatial constrained clustering code in Spateo is very slow now even for small sparse matrix input. The problem is because when use sparse matrix input, the transformation from matrix to igraph takes a lot of time iterating edges. Directly convert sparse matrix input to dense solved the problem.
I also fixed some bugs in plot functions of the CCI model.

Thanks @Purkinje-cell ! Zehua also made a similar fix for scc, and he additionally added a simple method to smooth the spatial constrained cluster by neighborhood major voting. you can test it out  https://github.com/aristoteleo/spateo-release/pull/250


SEG-Y creation functionality

@ta-hill can you please start review? I would like to merge this as the initial implementation. It also comes with all the new transforms.
Missing tests on seg-y creation factory, hence coverage complaining, I will add tomorrow!


Modules Health and Metrics

Metrics collection about Presubmit, Postsubmits, e2e, release, code coverage etc, ..
Enhancements to make our modules healthier

@sebastienvas - is this issue still relevant?

/close
On Wed, Apr 11, 2018, 4:26 PM Jason Young<EMAIL_ADDRESS>wrote:

@sebastienvas https://github.com/sebastienvas - is this issue still
relevant?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/394#issuecomment-380626607, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQ80ZybqlDghpfK63upfxZe01HgM2a4cks5tnpE0gaJpZM4N0sXe
.

@sebastienvas: The close prow plugin is deprecated, please migrate to the lifecycle plugin before April 2018

In response to this:

/close
On Wed, Apr 11, 2018, 4:26 PM Jason Young<EMAIL_ADDRESS>wrote:

@sebastienvas https://github.com/sebastienvas - is this issue still
relevant?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/394#issuecomment-380626607, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQ80ZybqlDghpfK63upfxZe01HgM2a4cks5tnpE0gaJpZM4N0sXe
.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Allow shorthand syntax for SSH URIs

I'm trying to add an internal repository using the ssh protocol:
I know it will work if write
 CPMAddPackage(
     GIT_REPOSITORY "git@github.com:xxxxxx/yyyyyy.git"
     GIT_TAG master
 )

I think it would be nice if it could be done using oneline like this:
  CPMAddPackage( "git@github.com:xxxxxx/yyyyyy.git#master")
  #or
  CPMAddPackage( "ssh:git@github.com:xxxxxx/yyyyyy.git#master")

Is it possible?
// I took a look into the code and know there can be some issues parsing the '@' char, maybe some improvments on the regex could fix this.

One possibility to use the shorthand syntax in the current version of CPM would be to locally configure git to use ssh instead of https for all Github requests. E.g. by running
git config --global<EMAIL_ADDRESS>"https://github.com"

Yes, this would work. But its preferable if i could use the shorthand syntax without changing the global configurations


port to ES6 module system

This fixes the integration with my ES6 projects. not sure if you want to merge my work anyhow I'm happy to share ;)

Let's fix those errors and get this merged, yeah? I'm using this fork for now.

The gist of using esModule based techan.js in jupyter notebook is https://gist.github.com/hkmoon/baa4926c5650638cbec7fe5d6693103a


Unable to authenticate to BIMServer from BIMSurfer on Mac Lion

Running on Safari 5.1.2 (and previously 5.1.1) on Mac OS X Lion.
BIMServer running on localhost:8082 - able to authenticate separately with no problem.
BIMServer running on localhost: 8000 - using simple web server (python - as per instructions)
File->BIM Server Project
Enter credentials and submit - "Login request failed" almost instantly.

Thanks, yes this will help: Please open the error console, refresh the page and then repeat the steps to get the error.
I think that in Safari you choose "Show Error Console" from the Develop menu (http://developer.apple.com/library/safari/#documentation/appleapplications/Conceptual/Safari_Developer_Guide/PrototypingYourWebsite/PrototypingYourWebsite.html)


MNT: Re-render the feedstock

Hi! This is the friendly conda-forge-admin automated user.
I've re-rendered this feedstock with the latest version of conda-smithy (1.0.3.post.dev23) and noticed some changes.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Remember, for any changes to the recipe you would normally need to increment the version or the build number of the package.
Since this is an infrastructural change, we don't actually need/want a new version to be uploaded to anaconda.org/conda-forge, so the version and build/number are left unchanged and the CI has been skipped.
Thanks!

It's the friendly automated conda-forge-admin here again.
Just to let you know, I've updated this PR so that it has the latest render from conda-smithy (version 1.1.0).
If there are no problems with it, please consider merging this PR.
If there are concerns about it, please ping the 'conda-forge/core' team (using the @ notation in a comment).
Thanks!

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Please don't merge yet.

It's the friendly automated conda-forge-admin here again.
Just to let you know, I've updated this PR so that it has the latest render from conda-smithy (version 1.1.1).
If there are no problems with it, please consider merging this PR.
If there are concerns about it, please ping the 'conda-forge/core' team (using the @ notation in a comment).
Thanks!

It's the friendly automated conda-forge-admin here again.
Just to let you know, I've updated this PR so that it has the latest render from conda-smithy (version 1.1.1).
If there are no problems with it, please consider merging this PR.
If there are concerns about it, please ping the 'conda-forge/core' team (using the @ notation in a comment).
Thanks!

🎉  - solved by https://github.com/conda-forge/conda-smithy/issues/274


Issue 134 authorship

Change author from MAM to GV for issue #134
does Poetry read the package's author data from this setup.cfg? Or pyproject.toml?

@gaurav @sujaypatil96 I'm ready for your review.
Somehow this authorship issue & PR got contaminated with some tests I wrote, but those are probably harmless and maybe even useful.


Cell heights are not preserved on save

tests/data/test-styles.numbers image cell heights are nor preserved

Implemented in 4.3


Persisting sessions?

Is there a way to persist sesions. Each play reload (or small code change) logs out. Any solution?

"Session" is a bit misleading, because in fact, only an identifier is stored into the Play session (in the cookie) while all data are managed into the Cache.
So I think the problem comes from the Cache here as the cookie certainly stays unchanged. As the default Cache is in memory, things are lost. You may want to try an external Cache (in Memcached or Redis) or wait for the version 2.0 ;-)

Got it! I will use redis the.
Thanks for the quick reply :)

There is now an obvious CacheStore to store data and I'm pretty sure it would be easy to create a SessionStore if you need one.
See: https://github.com/pac4j/play-pac4j/blob/master/play-pac4j-java/src/main/java/org/pac4j/play/store/CacheStore.java


Feature search is not consistent

Current behavior

Feature search and sometimes take search doesn't feel consistent. We need to add a spinner to show search is happening as well as also show a default list of features so that user feels like there is at least some content.
https://jam.dev/c/6aed993e-a5a9-4e11-b1d4-bb14c8063e47
Tried searching for black clothes but no keyword was working

Issue verified and working fine in release v3.1.0. Hence, closing this ticket.
https://jam.dev/c/82a275a6-d38d-4c3d-a467-c47a0533f0d7


Failed to convert ssdlite_mobilenet_v2_coco_2018_05_09 to tflite

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Google colaboratory
TensorFlow installed from (source or binary): idk
TensorFlow version (or github SHA if from source): 1.14

Provide the text output from tflite_convert
---------------------------------------------------------------------------

ConverterError                            Traceback (most recent call last)

<ipython-input-5-fc0e59056dc1> in <module>()
----> 1 tflite_model = converter.convert()
      2 open("converted_model.tflite", "wb").write(tflite_model)

2 frames

/usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/lite.py in convert(self)
    902           input_arrays_with_shape=self._input_arrays_with_shape,
    903           output_arrays=self._output_arrays,
--> 904           **converter_kwargs)
    905
    906     if self._is_calibration_quantize():

/usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/convert.py in toco_convert_graph_def(input_data, input_arrays_with_shape, output_arrays, *args, **kwargs)
    371   data = toco_convert_protos(model_flags.SerializeToString(),
    372                              toco_flags.SerializeToString(),
--> 373                              input_data.SerializeToString())
    374   return data
    375

/usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/convert.py in toco_convert_protos(model_flags_str, toco_flags_str, input_data_str)
    170       stderr = _try_convert_to_unicode(stderr)
    171       raise ConverterError(
--> 172           "TOCO failed. See console for info.\n%s\n%s\n" % (stdout, stderr))
    173   finally:
    174     # Must manually cleanup files.

ConverterError: TOCO failed. See console for info.
2019-07-09 12:08:44.812119: I tensorflow/lite/toco/import_tensorflow.cc:1336] Converting unsupported operation: TFLite_Detection_PostProcess
2019-07-09 12:08:44.833564: F tensorflow/lite/toco/tooling_util.cc:918] Check failed: GetOpWithOutput(model, output_array) Specified output array "detection_boxes" is not produced by any op in this graph. Is it a typo? This should not happen. If you trigger this error please send a bug report (with code to reporduce this error), to the TensorFlow Lite team.
Aborted (core dumped)

Also, please include a link to a GraphDef or the model if possible:
https://drive.google.com/open?id=1HJ0bnrOok4Brd5IcB30HYn80itE4dH8_
Any other info / logs
I'm using model ssdlite_mobilenet_v2_coco_2018_05_09 from zoo. Have trained it and converted ckpt with command:
export_tflite_ssd_graph.py --pipeline_config_path training/ssdlite_mobilenet_v2_coco.config --trained_checkpoint_prefix training/model.ckpt-19780 --output_directory tflite_graph --add_postprocessing_op True
I'm using Python API for conversion of model. My code:
import tensorflow as tf
graph_def_file = "/content/tflite_graph.pb"
input_arrays = ["normalized_input_image_tensor"]
output_arrays = ["detection_boxes", "detection_classes", "detection_scores", "num_boxes"]

converter = tf.lite.TFLiteConverter.from_frozen_graph(
  graph_def_file,
  input_arrays,
  output_arrays,
  input_shapes={'normalized_input_image_tensor':[1, 300, 300, 3]}
  )
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

Hi @AlexZot, I'm unable to access the model you linked, would you mind updating?
What happens if you change output_arrays to:
output_arrays = [
        'TFLite_Detection_PostProcess', 'TFLite_Detection_PostProcess:1',
        'TFLite_Detection_PostProcess:2', 'TFLite_Detection_PostProcess:3'
    ]

Hi @AlexZot,
try output_arrays = ['raw_outputs/box_encodings','raw_outputs/class_predictions']
I'm facing the same issue. Using --add_postprocessing_op True should give an output_array of detection_boxes,detection_classes,detection_scores,num_boxes but it somehow doesn't. How export_tflite_ssd_graph.py has to be used to get a model with 4 outputs? So output_arrays = ['detection_boxes', 'detection_classes', 'detection_scores', 'num_boxes'] would be correct
@jdduke: You can find the model in the model zoo: https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md

@jdduke Here is link: https://drive.google.com/open?id=1HJ0bnrOok4Brd5IcB30HYn80itE4dH8_
@val9299 I know that is working with raw outputs, but it means that I have to decode predictions manually.

Hey Alex, can you try adding converter.allow_custom_ops = True ?

I opened a new issue for specifically my case: https://github.com/tensorflow/tensorflow/issues/31015
Thanks for helping!

@srjoglekar246 omg, that's worked! Thank you good man! How does this array: ['detection_boxes', 'detection_classes', 'detection_scores', 'num_boxes'] corresponds to this: [TFLite_Detection_PostProcess', 'TFLite_Detection_PostProcess:1', 'TFLite_Detection_PostProcess:2', 'TFLite_Detection_PostProcess:3']

I also tried the suggestion. But it looks like the new tflite model has raw outputs just in another format. I thought the goal would be having processed outputs like detection_boxes, detection_classes,...? To get a model like this, something already has to be changed in the freezing process with export_tflite_ssd_graph.py but I also would like to know what has to be changed to get it working.

@AlexZot The TFLite_Detection_PostProcess:1 value lets the converter know that detection_classes is the output from the post-processing op at index 1.

Hey Alex, can you try adding converter.allow_custom_ops = True ?

Sorry to bother, I meet this Converting unsupported operation: TFLite_Detection_PostProcess too. Where should I add this converter.allow_custom_ops = True?

@srjoglekar246 omg, that's worked! Thank you good man! How does this array: ['detection_boxes', 'detection_classes', 'detection_scores', 'num_boxes'] corresponds to this: [TFLite_Detection_PostProcess', 'TFLite_Detection_PostProcess:1', 'TFLite_Detection_PostProcess:2', 'TFLite_Detection_PostProcess:3']

So how to solve this problem Converting unsupported operation: TFLite_Detection_PostProcess exactly?
(1)export_tflite_ssd_graph.py --pipeline_config_path training/ssdlite_mobilenet_v2_coco.config --trained_checkpoint_prefix training/model.ckpt-19780 --output_directory tflite_graph --add_postprocessing_op True. ---->  add_postprocessing_op True or Flase

@kangkang59812 Please look at the following snippet in the first comment:
import tensorflow as tf
graph_def_file = "/content/tflite_graph.pb"
input_arrays = ["normalized_input_image_tensor"]
output_arrays = ["detection_boxes", "detection_classes", "detection_scores", "num_boxes"]

converter = tf.lite.TFLiteConverter.from_frozen_graph(
  graph_def_file,
  input_arrays,
  output_arrays,
  input_shapes={'normalized_input_image_tensor':[1, 300, 300, 3]}
  )
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

There, we need to add converter.allow_custom_ops = True for the TFLite SSD inference to work.
And about your second comment: Yes, we need to set --add_postprocessing_op True

@srjoglekar246  The produced  converted_model.tflite is same as the .tflite produced by bazel command.  What makes me confused is that the result is different  between converted_model.tflite and tflite_graph.pb.  I think it still can't convert the postprocessing_op sucessfully. For exampe, the bbox has negative values in converted_model.tflite's result, but the values are nomal in 'tflite_graph.pb''s result.

The result, mathematically, shouldn't be that different with our custom op (atleast for 10 detections or so). The reason we do this, is that using the custom op is much easier/faster than using multi-class Non-Max-Suppression that tensorflow does in its graphs.
There is one way to do this with our experimental new converter, which supports builtin NMS ops without using the custom op.
Could you try the following:

Modify pipeline config as follows:

Before:
   post_processing {
      batch_non_max_suppression {
        score_threshold: 0.300000011921
        iou_threshold: 0.600000023842
        max_detections_per_class: 100
        max_total_detections: 100
      }
      score_converter: SIGMOID
    }

After:
post_processing {
      batch_non_max_suppression {
        score_threshold: 0.300000011921
        iou_threshold: 0.600000023842
        max_detections_per_class: 10
        max_total_detections: 10
        use_class_agnostic_nms: true
        use_static_shapes: true
      }
      score_converter: SIGMOID
    }

This reduces the complexity of the NMS graph for TFLite inference.
Also remove this from the config, if present:
batch_norm_trainable: true

Then, export the inference graph using TF Object Detection's script with the following params:

--input_type image_tensor --input_shape 1,<height>,<width>,3 --pipeline_config_path /path/to/pipeline.config --trained_checkpoint_prefix /path/to/model.ckpt --output_directory /path/to/output

Then convert using our experimental converter:
Add this before conversion:
converter.experimental_new_converter = True

Use these output arrays:
detection_boxes,Postprocessor/BatchMultiClassNonMaxSuppression/stack_3,detection_scores,num_detections

Use this input array:
Preprocessor/sub

Input data type:
DT_FLOAT

@srjoglekar246  Thanks for your patient . I followed the below steps:

Following your advice, I change the pipline.config.
I use ```
python object_detection/export_tflite_ssd_graph.py
--pipeline_config_path=$CONFIG_FILE
--trained_checkpoint_prefix=$CHECKPOINT_PATH
--output_directory=$OUTPUT_DIR
--input_type=image_tensor
--input_shape=1,300,300,3 \

to get the .pb file
3.  Then

import tensorflow as tf
graph_def_file = "/Users/kangkang/Documents/code/convert/tflite_graph22.pb"
converter = tf.lite.TFLiteConverter.from_frozen_graph(
graph_def_file,
input_arrays=['Preprocessor/sub'],
output_arrays=['detection_boxes', 'Postprocessor/BatchMultiClassNonMaxSuppression/stack_3',
'detection_scores', 'num_detections'],
input_shapes={'Preprocessor/sub': [1, 300, 300, 3]})
converter.experimental_new_converter = True
tflite_model = converter.convert()
tf_model_files = 'newpost22.tflite'
open(tf_model_files, "wb").write(tflite_model)
Thats all what I have done.  Where should I insert your `Input data type:DT_FLOAT`?.
And I got the error `Check failed: model.HasArray(output_array) Output array not found: detection_boxes`. I am  Very confused about the input and output according to different config.
I upload the [checkpoint](https://drive.google.com/drive/folders/1oaShwaiXsbkPfwG1wa-vDcnFwO9RILCP) on google drive. The model(based on ssd_mobilenet_v2_coco_2018_03_29) is trained on my datasets(55 classes) and the results are good enough on PC. Just want the same result on .tflite.
Thanks sincerely!!!

If latency isn't an issue for you, just use export_tflite_ssd_graph.py with the extra param --use_regular_nms=true. Does that improve the accuracy?

@srjoglekar246 No, the .tflite result on Android is still not the same as .pb result on PC. I have tried allow_custom_ops  、--use_regular_nms=true and other methods in the other issues.


change id column type to uuid to match function

The table creation process in these examples commands do not match what the recently updated functions in these example commands is looking for. This change updates the type in the table creation command.
Issue Number for my report of the doc problem #7446
@rlancemartin and @eyurtsev I believe this is your area
Twitter: @j1philli

apologies for delay, thanks @j1philli!


Fix vertical scrolling in docs

closes #601

Thank you, but this solution looks ugly:

Also, fixing this should happen in scanpydoc, not here.

Nope, completely, would this be better?


No convergence in MODFLOW doesn't result in an error anymore

See https://github.com/MODFLOW-USGS/modflow6/pull/1141 by @mjr-deltares
@luitjansl You will probably want to merge this change into the lumbricus branch

. If I understood correctly, Martijn will still need to update xmipy to make that survive if mf6 does not converge.

As far as I can tell, it already survives it now.
They way I've understood is that the change could happen in MODFLOW or xmipy, but MODFLOW is the better choice.
MODFLOW code has now been adapted.

. If I understood correctly, Martijn will still need to update xmipy to make that survive if mf6 does not converge.

As far as I can tell, it already survives it now. They way I've understood is that the change could happen in MODFLOW or xmipy, but MODFLOW is the better choice. MODFLOW code has now been adapted.

Yes, that is the intended behavior. If it doesn't work out this way, please let me know.

@mjr-deltares The test was assuming that no convergence leads to a bmi error.
That assumption does not hold true anymore, so I would say your change works as expected :)


Daemons start not working in Ruby 1.9.2

It seems that Daemons start option is not working, so script/delayed_job start shuts down suddenly after creating the pid. The problem seems to be in the forking process.
script/delayed_job run works perfectly.
I'm using Rails 3.0.1 and Ruby 1.9.2.
Anyone with the same problem?

I found out something interesting when I was deploying to the staging server today. This is the output from Capistrano:
*** [err :: dev] /path/bundle/ruby/1.9.1/gems/delayed_job-3.0.1/lib/delayed/command.rb:67:in `mkdir'
*** [err :: dev] :
*** [err :: dev] File exists - tmp/pids
*** [err :: dev] (
*** [err :: dev] Errno::EEXIST
*** [err :: dev] )
*** [err :: dev] from /path/ruby/1.9.1/gems/delayed_job-3.0.1/lib/delayed/command.rb:67:in `daemonize'

Dir.mkdir(dir) is raising an exception, not returning false-y, which won't work with an unless.
Just a thought.


[doc/security] Publish reset vs. non-reset flops rationale

In the past, there have been many discussions on the pros and cons of reset vs. non-reset flops for registering security sensitive assets in OpenTitan. While these discussion concluded quite some time ago already, we've never managed to transfer the summary into MarkDown and publish it as part of our documentation. This is what this PR changes.
Other key authors of this document include:

Tim Chen - @tjaychen
Ziv Hershman - @zi-v
Chris Gori - @cdgori
Scott Johnson - @sjgitty
Johann Heyszl - @johannheyszl

This resolves lowRISC/OpenTitan#2603.
The MarkDown version of the rationale in this PR is a 1:1 copy of the Google doc previously approved for publication by TC with the following adjustments:

Minor updates to terminology, e.g., IP block -> hardware block
Adding a reference to the appendix in the overview section

To view the rendered page locally:
./util/site/build-docs.sh serve

Thanks @msfschaffner and @rswarbrick for your reviews. I think I'll merge this PR end of this week unless @mundaym or @cdgori object.


[20.03] boot.initrd.luks: remove x86_64/i586 AES modules

Commit 1d2c3279311e4f03fcf164e1366f2fda9f4bfccf in the upstream kernel
repository removed support for the scalar x86_64 and i586 AES
assembly implementations, since the generic AES implementation generated
by the compiler is faster for both platforms. Remove the modules from
the cryptoModules list. This causes a regression for kernel versions
>=5.4 which include the removal. This should have no negative impact on
AES performance on older kernels since the generic implementation should
be faster there as well since the implementation was hardly touched from
its initial submission.
Backport of #85074

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@fpletz this is the stable backport for #85074


Basic and JWT security schemas overrides Authorization header

So we're using the following setup:

Username + password ("basic") auth in order to get a JWT token for working with other API methods.
We use JWT token as "API key" header authentication schema.

components:
  securitySchemes:
    basic:
      type: http
      scheme: basic
    Authorization:
      type: apiKey
      in: header
      name: Authorization
paths:
  /cases/auth:
    get:
      security:
        - basic: [ ]
  /cases/doSmth:
    post:
      security:
        - Authorization: [ ]

Now what happens, when we use our auth endpoint, we use the programmatic API to set the Authorization API key. From this moment, we have both basic and apiKey auth set.
And now if we use the auth endpoint again, the JWT token is sent to the endpoint instead of the basic auth.
Just FYI. We have also Swagger UI configured, so it behaves properly in this case. If the schema defines the required security component, only the one noted in the schema is applied.

I've tested the setup and it looks like we see the same behavior with both 9.0.0 and 9.1.0 versions. While we're using react app, I'm not sure how to test 9.1.1-beta with our setup.

I'm not sure how to test 9.1.1-beta with our setup.

download 9.1.1-beta from  https://raw.githubusercontent.com/mrin9/RapiDoc/master/dist/rapidoc-min.js and store it somewhere locally on your server
then in your html where you are using <rapi-doc> element use the downloaded rapidoc-min.js in the <script> tag
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">

    <!-- this is the rapidoc beta check out the first line of rapidoc-min.js to find the version -->
    <script type="module" src="path/to/downloaded/rapidoc-min.js"></script>

  </head>
  <body>
    <rapi-dpc spec-url="..."> </rapi-doc>
  </body>
</html>

Yeah, as I mentioned we're using React components and all dependencies are grabbed from NPM and transpiled. I'll to test with the beta version though or maybe wait for it to be released.

9.1.2 is released now ... hope it addresses your issues

thanks for testing this out for us... i will further investigate on this one. we have the release window open till sept-1st week so hopefully address it before that

I created a test case as you specified above two security schemes applied to two different apis,
and in my test, it works as expected.
you can provide these values either through RapiDoc's default Ui or using RapiDoc's method and you will see it is sending the correct header and value in the browser's devtool.
below is the test-case that you can try and test at ur end
https://mrin9.github.io/RapiDoc/examples/auth-test1.html

@mrin9 I've just updated the code to use the new setApiKey functionality while https://github.com/mrin9/RapiDoc/issues/492 is now resolved.
Now the described case works perfectly fine. I believe it wasn't working due to some conflicts with the usage of component params. It kinda always showed me that 2 auth schemas are applied to the endpoint and was picking API key always.
So the v9.1.2 + setApiKey works great.
Thanks a lot for checking this out!


'Open logs folder' help menu option

This PR is adding the function and the menu item option to open the logs folder.

Closes #2719
JIC. I sent the same PR before, but as it was adding some unnecessary commits I decided to close the previous PR and send this cleaner one.

Hi @antoine29, thank you very much for your time into this PR! Unfortunately this is a duplicate, and according to GitHub #2728 was opened earlier, so I will close this in favor of #2728. 🤗


export abi and bytecode

I've been using and loving typechain/ethers-v5 in my projects -- thanks for making it and maintaining it well.
A few times I've had the use-case to access a contract abi and bytecode directly, ie. for debugging a payload for instance. I would reach into an artifact or another generated piece of content for it. However, since I already have the gen'd typechain interface, and the X__factory files already have const _abi and const _bytecode, can we just rename+export those as export const abi and export const bytecode ..?
Point is, I think we should export them instead of leaving them as an internal type for completeness and usefulness.

Thanks for the idea, we'll think of that - closing as duplicate of #344


Auto-generate the guide TOC

Auto-generate the guide toc, either using hpricot during generation or using jQuery on the client side. Tie in the floating toc JavaScript to this list (since it depends on it anyway).

pushed upstream


Why to choose different exponentials during the calculation of pos weight ?

https://github.com/strongwolf/DW/blob/27f50e5bf8d9ea021d5fe1a7a7e47e06bc5db208/dw_head.py#L178
Why are the exponentials  in this formula  5 and 3 respectively ?
Thought it would be the same
Is there any explanation?

This aims to keep a balance between the pos_loss and neg_loss, which we find is very important to the final performance. Using 5 in the pos_weight and 3 in the pos_avg_factor has the effect of increasing the pos_loss compared with using the same exponentials.

Thanks for your reply !


test: Consolidate the e2e and integration testing suites.

Overview
With the addition of the deployframework package, which allows us to deploy metering inside of the Go test code, we can consolidate the integration and e2e packages into one package, and remove the deploy and test wrapper hack scripts.
This PR is part of the overall effort towards refactoring our current testing suites and removing any of the now unneeded bash hack scripts. Before, the e2e and integration packages shared a lot of redundancies and both packages tested e2e behavior.
TODO:

[x] Remove the cliensets from the reportingframework (pass them to constructor)
[x] Ensure the reporting operator images are overrided properly
[x] Support passing a list of test functions to the test table
[x] Reorganize the package
[ ] Support skipping a list of test functions
[ ] Verify the error message resembles the returned error message (when ExpectErr: true)

/retest

Panic in the tests.

https://storage.googleapis.com/origin-ci-test/pr-logs/pull/operator-framework_operator-metering/992/pull-ci-operator-framework-operator-metering-feature-metering-e2e-aws/75/artifacts/metering-e2e-aws/container-logs/test.log
Your failing install test has a pointer derefence here that's causing it     err := validateImageConfig(*cfg.MeteringConfig.Spec.ReportingOperator.Spec.Image)
This should have failed the tests, but it didn't. I'm guessing we're getting a 0 exit code from the commands in the TRAP. We need to capture the exit code of the command prior to the TRAP running, then exit using that code after the trap to preserve it.

/retest

/retest

/lgtm
/approve


Collections with forward slashes in their names result in an ENOENT error

I'm on linux so I don't know if this error also occurs on windows.
Example Collection: https://osucollector.com/collections/1409
Terminal Output:
Please Enter An ID: 1409
node:fs:1349
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, mkdir '/home/user/Downloads/linux-arm64/Streams/Death'
    at Object.mkdirSync (node:fs:1349:3)
    at mkdirSync (pkg/prelude/bootstrap.js:1642:33)
    at Main.run (/snapshot/osu-collector-dl/dist/core/Main.js:45:28)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async /snapshot/osu-collector-dl/dist/index.js:10:5 {
  errno: -2,
  syscall: 'mkdir',
  code: 'ENOENT',
  path: '/home/user/Downloads/linux-arm64/Streams/Death'
}

I imagine a potential solution to this would be checking for path separators and other illegal characters and replacing them with another character like an underscore.

I see, I had totally forgotten this on mkdir. Thanks for your report :)

Close as fixed:
v2.6.1: https://github.com/roogue/osu-collector-dl/releases/tag/v2.6.1
commit: b95819be751e46acafccb33bf1aa91d51ccee241


HAWQ-811. Refactor execute interface in sql_util of feature test library to support returning error message.

cc @ztao1987

+1

+1

Merged into master.


Tweet your feedback dialog box says 'Show Feedback Smiley in Status Bar' when there's actually a different icon than a smiley that's in the status bar

VSCode Version: 1.44.2
OS Version: Linux x64 5.4.0-7626-generic

Steps to Reproduce:

Launch VS Code
Tap the icon the left of the bell icon on the bottom right. It opens up a dialog box
At the bottom of this dialog box, there's a checkbox that says 'Show Feedback Smiley in Status Bar'

Does this issue occur when all extensions are disabled?: Yes

Changed to "Show Feedback Icon in Status Bar"


Error on IE11

On IE11 it throws syntax error because IE does not support class syntax.
Consequently the whole webpack'ed bundle is not usable on IE, I have to use await import(...), which generates an extraneous small chunk.
What I really want is the ServiceWorkerNoSupportError, because it is there for that purpose.

@ts1 fix will be published in https://github.com/mohsen1/service-worker-loader/releases/tag/v3.1.0

Tried v3.1.0 and it works great on IE.
Thanks a alot!

@ts1 update was published on npm

@dangreen Thank you!


Docker issue when i run docker build -t dir .

Problem encountered on https://dotnet.microsoft.com/learn/aspnet/microservice-tutorial/docker-image
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

unable to prepare context: unable to evaluate symlinks in Dockerfile path: Cre
The system cannot find the file specified.
this is the error

@shirhatti can you please help here?

Hi @Dalasa-ab, thank you for reaching out.
Looking at the error message it seems like docker file is not present in the directory from where you are trying to build the image. Are you running this command docker build -t mymicroservice . from the directory MyMicroservice ?


Improve tests

Adds assertion macro that works even in non-debug builds.
Assertion macro preserves condition as a string to emit on failure.
Eliminates BEGIN_TESTS and END_TESTS macro pairs in favor of block macro SUITE.
Adds static and inline where possible for internal testing methods.

Coverage remained the same at 100.0% when pulling 1cea19d059d4c368ad0c2d16b1cfa75c0be715cc on isaachier:test-improvements into 7756fb129691f0a1b3e6d83c228ae4c3c40c3eac on uber:master.

I don't mind resolving the conflicts here, but does anyone have an issue with these changes?

I don't mind resolving the conflicts here, but does anyone have an issue with these changes?

I think this seems like a big improvement, particularly in reporting failures. 👍 from my perspective.


v5 changes.

This is my first time creating a pull request and contributing to a public project so please bare with me here. But I made LiteDbExplorer work with LiteDB v5 and wanted to share this with you. I really like your explorer because it's stylish and includes a dark theme compared to the "ugly" LiteDB.Studio.
Besides the obvious I've had to change a lot of BsonValue.AsString calls to ToString() since they would keep throwing InvalidCastException's. I don't know if there was a fundamental change in LiteDB that causes this but with these changes it works for me. Since the LiteException's error codes seem to have changed to I had to add some hardcoded string like "This data file is encrypted and needs a password to open" as the ErrorCode property is 0 when it fails. You might want to change that to const? I've removed the AddFile and SaveFile methods from FileCollectionReference.cs since they where not referenced anywhere.
I've tested creating/opening databases (with and without password), adding/editing tables and uploading/exporting files.
Hope this helps.

Was this ever merged? I do hope so. This was the best litedb browser until v5 broke it. Hope this can be added if it hasn't already

@Memphizzz Looks like this project has been abandoned.  I see you already forked from this branch.  You should merge your changes to your forked version.

Looks like @Memphizzz too has abandoned this and he doesn't have much activity on github. I made some further improvements (bug shooting, wonky windows etc). Did make a pull request of Mamphizz, but got no reply, so not sure what to do with it. If anyone wants my improvements, they're here:
https://github.com/stigzler/LiteDbExplorerV5/tree/LiteDBv5


Some services are not able to be constructed

Using 7.rc1
When using:
	public class AddLimitOrderInputValidator : AbstractValidator<AddLimitOrderInput>, IRequiresOwnScopeValidator
	{
		public AddLimitOrderInputValidator(TradingDbContext db)
		{
		}
	}

The next exception get's thrown
Exception has occurred: CLR/System.AggregateException
Exception thrown: 'System.AggregateException' in Microsoft.Extensions.DependencyInjection.dll: 'Some services are not able to be constructed'
 Inner exceptions found, see $exception in variables window for more details.
 Innermost exception 	 System.InvalidOperationException : Unable to resolve service for type 'Trading.EntryPoint.Data.TradingDbContext' while attempting to activate 'Trading.EntryPoint.Schema.LimitOrders.Mutations.AddLimitOrderInputValidator'.
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, CallSiteChain callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(ResultCache lifetime, Type serviceType, Type implementationType, CallSiteChain callSiteChain)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(ServiceDescriptor descriptor, Type serviceType, CallSiteChain callSiteChain, Int32 slot)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.GetCallSite(ServiceDescriptor serviceDescriptor, CallSiteChain callSiteChain)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.ValidateService(ServiceDescriptor descriptor)

Hi @Jonatthu , do you get this on v6? I imagine so as nothing has changed on the DI front but just wanted to check.
Beyond that, it's a bit hard to know what's going wrong here. It's likely an issue with your DI configuration. If you can produce a small repo, that would be great.
Will be interesting to see how you're registering your DbContext and the validator, specifically what their lifetime configured is.


z tm  # Jump to *tm*

Hi,
What does *tm* in the README mean?
Is there a *tm* variable that is defined somewhere?

z tm  # Jump to *tm*

Hi, how does it know that *tm* is /tmp/?
Is it because you typed it earlier and it remembered it or it expands somehow because the letters tm are in /tmp/?
That wasn't clear for me.

Ignore above.
I opened a PR to clarify what I was confused about in the context of that comment that is now clarified for me.


Add metadata to timers like how many times started/stop

Like lap count on a stopwatch I guess, 🤣
This would be nice for cases where you're running the gem in a long-running environment like a critical path of a web application and you want to be able to do some basic math on mean/min/max/95th%/stdev per start/stop cycle to understand how long a particular operation is taking

Did this


BIP157 / neutrino mode

Wondering if it's worth implementing BIP157 / neutrino mode in sparrow wallet as another backend option? Seems like it would be ideal to eliminate the electrum server requirement. Bitcoin Core 0.21.0 has support for BIP157 and a large percentage of publicly accessible nodes on the network (https://bitnodes.io/nodes/) are running a version of bitcoin core greater than 0.21.0.
BIP157 isn't perfect, but it seems better than trusting a single electrum server. If you run your own bitcoin core node without an electrum server, you need to rely on bitcoin core to watch the wallets from sparrow. It seems like it would be a better design to have sparrow wallet keep track of things instead of require the two to always be in sync with each other. This way you connect to any bitcoin core node and things just work.

The problem with BIP157/158 is that it doesn't scale well. In fact, any protocol that requires the download of an entire block just to retrieve a transaction or two fundamentally does not scale well. This is the issue which affects scaling in Electrs, which I have discussed here. Implementing BIP157 will add another option and increase the complexity of connecting to a server, with these tradeoffs that are perhaps not obvious at first but become more negative over time as the wallet depth increases. For these reasons, I am reluctant to add this.

I am now agreeing more with you on this. With https://github.com/sparrowwallet/sparrow/issues/1383 and https://github.com/sparrowwallet/sparrow/issues/1361 we have a better experience with bitcoin core. With https://github.com/bitcoin/bitcoin/issues/29183 we will get the ability to run a pruned node and do relatively quick rescans. I think running a pruned node is going to be a lot better than running neutrino node and we will actually be validating consensus rules rather than just checking how much work is in the block headers.


Can I use the model for only object detection?

Well the question says it all. If it does, which I presume that it most probably will, could you please tell me how to do it? Like what changes, if any, am I supposed to integrate?

Please take a look at the implementation of DetectoRS in the official mmdetection repo. It supports DetectoRS predicting only bounding boxes.