Broadcast (SPMC) messaging tracing

In #1243, we addressed one-way SPSC tracing. Multiple consumers are another thing (for example, broadcast messaging). Turns out that while linked traces (#1244) could be helpful for things like batches , it isn't the more straightforward way to deal with messages that have multiple consumers (SPMC). The most important thing in multiple consumers is to not share a span ID between the producer and the consumer.
In a recent tracing workshop, we were able to elaborate a bit on async tracing. In many cases, new traces are not needed. Ex if propagation does not imply sharing spans, you can do single producer multiple consumer as normal spans in the same trace. Here's a diagram describing most concerns, notably SPMC being the topic of this issue:
    ┌──────────────────────────────┐             ┌───────────────────────────────────────────┐
    │   RPC with Async Callbacks   │             │                 Messaging                 │
    ├──────────────────────────────┤             ├───────────────────────────────────────────┤
    │                              │             │                                           │
    │ request-response             │      ┌──────▶ Single Producer Single Consumer           │
    │                              │      │      │                                           │
    │   deferring completion       │      │      │ No guarantee of only one consumer from    │
    │    onto a different thread   │      │      │ the POV of the producer. No guarantee     │
    │                              │      │      │ of the scale of latency between producer  │
    │                              │      │      │ and consumer. Can consider collapsing     │
    │                              │      │      │ part of the timeline.                     │
    │ one-way                      │      │      │                                           │
    │                              │      │      │                                           │
    │   breaks assumptions of      │      │      │ Single Producer Multiple Consumer         │
    │   caller knowing when the    │──────▶      │                                           │
    │   request finished           │             │ Breaks shared span model, ex each consumer│
    │                              │             │ may accidentally use the same span ID     │
    │   depending on POV knowing   │             │ Harder to visualize if there are varied   │
    │   a request finished may     │             │ time scales per consumer. That said, each │
    │   be less important than if  │             │ consumer can still work as a child span   │
    │   a caller was blocked       │             │                                           │
    │                              │             │                                           │
    │                              │             │                                           │
    └──────────────────────────────┘             └───────────────────────────────────────────┘

    ┌─────────────────────────────────┐           ┌───────────────────────────────────────────┐
    │            Batching             │           │        Distributed Flow Processing        │
    ├─────────────────────────────────┤           ├───────────────────────────────────────────┤
    │                                 │           │                                           │
    │ Examples are coallesced writes  │           │ Inter-process Streams (like Spark)        │
    │ or flushing. A batch can be a   │           │                                           │
    │ separate trace with links added │           │ The user can define a join/zip/etc which  │
    │ for each enclosed element. The  │           │ may combine work started in multiple      │
    │ root is the batch. Each inserted│           │ traces. Phases tend to be coarse grained  │
    │ span is a direct child.         │           │ which maps to fewer spans. Challenge is   │
    │                                 │           │ if we can detect or assist in how to      │
    │ Representing the batch explains │           │ represent this (ex like we do in batching)│
    │ worst case latency like if there│           │                                           │
    │ was a long write ahead of you   │           │ How do we address latency of a data flow? │
    │                                 │           │                                           │
    │ Also could use correlation id   │           └──────────────────┬────────────────────────┘
    │ for the batch or another parent │                              │
    │                                 │                              │
    │                                 │                              │
    │                                 │                              │
    │                                 │                              │
    └─────────────────────────────────┘                              │
                                                                     │
                                                        ┌────────────┴───────────────────────┐
┌───────────────────────────────────────────┐           │                                    │
│   Intra-process Streams (like Reactor)    │           │Apis look the same, but challenges  │
├───────────────────────────────────────────┤           │can be different. For example,      │
│                                           │           │reactive streams define threading   │
│ Intra-process Streams (like Reactor)      │           │semantics which can be helpful in   │
│ Automatic instrumentation challenges:     │           │understanding how an application    │
│ Granularity challenges include small as   │     ┌─────┤behaves. Data flows have coarser    │
│ clock ticks. Infinite sequences exist.    ├─────┘     │granularity which maps easier to    │
│ No way to tell by type if a flux will end │           │separate spans.                     │
│ and many operators dont have metadata to  │           │                                    │
│ indicate if it is a grouping command or   │           │Both break models or visualizations │
│ not. Notable exception is parallel flux.  │           │that assume a tree shape (ex joins  │
│                                           │           │are possible in either). Both can be│
│ In cases where you create the source, ex  │           │infinite, though each process w/in  │
│ web flux, you can know for sure it is     │           │the flow has a beginning and end.   │
│ finite and how model spans on behalf of   │           │                                    │
│ requests.                                 │           └────────────────────────────────────┘
│                                           │
│ Manual instrumentation is possible where  │
│ you can materialize a context which will  │
│ be available at any point in the flux.    │
└───────────────────────────────────────────┘

So for example, using B3 approach, it would be immediately forking a child on receipt (ignoring X-B3-ParentId and using X-B3-SpanId as the parent). By doing this, the receiver doesn't need to know if there are any peers or not. Other propagation approaches such as trace-context imply this, to such degree we documented this behavior in the past.
Besides propagation, there are other concerns such as the difference between data delivery and processing. For example, we want to ack a message received as soon as we consume it, similar to how http servers work. However, @ImFlog noticed at least in Kafka, there are different apis for consuming messages and processing them. In fact you may not ever know what api is used to process a message. This means instrumentation may need to carry context on the data (ex in headers) and hold it until such time a processor acts upon it. One way it to complete the span as soon as the message is off the wire, but keep the span context on the message for a potential later processor to read as its parent. This stuff has some exploration needed.
Hence this issue forking off the subtopic of single-producer multiple-consumer tracing and how folks are able to work with it.

FYI, there's a proposal to add producer and consumer span kinds on the new zipkin model. thumbsup on that issue if you feel it should be the case, or reply back if you feel against it. https://github.com/openzipkin/zipkin/issues/1499#issuecomment-318230305

Proposal: add span.kind = PRODUCER or CONSUMER
when PRODUCER:
span.timestamp = the time the user produced the message
span.duration = if present, the delay between the user producing the message and it actually being sent
when CONSUMER
span.timestamp = the time the consumer received the message
span.duration = if present, the processing delay (ex decoding it etc)
In Span2 model (#1499), this is straightforward. However, how we map these to annotations is really important especially as they can be used in single-host mode. Here's the idea:
Allocating PRODUCER or CONSUMER to annotations
Define "ms" and "mr", as discussed in #1243. Notably, these annotations are on separate endpoints, the producer and consumer respectively. Here's how to allocate span.kind = PRODUCER or CONSUMER to the span v1 model:

If PRODUCER

if duration is unset or <1us, span.timestamp -> "ms"
if duration is >=1us,  span.timestamp -> "ms", span.timestamp+duration -> "ws"

If CONSUMER

if duration is unset or <1us, span.timestamp -> "mr"
if duration is >=1us,  span.timestamp -> "wr", span.timestamp+duration -> "mr"

Most importantly, unset span.timestamp and duration if allocating to annotations.
Examples:
In SPSC, the timeline is OK in both single-host spans, and potentially shared spans. in SPMC shared spans don't work anyway (each consumer needs to fork a span).
Sender and receiver have no queuing delay or knowledge of it.
spans: [kind = PRODUCER, timestamp = 1L, service=sender], [kind = CONSUMER, timestamp = 3L, service=receiver]
annotations: [(1L, ms, sender), (3L, mr, receiver)]
Receiver has some processing delay
spans: [kind = PRODUCER, timestamp = 1L, service=sender], [kind = CONSUMER, timestamp = 2L, duration=1L, service=receiver]
annotations: [(1L, ms, sender), (2L, wr, receiver), (3L, mr, receiver)]
Sender has some queuing delay
spans: [kind = PRODUCER, timestamp = 1L, duration=1, service=sender], [kind = CONSUMER, timestamp = 3L, service=receiver]
annotations: [(1L, ms, sender), (2L, ws, sender), (3L, mr, receiver)]
Both sides are delayed
spans: [kind = PRODUCER, timestamp = 1L, duration=1, service=sender], [kind = CONSUMER, timestamp = 3L, duration = 1L, service=receiver]
annotations: [(1L, ms, sender), (2L, ws, sender), (3L, wr, receiver), (4L, mr, receiver)]
Sender thinks it is a RPC client, receiver with queuing delay thinks it is a consumer
spans: [kind = CLIENT, timestamp = 1L, duration=3L, service=sender], [kind = CONSUMER, timestamp = 2L, duration=20L, service=receiver]
annotations: [(1L, cs, sender), (2L, wr, receiver), (3L, cr, sender), (22L, mr, receiver)]
Both sides have delay
spans: [kind = PRODUCER, timestamp = 1L, service=sender], [kind = SERVER, timestamp = 2L, duration=1L, service=receiver]
annotations: [(1L, cs, sender), (2L, sr, receiver), (3L, ss, receiver)]
Inconsistent instrumentation
When one side thinks it is an RPC client or server, things look ok with some gotchas:
When a sender in a shared span thinks it is a client, the critical path of span will not match cr-cs.

this can be corrected at query time if the receiver is instrumented as a consumer (mr).

When a receiver in a shared span thinks it is a server, (sr, ss) are at the end of the span, not the middle.

this can be corrected at query time if the sender instrumented as a producer.

Basically, there are some impacts, but mostly when both sides are instrumented incorrectly, eg both producer and consumer are mis-modeled as client and server. In the latter case, we can't do anything to fix it.
Sender thinks it is a RPC client, receiver thinks it is a consumer
spans: [kind = CLIENT, timestamp = 1, duration=3, service=sender], [kind = CONSUMER, timestamp = 5, service=receiver]
annotations: [(1, cs, sender), (4, cr, sender), (5, mr, receiver)]
Sender thinks it is a RPC client, receiver with queuing delay thinks it is a consumer
spans: [kind = CLIENT, timestamp = 1L, duration=3L, service=sender], [kind = CONSUMER, timestamp = 5L, duration=1L, service=receiver]
annotations: [(1, cs, sender), (4, cr, sender), (5, wr, receiver), (6L, mr, receiver)]
Sender thinks it is a Producer, receiver thinks it is an RPC server
spans: [kind = PRODUCER, timestamp = 1, service=sender], [kind = CONSUMER, timestamp = 5L, duration=1, service=receiver]
annotations: [(1, ms, sender), (5L, sr, receiver), (5L, sr, receiver)]
Sender with queuing delay thinks it is a Producer, receiver thinks it is an RPC server
spans: [kind = PRODUCER, timestamp = 1, duration=3, service=sender], [kind = SERVER, timestamp = 5, duration=1, service=receiver]
annotations: [(1, ms, sender), (4, ws, sender), (5, sr, receiver), (6L, ss, receiver)]
Sender thinks it is a RPC client, receiver thinks it is a RPC server
spans: [kind = CLIENT, timestamp = 1, duration=3, service=sender], [kind = SERVER, timestamp = 5, duration=1, service=receiver]
annotations: [(1, cs, sender), (4, cr, sender), (5, sr, receiver), (6L, ss, receiver)]

here's the thrift update https://github.com/openzipkin/zipkin-api/pull/29

PS on the above, I explicitly said messaging spans should always be single-host (even in the multi-host model). What this means is that if someone wants one-way (in the same span), they use "cs" -> "sr" not "ms" -> "mr". "ms" is the parent of "mr" not a the same span. This is because we may never know if there are multiple recipients or not.

here's the work in progress https://github.com/openzipkin/zipkin/pull/1677

https://github.com/openzipkin/zipkin/pull/1677 is nearly done. will test it via https://github.com/openzipkin/brave/pull/461 then polish for merge

Here is what work in progress looks like for a single producer, single consumer POV where the remote endpoint (broker) is set to kafka:
$ curl -X POST -s localhost:9411/api/v1/spans -H 'Content-Type: application/json' -d '[{"traceId":"040c464a2b70a87a","id":"040c464a2b70a87a","name":"","timestamp":1501654414312417,"annotations":[{"timestamp":1501654414312417,"value":"ms","endpoint":{"serviceName":"producer","ipv4":"<IP_ADDRESS>"}}],"binaryAnnotations":[{"key":"kafka.key","value":"foo","endpoint":{"serviceName":"producer","ipv4":"<IP_ADDRESS>"}},{"key":"kafka.topic","value":"myTopic","endpoint":{"serviceName":"producer","ipv4":"<IP_ADDRESS>"}},{"key":"ma","value":true,"endpoint":{"serviceName":"kafka"}}]}]'
$ curl -X POST -s localhost:9411/api/v1/spans -H 'Content-Type: application/json' -d '[{"traceId":"040c464a2b70a87a","id":"b169190ffec10531","name":"","parentId":"040c464a2b70a87a","timestamp":1501654414816112,"annotations":[{"timestamp":1501654414816112,"value":"mr","endpoint":{"serviceName":"consumer","ipv4":"<IP_ADDRESS>"}}],"binaryAnnotations":[{"key":"ma","value":true,"endpoint":{"serviceName":"kafka"}}]}]'


Sitemap

User story
Would be great to get a sitemap made so I can submit in to Google Search Console to help with our SEO
Best solution for this problem
Create a sitemap, unsure how much work it is to keep something like this updated
Metrics
Our rankings on Google will be a nice metric of understanding if indexing to google is helping

My knowledge on this topic is quite limited so I'd love to have some perspective from someone more experienced. According to https://developers.google.com/search/docs/advanced/sitemaps/overview:

You might not need a sitemap if (...) your site is comprehensively linked internally. This means that Google can find all the important pages on your site by following links starting from the homepage.

I believe that's the case for us, or at least we have this goal to have everything linked. According to a few other articles I've looked at quickly, sitemaps are not as useful as they used to be.

There is no Google "bonus" for having a sitemap.xml.

We should check whether that applies to us and whether we can expect any benefit from implementing this.


python-ifcfg

Fixes and instructions

See https://github.com/alexandre-mbm/scanip/issues/1 before accepting it


edit identifier at point, MIT Scheme

Similar to #160, but with MIT Scheme.
I copied the same example into test.scm and compiled/loaded it with C-c C-k. Auto-doc works, but M-. on fbe-fact gives the "Couldn't find edit location for 'fbe-fact'" error.
INFO: REQUEST: <12>: (geiser:load-file "/Users/feldman/Google Drive/docs/classes/6.945/test.scm")
INFO: RETORT: ((error (key . retort-syntax)) (output . "
;Loading "test.scm"... done
;Value: fbe-fact
1 (user) => "))
INFO: <12>: processed
INFO: REQUEST: <13>: (geiser:eval '#f '(geiser:autodoc '(fbe-fact fbe-fact * if define)))
INFO: <13>: processed
INFO: REQUEST: <14>: (geiser:eval '#f '(geiser:symbol-location (quote fbe-fact)))
INFO: RETORT: ((result "(("name" . fbe-fact) ("file") ("line"))") (output . ""))
INFO: <14>: processed
INFO: REQUEST: <15>: (geiser:eval '#f '(geiser:module-location (quote (fbe-fact (fbe-1- n)))))
INFO: RETORT: ((result "(("name" fbe-fact (fbe-1- n)) ("file") ("line"))") (output . ""))
INFO: <15>: processed

i'm afraid M-. cannot work in MIT Scheme because MIT Scheme does not
offer source code locations in its runtime, and geiser relies on that
information coming from the scheme process.

Is it possible to apply something like the following (from the docs) to known source files?

Sometimes, the underlying Scheme will tell Geiser only the file where the symbol is defined, but Geiser will use some heuristics (read, regular expressions) to locate the exact line and bring you there.

i might be misremembering, but i'm almost sure MIT Scheme cannot even
tell the file...

There is a way to get the file for compiled procedures:
(define (find-file+position-of-definition object name)
(let ((file
(if (and (entity? object)
(procedure? object))
(receive (a b) (compiled-entry/filename-and-index (entity-procedure object)) a)
(if (compiled-procedure? object)
(receive (a b) (compiled-entry/filename-and-index object) a)
#f))))
(let ((scm-file (if (and file
(string-suffix? ".inf" file))
(string-append (substring file 0 (- (string-length file) 3)) "scm")
file)))
(if (and scm-file
(file-exists? scm-file))
(find-definition-position-in-file scm-file object name)
(let ((scm-file (if scm-file (find-mit-scheme-sources-file scm-file) #f)))
(if (and scm-file
(file-exists? scm-file))
(find-definition-position-in-file scm-file object name)
'nil))))))
(define (find-definition-position-in-file file object name)
(define (find-pos file object)
(let ((file-lines (read-file-lines file)))
(let loop ((lines file-lines)
(count 0))
(if (null? lines)
(values 0 "")
(let ((match (re-string-search-forward (string-append ".(define. (?" name) (car lines))))
(if match
(values count (car lines))
(loop (cdr lines)
(+ count (string-length (car lines)) 1)))))))) ;; 1 for new-line
(receive (pos snippet)
(find-pos file object)
`((,(string-append "(define " name ")")
(:location
(:file ,file)
(:position ,(+ 1 pos)) ;; extra new-line
(:snippet ,snippet)
)))))
This kind of works for some places in my local swank, but ymmv.
Greetings, Peter

we are moving the project to gitlab. so please, follow-up there as needed. sorry for the inconvenience!
http://gitlab.com/jaor/geiser/issues/204


Fix: Add progress ring to properties when calculating sizes

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #8586

Validation
How did you test these changes?

[x] Built and ran the app
[ ] Tested the changes for accessibility

Screenshots (optional)

The spacing seems to be off, can you fix it? (Very slight issue)

The spacing seems to be off, can you fix it? (Very slight issue)

You mean vertically? Or do you mean it's not centered?

Can you try to revert to the progress bar and see how it looks?

Can you try to revert to the progress bar and see how it looks?

Here it is:
https://user-images.githubusercontent.com/102259289/210447960-6e070777-020f-4af4-9b2e-1c47dbafd4af.mp4

That looks really good

I am more inline with the progress bar. The progress ring just feels out of place.

The progress bar feels good


(FACT-952) Fix man file installation issue in CMakeLists.txt

The destination of an Install call is implicitly relative to the install prefix.

@branan pointed out this fix, but I'm not sure if this is the same issue as the error we're seeing:
CMake Error at cmake_install.cmake:44 (file): file INSTALL cannot find "/tmp/buildd/facter-<IP_ADDRESS>5/man/man8/facter.8".
This seems to be implying that CMake can't find the target?

Do not merge yet, I think the packaging problem is due to man not being included in the tar.

Still don't merge?

:+1:

@MikaelSmith I think this is all we need to do, but I don't think we've had anyone from rel-eng give us a thumbsup

@whopper additional work?

Running this through an uber-build now

@MikaelSmith @peterhuene uber-build is all green!

:+1:

:+1:

:+1:

CLA signed by all contributors.


Fix files/Path.clean() not correctly handling multiple ..

Fixes #2861, and adds several cases to the files/Path.clean test.

Hmm, will test on Linux later.


Cannot select specific port when using docker autodiscover feature

I have 3 ports exposed in my Dockerfile like so:
EXPOSE 5671 5672 80
These are for the rabbit client and the webserver in one embedded server
I've mapped the docker containers like so:
docker(redbird).register("my.domain/instance", "docker-image-tag:*");
what ends up happening is I'm getting upon proxy:
connect ECONNREFUSED <IP_ADDRESS>:5671
I've even tried flipping the ports on the Dockerfile like so:
EXPOSE 80 5671 5672
and this made no difference.
How do I select a specific port when specifying a docker image tag to monitor?

Actually, I just read the source, realised it's not in the code and quite random, and might change my redbird source to look a little like this:
function containerPort(dolphin, containerId, opts) {
    return dolphin.containers.inspect(containerId).then(function (container) {
        var allPorts = Object.keys(container.NetworkSettings.Ports).map(value => value.split('/')[0]);
        var netNames = Object.keys(container.NetworkSettings.Networks);
        if (netNames.length === 1) {
            var ip = container.NetworkSettings.Networks[netNames[0]].IPAddress;
            if(opts.containerPort && allPorts.includes(opts.containerPort)) {
                return 'http://' + ip + ':' + opts.containerPort;
            } else if (allPorts[0] && ip) {
                return 'http://' + ip + ':' + allPorts[0];
            } else {
                throw `Port ${opts.containerPort} is not exposed on the docker container`;
            }
        }
        throw Error('No valid address or port ' + container.IPAddress + ':' + allPorts);
    });
}


Reduce loading time for admission statistics page

I have looked into why the statistics page is so slow, and have found this function to be the greatest contributor:
# Count unique applicants and how many of those were actually admitted to Samfundet
  # This is done both for Samfundet as a whole and for each group
  def count_unique_applicants_in_groups
    @applicants = {}

    @admission.groups.map do |group|
      @applicants[group] = { total: Set[], accepted: Set[] }

      applicants = group.job_applications_in_admission(@admission).map(&:applicant).uniq
      applicants.each do |app|
        @applicants[group][:total].add app.id

        log_entries = LogEntry.where(admission_id: @admission.id, applicant_id: app.id, group_id: group.id)

        unless log_entries.empty?
          last_log = log_entries.last
          if application_is_accepted?(last_log)
            @applicants[group][:accepted].add app.id
          end
        end
      end

      calculate_group_applicants_admitted_ratio(@applicants[group])
    end
  end

It seems that particularly this line is very expensive because it must be done for every applicant for every job:
log_entries = LogEntry.where(admission_id: @admission.id, applicant_id: app.id, group_id: group.id)

The best solution is probably async loads using ajax.

I have looked into using render_async for the statistics page, and can conclude with the following:

render_async does not support running a javascript after the page has been loaded. The javascripts for the charts are compiled as the page is loading, but render_async needs them to be pre-compiled.
The best solution to this is either to create a Rails API, which a javascript can fetch statistics data from. This javscript is then later loaded into the statistics page.
Caching statistics data from older admissions is also a possible solution, but not for ongoing admissions.

render_async does not support running a javascript after the page has been loaded. The javascripts for the charts are compiled as the page is loading, but render_async needs them to be pre-compiled.

Render async IS javascript. But yeah, the chart lib is difficult to deal with.
Should investigate logic, also some of the statistics are not needed anymore, and if removed speed is probably acceptable.


Support more "for" loops

Add more possibilities to for loop.
for (var i : range(5); int j = 0; ; j++)
{
    print(i + " " + j);
}

Considering about whether we should allow users to omit type declaration when go through an iterable object.
Like this
int[] nums = [1, 2, 3, 4, 5];

for ( x : nums )
{
    print(nums);
}


Date Time Selector

Something of a niche feature request, but wondering if this fits the intent of this plug in.
We have a use-case where we'd like to be able to set a variable to a datetime value.
The data set includes many forecasts, and at times it is necessary to go back and in review the forecast "as at" a time in the past.
In this example it is currently 17:35, and I have set the variable to show me the forecast as at 14:05

Right now we allow manual typing of the timestamp (or using a datalink from the graph), but the ideal case would be a calendar selector like this:

@kwekly It's possible to do with the Business Forms panel which support date time selection.
Also, we recently published a blog post for Business Text for similar functionality: https://volkovlabs.io/blog/datapicker-20240905/
Regarding, adding it to the Business Variable panel, we will discuss internally and will let you know.

thanks for this Mikahail, I will investigate the option of using a business form.

this is fantastic, thanks very much @mikhail-vl and @vitPinchuk: the business forms approach looking like a non-starter under our security requirements due to the free-form javascript fields.
Have signed up as a sponsor, cheers team.

@kwekly We appreciate the support.
Let us know if there is anything else.


Clone the Wiki as well

For this fork, you should clone the wiki from the original as well to properly maintain it here. The wiki links in the readme currently do not work.
You can clone the original wiki from here, https://github.com/microsoft/RulesEngine.wiki.git then add the wiki into this repo.

i created a discussion which relates to this issue


Handling untagged perl scripts

Currently untagged perl script which contain ebcdic content will fail as they are interpreted as ASCII.
We may want to consider implementing an environment variable that controls the behaviour of how untagged files are read.
We may also want to consider implementing a heuristic that checks the contents and determines if the file is ebcdic

Node.js implements envar __UNTAGGED_READ_MODE, which we could borrow for this project - https://www.ibm.com/docs/en/sdk-nodejs-zos/16.0?topic=extensions-environment-variable

With zoslib, this is now resolved


START LIVE TRADING - HOW?

I'm quite new on GEKKO
I'm stuck since yesterday on how to start the real trade..
I read on the MAIN FEATURES:
## Automated trading (trade bot)
Paper trading (for TA strategies)
Backtester (for TA strategies)
Tool for systematic trading
Low level market library
Monitor the live market
Import historical market data
Broadcast market data over pubsub messaging systems
Web interface as well as a commandline interface
But by now I'm not able to insert my data or start it properly..
Can someone help me?

I installed it yesterday too and it is well explained on gekko website.
For the moment, you can't real trade with the UI but it's in a near future update.
First to simulate real trading :

Create a copy of sample-config.js and edit it (choose your strategy, other settings...)
Keep the config.trader to false (test your configuration before)
node gekko --config your_config.js

With this command gekko will show you a simulation of real trading.

thanks, i'll keep you up to date!
THANKS

I am very close to pushing a new update that allows trading via the interface. See #737.

why did U close it?
I want to learn trading via command line

Because it's not a bug or issue with Gekko. If you have any questions on how to set it up after reading what @Herklos posted, feel free to reply here :)

let's say I got the ui running with tradebot(which is dumb I know..but I just wanted to test it a bit)....would it be enabled to make trades already if I start it or is there some restrictions preventing it until it's moved to the stable branch. @askmike

Man, when will u relase the online tool?

well.. the  UI implementation of live trading?

@askmike Kudos for the great job over the years. You relentless effort on the Gekko project inspires me so many ways. Cant wait to see the implementation of live trading on UI. Thumb up for you boss and more grease to your elbow


Improve error reporting cross resource set dependencies (#5707)

Pull request opened by the merge tool on behalf of #5707

Merged in a682e948b8fa6d32e9e6680712a48cfa79d809a8


Weird "crash"?

Had a weird crash happen with NEI and Techguns, along with some other mods I installed.  The screen blacked out (my entire screen, not just Minecraft) for a split second, and then the game closed.  Happened both when creating new worlds, and loading worlds.  The conversation I had with the TechGuns dev (albeit a very short one) is linked, which also contains the crash report. Also linked is the conversation I had with mezz of JEI fame.
https://github.com/pWn3d1337/Techguns2/issues/152
https://github.com/mezz/JustEnoughItems/issues/1675

Apparently NEI fails to access JEI stuff and as a result crashes.  Will test with just NEI and JEI, and if it still happens, then integration between the two mods should be fixed.


[Enhancement] Switch to other tesseract library

Is your feature request related to a problem? Please describe.
Currently the text processing is a bit slow. Also mentioned here #11
Describe the solution you'd like
switch from pytesseract to tesserocr
Additional context
According to the docs pytesseract can't work with images in memory. So it always saves a temporary copy to the disc and then calls the native tesseract executable. Tesserocr on the other hand can work with PIL images from memory and therefore should be faster. An additional benefit would be that it is able to keep a tesseract instance running what also should increase the speed farther. The downside is that to install tesserocr on windows you first need to download the wheel file from an other github repository.

I changed to tesserocr to test the speed difference, and it looks like it will save around 3 seconds per governor without affecting the accuracy (on a short top 10 scan). However, that change will affect the installation process for the scanner and thus the README needs to get update before pushing this change. Also, I need to run a full scan to make sure it really works without affecting the accuracy.


reorganize for psr-4 support

The goal of this PR is to simplify the directory structure of the repo.

updates autoloader to use psr-4
adds authors and support properties to composer.json
move /src/test to /tests
remove namespace directories from /src and /tests
remove php close tags ?> from source files
added .gitattributes with export-ignore statements (this makes archives quite a bit slimmer)
renamed readme.md to README.md for consistency (CHANGELOG.md, LICENSE)
reorder php versions in .travis.yml

Coverage remained the same when pulling cebbb55ca5cff6df25d69956273113cc6e752cdd on sndsgd:master into 2d5131709917b80a315a83c08a56516d867ba59f on mikey179:master.

I think this should be split up into several single PRs, as some of the changes have nothing to do with introducing PSR-4:

one to add authors and support properties to composer.json
one for uppercasing readme.md
one for .gitattributes
one for PSR-4

Regarding PSR-4 and directories, it is my intent to keep src/main/php and src/test/php. PSR-4 doesn't say anything about where the base directory has to be located. This means vfsStream might not be in sync in how most PHP projects structure their src and test directories, but I want to keep the clear separation between PHP code and resources which are not PHP code.
Not sure if reordering of PHP versions should be done, the current order has been introduced on purpose with https://github.com/mikey179/vfsStream/commit/be8409595280ca4b3bf06e35531a1f1574a5b16b as Coveralls reports the project as broken when the last one of the builds is broken, which HHVM was for a long time, even though failure is allowed within the build matrix. I don't intent to remove the "allowed failure" setting for HHVM in the foreseeable future, and I want vfsStream only to be reported as broken when any of the builds for a supported PHP version is really broken.

Sounds good. I'll redo and create new PRs.
On Jan 15, 2015 9:48 AM, "Frank Kleine"<EMAIL_ADDRESS>wrote:

I think this should be split up into several single PRs, as some of the
changes have nothing to do with introducing PSR-4:

one to add authors and support properties to composer.json
one for uppercasing readme.md
one for .gitattributes
one for PSR-4

Regarding PSR-4 and directories, it is my intent to keep src/main/php and
src/test/php. PSR-4 doesn't say anything about where the base directory
has to be located. This means vfsStream might not be in sync in how most
PHP projects structure their src and test directories, but I want to keep
the clear separation between PHP code and resources which are not PHP code.
Not sure if reordering of PHP versions should be done, the current order
has been introduced on purpose with be84095
https://github.com/mikey179/vfsStream/commit/be8409595280ca4b3bf06e35531a1f1574a5b16b
as Coveralls reports the project as broken when the last one of the builds
is broken, which HHVM was for a long time, even though failure is allowed
within the build matrix. I don't intent to remove the "allowed failure"
setting for HHVM in the foreseeable future, and I want vfsStream only to be
reported as broken when any of the builds for a supported PHP version is
really broken.
—
Reply to this email directly or view it on GitHub
https://github.com/mikey179/vfsStream/pull/99#issuecomment-70095510.

After diving back into this I'm realizing that my original intent was to simplify the directory structure as much as possible. I personally like to keep my working directory as close to the project root as possible, and that leaves quite a bit of typing and tabbing to do something as simple as a git add. Also, looking at the result of a git status gives me the deeply nested directories, which is slightly more confusing than it would be if files in the root project namespace were a directory or two deep.
I understand that my personal preference isn't really an issue for this project, so I can be content with leaving everything in the src directory where it currently is.


[models] Meshes aren't seperated

Please, before submitting a new issue verify and check:

[x] I tested it on latest raylib version from master branch
[x] I checked there is no similar issue already reported1
[x] My code has no errors or misuse of raylib

1There is an issue regarding a similar problem, but it doesn't seem related (#1541)
Issue description
When loading an OBJ file, raylib doesn't properly seperate OBJ objects and groups into meshes. It does log as having recognised multiple meshes, the meshCount variable in Model is set to having multiple meshes, there is enough memory allocated in meshes for multiple meshes, but all except for the first mesh are completely empty, i.e. vertexCount is 0 and triangleCount is 0.
It seems raylib is always logging the correct amount of meshes. How much memory is actually allocated in meshes and what number is in meshCount depends on the amount of valid materials used and is totally independent from the amount of objects or groups. Either way, the first mesh is the only one ever filled with vertices and triangles.
Environment
Shouldn't matter too much, but it's macOS 11.2 (Big Sur) on a 2018 13" MacBook Pro.
Code Example
I have attached a ZIP with the files used in this example.
assets.zip
#include "raylib.h"
#include <stdio.h>

void PrintModelData(const char *path) {
    Model m = LoadModel(path);
    printf("Mesh count: %i\n", m.meshCount);
    for (int i = 0; i < m.meshCount; i++) {
        printf(" - Vertex count in mesh %i: %i\n", i, m.meshes[i].vertexCount);
        printf(" - Triangle count in mesh %i: %i\n", i, m.meshes[i].triangleCount);
        puts("-----------------------------------");
    }
    UnloadModel(m);
}

int main(void) {
    //SetTraceLogLevel(LOG_NONE);

    SetConfigFlags(FLAG_WINDOW_HIGHDPI);

    InitWindow(1080, 720, "Asset loading test");

    puts("With materials:");
    PrintModelData("assets/TestRoom.obj");
    puts("Without materials:");
    PrintModelData("assets/TestRoom-NoMtl.obj");

    CloseWindow();

    return 0;
}

It is a bug in tinyobj_loader_c.h. There is an off by one error when terminating the material name string. It ends up assigning all meshes to material index -1 because it thinks all meshes are assigned to "Material.00" and that doesn't exist in the hash table.
The issue has been fixed in the current version of https://github.com/syoyo/tinyobjloader-c but it has also been updated to use size_t, something raylib does not support, making integration of an updated obj loader very dificult.
I have a fix for the issue on it's own in the branch https://github.com/JeffM2501/raylib/tree/tiny_obj_loader_off_by_one_fix
It will just fix this issue and not require a full update of tinyobjloader.

@JeffM2501 I'm trying to update to latest tinyobjloader-c but now tinyobj_parse_obj() requires a file_reader_callback and, sincerely, it's a real pain. Here my quick test with no success:
static void LoadFileDataOBJ(const char *filename, const int is_mtl, const char *obj_filename, char **data, unsigned int *len)
{
    *data = LoadFileText(filename);

    if (*data != NULL) *len = (unsigned int)strlen(*data);
    else *len = 0;
}

// Load OBJ mesh data
static Model LoadOBJ(const char *fileName)
{
    Model model = { 0 };

    tinyobj_attrib_t attrib = { 0 };
    tinyobj_shape_t *shapes = NULL;
    unsigned int shapesCount = 0;

    tinyobj_material_t *materials = NULL;
    unsigned int materialCount = 0;

    unsigned int flags = TINYOBJ_FLAG_TRIANGULATE;
    int result = tinyobj_parse_obj(&attrib, &shapes, &shapesCount, &materials, &materialCount, fileName, LoadFileDataOBJ, flags);

    if (result != TINYOBJ_SUCCESS) TRACELOG(LOG_WARNING, "MODEL: [%s] Failed to load OBJ data", fileName);
    else
    {
         // Data loading into raylib Model
    }

    return model;
}

Does a simple task as loading some text file data need to be so cumbersome? That's the kind of approaches that I try to avoid with raylib... still trying to guess who takes care of the *data buffer for freeing...

I too hit that brick wall !
a number of my projects rely on having sub meshes per material, so I have my own OBJ loader
I looked again at it and fixed a tiny memory leak, it seems fine on a what I've had to hand to test it with
Did I once contribute this, do you remember what the issue was ?

@raysan5 did this https://github.com/raysan5/raylib/pull/1408 get lost somewhere along the way ?

@chriscamacho mmmh... it could have been lost while updating the tinyobj library... :(

I could have a look at hacking it back in, including the multi mesh support I PR'd, I still have my old OBJ loader code I can abstract it from, but its a lot of work if I have to do it each update.
I'd PR to the external project, but I have no idea how to get that awful loading API to work....!

@chriscamacho yeah, actually it should be better to PR to the original project, also to help other users that probably are facing same issues with this library...

I don't suppose you can show me a minimal example of using that loader API
it had me foxed last time I looked !
On Fri, 19 Mar 2021 at 22:07, Ray @.***> wrote:

@chriscamacho https://github.com/chriscamacho yeah, actually it should
be better to PR to the original project, also to help other users that
probably are facing same issues with this library...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/raysan5/raylib/issues/1568#issuecomment-803161772,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFO4SJSFJKGW7FEOLEJDQ3TEPDKFANCNFSM4XGNFSEQ
.

--
blog bedroomcoders.co.uk http://bedroomcoders.co.uk
Free source code and tutorials!
Disclaimer:
By sending an email to ANY of my addresses you are agreeing that:

I am by definition, "the intended recipient"

All information in the email is mine to do with as I see fit and make
such financial profit, political mileage, or good joke as it lends itself
to. In particular, I may quote it where I please.

I may take the contents as representing the views of your company.

This overrides any disclaimer or statement of confidentiality that
may be included on your message.

@raysan5 I looked at the latest upstream version:
although the example doesn't use materials I verified at least the diffuse colour is working by adding to the example
          int mi = attrib.material_ids[i];
          vb[(3 * i + k) * stride + 6] = materials[mi].diffuse[0];
          vb[(3 * i + k) * stride + 7] = materials[mi].diffuse[1];
          vb[(3 * i + k) * stride + 8] = materials[mi].diffuse[2];

instead of setting the colour depending on the normal...
it looks like the previous hashmap bug etc has been fixed it also loads non-triangulated obj just fine
so nothing to fix upstream, I'm just going to see if I can find my previous PR, just to check something didn't get lost from loadOBJ...

as I though most of my mods were in loadOBJ (models.c) and seem to have survived
the colours are getting all the way through to rlgl rlDrawMesh setting the diffuse shader location !
so it should all work !??!

this needs another pair of eyes I'm just not seeing it
INFO: SHADER: [ID 6] Shader uniform (matModel) set at location: 22
INFO: SHADER: [ID 6] Shader uniform (viewPos) set at location: 25
INFO: SHADER: [ID 6] Shader uniform (colDiffuse) set at location: 1
INFO: SHADER: [ID 6] Shader uniform (ambient) set at location: 0

in rlDrawMesh I'm doing some printf debugging
printf("%i %i %f %f %f %f\n", material.shader.id,
                            material.shader.locs[SHADER_LOC_COLOR_DIFFUSE],
                           (float)material.maps[MATERIAL_MAP_DIFFUSE].color.r/255.0f,
                           (float)material.maps[MATERIAL_MAP_DIFFUSE].color.g/255.0f,
                           (float)material.maps[MATERIAL_MAP_DIFFUSE].color.b/255.0f,
                           (float)material.maps[MATERIAL_MAP_DIFFUSE].color.a/255.0f);

I'm seeing these values, the shader ID and LOC look okay
6 1 0.898039 0.905882 0.968627 1.000000
6 1 1.000000 0.227451 0.301961 1.000000
6 1 0.376471 0.376471 0.376471 1.000000
6 1 1.000000 1.000000 1.000000 1.000000
6 1 1.000000 0.972549 0.925490 1.000000
6 1 0.298039 0.098039 0.498039 1.000000
6 1 0.356863 0.694118 1.000000 1.000000

I've tried with the default shader and rlights (simple lighting) shader

last GOOD commit is 82d61a5875c4a7eaa4c8caf9ed3b19a8441eb258
but its not just the tiny obj loader (if at all - at HEAD it seems to be passing colours to rlgl that are consistent with the model....)
I think there is a issue with VAO's added into the mix recently which is also causing an issue...

@raysan5 my sincere apologies there appears to be nothing wrong with rlgl, in my defence (and its not much of one) I did have (no longer!) a number of different versions (some hacked!) of Raylib floating around, I think that's how I managed to completely confuse myself. Still not sure what's going any anyhow.
Just to prove how wrong I was, I've attached an example hammering the point home
It manually creates a mesh with two GenCube meshes, and loads in an untextured OBJ using my own scratch written OBJ loader.  When you press the space bar it randomises the colours of all the model materials.
You can use the OBJ loader and take it further, although I won't be turning it into one of those ill advised header/implementation header things, ick, what's wrong with a .c .h pair anyway? code has no business being in a header !!
It is tightly coupled to Raylib structs but then so is LoadObj function in models.c - it could be embedded quite easily into models.c
I don't see the point of decoupling it, it would be unlikely to be used elsewhere and what's the point of loading it into a very similar set of struct's just to the copy it into Raylib structs.... a lot of work for no gain!
currently my OBJ loader only takes into account diffuse colour and map, it should really do more the info is there... It would also need some minor work to load from different sources ie memory not file.
I'll leave it to you to decide what route to go in, I'd probably think you'd want to go with getting the latest tiny_obj_loader, as despite what the readme says it does load up the material info, the only issue there is that horrid loader API which I'd ignore and just target using it from memory.
All the code to separate the materials into separate meshes is still in LoadObj (models.c) - looking at it again most of it is basically from my PR a while ago to load materials into separate meshes...
Let me know when you decide what route to go in.

okay helps if I actually attach stuff when I say I will - sheesh....
loadTest.zip

@Not-Nik as a stop gap measure feel free to use my loader.  as supplied (test-room.obj) the mtl file has 3 identical coloured materials, so this screen shot is after randomising the colours, ignore the cross shaped thing that's a separate model

@raysan5 its a -1 string error again in tinyobj_loader sigh this time a tiny bit higher up the chain...
I'm not doing a PR for this as it can't be fixed upstream as it already has been to my belief (with the latest version upstream)
to get the version you're using to work apply this patch...
diff --git a/src/external/tinyobj_loader_c.h b/src/external/tinyobj_loader_c.h
index 242b47d..1514d8f 100644
--- a/src/external/tinyobj_loader_c.h
+++ b/src/external/tinyobj_loader_c.h
@@ -1377,8 +1377,7 @@ int tinyobj_parse_obj(tinyobj_attrib_t *attrib, tinyobj_shape_t **shapes,
           /* Create a null terminated string */
           char* material_name_null_term = (char*) TINYOBJ_MALLOC(commands[i].material_name_len + 1);
           memcpy((void*) material_name_null_term, (const void*) commands[i].material_name, commands[i].material_name_len);
-          material_name_null_term[commands[i].material_name_len - 1] = 0;
-
+          material_name_null_term[commands[i].material_name_len] = 0;
           if (hash_table_exists(material_name_null_term, &material_table))
             material_id = (int)hash_table_get(material_name_null_term, &material_table);
           else

basically he is allocating space + 1, but then putting the terminator at -1 so loosing the last char of the material name - so no match
The difficulty was ALL the materials were sane, its just that all the tri's in the different meshes ended up getting the default material... gah ! so any time you looked at the mesh being drawn the material was correct! most discombobulating !
amazed how long its been broke for, without ppl noticing !!! - I should really stop using my own loader and stick with LoadModel - then at least I might notice it!
special commendation to @Not-Nik for reporting this!

at last !

@raysan5 do you want me to look at the latest version of tinyobj_loader again, or are you intending to do this yourself ? in the mean time can you patch the current version in use as I have described ?

https://github.com/raysan5/raylib/pull/1687 did it anyhow

@raysan5 sorry thought the updated loader was working but with some models the internal OBJ layout that it parses to has changed somehow, I can't for the life of me see what's changed, but basically it breaks the original code that creates the raylib model...
the c version upstream is clearly a second class citizen to his c++ version the C version doesn't even get tested properly and leaks in places.
I would recommend finding a different loader or creating one from scratch (literally a weekend job - at least that's how long mine took me)

@chriscamacho Yeah, it seems a new obj loader is required.
I'm closing this issue and add the requirement to my list for next release.


feat!: update cypress to 8.3 and require it to be a peer dependency

I thought it was already landed. Turns out not yet.
What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Underlying tools
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

Other information:

Hello, I'm verify the devDependecies about project vue-cli, the Cypress you have the outdated  with version 8.3.0, my sugestion is update de version Cypress for version more stable below 10.0.0


Week 5 Review Ticket - Shreya Sapkal

JavaScript Exploration & Data Table Creation

My JavaScript Data Table:

JavaScript Exploration: Calculator
Group Project Purpose Description
Team Agile Methodology Charts
Modifications to Flask index.html
Modifications to Flask stub.html

My Modifications to Flask index.html:

My Modifications to Flask stub.html:

Table Made Using HTML

Code for Table

Shreya deserves a 2.7+/3. We focused a lot on teamwork elements this week, and Shreya collaborated a lot this week and helped when people in our group had questions about customizing our flask pages. She also demonstrated a genuine curiosity/ desire to learn, as exhibited by her experimentation within the js tutorial notebook. Both her flask repo and js table were uniquely modified.

2.9, this group showed a lot of effort in this weeks process on editing the tables and flask pages, well done.

Showed everything and went above and beyond with her group, 2.7+/

Javascript comments added to lecture with new rows and color.   Flask changes and lots of personalization.  About Me and personalization.   Changed icon and links.  Very nice table.  3.0.


Precious/investors

Proposed Changes
Added products, team and investors sections.
Screenshots

...

Also changed next/images to standard img html tags as Roman commented on img quality - Next/image optimises at default value  of 75 :0


Feature/frame loading events

Implements https://github.com/herrmannlab/slim/issues/94
See https://github.com/herrmannlab/slim/pull/93 for more details
This conitnues https://github.com/herrmannlab/dicom-microscopy-viewer/pull/76:

fix ICC profiles wiht webworkers
add events (tile loaded start / end) API

@hackermd the PR with the code that we just did


(Oscar 3.2) saving a test method can be slow ..

When I save a method in RwRowanSample9Test it can take 5 seconds to finish ... non-test methods or methods in tests with fewer methods seem to compile much faster than that ...

Note - RwRowanSample9Test isn't in my image when I load RowanSample9. However, adding a new method in Object also takes awhile providing a nice reproduction case without having to figure out the mechanism to load tests in the project.

I was able to make some improvements that brought the time to compile a method in Object down by a factor of 4 in my environment.  Still working through the tests, but the changes are checked in.


starter container error when using istio

When i run k6-operator with istio, then starter always change to an error state.

starter pod log:

CR file:
apiVersion: k6.io/v1alpha1
kind: K6
metadata:
  name: k6-sample-with-extensions
spec:
  parallelism: 4
  script:
    configMap:
      name: crocodile-stress-test
      file: test.js
  arguments: --out prometheus=namespace=k6&port=9090
  ports:
  - containerPort: 9090
    name: metric
  runner:
    image: extension-image:0.0.2
    metadata:
      annotations:
        prometheus.io/scrape: "true"
  scuttle:
    waitForEnvoyTimeout: "20"

I can't understand why this is happening. I would like to ask for help if there is any solution.

Did you enable scuttle as well? That's required for istio to work

@KnechtionsCoding
runner image is like this
# Build the k6 binary with the extension
FROM golang:1.16.4-buster as builder

RUN go install go.k6.io/xk6/cmd/xk6@latest
RUN xk6 build --output /k6 --with github.com/szkiba/xk6-prometheus@latest

# Use the operator's base image and override the k6 binary
FROM loadimpact/k6:latest
COPY --from=builder /k6 /usr/bin/k6
COPY --from=redboxoss/scuttle:latest scuttle /bin/scuttle
ENTRYPOINT ["scuttle", "k6"]

https://github.com/grafana/k6-operator/blob/main/api/v1alpha1/k6_types.go#L38-L39 Much like you've declared the wait for envoy timeout you have to actually enable scuttle as well

@KnechtionsCoding i'll do that. thank you for answering!

@KnechtionsCoding It's work! Thank you!


Update twirling docstring

Summary
Fix twirling docstring to say measurement twirling is not actually enabled by default for Sampler.
Details and comments
Fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 82.274%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6006

Relevant Lines:
7300

💛  - Coveralls


Added regex that matches valid Morse Code

Small spacing fixes as well.

Very cool, thanks

This regex doesn't seem to be valid, could you take another look at it @ryanml ?

@lukehaas will do, I'll get back to you today


Is karpenter compatible with instance target type?

Description
How can the docs be improved?
As the title suggests, does Karpenter respect the ELB's deregistration delay during node deprovisioning?
As many of you know, ELB features a deregistration delay. When deregistering a target, ELB stops sending new requests but must still handle responses for the requests already sent. The deregistration delay determines how long to wait for these existing requests. If the target type is IP, it seems that everything could be managed simply by configuring the k8s resources.
My main concern lies when the target type is instance. When a node is deprovisioned, the aws-loadbalancer-controller should detect this and deregister it from the target group, preventing it from receiving new traffic. However, the issue arises with the preexisting traffic. What happens to the requests that were already sent? Is there a mechanism that adequately considers these previously dispatched requests? If not managed correctly, I presume a 504 response would be returned.
My first question is whether my assumption is correct that these requests are not properly managed. If so, this should be documented in the Karpenter documentation: 'To use karpenter, you must use only ip as the target type.' While registering and deregistering targets with ELB is the responsibility of the aws-loadbalancer-controller, compatibility with specific technologies could be, and indeed needs to be, specified in the karpenter documentation.
Act

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

When the node is cordoned, we add the node.kubernetes.io/exclude-from-external-load-balancers which indicates that the node should no longer be a target.
For existing connections, your application will need to gracefully handle them once it receives a SIGTERM before the terminationGracePeriodSeconds has expired.

Is there a way I can check this working of Karpenter ? In the logs or somewhere else ?


U07 - As a registered, I can login to gain access to my account

Hey team! Please add your planning poker estimate with ZenHub @awesomeaj5 @delaureon @drbloo @gaubiago @mhonda2


Incorrect Calculation

If you for example type enter +('0' + 1) you will get 101 whereas you should get 1.

will try to fix it tonight at the ok lab.

node -e 'console.log(+("0" + 1)')

In fact it is only a bug of presentation, not of executing JS properly. There is two values being shown next to the line ('01' and 1). Because both overlap each other, it looks as if the calculation is wrong.
Will fix the overlapping issue tonight.


Support the Open Graph Protocol

This allows nicer sharing in things like discord.

Support added in cbca993.

Support added in cbca993.


Feature Request: Support Upscaling before generating video.

Right now, for both this extension and for seed travel, a user who wants to upscale their animation will need to individual (or in a batch) upscale each image and then will have to convert these images into an mp4 or .gif themselves.
Maybe we should support allowing a user to do this in the UI before the final generated video. Besides, you'll be able to show off 8K animations really easily to motivate folks to use it!

Good advice, will be implemented soon~

Well, this is done. However, ui components might not be that tunable but enough for basic cases ;)

Exciting! Thank you for the quick response! I'm super excited to see this feature, and I'll even make a post on my Linkedin (which has a decent amount of followers) talking about this once it's merged!!!!

Kinda shocked, but really appreciate your attention to this extension~ 😸
To make coding simple, current upscaling is implemented in a post-processing manner. Hence the generated images are still in low-resolution, but exported video will be high-resolution. Yet another way to get a high resolution stuff is that, you could try using this extension together with the hires.fix feature, though it would be much slower.

One small request, can we set the scaling multiplier as high as 8 (or higher if it can go even further)? The regular upscaler supports going that high. I was hoping to do 4K videos Otherwise this is awesome and works perfectly!

Get it, let me check the default upper limit setting in webui.

Now in the webui script panel, the upscaling multiplier can reach 16, values higher than x4 will be auto broken down like x8 -> x4 x2, x16 -> x4 x4, x12 -> x4 x3 (the first pass is always x4).
If you still could not set values higher than 4 in the ui widgets, check option "customscript/prompt_travel.py/txt2img/Upscale ratio/maximum" in local setting file ui-config.json ;)
⚠ x16 will probably make nothing but a all black video if your upsacled image resolution is more than 4096 :(
ℹ I tested the simple Lanczos, it's works but bad quality; when I want to test the bundled ESRGAN-4x, my webui just stucked and seemingly get into somewhere a deadloop 🤔
Another road, I encourage people to try the new standalone post-porcessing pipeline. To get a x16 video, you just need to:

setup post-processing tools, see tools\install.cmd
modify postprocess-config.cmd set RESR_UPSCALE=4
get you travel results folder <SD>\outputs\txt2img-images\prompt_travel\<travel_number>, drag and drop it onto the postprocess-config.cmd file icon
get the RIFE processed data folder at <SD>\outputs\txt2img-images\prompt_travel\<travel_number>\rife, again drag and drop the rife folder onto the postprocess-config.cmd file icon
get a x16 in resolution and x4 in frame rate video at <SD>\outputs\txt2img-images\prompt_travel\<travel_number>\rife\synth.mp4


Add link to mstest specific runsettings

Internal previews

📄 File
🔗 Preview link

docs/core/testing/unit-testing-mstest-runner-intro.md
MSTest runner overview

ping @IEvangelist


ReclaimPolicy in StorageClass

Feature Description

One-line feature description (can be used as a release note): Allow configuration of dynamically provisioned PVs' reclaim policies (Delete or Retain) via StorageClass
Primary contact (assignee): @wongma7
Responsible SIGs: Storage
Design proposal link (community repo): https://github.com/kubernetes/kubernetes/issues/38192
Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred:
@jeffvance
Approver (likely from SIG/area to which feature belongs):
@saad-ali
Feature target (which target equals to which milestone):

Beta release target (1.8)
Stable release target (1.9)

CC @kubernetes/sig-storage-feature-requests

@wongma7 @saad-ali any updates for 1.8? Is this feature still on track for the release?

@idvoretskyi yes, code is done and docs need tech review https://github.com/kubernetes/kubernetes.github.io/pull/5171


Fix #plugin action not working in modern versions of Sketch

Getting this action working again is key to unlock workflows like this one: https://forum.sketch.com/t/populate-color-from-json-file/2465/6

P.S. The official documentation lacks practical examples so here's how the #plugin action is supposed to be used:

Let's say you have the following plugin installed that you want to invoke on one of your template layers based on some condition:

Let's also assume that you have the following template layer structure:

Now, to invoke the plugin on the Rectangle layer, rename the latter as follows:
#plugin[{condition}, My Plugin > My Action]

ℹ There're no quotation marks around the plugin command path.
ℹ You may only invoke single-level commands, so things like My Plugin > Group > My Action won't work).

Notes

Your {condition} might be as simple as just true (e.g. #plugin[true, My Plugin > My Action]) if you want to always invoke the plugin no matter what's in your data.

You may pass arguments to a plugin by including them in a layer name:
#plugin[{condition}, My Plugin > My Action, arg1, arg2 {zip_code}, arg3]

ℹ The {zip_code} placeholder in the example above will be replaced with an actual value from your data just like any other placeholder).

In order to access those arguments in your plugin, use the following:
// in script.js

const util = require('util')
var onRun = function (context) {
   let arguments = util.toArray(context.selection[0].userInfo()["datapopulator"])
   // arguments == ["arg1", "arg2 {94024}", "arg3"]
}

As you can see, argument are passed to the plugin as an array of strings. Don't forget to use util.toArray() to convert it to a proper JavaScript array.

Linking #220


CSS 404's with mkdocs serve

This is a strange one.  When using this theme via mkdocs serve, the CSS fails to load with the following message:
WARNING -  [11:38:00] "GET /css/torillic/torillic.css HTTP/1.1" code 404

Note the extra sub-directory that it's looking for.  I can't see any reason why it's doing this, but it doesn't happen with other themes.

It works if you copy the torillic-folder from https://github.com/TEParsons/torillic into the css folder from this repo.
I needed some time to figure this out myself as well, @TEParsons would it be possible to mention this in the README (or CONTRIBUTING), or better to automate it?

Happy to document it, yes!
Though, you shouldn't actually need to copy the folder yourself - if you install mkdocs-torillic from PyPi then you should (unless I've messed something up with the Build action) get that folder included. If you're running from a clone/download of this repo, then you should use the last-release branch instead as that's also got that folder copied in already.
The reason it's set up like this is that the base folder applies to both mkdocs and Typora, so it's easier to copy the base theme over when building a release than it would be to maintain two copies of it on different repos.

Documented here:
https://github.com/TEParsons/mkdocs-torillic/commit/20ca86fc6600f23bfd08f005f795ce63d7ad57f2


Update gRPC to 1.10.0 and OpenTracing to 0.31.0

I signed it!

Hi @augi sorry for the extremely slow reply, just seeing this. FYI, Java gRPC support has been moved to https://github.com/opentracing-contrib/java-grpc so that we can keep track of it better.
That version is already on ot v0.31. I've created an issue there to bump to gRPC 1.10m which will be done shortly: https://github.com/opentracing-contrib/java-grpc/issues/5
Please open future issues/PRs on that repo, and let me know if you have any questions.

No problem, thanks for the response. I've also created another PR to bump gRPC to 1.12.0: https://github.com/opentracing-contrib/java-grpc/pull/6


[Feature Request] - Allow users to openly trade waifus

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
As an extension to #69, add a /opentrades, and a /addtradeoffer command, in which permits users to give trade offers to all WaifuBot users (not limited to Discord servers). This could permit exchanges abroad users (and maybe some persons may encounter some nice people in the same instance !)
Technical explanation
On DB : "tradeoffers" DB, containing "discord_userID", "waifuToOffer", "additionalComment" (optional)
On WaifuBot : /opentrades -> DB interrogation : "SELECT * IN tradeoffers"
/addtradeoffer -> "Which waifu would you want to trade ?" -> user adds waifu -> "Any additional comments ?" -> user can add a comment -> "INSERT INTO tradeoffers"
(optional) In WaifuGUI : "Open Trades" -> List of waifus. On click on one offer, gives waifu, discord ID and comment;

This sounds like an extremely neat idea to enable cross-server trading.
Right now, I'm focused on migrating fully to / commands, since message commands are deprecated in april.
I'm only missing drops/claims, but I'll be sure to come back on this.
If you have anymore implementation ideas/details, be sure to drop them here, thanks for the suggestion


fix(opendataset): delete "trainval" segment for two VOC2012 datasets

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.715%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5557

Relevant Lines:
6638

💛  - Coveralls


Est Tx Fee doesnt consistently show when clicking on outcome table

Go to market?id=0x09277F8964794BA562Af53712a4B3486980e74CA
Cant have a position
Click on a best ask on the outcome table doesnt always shows....
clicking on tokyo offer (no tx fee shows up)

Should look like this in the example...

still happening

fixed - closing


refactor: Remove extraneous parent classes from errors

As mentioned in another PR. It initially confused me, though it's not that bad. Your decision @Yajo :smile:

Codecov Report

Merging #408 (1aea4cd) into master (1f24b5a) will decrease coverage by 15.89%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           master     #408       +/-   ##
===========================================
- Coverage   96.93%   81.04%   -15.90%
===========================================
  Files          38       38
  Lines        2319     2321        +2
===========================================
- Hits         2248     1881      -367
- Misses         71      440      +369

Flag
Coverage Δ

unittests
81.04% <100.00%> (-15.90%)
:arrow_down:

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

Impacted Files
Coverage Δ

copier/errors.py
100.00% <100.00%> (ø)

tests/test_prompt.py
11.71% <0.00%> (-88.29%)
:arrow_down:

tests/test_complex_questions.py
19.65% <0.00%> (-80.35%)
:arrow_down:

copier/user_data.py
57.94% <0.00%> (-36.53%)
:arrow_down:

tests/test_updatediff.py
66.90% <0.00%> (-33.10%)
:arrow_down:

tests/test_templated_prompt.py
75.00% <0.00%> (-25.00%)
:arrow_down:

tests/conftest.py
70.00% <0.00%> (-20.91%)
:arrow_down:

tests/test_vcs.py
84.00% <0.00%> (-16.00%)
:arrow_down:

copier/tools.py
81.48% <0.00%> (-11.29%)
:arrow_down:

tests/test_migrations.py
92.91% <0.00%> (-7.09%)
:arrow_down:

... and 10 more

Continue to review full report at Codecov.

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


Is this compatible with Elasticsearch 6.x?

We had previously tested ExecBeat with Elasticsearch 5.x but not 6.x . As I could see that there have been no commits to this repository for past some time. Wanted to check if this is still maintained? And does it support Elasticsearch 6.x ?

Doesn't look like it's still maintained, but we are using it in 6.x and didn't have any problems with it.

That's a helpful information. Thanks 👍

First of all, sorry for no updates for a long time, I just restarted the work on the beat and currently creating a release for 7.0.x I'm wondering if you are still interested in a version supporting stack version 6.x or if you have already upgrade to 7.x.

Hey @christiangalsterer . Thanks for your message. But currently we are not using Execbeat. However, I have a feeling if this is working fine then many people would like to use it for solutioning.

Hey @christiangalsterer , would be glad if you could release a new version to support 7.X.X Elasticsearch. I'm getting below error message while connecting to elasticsearch version 7.8.1
Connection error publishing events(retrying): Connection marked as failed because the onConnect callback failed. Could not load template:

I just started to work on a version compatible with 7.x. As there was no activity for a longer period of time, there are quite some changes to apply, but I'm confident to make it happen, see also #37.

I just started to work on a version compatible with 7.x. As there was no activity for a longer period of time, there are quite some changes to apply, but I'm confident to make it happen, see also #37.


Docs not being served from gh-pages

The docs are not accessible from gh-pages. They should live at https://hdi-project.github.io/btb, but that link gives a 404 error.
Debugging

The repo seems to be correctly configured to serve from gh-pages branch, and the gh-pages branch has the expected source files.
You can see that the site is structured correctly by using rawgit.com to serve the files: https://rawgit.com/HDI-Project/BTB/gh-pages/index.html.
You can compare to fhub_core, which uses an identical configuration: https://hdi-project.github.io/btb (404 error) vs https://hdi-project.github.io/fhub_core (works correctly), and https://github.com/HDI-Project/BTB/tree/gh-pages vs https://github.com/HDI-Project/fhub_core/tree/gh-pages

I could fix it following the advice from here: https://stackoverflow.com/questions/11577147/how-to-fix-page-404-on-github-page
I basically run locally:
git checkout gh-pages
git push origin --delete gh-pages
git push origin

As an additional note, it looks like the URL is case sensitive.
So, the actual docs are here: https://hdi-project.github.io/BTB/


Allow reading Commits

Since adding Authorization for read access, all Commits are not accessible. It might be good to default to security, but not being able to get commits sucks.
See https://github.com/ontola/atomic-data-docs/issues/80

Implemented it by changing the check_rights function.


create multiple of the same instances

I'm trying to create multiple of the same instace using the compute nodejs sdk. Yet i couldn't find the correct field to this this in the documentation. How can i do this?

Are you looking for something like this?:
const Compute = require('@google-cloud/compute').Compute;

const computeInstance1 = new Compute();
const computeInstance2 = new Compute();

No not really, I know that with Terraform you can use count which let you create multiple of the same instances. Is there some sort of keyword i can add to the object directly?

Please upgrade to the latest version of @google-cloud/compute which is a complete rewrite of the library. I'll close this issue for now.


The links to 'SDEL Tokens' are broken

All the links to 'SDEL Tokens' on this and other pages just go to https://docs.microsoft.com/windows-hardware/drivers/ddi/index

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

ID: d87975db-4d2d-8ec4-8d18-fd6751c1b4b8
Version Independent ID: 56d486a3-369a-db10-5646-dccfad6f3aa6
Content: Simple Data Evaluation Language Overview - Windows drivers
Content Source: windows-driver-docs-pr/wdtf/simple-data-evaluation-language-overview.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @EliotSeattle
Microsoft Alias: eliotgra

Fixed these in September but didn't remember to close this issue.
Sorry
Eliot


bot server auto changes or i change server and fix

? To auto change servers just use ws and ws.close

nope the bots wont connect after death any fix for that

fixed it


Darwin does not compile

I get these error when I try to build for darwin, while when I build for linux everything is ok

It looks like you’re trying to cross-compile, and not explicitly enabling cgo.
From https://golang.org/cmd/cgo/:

The cgo tool is enabled by default for native builds on systems where it is expected to work. It is disabled by default when cross-compiling. You can control this by setting the CGO_ENABLED environment variable when running the go tool: set it to 1 to enable the use of cgo, and to 0 to disable it.


migrate TreeView to CSS modules

Helps with https://github.com/github/pull-requests/issues/11167
Related: https://github.com/github/primer/issues/3159

This PR migrates the TreeView component from using styled system props to CSS modules. It follows the instructions listed in the Primer React Styled Components to CSS Modules Refactoring Guide:

[x] Verify VRT (Visual Regression Testing) Coverage (see existing e2e/components/TreeView.test.ts)
[x] Ensure All Visual Changes Are Completed (confirmed by checking open issues related to TreeView)
[x] Ensure the component accepts a className on the top DOM level only for styling from outside of primer/react
[x] Ensure the component accepts a style prop for more dynamic styling like positioning
[x] Add a feature flag for controlled rollout (staff shipping)
[x] Ensure Component still accepts sx styling

Changelog

New

Adds support for style prop to TreeView component

Changed

Updates TreeView component to support CSS Modules (behind feature flag)
Fixes minor test and documentation typos

Removed

N/A
Rollout strategy

[ ] Patch release
[ ] Minor release
[x] Major release; if selected, include a written rollout or migration plan. See https://github.com/github/primer/discussions/3911
[ ] None; if selected, include a brief description as to why

Testing & Reviewing

These changes are easier to review with whitespace changes hidden.
Merge checklist

[x] Added/updated tests
[x] Added/updated documentation
[ ] Added/updated previews (Storybook)
[x] Changes are SSR compatible
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge
[ ] (GitHub staff only) Integration tests pass at github/github (Learn more about how to run integration tests)

I'm working on the 4 failing visual regression tests. Looks like I may need to tweak the variable/value used for folder background and current item active border color for our dark mode themes.
Example diff:

vrt-all-flags.zip

Taking back to draft while I work on vrt test failures.

Re: failing vrt tests - I could use some guidance on how to proceed.
There are four failing tests all related to dark high contrast mode (see attached zip file for more details). These are all related to the color of the directory icon.
Previously, we were using:
var(--treeViewItem-leadingVisual-bgColor-rest, var(--color-tree-view-item-chevron-directory-fill, #CUSTOM_FALLBACK_FOR_EACH_MODE))

--treeViewItem-leadingVisual-bgColor-rest was replaced by --treeViewItem-leadingVisual-iconColor-restin https://github.com/primer/primitives/pull/686. When that replacement was made, we didn't update the legacy theme in this repo (makes sense), so since that variable no longer existed, we always use the fallback hex code.
With these changes, we're now using --treeViewItem-leadingVisual-iconColor-rest. That variable works for all modes except dark high contrast. I believe this is because whatever hex code that variable represents in dark high contrast mode (#b7bdc8) is different than this repo's custom legacy theme dark high contrast hex code (#f0f3f6).
Questions:

Do we want to ignore the failing vrt test and use the current dark high contrast color for --treeViewItem-leadingVisual-iconColor-rest? (#f0f3f6)
Do we want to update the dark high contrast color for --treeViewItem-leadingVisual-iconColor-rest to match the legacy color? (#b7bdc8)
Do we want to hard code the dark high contrast color override into TreeView.module.css somehow, so that exception is contained to this single component? (I'm not entirely sure how to do that for dark high contrast mode only).

Taking back to draft while I look into new VRT failures...

Yep these look like the same integration errors, not related to this pr


About simplifying docker test

Docker test is really a hard thing.almost every docker feature or bugfix will go with a test. Sometimes one line change in docker will take a lot of code in test. And docker is still in development, test is gonna be bigger and bigger.
Is it possible to reuse codes in test to simplify this, maybe could build a frame to fulfill with when new test needed. Thus it will be easier to add test and lines of code may be less.
Just a childish thought,If you think it's foolish, please ignore

+kind/enhancement

The integration-cli tests already have a library in place to avoid duplicating certain pieces of code. This will be improved further and there will be even less duplicated code.
The tests seem really big right now because there are a lot of tests. However, they could have been a lot bigger if we didn't have the library of helper functions to avoid duplicating the exact same code for every single test.


Improve client server communication on plagiarism checks

Is your feature request related to a problem?

Plagiarism checks currently get triggered via a rest request (api/programming-exercises/:id/check-plagiarism). In very large courses this request takes so long that it eventually times out.
Describe the solution you'd like

The client should subscribe to a websocket that notifies them with the results when the plagiarism detection is finished. This websocket is already partly implemented.
Additional context

We improved the performance and let the instructor know about the progress using web sockets


[Enum Request] Table 203 „Res. Ledger Entry“ Field „Source Type“

We need to extend the „Source Type“ so please convert the option into an extensible enum.
Maybe you can use the Enum „Res. Journal Line Source Type“ used in Table 207 „Res. Journal Line“ Field „Source Type“

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Poem Search

USER STORY: Poem Search
URL: https://github.com/suwebdev/wats2020-fq15/wiki/User-Story:-Poem-Search-by-Category
SIZE: Medium
REASONING: To find poems within the website easily
PRIORITY: #
HOW DOES THIS FIT IN THE PROJECT?:This will aid in content production to fulfill wireframes
WHY THIS SPRINT:  This will make access to the library of poems easy for the developers during the early in the building stages.

A simple search box has been added under the navigation menu. CSS styles are put into place, and Javascript implemented to clear the search box when clicked.


Proposal: add API based end-to-end (aka e2e) testing

hi linkding team, I'm the author of api-testing which is an API testing tool. It seems that no e2e testing in this project. I'd be happy to implement it if you believe it's worth.
In order to let you have a quick kowning about it. Please see also the user's of api-testing.

There are a number of ITs and E2E tests already.


WIP/discussion experiment with macOS support

This almost works, but there seems to be a file path issue with @zig_dir_path in the compiler

I've made this branch.
https://github.com/ityonemo/zigler/tree/experimental_macos_support

I've made this branch.
https://github.com/ityonemo/zigler/tree/experimental_macos_support

I made a comment here that you need to reference the compiler. It looks like there's still an issue getting Zig header files and nifs into _build/test/lib/zigler/priv/nifs.

closed thanks to https://github.com/ityonemo/zigler/pull/250


Prevent forwarding of TANs/QR-codes to other users

Regarding E06.04, E06.05 & E06.06:
It is proposed to allow a user to activate the notifications of other users also via a TAN obtained from a call center.
I want to point out the danger of misuse: A positive tested user can obtain this TAN and forward it to another (non-infected) user, who could then trigger false notifications. (Think about people who want to undermine the system by carrying extra smartphones in densely populated city centres, and activating their false notifications with such a TAN code)
Hence, it should be ensured that there is a proven link between the person, smartphone/app and test, e.g. by having the user to scan the QR-code (or acquire a TAN) in attendance of a health official. (Of course, there is still the risk of users carrying not their normal smartphone)
Regarding E06.01:
Of course, it has also to be ensured the the QR-code can't be forwarded to another user. (This can also be achieved by having the user to scan the code in attendance of a health official)
It would in general be good to also see the documentation of the health centre and server-side user stories.

already topic of closed issue #34

Thanks for the fast reply.
Yes, the basic topic is the same, but issue #34 is concerned about how to identify the user.
I'd also point out that there is significant potential of misuse even if the user is identified, by allowing her/him to forward the obtained TAN (or QR-code) to another user/smartphone.

Honestly, we don't have a plan how to prevent that. The TAN has a limited validity.

The tan use case is taken from DP3T. besides the secure infrastructure and logistics needed to provide doctors with valid keys, the positive test requires a registration at the local health office. it should be the only trust provider as well as a needed backend for authentication and verification of test results. using a system like SORMAS and DEMIS. its a severe design flaw of DP3T which leads to false positives and redundancy and unreliablity in the work flow.

a positive test is at the same time a requirement for registration at the local health office.  in terms of throughput they are the local trust center to validate positive covid tests since very often a federated backend software is already used which can be combined with for an authentication backend (OAUTH) in combination with SORMAS. no need for QR codes. and providing each and every doctor in germany with the needed documentation, hotline service, key certificates and key generator software to print out QR codes.
https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Massnahmen_Verdachtsfall_Infografik_DINA3.pdf?__blob=publicationFile
https://github.com/hzi-braunschweig/SORMAS-Project
https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Massnahmen_Verdachtsfall_Infografik_DINA3.pdf?__blob=publicationFile

Apparently development has already begun in private repositories. Tough I urge stakeholders and decision makers to reduce complexity and get rid of any additional functions beside the single-purpose of a Corona-Warning-App.
That being said, nobody can claim later that he or she has never heard this recommendation.

Once a TAN has been used it's not valid anymore, so how would you forward it to others?

Once a TAN has been used it's not valid anymore, so how would you forward it to others?

The user obtains the TAN (during a phone call with the proposed call center), but the user never enters this TAN into the own smartphone.
Instead, the user forwards the (unused) TAN to another user.
Hence, the TAN is only used once, but on the wrong smartphone.

Similar attack vector possible in case you can't restrict that the proposed QR-codes is photographed instead of entered: Again, a user can forward the QR-code without actually using it on the own phone.
Potential scenario:
Imagine an (probably illegal) online marketplace for trading such TANs/QR-codes.
People could buy such codes to trigger warnings (and effectively enforce quarantine measures) to persons around them like e.g. competitors. They just need to bring a smartphone close enough to them in the previous two weeks, and then activate with such a TAN.
It probably won't be possible to eliminate such attack vectors completely without compromising privacy any further. Nevertheless, you need at least to ensure that these codes can't be forwarded too easily. The whole system will loose credibility, if there are public reports of such attacks.

You could circumvent this with a limited time a TAN is valid. I would assume https://github.com/DP-3T has already discussed this issue, but I haven't checked yet.

You could circumvent this with a limited time a TAN is valid. I would assume https://github.com/DP-3T has already discussed this issue, but I haven't checked yet.

Yes, you are right: There is already an analysis on this topic.
They identify a potential misuse scenario (S1D) and present three proposals for mitigation.

The first two proposals/options are still vulnerable to misuse.
Proposal 3 (Data-bound Authorisation) would prevent this, but doesn't allow to authenticate via TANs from a call center, and has very clear requirements regarding the QR-code process.

I wonder, why this is not considered in the current user stories / documentation.

If there is a TAN-from-call-center option, that is not linked to a QR-code, how long is such a TAN (needs to be read out during a phone call), and will you really be able to prevent malicious users from brute-forcing such TANs?

Preventing brute-force attacks is quite easy (even though I wonder why anyone would want to do this): You'll get three attempts to enter a valid TAN, afterwards you will be banned from the authentication server (e.g. via IP ban).
A TAN should be long and complicated enough to be not easily guessable, but I think there is no need for discussion as we will be able to see how they are structured when the source code is released.

there are basic architectural decisions not taken into account with a too high level of details between alice & bob. the backend architecture is based on the indepencency of 400 health offices, communal and municipal data sovereignity. now telekom/sap is providing a middleware/cloud infrastructure which is overriding DEMIS / rki and degrading the health offices to cloud users trusting in ACL rules. the decentralisation debate leads to a  distraction from the risks of the centralisation of critical private health data in the backend infrastructure. you need to see the bigger picture.
instead 400 VMs with installed SORMAS would be able to replace the Telekom Cloud, directly administered by the health authorities which are legally entititled to store registered private health data (as well as the doctors). the TANs (QR codes) should be generated not by doctors by be registration backend of the local health office where any test result has to be registered by law.
only in case of roaming requests or legal inquiries acccess to federal, communal data repositories would be allowed. with the Telekom backend the centralisation debate is just where it was before, just much worse thanks to mixing up the layers of the given architecture.   the main goal is that proximity tracing has to be scalable on the local level and become more interoperable with manual tracing team work.

Thanks for the discussion so far. We hope that the architecture documents released yesterday provided some more input on that matter, but let's also invite @tklingbeil to comment.
@pitsch could you kindly move your proposal to a dedicate issue to keep the two discussions (preventing misuse in the current architecture vs. proposing alternate approaches) separate?

@pitsch
I think there is a misunderstanding of what is meant by decentralised: there is no central authority that can view the social graph of everyone, and no information on non-infected persons is stored centrally.  The details of infected persons need to be stored centralised anyway as contacts need to be traced across district borders (irrespective of whether tracing is done manually, with an app or both).

this is just the proximity protocol layer of the BLE meshwork, the data gathering layer. the storage of private health data and infection status is done in the backend infrastructure, you can deny it and leave it to telephony like DP3T, use a third party call center as a fall back infrastructure, or put it into the telekom cloud which has a government contract. nevertheless "datensparsamkeit" would mean data only stays where it is absolutely needed, doctor and local health office. with docker and kubernetes etc. its possible to have 400 independent VMs running at the same backend infrastructure avoiding one central database on a national and soon schengen level, which is the exact result of this unfruitful level of detail of the cryptoboys with alice and bob playing hide and seek with the man in the middle ;)

@pitsch, again, we would appreciate if you could stay on topic regarding this issue, i.e., solving the problem of TAN forwarding in the current architecture. Please open a separate issue to propose and discuss the alternate approach you envision.

the TAN forwarding should be done by he health authority backend, since by law any kind of test result requires a health authority registration. consider to use SORMAS as a basis, and a federated infrastructure of VMs. as a suggestion. https://github.com/hzi-braunschweig/SORMAS-Project

We'll also close this ticket for now. @wuerzebesser, please have a look at the latest architecture documents and create a new issue if you still see the original issue reflected there.


Check SunEditor is focus

Hi !
Firstly, i'm very grateful for your editor.
I have a question: "How to check SunEditor is focus ?"
Can you help me? I'm using options CodeMirrors

Do you want the focus event in code view mode?

Do you want the focus event in code view mode?

I just want to know focus is true or false

Focus and blur event, It will be added in the next version.
In the current version >>
const editor = suneditor.create(...);
const w = core.options.iframe ? core._ww : context.element.wysiwyg;

let onFocus = false;
w.addEventListener('focus', function(e){onFocus = true});
w.addEventListener('blur', function(e){onFocus = false});

The 2.26.0 version has been updated.
If there is an issue, please register as a new issue.
Thank you.


ros workspace setup scripts: use master branch

@AndreasAntener

:+1: I added a "px4io" organization on Docker Hub, it will then build the image from px4/Firmware/master. Could you add the Docker Service in the Firmware repository settings? (so Docker gets notified on pushes)

I have created the link to Docker Hub in Github - did it trigger from the master push a few minutes ago? Have a link to the docker org?

Yes, seems to work :)
https://registry.hub.docker.com/u/px4io/px4-ros-full/builds_history/136254/

Cool - should we update the wiki instructions to have people pull this docker image?

Sorry for the late replay, yes, I updated the wiki right after the first build finished :)
Maybe we should pull the Docker stuff out of the Firmware repository, apparently the Hub builds the image on every push..


WSL-Ubuntu22.04, /usr/bin/ld: cannot find -ljsoncpp: No such file or directory

zhjr@Karon:/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib$ mkdir build && cd build
zhjr@Karon:/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/build$ cmake ..
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /usr/local/opencv480 (found version "4.8.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/build
zhjr@Karon:/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/build$ make
make: Warning: File 'Makefile' has modification time 1169 s in the future
make[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 1169 s in the future
make[2]: Warning: File 'CMakeFiles/CameraCalibration.dir/flags.make' has modification time 1168 s in the future
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'CMakeFiles/CameraCalibration.dir/flags.make' has modification time 1168 s in the future
[ 16%] Building CXX object CMakeFiles/CameraCalibration.dir/src/AutoImagePicker.cpp.o
[ 33%] Building CXX object CMakeFiles/CameraCalibration.dir/src/IntrinsicCalibration.cpp.o
/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/src/IntrinsicCalibration.cpp: In member function ‘bool IntrinsicCalibration::Calibrate(const string&, const int&, const int&, const int&)’:
/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/src/IntrinsicCalibration.cpp:65:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::__cxx11::basic_string >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
65 |     for (int i = 0; i < file_names.size(); i++){
|                     ^~~~~~~~~~~~~~~~~
/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/src/IntrinsicCalibration.cpp: In member function ‘bool IntrinsicCalibration::undistortImages(const std::vector<std::__cxx11::basic_string >&)’:
/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/src/IntrinsicCalibration.cpp:164:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::__cxx11::basic_string >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
164 |     for (int i = 0; i < image_names.size(); i++){
|                     ^~~~~~~~~~~~~~~~~~
/mnt/c/Users/zhjr/zhjrProjects/SensorsCalibration/camera_intrinsic/intrinsic_calib/src/IntrinsicCalibration.cpp:172:1: warning: no return statement in function returning non-void [-Wreturn-type]
172 | }
| ^
[ 50%] Building CXX object CMakeFiles/CameraCalibration.dir/src/run_intrinsic_calibration.cpp.o
[ 66%] Linking CXX static library ../lib/libCameraCalibration.a
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
[ 66%] Built target CameraCalibration
make[2]: Warning: File 'CMakeFiles/run_intrinsic_calibration.dir/flags.make' has modification time 1161 s in the future
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'CMakeFiles/run_intrinsic_calibration.dir/flags.make' has modification time 1161 s in the future
[ 83%] Building CXX object CMakeFiles/run_intrinsic_calibration.dir/src/run_intrinsic_calibration.cpp.o
[100%] Linking CXX executable ../bin/run_intrinsic_calibration
/usr/bin/ld: cannot find -ljsoncpp: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/run_intrinsic_calibration.dir/build.make:154: ../bin/run_intrinsic_calibration] Error 1
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/run_intrinsic_calibration.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

已解决：将libjsoncpp.a修改为${JSONCPP_LIBRARIES}
修改后的CMakeLists.txt


ConfigurableProperties websiteUrl/developerUrl mixed up

the new configurableProperties contain a property for websiteUrl but in the enum of the schema it is named developerUrl. Something is wrong here....
I am talking about the new 1.10 schema version that was released last night.

@OliverZeiser thanks for the message... let me check with the development team on the naming

@OliverZeiser so sorry on the late response I just noticed I forgot to respond.  Talked with the devlopers on the naming and it was a mistake but probably won't change it.  The docs are up to date though...


[kong] Release 1.4.0 to master

What this PR does / why we need it:
Releases v1.4.0 of the Kong chart.
Checklist

[x] New or modified sections of values.yaml are documented in the README.md
[x] Title of the PR and commit headers start with chart name (e.g. [kong])

Github is being weird because the order of the last two commits is flipped.
Also, please resolve merge conflicts.

Merged manually.


license question

https://github.com/mastercomfig/comfig-fortress/blob/0b87ea40e94be6bd64fe05b3925a0b63237b0c32/LICENSE#L3
Shouldn't the license say "mastercoms"? All other software have mastercoms in license and not mastercomfig.

Yes

XD