How to change the eventcell's color?

How to change the eventcell's color?
I want to change the color of the selected one and the unselected one

You should subclass it and then use your one.
to use your one, you need to sublclass weekview as well and simply call
-(void)setupSupplementaryViewClasses{ [super
setupSupplementaryViewClasses]; self.eventCellClass = MyNewEventCell.class;
} ```

Encès 12 de desembre de 2016 a 15:21:34, 102306051林聖翔 (
<EMAIL_ADDRESS>va escriure:

How to change the eventcell's color?
I want to change the color of the selected one and the unselected one

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/BadChoice/RVCalendarWeekView/issues/24>, or mute the
thread
<https://github.com/notifications/unsubscribe-auth/AAFuzD7TXnmfFTGdjp_7Uyq0ORknmUlOks5rHVhtgaJpZM4LKmJz>
.


Automatic mirroring of HTTP websites to IPFS as you browse them

By design IPFS provides excellent caching and accelerating mechanism. It would be nice to use IPFS as HTTP accelerator. Obviously, it might be used for static files only.
My proposal is as follows:

Create secure hash storing website "IPFS2HTTP". It would store URL, IPFS hash, expiration time.
1.1 Have api to get URL and return IPFS hash, expiration time
1.2 Have "workers" to retrieve unknown or expired URLs, add it to IPFS and keep hash in internal db.
Add to ipfs-companion option to enable "http2ipfs" translation, in following way:
2.1 For each never-seen-before URL do this (with 5s timeout):
2.1.1 Go to the "IPFS2HTTP" site, pass the URL, see if it has hash for the URL. Get the hash, fetch it over IPFS, return to user. Fall back to HTTP if no such hash.
2.2. If URL already seen - check its time to live (as received from IPFS2HTTP site) and use IPFS hash if possible. Otherwise retrieve new hash as in 2.1.1

Initially we might use the acceleration for obviously static files, such as .iso, .mp3, images...
I volunteer to do the part 1. Can you help with 2?
What do you think?

No, I can not use hash-archive.org as it has no necessary API. Also, the implementation requires close cooperation with the site owner, and currently I don't see hash-archive doing this. I will drop them a note though.

Api not documented:
https://github.com/btrask/hash-archive/blob/9d97fb7b87674094ff36b4bf4ed1f46f05f734fa/src/server.c#L129
/api/enqueue/{url}
/api/history/{url}
/api/sources/{hash}

obviously static files, such as .iso, .mp3, images...

Sadly the only "static" files are ones with SRI hash or Cache-Control: public, (..) immutable header.
Everything else on HTTP-based web is implicitly mutable  (what I mean by that is we have to assume it can change between two requests).
@skliarie  Some notes in on this can be found at https://github.com/ipfs-shipyard/ipfs-companion/issues/96#issue-143726690, re-pasting them here:

Automatic mirroring of resources

IMMUTABLE assets: very limited feasibility, so far only two types of immutable resources on the web exist:

JS, CSS etc marked with SRI hash (Subresource Integrity) (mapping SRI→CID)
URLs for things explicitly marked as immutable via Cache-Control: public, (..) immutable (mapping URL→CID)

MUTABLE assets: what if we we add every page to IPFS store mapping between URL and CID, then if page disappear, we could fallback to IPFS version?

a can of worms: a safe version would be like web.archive.org, but limited to a local machine, but sharing cache with other people would require centralized mapping service (single point of failure, vector for privacy leaks)

To reiterate,  mapping mutable content under some URL to IPFS CID requires a centralized index which introduces huge vector for privacy leaks and a single point of failure. Not to mention index will be basically DDoSed if our user base grows too fast, and if we base lookups on HTTP requests that will degrade browsing performance even further. IMO not worth investing time with those known downsides, plus it sends really mixed-message of decentralizing using centralized server.
However, I like the fact this idea (mapping URL2IPFS) comes back every few months, which means there is some potential to it.
So what is needed to make it "right"?

keep it simple but robust: no http, no centralization, no single point of failure
Ideally, URL2IPFS lookups would not rely on centralized index. What if we create pubsub-based room per URL, for example:

When you open a website, you subscribe to pubsub room unique for that  URL

If pubsub room has entries under "keepalive" treshold, grab the latest one
If room is empty or keepalive timeout is hit, fallback to HTTP, but in background add HTTP page to IPFS and announce updated hash on pubsub (with new timestamp) for next visitor

There are still pubsub performance and privacy problems to solve (eg. publishing banking pages), but at least we don't rely on HTTP server anymore.  :)

The whole http2ipfs ticket is essentially exercise in trust: who you are going to believe to accept HTTP pre-calculated hash from. BTW, same question must arise when choosing initial seed servers to connect to. May be they have a solution that we can reuse..
I think we should adopt self-hosted/trust building hybrid approach. Something along the lines:

Every ipfs node might choose to run http2ipfs gateway. When doing so, it must do following:
hash the URL, lookup in local node directory.
** The node directory is publically accessible, in form of HASHDIRECTORY/HASH_OF_THE_URL
lookup the hashed URL among trustworthy nodes (see below).
if URL HASH found, get IPFS hash from it, retrieve the IPFS hash and return it to IC (IPFS companion)
retrieve content of the http URL in question
** If http headers show that URL is not cacheable, mark it as so in local node directory
** return the result to IC
store in node directory result. (calculate hash for the content if cacheable)
store content locally if possible (n/p if not)
subscribe to the room for the URL using content hash received. Announce the URL that was used (in hashed+salt) form (to prevent "me-too" attackers).
collect nodes that announced same URL as you, note them down as "trustworthy".

ipfs-companion changes:

intercept URLs that are likely to have "Cache-Control: public" headers (.iso, .avi, etc).
w/o going to the HTTP server, check with local node if it is cacheable, retrieve directly if not.

I would like to add couple clarifications to the idea:

depending on headers and extension we might categorize URLs into 3 groups: definitely static, most likely, undefined, dynamic.
-- definitely static: headers="Cache-Control: public" or SRI hash is present
-- most likely static: hash of the url have not been changed for long time (month?), hash confirmed my multiple nodes (20?).
-- undefined: waiting area, see below
-- dynamic: URLs that have been defined as dynamic by "undefined" group.

The undefined group:
URLs with content mime type or url extension that have "possibly static" properties (.iso, .png, etc) - categorized as "most likely static" group.
Same way, URLs with short caching time are categorized into "dynamic" group.
Not sure whether URLs of dynamic nature (.php, .asp, etc) should be categorized into "dynamic" group. Same goes for sites with Basic Auth protection.
The ipfs-companion should have toggle (button?) on whether to treat the group URLs in "undefined" as dynamic or "most likely static". This way users with bad rendering (as result of stale content) might refresh the page "properly". IMHO this should be done on per-site basis, as I doubt there are many such "dumb" sites (that use static format for dynamic results). When this toggle is activated, the URL (or all "maybe static" URLs) of the site are marked as dynamic and published in the corresponding pubsub room(s).
URLs in undefined group are not "published" in pubsub rooms, only "dynamic" and "most likely static" ones.
For security sensitive sites, there should be toggle to mark all URLs as "dynamic" ones. The toggle might ask for confirmation whether to "disable IPFS caching for the whole https://bankofamerica.com site".

definitely static: headers="Cache-Control: public" or SRI hash is present

I think you meant Cache-Control: immutable
(public is not even "most likely static", as it does not guarantee content will not change at some point in future, it just says it is safe for current version to be cached for a time period specified in max-age attribute)

I doubt there are many such "dumb" sites (that use static format for dynamic results)

Statically-generated blogs are a thing, and there are basically "static" websites generated on the fly by PHP or ASP. And a lot of websites hide .php or .aspx from URLs and hide vendor-specific from HTTP headers, so you don't event know what is happening behind the scenes. All you can do is follow hints from generic HTTP headers such as Cache-Control and Etag.
The risk of breaking websites by over-caching is extremely high and writing custom heuristics is a maintenance hell prone to false-positives.
I feel the safe way to do it to just follow semantics of Cache-Control and max-age (if present).
This header is already respected by browsers and website owners and could be parsed as indicator if specific asset can be cached in IPFS. AFAIK all browsers cache HTTPS content by default for some arbitrary time (if Cache-Control is missing), unless explicitly told not to cache via Cache-Control header.

For security sensitive sites, there should be toggle to mark all URLs as "dynamic" ones. The toggle might ask for confirmation whether to "disable IPFS caching for the whole https://bankofamerica.com site".

I am afraid manual opt-out is not a safe way to do it.
Sensitive page already leak into the public on initial load, it is too late to mark it as "do not leak this" after the fact.
There is more open problems related to security:

HTTPS is a hard problem in general. Most of websites run it. How do you distinguish which assets are safe to share with other people? Are there any semantics in HTTP that let you do that in a safe way?

My bank uses Cache-Control: no-cache, no-store, must-revalidate, max-age = 0 to indicate that sensitive page/asset should not be cached. But is it enough? I suspect there are websites who allow caching of sensitive content because it improves website speed and they assume cache is the the browser cache that does not leave user's machine.

Cache poisoning attacks: without additional safeguards this is just a cool demo/experiment. In real life someone can manually create and publish a fake snapshot for a website, perform Sybil attack to make it look legit even if you naively look for basic form of quorum etc.

Lets clarify the groups according per "shareability" attribute:

definitely static: content with Cache-Control: immutable header. Those could be shared immediately.
most likely static (hash of the url have not been changed for long time (month?), hash confirmed by multiple nodes (20?): These will not be shared unless pubsub room satisfies both rules. BTW, this will automatically exclude content that differs for different users and thus might be unsafe to share.
unknown and dynamic - the content is never shared. For explicitly dynamic URLs, we publish status "dynamic" in pubsub room with hash of the URL.

After that point our concern is only with content that many (more than 20 users) have access to, but still is sensitive (protected by password) or restricted by network (see below).
For that, the "dynamic" toggle button I mentioned above is used. Once clicked, it should prompt user with selectable list of  top-level domains seen on the page. The user then selects domains that must be marked as "dynamic". This will open pubsub rooms with hash of  domains and publish the domains as "dynamic" and thus never cacheable.
Need to think what to do with evil actors that want to disable IPFS cache for foreign (competitor?) site.. Or someone that does not have a clue and selects all of them...
With such conservative caching approach, I don't see possible harm done, do you?

I am a bit skeptical about finding an easy fix that protects users from sharing secrets or being fed invalid content by bad actors that can spawn multiple nodes. Those are complex problems that should not be underestimated.
We should play it safe and start with a simple opt-in experiment that has a smaller number of moving pieces and is easier to reason about:

(when enabled) does "IPFS caching" only for "definitely static" (Cache-Control: immutable and things with SRI  that don't have caching disabled via Cache-Control)
(and / or) lets user to "whitelist" specific hostnames as an explicit opt-in (we could support * wildcard, but user should make conscious decision to set that)
follows Cache-Control semantics present in web browsers, namely respects max-age set by website and has the same defaults when Cache-Control is missing.

That being said, some  potential blockers:

We need pubsub to be enabled by default, and it is still an opt-in experiment that requires manual configuration of your node

It remains to be seen how does performance of pubsub look like for subscribing → listening → unsubscribing  per every URL, do timeouts work as expected etc. My intuition tells me such pubsub-based lookup (with where things currently are) may degrade browsing performance in a serious way if you use external node over HTTP API. It may work better with embedded js-ipfs node.

WebExtension APIs do not allow for injecting response payload. All we can do is cancel or redirect. This means  if you want to "load page from IPFS case" you will be redirected to local (or public) gateway, which may trigger errors due to things like CORS or mixed-content. No matter how hard we try, it WILL break some websites so we need an UI for quick opt-out when failure happens. Some prior art can be found in uMatrix or uBlock.

Overall, I am :+1: for this shipping this opt-in experiment with Companion, but it won't happen this quarter (due to the state of pubsub, js-ipfs and other priorities). Of course PRs welcome :)

The only time-critical moments is to see whether a URL might be retrieved using IPFS. This is simple - hash the URL, lookup "local node directory" whether it has metadata on the URL content hash and has the content. This should be quick enough to be done on the fly, during page load.
Is there API to see whether the tab is open (e.g. user awaits for the page to load)? If we can see that it is not, then we can hint IPFS that it can take some more time to retrieve content for "static" URLs.
In the same vein, URLs referred in the page, could be pro-actively "ipfs-tested" in background. May be even pre-fetched.
Regarding WebExtension API limitations, I see two solutions:

when loading a page, modify its CORS headers to allow loading from <IP_ADDRESS>
ipfs node might provide HTTPS interface with some long-running certificate for https://localhost.ipfs.org. Obviously, the domain will permanently point to <IP_ADDRESS>.

BTW, on HTTPS site, loading images from HTTP is allowed and will not cause "mixed content" warning

I wrote a proposal which would make this possible. It would allow users to archive websites on their nodes and sign them with different methods.
Other users would be able to find them and select an entity which they trust - for example, the internet-archive.
https://discuss.ipfs.io/t/ipfs-records-for-urn-uri-resolving-via-a-dht/10456/4


Update: Mozilla.Firefox.DeveloperEdition.sco version 132.0 (132.0b7)

Created by 🥟 Dumplings in workflow run #8801.

Log
Updated: 132.0b6 → 132.0b7
Submitting WinGet manifests
Found existing pull requests:
Update: Mozilla.Firefox.DeveloperEdition.sq version 132.0 (132.0b6) - https://github.com/microsoft/winget-pkgs/pull/181543
Update: Mozilla.Firefox.DeveloperEdition.son version 132.0 (132.0b6) - https://github.com/microsoft/winget-pkgs/pull/181542
Update: Mozilla.Firefox.DeveloperEdition.szl version 132.0 (132.0b6) - https://github.com/microsoft/winget-pkgs/pull/181546
The existing pull requests are ignored as the version is updated while the real version isn't
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

@wingetbot run


How to check database schema?

Hello,
The doc is missing Migrations and Schema Versioning. Bad luck it's maybe what I was looking for.
I've added 2 columns to an existing table in my new version of my application, and of course after application update, it won't be able to access to an existing db.
So when the application starts, I should first check if the table is still the same or migrate/recreate it.
How to do?

The documentation has been re-added:
https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md#migrations-and-schema-versioning


Trying to use SQ31x32

Hello Pharap,
Firstly, I would like to congratulate you for this work. :)
Maybe you can help me with a issue! I'm trying to use the SQ31x32 fixed point type, however I could not compile my code without errors. If I use the SQ15x16 type, I can compile and run my code but if I change to SQ31x32 I can't compile it.
I'm trying to do a simple multiplication:
SQ31x32 x = 1;
SQ31x32 y = 0.000200;
SQ31x32 z = 0.0;
z= x * y;
Could you help me or give me some feedback?
Thank you so much.
Nuno Vilhena

Arduino: 1.8.5 (Windows Store <IP_ADDRESS>) (Windows 10), Placa:"Arduino Due (Programming Port)"

In file included from sketch\FixedPoints/FixedPoints.h:15:0,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/Details.h: In instantiation of 'struct FixedPointsDetails::LeastIntDef<127u>':

sketch\FixedPoints/Details.h:116:51:   required by substitution of 'template<unsigned int Bits> using LeastInt = typename FixedPointsDetails::LeastIntDef::Type [with unsigned int Bits = 127u]'

sketch\FixedPoints/SFixedBase.h:28:80:   required from 'class FixedPointsDetails::SFixedBase<62u, 64u>'

sketch\FixedPoints/SFixed.h:27:7:   required from 'class SFixed<62u, 64u>'

sketch\FixedPoints/SFixedFreeFunctions.h:173:80:   required from 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]'

C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:27:14:   required from here

sketch\FixedPoints/Details.h:110:3: error: static assertion failed: No type large enough

   static_assert(Bits <= BitSize<intmax_t>::Value, "No type large enough");

   ^

In file included from sketch\FixedPoints/FixedPoints.h:18:0,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/SFixedBase.h: In instantiation of 'class FixedPointsDetails::SFixedBase<62u, 64u>':

sketch\FixedPoints/SFixed.h:27:7:   required from 'class SFixed<62u, 64u>'

sketch\FixedPoints/SFixedFreeFunctions.h:173:80:   required from 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]'

C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:27:14:   required from here

sketch\FixedPoints/SFixedBase.h:44:16: error: instantiation of 'FixedPointsDetails::SFixedBase<Integer, Fraction>::value' as type 'FixedPointsDetails::SFixedBase<62u, 64u>::InternalType {aka void}'

   InternalType value;

                ^

sketch\FixedPoints/SFixedBase.h:44:16: error: 'FixedPointsDetails::SFixedBase<Integer, Fraction>::value' has incomplete type

sketch\FixedPoints/SFixedBase.h:44:16: error: invalid use of 'FixedPointsDetails::SFixedBase<62u, 64u>::InternalType {aka void}'

In file included from sketch\FixedPoints/FixedPoints.h:21:0,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/SFixed.h: In instantiation of 'class SFixed<62u, 64u>':

sketch\FixedPoints/SFixedFreeFunctions.h:173:80:   required from 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]'

C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:27:14:   required from here

sketch\FixedPoints/SFixed.h:30:2: error: static assertion failed: Platform does not have a native type large enough for SFixed.

  static_assert(((Integer + 1) + Fraction) <= FIXED_POINTS_DETAILS::BitSize<intmax_t>::Value, "Platform does not have a native type large enough for SFixed.");

  ^

In file included from sketch\FixedPoints/FixedPoints.h:15:0,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/Details.h: In instantiation of 'struct FixedPointsDetails::LeastUIntDef<127u>':

sketch\FixedPoints/Details.h:105:53:   required by substitution of 'template<unsigned int Bits> using LeastUInt = typename FixedPointsDetails::LeastUIntDef::Type [with unsigned int Bits = 127u]'

sketch\FixedPoints/SFixed.h:37:77:   required from 'class SFixed<62u, 64u>'

sketch\FixedPoints/SFixedFreeFunctions.h:173:80:   required from 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]'

C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:27:14:   required from here

sketch\FixedPoints/Details.h:98:3: error: static assertion failed: No type large enough

   static_assert(Bits <= BitSize<uintmax_t>::Value, "No type large enough");

   ^

In file included from sketch\FixedPoints/FixedPoints.h:21:0,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/SFixed.h: In instantiation of 'class SFixed<62u, 64u>':

sketch\FixedPoints/SFixedFreeFunctions.h:173:80:   required from 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]'

C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:27:14:   required from here

sketch\FixedPoints/SFixed.h:48:35: error: variable or field 'IntegerShift' declared void

  constexpr const static ShiftType IntegerShift = FractionSize;

                                   ^

sketch\FixedPoints/SFixed.h:49:35: error: variable or field 'FractionShift' declared void

  constexpr const static ShiftType FractionShift = 0;

                                   ^

sketch\FixedPoints/SFixed.h:51:34: error: variable or field 'IntegerMask' declared void

  constexpr const static MaskType IntegerMask = FIXED_POINTS_DETAILS::IdentityMask<IntegerSize>::Value;

                                  ^

sketch\FixedPoints/SFixed.h:52:34: error: variable or field 'FractionMask' declared void

  constexpr const static MaskType FractionMask = FIXED_POINTS_DETAILS::IdentityMask<FractionSize>::Value;

                                  ^

sketch\FixedPoints/SFixed.h:54:34: error: variable or field 'IdentityMask' declared void

  constexpr const static MaskType IdentityMask = (IntegerMask << IntegerShift) | (FractionMask << FractionShift);

                                  ^

sketch\FixedPoints/SFixed.h:56:34: error: variable or field 'MidpointMask' declared void

  constexpr const static MaskType MidpointMask = FIXED_POINTS_DETAILS::MsbMask<FractionSize>::Value;

                                  ^

sketch\FixedPoints/SFixed.h:57:34: error: variable or field 'LesserMidpointMask' declared void

  constexpr const static MaskType LesserMidpointMask = MidpointMask - 1;

                                  ^

In file included from sketch\FixedPoints/SFixed.h:193:0,

                 from sketch\FixedPoints/FixedPoints.h:21,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/SFixedMemberFunctions.h:113:37: error: forming reference to void

 constexpr SFixed<Integer, Fraction> SFixed<Integer, Fraction>::fromInternal(const typename SFixed<Integer, Fraction>::InternalType & value)

                                     ^

In file included from sketch\FixedPoints/FixedPoints.h:18:0,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/SFixedBase.h: In instantiation of 'class FixedPointsDetails::SFixedBase<62u, 64u>::RawType':

sketch\FixedPoints/SFixed.h:64:14:   required from 'class SFixed<62u, 64u>'

sketch\FixedPoints/SFixedFreeFunctions.h:173:80:   required from 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]'

C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:27:14:   required from here

sketch\FixedPoints/SFixedBase.h:36:23: error: instantiation of 'FixedPointsDetails::SFixedBase<Integer, Fraction>::RawType::value' as type 'const InternalType {aka const void}'

    const InternalType value;

                       ^

sketch\FixedPoints/SFixedBase.h:36:23: error: 'FixedPointsDetails::SFixedBase<Integer, Fraction>::RawType::value' has incomplete type

sketch\FixedPoints/SFixedBase.h:36:23: error: invalid use of 'const InternalType {aka const void}'

sketch\FixedPoints/SFixedBase.h:39:30: error: forming reference to void

    constexpr inline explicit RawType(const InternalType & value) : value(value) {}

                              ^

In file included from sketch\FixedPoints/SFixed.h:194:0,

                 from sketch\FixedPoints/FixedPoints.h:21,

                 from sketch\FixedPoints.h:15,

                 from C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:1:

sketch\FixedPoints/SFixedFreeFunctions.h: In instantiation of 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]':

C:\Users\FCTUNL\Documents\Arduino\Test_Floating2\Test_Floating2.ino:27:14:   required from here

sketch\FixedPoints/SFixedFreeFunctions.h:174:123: error: invalid operands of types 'void' and 'void' to binary 'operator*'

  return SFixed<Integer, Fraction>::fromInternal(static_cast<InternalType>((static_cast<PrecisionType>(left.getInternal()) * static_cast<PrecisionType>(right.getInternal())) >> Fraction));

                                                                                ^

sketch\FixedPoints/SFixedFreeFunctions.h:175:1: error: body of constexpr function 'constexpr SFixed<Integer, Fraction> operator*(const SFixed<Integer, Fraction>&, const SFixed<Integer, Fraction>&) [with unsigned int Integer = 31u; unsigned int Fraction = 32u]' not a return-statement

 }

 ^

exit status 1
Erro ao compilar para a placa Arduino Due (Programming Port).

Este relatório teria mais informação com a
opção «Mostrar mensagens detalhadas durante a
compilação» seleccionada nas Preferências.

Unfortunately this is a limitation that I currently don't have a work around for.
Fixed point multiplication results in a type twice as large as the source type, which is then scaled back down to the appropriate type.
For example, in the case of UQ8x8 it results in a UQ16x16, which is then scaled back down to a UQ8x8 to give the final result.
(There's also a multiply function that doesn't scale back down, in case the larger precision is wanted for some reason.)
In the case of UQ32x32, which is backed by a uint64_t and similarly SQ31x32, which is backed by an int64_t, i.e. both require 64 bits to be stored.
When multiplying either of these, the resulting type would require 128 bits to be stored.
But there is no 128 bit type by default (i.e. no uint128_t or int128_t), so to fix the issue I'd have to either introduce one or introduce a workaround that can reliably achieve 128 bit multiplication.
That would mean implementing a multiplication algorithm instead of being able to rely on the compiler to generate the appropriate multiplication code, which would take a fair bit of research beforehand.

Truth be told, when I originally wrote this I wasn't anticipating people wanting to use the 64 bit-backed types because I wasn't aware of the ARM-based Arduino MCUs, I was only aware of the AVR-based ones which can only realistically achieve 32-bit backed, 16-bit backed ant 8-bit backed variations.

Hi,
Thanks for your reply!
That was what I was expecting about the multiplication issue!!!
However, I'd like to ask you about another issue!
If I do the multiplication:
SQ15x16    x = 320.153;
SQ15x16    y = 0.000200;
SQ15x16    z = 0.0;
z = x*y;
The result is z = 0.06349182 however the real value is 0.06403060, that means the error is 0.008. If you are using 16 bits for the decimal part, the resolution should be 2^-16 = 0.00001525878. Thus, why the error started in the thousandth part?
Best regards.
Nuno Vilhena

The error happens when the floats are first converted as well, not just during the multiplication.
320.153 gets stored as<PHONE_NUMBER>367187500 (320 + 10028/65536)
0.0002 gets stored as 0.0001983642578125 (0 + 13/65536)
320.1530151367187500 * 0.0001983642578125 = 0.063506915234029293060302734375
((320 + 10028/65536) * (0 + 13/65536) = (0 + 4161/65536))
So actually 0.0634918212890625 isn't too far off.
Unfortunately you'll always have some amount of error because of the difficulty of expressing decimal fractions in binary.
For example, you can't exactly store 0.153.
Using SQ15x16 the closest you can get is either:
10028 / 65536 = 0.15301513671875
10027 / 65536 = 0.1529998779296875

If you know that the integer part will have a limited range then you can improve the precision of the fractional part.
For example, if you know the integer part isn't going to exceed 2000 then you could make your own type alias using SQ11x20 = SFixed<11, 20>;, which would give you greater precision.
Using SFixed<11, 20> gets a final result of 0.0638113021850585.
Using SFixed<10, 21> gets a final result of 0.0639648437500000.
Using SFixed<9, 22> gets a final result of 0.0639648437500000.
(And so on.)
Even a full 32 bits of fraction would only be able to represent 0.153 as 0.1529999971389770.
In fact I'm not sure how many bits you'd need to actually manage to represent it properly using a fraction-over-power-of-two approach, it might not be possible.
Ultimately depending on what you're calculating, fixed points might not actually be the best solution.
If you need to cover a large range of values that have both a large integer part and a large fractional part then floating points might be more suitable.
Fixed points are better for dealing with smaller ranges of values.

As it has been 5 days since the last post,
I'm considering closing this issue.
@nunovilhena,
Have I successfully answered your questions?
Is there something you think I should do to make this problem more obvious in the library documentation or the library source (e.g. give a clearer error message)?

Hello Pharap,
Sorry my late reply but this week is being very stressful for me!
About my question, yes, you have.
If you could include something to advise about those limitations, should be better yes. About the multiplication/ division limitations and how the conversions between float to fixed_point is done (to show why there are a error in the calculations with your library!
So, you can close this issue, many thanks!
Nuno Vilhena

It's ok, I wasn't trying to rush you.
I just thought you might have intended to reply and then forgotten because you had other things to do.
(I have sometimes forgotten to press 'send'/'comment' on messages before and only realised the next day.)
I have opened a second issue (#23) to remind myself to add a proper explanation.
As I have answered all your questions, I will close this issue.


Surfacing more image blocks

As has become tradition, I'd like to sneak a few missing blocks into this release.
This PR surfaces some already existent TS image apis into blocks:

In particular, the width/height block is extremely useful because the only way to get those values right now is to create a sprite (which you then have to immediately destroy).

What does picture draw do? Add picture inside picture?

yeah, it draws one picture on top of another. it's very useful for things like HUDs, where you might want to draw some hearts for lives, etc.

Why can't we put these inside an extension?  They seem like advanced scenarios to me...  Or if you feel like these are important, we could talk about removing some of the existing Image blocks?  Do we have telemetry on how popular these blocks are?

@Jaqster I'd be okay with removing the circle blocks (i just added those for completeness), but the other three blocks in this pr are all very useful and I think belong in core. I don't think these are any more advanced than the rest of the blocks in the image category.
I think all of these blocks fall into the category of things you would expect any reasonable game making tool to have.
My other motivation is that there isn't a clear extension that these blocks belong in. I want to avoid having a million micro extensions that each contain less than five blocks.

I wonder if entire Image category should be an extension? (breaking change for sure). Are there any tutorials\skillmaps use this category?

How many blocks total would be in the Images category?  The most we have in 1 category is 30 (Sprite and Scene) - and I think that's too much.  We should talk about maybe setting some limits on # of blocks per category?  Makes it really hard to find stuff...
Speaking of, I just did a quick count, and this is what it looks like across our code editors (not counting common blocks):

Minecraft - 128 blocks, 8 categories
Arcade - 137 blocks, 9 categories
Micro:bit - 147 blocks, 10 categories

I think we can do some clean-up in micro:bit (remove some categories from Advanced), and let's really try and focus on only having the most commonly used blocks in the mainline editors.


Initial nftables prototype implementation

Description

This is still a WIP, but putting it up in order to get initial feedback
and to get some CI runs started.
Todos

[ ] UTs for new nftables code
[ ] FVs for nftables
[ ] Existing tests passing
[x] Add FelixConfiguration option to enable nftables
[ ] Release note

Release Note

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

Would it make sense to rename generictables (sounds pretty generic, but it is not so much ;-) ) to say linuxtables or nettables and

@tomastigera yep, I think those are both better!

Config model; should we make a Dataplane enum and deprecate the old XXXEnabled flags?
Interleaving rules, I know some customers like to add their own rules in between our "insert" and "append" layers, should we define a way to do that (e.g. can it be done with multiple chains at different priorities or something like that)

I think I'm in favor of both of these, but they should probably each be separate PRs


fix: giving import and create model modals more time to popup

:tada: This PR is included in version 0.357.1 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: add migration guide link to homepage

Excepting that awkward bit, this PR LGTM.

Done.

LGTM

I need to retrofit this to all 0.14 versions too.


fix: applies shouldDirtyConsider to both sides of dirty check

fixes #703

Closing now as we believe readonly attribute is a solution.


netdev group is not available in non-debian distribution

The netdev group (used for the socat command) is a debian only thing. This group doesn't appear to exist in fedora or other distros. I'm not sure which group to go for otherwise. I use systemd-network for now until I find a better one or maybe it's already the right one?

You can just remove the group. It probably would make sense to make its own group and such to tighten down the permissions.

Removed the group from the script.


Show a proper error message for a rate-limited account

Currently we render a 500, which is very bad.

Fixed by #154


drop footgun support

augment is always a terrible idea, override is almost always better expressed as around.
There may be more - many of the things I skipped in Moo were because they'd proven to be a bad idea and were disrecommended in Moose - but those two would definitely be a start.
augment especially scares the crap out of me.

Hey Matt - o.augment is a low-level function for extending an object's prototype.  Think of it as poor-man's single-inheritance extends() support in Moo(se) terms.  It wasn't meant to have anything to do with the Moose augment which I agree is terrible.
The only method modifiers supported by o.js are before, after, and around.

The low-level functions for method modifiers:
https://github.com/bluefeet/o-js/blob/current/doc/Plumbing.md
Method modifiers as part of traits:
https://github.com/bluefeet/o-js/blob/current/doc/o-Trait.md

Oooooh. Right. I, er, wonder if it might be worth picking a different name and leaving augment as an undocumented alias for a while for backcompat? While clearly I suffered a reading comprehension error due to skimming, given i'm now including o-js in my slides for 'Moo(se) ported to other languages' I may end up sending more people your way who'll make the same mistake :)

Oh, thanks for including this in your slides.  o.js is heavily inspired by Moo(se) for sure, and Type::Tiny.
Ya, renaming augment makes sense.  Now I have to come up with a name.  If I called it extend it would be very familiar to Moo(se) users.


feature: Nvim treesitter context transparency to be handled automatically while the autocomplete menu preserves its non transparent state.

Describe the solution you'd like
I want that there should be an option to set the nvim treesitter context transparecy to true, but the bg color of the auto completion menu should be there. Other themes such as toyonight storm and gruvbox give this option where if you set vim's float transparency vim.api.nvim_set_hl(0, "Float", { bg = "none" })
by doing this, the treesitter becomes transparent but we can have the autocompletion bg color which looks good on the theme.

Additional context
I want the treesitter-context transparency setting handled automatically... like it is now, after @sjclayton latest fix. But I want the auto complete popup to keep it's non-transparent state even when transparency is enabled.

@sjclayton here FYI

If this feature is to be added at some point, it should definitely be only as an option, as there are for sure plenty of people who like the existing behavior.

Totally fine. Getting an option to implement this setting will be the best. As trust me there are lot of people who will like this feature as well that we are discussing here. And rose pine will be the first theme to bring these both features together. the existing one and this one.

Just curious, will this be done soon? XD

I can't say for sure, we will have to wait for more input from others and the maintainer as well...

Sure, understandable.. Thanks for considering the request!

Wouldn't this be as simple as updating Pmenu in highlight_groups as the user? If it is a single highlight group that needs updated then we can add a recipe in the wiki. Less options is ideal :)

@mvllow
I am far in favour of something along those lines instead of adding another option as well myself. Will do some experimenting to see if just Pmenu covers things... as potentially there maybe situations where more hl groups are used.

but updating the Pmenu will give the same color to all the themes regardless if the theme is rose pine or some other. it would be great if this can be done just for rose pine and when the user changes the theme, they get the bg color of autocomplete of that particular theme ... Just a thought

@bhuvneshuchiha
That is not normal behavior, the highlight groups are cleared and reset when you switch themes (if the theme creator did things correctly, which most should, certainly all the popular ones do). So if we changed Pmenu in rose-pine then that change would only affect rose-pine.

Did I do it correctly? Previously I was adding the Pmenu highlight mods in my init file thats why they were being applied to every theme.. Now i have added them in rose pine's config only.
Works like a charm!
Thanks @sjclayton @mvllow

@bhuvneshuchiha
Yeah that looks right... although your screenshot doesn't look transparent at all, the background is black. You can also specify named palette colors instead of the hex values, so your config would look like:
highlight_groups = {
  Pmenu = { fg = 'subtle', bg = 'surface' },
  PmenuSel = { fg = 'text', bg = 'overlay' },
}

As well the highlight overrides you have for treesitter-context are not needed anymore after my fix, so you could remove them.

Its transparent now !!

Its transparent now !!!

If everything is all good then, this issue can be closed.


A lot of warnings upon build on Windows 10.

Hi!
There are a lot of warnings upon build on Windows 10 with Visual Studio 2017 like these:
warning C4201: nonstandard extension used: nameless struct/union
warning C4245: 'return': conversion from 'int' to 'unsigned int', signed/unsigned mismatch
warning C4100: 'w': unreferenced formal parameter
warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead.
warning C4232: nonstandard extension used: 'local_malloc': address of dllimport 'malloc' is not static, identity not guaranteed
etc etc.
Are fixes of these warnings welcome?

As long as they're unintrusive, sure. What's intrusive is somewhat subjective but anything that changes the API or ABI, is a functional change, or makes the code much harder to read/maintain likely fits the bill. :-)


Fix alt text - allow keyboard dismiss to be handled by scrollviews

Uses keyboardDismissMode et al props on the ScrollView for dismissing keyboard rather than the janky onTouchMove={() => Keyboard.dismiss()} on the modal containing element. Also made sure to fix it for the gif alt text modal too
To determine - why did we use this hack in the first place??

Don't need this anymore 🙌


Updating traefik options results to exit code 125

When deploying with updated traefik options, I got this error during mrsk deploy
Ensure Traefik is running...
  INFO [3253ca90] Running docker run --name traefik --detach --restart unless-stopped --log-opt max-size=10m --publish 80:80 --volume /var/run/docker.sock:/var/run/docker.sock traefik --providers.docker --log.level=DEBUG --entryPoints.web.forwardedHeaders.insecure on <IP_ADDRESS>
  INFO [3253ca90] Finished in 0.382 seconds with exit status 125 (failed).

First deployment done with: no traefik options in yml config. Second deployment (when error occured) was done with these updated options:
traefik:
  args:
    entryPoints.web.address: ':80'
    entryPoints.web.forwardedHeaders.insecure: true

Workaround for this was to SSH into the machine and run docker stop traefik && docker rm traefik before deployment

Out of curiosity: Does it work with entryPoints.web.forwardedHeaders.insecure: 'true'?

Workaround for this was to SSH into the machine and run docker stop traefik && docker rm traefik before deployment

Try with
mrsk traefik reboot
https://github.com/mrsked/mrsk/blob/83dc82661b8a02dd1fbb0ee91261104cee127862/lib/mrsk/cli/traefik.rb#L7

@calmyournerves I got those options working when using latest master. I'm running CloudFlare -> Treafik -> tileserver-gl-light, which requires x-forwarded headers from CF to be passed through.

@kjellberg thanks for the tip!
I was first thinking: what if mrsk automatically updated traefik (i.e. did a reboot and would start it with new options) when required, but it could be quite weird default considering the goal is zero downtime deployments.  Not sure how these updates were intended to be dealt with. Anyways wanted to report!

I'm having the same issue by using custom Traefik labels in the servers.web.labels section.

Is this still an issue with 0.10+?

Is this still an issue with 0.10+?

@dhh, I did not face the error on the main branch.


Fix: conditional exports types

I do not know why, but Jest + TypeScript will not run without this change. The error it will give is:
  ● Test suite failed to run

    index.ts:1:47 - error TS7016: Could not find a declaration file for module '@metalsmith/collections'. <EMAIL_ADDRESS>implicitly has an 'any' type.
      Try `npm i --save-dev @types/metalsmith__collections` if it exists or add a new declaration (.d.ts) file containing `declare module '@metalsmith/collections';`

    1 import collections, { CollectionConfig } from '@metalsmith/collections';
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~

I'd love to embed this plugin inside a new one, but I'm entirely blocked on this change, unfortunately.

Thx! I had a look at your tsconfig.json and will test myself after the weekend, but could it be related to this? https://stackoverflow.com/questions/70296652/how-can-i-use-exports-in-package-json-for-nested-submodules-and-typescript#answer-74485520
What happens when moduleResolution is set to Node?
This is big, because if this works better I would make that change for all core plugins

Fascinating, "moduleResolution": "node" does solve the problem as well. I should note that tsc doesn't appear to be affected by this, only Jest, so it may be something to do with jest-resolve or ts-jest or something else.
I need to convert some of my tests to use @metalsmith/collections instead of metalsmith-auto-collections and metalsmith-collections. But it looks like I'm not making use of any other core plugins within my plugins monorepo, and I haven't converted https://github.com/emmercm/www to TypeScript yet.
Do you have a list of other core plugins I can help test?

This also seems related: https://github.com/microsoft/TypeScript/issues/52363, and the change to make looks safe/ backwards-compatible so I think this can be added to all core plugins. To your question, the most important ones are @metalsmith/: markdown, permalinks, collections, layouts, in-place, sass, postcss, js-bundle, requests


Why nestedNavGraphand bottombar  initialized multiple times?maybe..

When I enter HomeScreen, I find that the nestedNavGraph function is executed twice and the bottombar function is executed twice, is this a normal response?

Thanks for reporting. I will be taking a look

Composition will execute multiple times, draw only once,  I dont know if drawbehind can be used for watch draw how many times,I just added this method to Scaffold and found that it was executed once.

I'm really new to compose...

@est7 sry for offtop, what them do u use?


Unable to "Add to Playlist" from "Appears On" section of track view

What version of Music Assistant has the issue?
2.0.0b70
The problem
When selecting SHOW INFO for a track the resulting view does not have an option in the menu for add to playlist for the APPEARS ON tracks. The option is there in the OTHER VERSIONS
How to reproduce
As above
Relevant log output
No response
Additional information
No response
What version of Home Assistant Core are your running
2023.8.1
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Raspberry Pi

@OzGav Just to confirm, do you mean that the overflow 'three dots' menu that appears just below the title of the page after pressing "Show info" doesn't (1st image shown below) include "Add to playlist" but the overflow menu for a track that is in the "Tracks" list does (2nd image below)?

Option C

You then see this:

But if you right click on the next section down which is OTHER VERSIONS you see

So from image you pasted click on the overflow menu on the far right of the track name and SHOW INFO

@OzGav Looks like this behaviour is intentional, so you can only add a single track to a playlist. "Appears on" only shows the albums a track appears on so it'll never show the "Add to playlist" button. Do we want a similar functionality to Spotify where it will add all tracks from an album into a playlist maybe?

🤦♂ of course. I couldn’t see the forest for the trees! Let’s leave this particularly as I am not sure the backend allows adding an album to a playlist yet.


Angularjs $location.search is not safe to use when passing '#'.

Describe the bug
AngularJS made a mistake where they double-dutied the $location.search() method.
In addition to passing a string, it allows a hash.
A hash, will utilize the # character (U+0023).
It then attempts to map the # to an object.
There is also a security concern with this.
If the search included a valid object, then an object may be passed.
This is an unknown state that has the uninvestigated potential for exploitation.
This affects all angularjs code and so we should probably check other projects for the same problem.
Any string that might include a '#' is a candidate for being fixed.
The solution is to re-encode the # back into a %23.
The rest of the process properly encodes the %23 into a # and should be left alone.
The problem happens explicitly with the $location.search() call.
To Reproduce
Steps to reproduce the behavior:

Go to any valid SAGE discover view.
Add # to the search and click search.
Reload the page.
See error.

Expected behavior
Reloading the page should be the same as the initial search.
There should be no HTTP 400 error code.
Additional context
see: https://docs.angularjs.org/api/ng/service/$location#search
This issue report is derived from the spike investigation of #492.

@kaladay what do you mean Angular.js made a mistake by double-dutied the $location.search()?
I think I understand the issue you discovered but do not understand the description of the cause. Could you reference Angular.js code in which the claim is describing?


Installing numba-dppy into environment with dpcpp compiler breaks it

To test examples of dpctl I need both DPC++ compiler to compile native extensions, and all the Python prerequisites used in Python examples.
Numba-dppy is one such prerequisite (dcptl/examples/python/dppy_kernel.py, see #L18).
Unfortunately llvm-spirv tool installed by numba-dppy interferes with compiler's tool in 2021.4.

Excerpt from a log of testing examples of dpctl
~/work/dpctl/dpctl/examples/pybind11/external_usm_allocation ~/work/dpctl/dpctl/examples/pybind11
running build_ext
building 'external_usm_alloc' extension
creating build
creating build/temp.linux-x86_64-3.8
dpcpp -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/share/miniconda/lib/python3.8/site-packages/dpctl/include -I/usr/share/miniconda/lib/python3.8/site-packages/pybind11/include -I/usr/share/miniconda/include/python3.8 -c ./_usm_alloc_example.cpp -o build/temp.linux-x86_64-3.8/./_usm_alloc_example.o -fvisibility=hidden -g0 -fPIC
creating build/lib.linux-x86_64-3.8
dpcpp -pthread -shared -B /usr/share/miniconda/compiler_compat -L/usr/share/miniconda/lib -Wl,-rpath=/usr/share/miniconda/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.8/./_usm_alloc_example.o -lsycl -o build/lib.linux-x86_64-3.8/external_usm_alloc.cpython-38-x86_64-linux-gnu.so -fPIC
llvm-spirv: for the --spirv-max-version option: Cannot find option named '1.3'!
llvm-spirv: Unknown command line argument '-spirv-debug-info-version=ocl-100'.  Try: '/usr/share/miniconda/bin/llvm-spirv --help'
llvm-spirv: Did you mean '--spirv-ocl-builtins-version=ocl-100'?
llvm-spirv: for the -s option: may only occur zero or one times!
llvm-spirv: Unknown command line argument '-spirv-allow-extra-diexpressions'.  Try: '/usr/share/miniconda/bin/llvm-spirv --help'
llvm-spirv: Did you mean '--spirv-ocl-builtins-version'?
llvm-spirv: for the -s option: may only occur zero or one times!
llvm-spirv: Unknown command line argument '-spirv-allow-unknown-intrinsics=llvm.genx.'.  Try: '/usr/share/miniconda/bin/llvm-spirv --help'
llvm-spirv: Did you mean '--irce-allow-narrow-latch=llvm.genx.'?
llvm-foreach:
dpcpp: error: llvm-spirv command failed with exit code 1 (use -v to see invocation)
error: command 'dpcpp' failed with exit status 1

@oleksandr-pavlyk what version of numba-dppy do you use?

There is a trick with 2 conda environments:
conda create -n dev numba-dppy ...
conda create -n dev-build dpcpp ...

conda activate dev
conda activate --stack dev-build

So you will have numba-dppy installed in dev and dpcpp installed in dev-build. llvm-spirv will be used from dev-build.
This problem was in dpcpp 2021.4 package. It conflicted with llvm-spir package.
numba-dppy can use llvm-spirv from any of dpcpp package or llvm-spirv package.

Numba-dpex moved to a dedicated llvm-spirv translator package called dpcpp-llvm-spirv that should not cause the issue reported in this ticket any longer. @oleksandr-pavlyk if you are able to still reproduce the issue, please reopen the ticket.


v0.8.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

156 of 156 (100.0%)  changed or added relevant lines in 11 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.4%) to 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
1.4%

Covered Lines:
983

Relevant Lines:
983

💛  - Coveralls


Update light-baseimage version to 0.2.3 in Dockerfile

Update light-baseimage version to 0.2.3 in Dockerfile as it is already available in the light-baseimage repo.

1.1.3 release comming today with light-baseimage 0.2.4


refactor: Remove xmlToJson from Toolkit user space methods

Part of #99

$ npm test test/functional/deprecated/iUserSpaceFunctional.js

> ./node_modules/mocha/bin/mocha --timeout 3s "test/functional/deprecated/iUserSpaceFunctional.js"

  iUserSpace Functional Tests
    constructor
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:44:25
      ✓ returns an instance of iUserSpace
    createUserSpace
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:55:27
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:61:19
      ✓ creates a user space using idb transport (178ms)
      ✓ creates a user space using rest transport (100ms)
    setUserSpaceData
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:75:27
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:81:19
      ✓ sets data within the user space using idb transport (75ms)
      ✓ sets data within the user space using rest transport (70ms)
    getUserSpaceData
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:96:29
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:100:21
      ✓ returns specified length of data using idb transport (70ms)
      ✓ returns specified length of data using rest transport (70ms)
    deleteUserSpace
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:113:27
iUserSpace deprecated As of v1.0, class 'iUserSpace' is deprecated. Please use 'Toolkit' instead. test/functional/deprecated/iUserSpaceFunctional.js:117:19
      ✓ removes a user space using idb transport (69ms)
      ✓ removes a user space using rest transport (65ms)

  9 passing (719ms)

$ npm test test/functional/ToolkitFunctional.js

> ./node_modules/mocha/bin/mocha --timeout 3s "test/functional/ToolkitFunctional.js"

  Toolkit Functional Tests
    DataQueue Functional Tests
      sendToDataQueue
        ✓ sends data to specified DQ using idb transport (75ms)
        ✓ sends data to specified DQ using rest transport (72ms)
        ✓ sends data to specified DQ using ssh transport (594ms)
        ✓ sends data to specified DQ using odbc transport (110ms)
      receiveFromDataQueue
        ✓ receives data from specfied DQ using idb transport (71ms)
        ✓ receives data from specfied DQ using rest transport (76ms)
        ✓ receives data from specfied DQ using ssh transport (585ms)
        ✓ receives data from specfied DQ using odbc transport (78ms)
      clearDataQueue
        ✓ clears the specifed DQ using idb transport (73ms)
        ✓ clears the specifed DQ using rest transport (67ms)
        ✓ clears the specifed DQ using ssh transport (557ms)
        ✓ clears the specifed DQ using odbc transport (78ms)
    getTCPIPAttr
      ✓ retrieves TCP/IP Attributes using idb transport (84ms)
      ✓ retrieves TCP/IP Attributes using rest transport (78ms)
      ✓ retrieves TCP/IP Attributes using ssh transport (582ms)
      ✓ retrieves TCP/IP Attributes using odbc transport (98ms)
    getNetInterfaceData
      ✓ retrieves IPv4 network interface info using idb transport (98ms)
      ✓ retrieves IPv4 network interface info using rest transport (103ms)
      ✓ retrieves IPv4 network interface info using ssh transport (537ms)
      ✓ retrieves IPv4 network interface info using odbc transport (120ms)
    retrUsrAuth
      ✓ returns uses's authority for an object using idb tranport (73ms)
      ✓ returns uses's authority for an object using rest tranport (70ms)
      ✓ returns uses's authority for an object using ssh tranport (506ms)
      ✓ returns uses's authority for an object using odbc tranport (85ms)
    rtrCmdInfo
      ✓ returns command info using idb transport (74ms)
      ✓ returns command info using rest transport (74ms)
      ✓ returns command info using ssh transport (549ms)
      ✓ returns command info using odbc transport (84ms)
    retrPgmInfo
      ✓ returns program info using idb transport (77ms)
      ✓ returns program info using rest transport (77ms)
      ✓ returns program info using ssh transport (555ms)
      ✓ returns program info using odbc transport (83ms)
    retrSrvPgmInfo
      ✓ returns service program info using idb transport (79ms)
      ✓ returns service program info using rest transport (68ms)
      ✓ returns service program info using ssh transport (552ms)
      ✓ returns service program info using odbc transport (85ms)
    retrUserInfo
      ✓ returns specified user profile info using idb transport (74ms)
      ✓ returns specified user profile info using rest transport (60ms)
      ✓ returns specified user profile info using ssh transport (565ms)
      ✓ returns specified user profile info using odbc transport (84ms)
    retrUsrAuthToObj
      ✓ retrieves info for users who are authorized to an object using idb transpsort (70ms)
      ✓ retrieves info for users who are authorized to an object using rest transpsort (70ms)
      ✓ retrieves info for users who are authorized to an object using ssh transpsort (534ms)
      ✓ retrieves info for users who are authorized to an object using odbc transpsort (84ms)
    addToLibraryList
      ✓ appends lib to user's lib list using idb transport (71ms)
      ✓ appends lib to user's lib list using rest transport (69ms)
      ✓ appends lib to user's lib list using ssh transport (497ms)
      ✓ appends lib to user's lib list using odbc transport (83ms)
    getPTFInfo
      ✓ returns info for specified ptf using idb transport (86ms)
      ✓ returns info for specified ptf using rest transport (79ms)
      ✓ returns info for specified ptf using ssh transport (514ms)
      ✓ returns info for specified ptf using odbc transport (92ms)
    getProductInfo
      ✓ returns info for specified product using idb transport (71ms)
      ✓ returns info for specified product using rest transport (64ms)
      ✓ returns info for specified product using ssh transport (540ms)
      ✓ returns info for specified product using odbc transport (80ms)
    getInstalledProducts
      ✓ returns info for installed products using idb transport (778ms)
      ✓ returns info for installed products using rest transport (815ms)
      ✓ returns info for installed products using ssh transport (1240ms)
      ✓ returns info for installed products using odbc transport (806ms)
    UserSpace Functional Tests
      createUserSpace
        ✓ creates a user space using idb transport (81ms)
        ✓ creates a user space using rest transport (67ms)
        ✓ creates a user space using ssh transport (673ms)
        ✓ creates a user space using odbc transport (85ms)
      setUserSpaceData
        ✓ sets data within the user space using idb transport (65ms)
        ✓ sets data within the user space using rest transport (61ms)
        ✓ sets data within the user space using ssh transport (541ms)
        ✓ sets data within the user space using odbc transport (90ms)
      getUserSpaceData
        ✓ returns specified length of data using idb transport (78ms)
        ✓ returns specified length of data using rest transport (67ms)
        ✓ returns specified length of data using ssh transport (545ms)
        ✓ returns specified length of data using odbc transport (89ms)
      deleteUserSpace
        ✓ removes a user space using idb transport (87ms)
        ✓ removes a user space using rest transport (68ms)
        ✓ removes a user space using ssh transport (606ms)
        ✓ removes a user space using odbc transport (81ms)
    getSysValue
      ✓ returns the value of system variable using idb transport (65ms)
      ✓ returns the value of system variable using rest transport (59ms)
      ✓ returns the value of system variable using ssh transport (524ms)
      ✓ returns the value of system variable using odbc transport (77ms)
    getSysStatus
      ✓ returns basic system status information about the signed-on users and batch jobs using idb transport (64ms)
      ✓ returns basic system status information about the signed-on users and batch jobs using rest transport (60ms)
      ✓ returns basic system status information about the signed-on users and batch jobs using ssh transport (524ms)
      ✓ returns basic system status information about the signed-on users and batch jobs using odbc transport (82ms)
    getSysStatusExt
      ✓ returns more detailed system status info using idb transport (1158ms)
      ✓ returns more detailed system status info using rest transport (1166ms)
      ✓ returns more detailed system status info using ssh transport (1676ms)
      ✓ returns more detailed system status info using odbc transport (1172ms)
    getJobStatus
      ✓ returns status of specified job using idb transport (63ms)
      ✓ returns status of specified job using rest transport (60ms)
      ✓ returns status of specified job using ssh transport (556ms)
      ✓ returns status of specified job using odbc transport (81ms)
    getJobInfo
      ✓ returns info on specfed job using idb transport (73ms)
      ✓ returns info on specfed job using rest transport (66ms)
      ✓ returns info on specfed job using ssh transport (604ms)
      ✓ returns info on specfed job using odbc transport (95ms)
    getDataArea
      ✓ returns contents of a data area using idb transport (75ms)
      ✓ returns contents of a data area using rest transport (71ms)
      ✓ returns contents of a data area using ssh transport (623ms)
      ✓ returns contents of a data area using odbc transport (81ms)

  100 passing (27s)


Added Resource Guru to provider site

@adam-paterson, can you please rebase against the latest gh-pages branch and update this PR? Thanks!

I'm not sure why you closed this. You can just force push on your branch to update a pull request, after you rebase.

Whoops, it automatically closed it after I rebased. Best bet to roll back or issue a new PR against the rebased branch?

Interesting. If it automatically closed, it's because what you pushed had no differences from the repo's gh-pages branch.

@ramsey my mistake. Fixed now


fix #145

Not sure what the desired outcome for Faroer Islands is so maybe this currently makes it worse.

I think moving to ISO codes is the correct direction, so I will merge this. Thanks for this contribution!


ci: Move spellchecks to format_pre

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>Commit Message: ci: Move spellchecks to format_pre
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

im trying to understand why we have 2 sets of spellchecking
afaict also spellcheck_pedantic fix errors after the first incorrect spelling - and doesnt fix anything - so im wondering if there is any point to running the fix - ie just run the check

on the basis that i wasnt able to trigger the misspell spelling check, and that the fix doesnt work non-interactively for the pedantic spelling fix (as discussed offline) i have removed the first and set the latter to check only
cc @zuercher

It looks like this PR broke some scripts (well shell aliases) I was using to check the spelling. (though I didn't notice immediately). Perhaps in the future it would be a good idea to announce workflow changes like this so developer know what they need to do?


:bug: Fix dependency agent back and forth chat for not-so-good models

I think we can simplify the agent a lot because effectively only one of the tools is actually being used but we describe 4 tools in the prompt. But I didn't want to introduce new issues because of it, so I want to take the time to redo / simplify the agent.

I am testing this again today with full flow because I was seeing pom.xml issues with white spaces. I have Fabians changes checked out now.

Good to merge now

Will merge first thing monday as I assume most folks are done for the weekend


Check fix Codecov badge

Atm, matrix-codecov CI fails. New updates have been made. It should pass when a new PR is merged.
Then, check whether the codecov badge is updated.

Closing - with duplicate https://github.com/diffpy/diffpy.fourigui/issues/20


Updated for multiple WMS layers

Used different API for wms for multiple layers.
No similar API is available for wmts

Build branch, run test-vandv.
Launch the map and from the menu on the right select Add WMS.  Apply and look for map data.

Reintegrate. All layers showing.


added permissions for viewing referral codes

I don't think we need this for the moment. We will simply use the same permission as discounts. 😄


Draw Ending Screen Mockup

Create a mockup for the ending screen with the variations if you win or lose. Optional to create transition animations.

[ ] Win (animation optional)
[ ] Lose (animation optional)

EXPECTED RESULTS:
Two Mockups from the ending screen:
Win - mockupEndWin.png
Lose- mockupEndLose.png
Win mockup in winEnding.png
Lose mockup in loseEnding.png

Lose and Win mockups added in commit https://github.com/RyuuSukeChan/ProjectDungeon/commit/ae834e6be28d62caccf065c5c1ecaebed1102c79


Objects with values stored don't return the whole array

When a object is assigned to a value e.g.:
$mocked->value['sub_value'] = 'stripes'

echo $mocked->value;
// returns
// mocked->value

What would be nicer is that when the value is called with __toString() which triggers that reaction of printing a formatted
[
    "sub_value" => 'stripes'
]

or if the values is just called by the magic __get it should return the value as a php array type, instead of assuming that it may be calling another dynamically generated value.

Actually this was fixed by #15 ... the toString returns the JSON array, can make it be JSON_PRETTY 😝 lol, but still this >

or if the values is just called by the magic __get it should return the value as a php array type, instead of assuming that it may be calling another dynamically generated value.

is an issue


Add "html_excerpts" flag to allow Atom  tags to contain HTML

This option should be useful in feeds where the summaries have more complex content or formatting, such as when the post's description and excerpt front matter options are not set, causing Jekyll to use the entire first paragraph of the post as the excerpt.
It pairs really well with excerpts_only for sites which may not want to put the entirety of each post's content in the feed, but who want to preserve the excerpt's rich formatting and content.
In my site, for example, post excerpts often have images. Its feed currently contains the entire post content, but I'm considering switching it to excerpts_only, and I'd very much prefer keeping those images intact in the feed if I do switch.
Note that this passes the W3C validator with no warnings, since feed.xml already uses type="html" in its <summary> tags. And since it's an option, and not a change in the default behaviour, it shouldn't break existing content.
This PR also comes complete with tests and documentation!

Also I'm aware that this somewhat conflicts with my other changes in #396. Happy to resolve those conflicts later on.


examples: update guestbook example with new image registry

The GCP Kubernetes Engine Samples migrated their image registry from Google Container Registry to Google Artifact Registry. Hence, the image gb-frontend from the guestbook example is no longer available.
Therefore, this commit changes the example to use the new registry.
Issue: https://github.com/GoogleCloudPlatform/kubernetes-engine-samples/issues/209
Guestbook PR: https://github.com/GoogleCloudPlatform/kubernetes-engine-samples/pull/194
Relevant backport to v1.12 where this image is used in CI: https://github.com/cilium/cilium/pull/29600

/test

Updated guestbook example with leader/follower naming


Marathon: checking for exited tasks + unit tests coverage

Coverage increased (+6.06%) to 83.537% when pulling 2ef8d0cbefecd214881a620c71f022859dfd4b5d on misc into f4fe8c2153db9a643ddf447ad0ebaa0f51f97dd5 on master.


Docs

@rishig
This has docs on the Zulip docs badge, and the various ways of allowing people to join.

Merged, thanks @Lyla-Fischer! I decided to trim even further and just merge the three joining+inviting articles into a single new article.


reorganize the existing docs

Is your documentation request related to a problem? Please describe
we would like to update the rubicon-ml docs to follow the Diataxis framework
Describe the solution you'd like
once #207 is completed and we have a plan for reorganizing the docs, this issue will track the actual reorganization work

Tutorials

Quicklook
Glossary

How to guides

Install
Advanced
Integration
Contributing

References

Library reference
Visualizations
Explanations

FAQ

Feedback
Other / Important links

Changelog

Github

finally getting back to checking this out. I rewatched the diataxis video and put together some notes:
DIATAXIS

* install instructions should just move to the landing page

TUTORIALS - LEARNING ORIENTED
  "Lessons that take the reader through a series of steps to complete a project"
    NOT the real thing
  Show beginners how to achieve something meaningful
  Concrete, no distractions

  * the quick look should probably be broken up into three tutorials
    1. Logging basics - which we have
    2. Visualization basics - which can probably be adapted from existing viz examples
    3. Sharing/collaboration basics - we don't have

HOW TO GUIDES - PROBLEM ORIENTED
  Easily mixed up with tutorials
  "Take the reader through a series of steps required to solve a specific, real-world, common problem"
    REAL solutions to REAL problems
  How to guides answer questions that beginners who may need a tutorial wouldn't even be asking
  Don't have to start from the beginning - e.g. "what is an experiment?"
  Don't explain, just show - "explanations get in the way of action"

TUTORIALS are to answer questions I KNOW WILL BE ASKED - simple things
HOW TO GUIDES are to answer questions the USERS ASK THEMSELVES - real, complex use cases

REFERENCE - INFORMATION ORIENTED
  Describe exactly how code works
    Generally code-determined

  * library reference

DISCUSSION/EXPLANATION - UNDERSTANDING ORIENTED
  Explains why things are they way they are
  Why was something designed the way it was? Why was it developed in the first place?
    e.g. "why track experiments?" or "why the switch from the managed service?"
  Contrary and conflicting opinions
    Discussions of competitors
  NO INSTRUCTION, NO TECHNICAL DIRECTIONS

  * glossary
  * FAQ

Let's keep the COMMUNITY section as-is, unless we can think of somewhere it really fits into the above

We'll need to figure out where each of the pages that weren't noted above fit in. They will likely be
TUTORIALS or HOW TO GUIDES. If they don't fit cleanly into one or the other, they should be revisited
and updated in order to.

based on that, here's a proposed structure
POTENTIAL BREAKDOWN
  LANDING PAGE
    * current landing page
    * install
  TUTORIALS
    * quick look (broken into 3 parts)
    * logging basics (maybe this and the broken up tutorial are one in the same)
    * logging training metadata
    * visualizing logged dataframes
    * logging plots as PNGs (maybe this gets combined with visualizing logged data frames)
    * logging asynchronously (does this even still work? - probably not)
    * logging concurrently (does this even still work? - probably)
  HOW TO GUIDES
    * logging feature plots
    * distinguishing failed experiments
    * git (framed as how to track code changes with rubicon)
    * sklearn
    * dashboard
  REFERENCE
    * library reference
  EXPLANATION
    * glossary
    * FAQ (some FAQ questions may warrant a HOW TO GUIDE)
  NOT MENTIONED (TODO)
    * prefect (this example has a ton of content that's really just how to use Prefect)
      *  may need to be revisited
    * individual visualizations - maybe they end up in the viz part of the quick look tutorial


Fix app_title display translation missing

Since c79a5143d7dfcd8dd02e3913980cef879e269b2a, we were using Rails' I18n to
set the GovukAdminTemplate.app_title in an initializer. Unfortunately, whilst
the I18n code is available, it hasn't been configured at the time intializers
are loaded. This meant that users saw this in the page header:
  translation missing: en.department.name Signon

The tests didn't fail because the setting to make missing translations raise
errors (in config/environments/test.rb) is also loaded after initializers.

@dwhenry This should be relevant to your interests.


Clarify "glitch" as a technical term

Related to #123. I thought it'd at least be worth taking the step of clarifying it as a technical term of art in the meantime until someone rewrites the explainer.

If rendering is done immediately when a Signal is set, it may expose incomplete application state to the end user.

I'm not sure I see this, how would it happen?
Unless there is a bug somewhere I don't think you'd get into a state where logging a value and its computed double won't make sense, for example.

If rendering is done immediately when a Signal is set, it may expose incomplete application state to the end user.

I'm not sure I see this, how would it happen?
Unless there is a bug somewhere I don't think you'd get into a state where logging a value and its computed double won't make sense, for example.
Nor the browser will be rendering (except for scrolling and some things like that?) while the main thread is blocked, I think.

I didn't write that prose (or any prose, for that matter). I just linkified a word in a few places.

@fabiospampinato I didn't write that prose (or any prose, for that matter). This PR is just adding inline links in a few places.

@littledan Thanks for the catch! Pushed a fix.


enables full features of syn

Hello,
I'm loving to use factori.
I realized that if you enable the "full" features of "syn", you get to create nested factories.
Would you consider merging my PR?

Ouch, I've rebased the branch on top of factori-imp fork and messed up the PR.


Add support for github and increase make speed

Added a download script that will clone the github repo if the version github is chosen, if not then it will function like normal and download the version number specified by the variable similar to how it currently works. Added a -j$(nproc) flag to the make function so it can be parallelized based on the number of threads that are on the machine.

Is this related to the issue you created on jlesage/templates?

You can ignore that, I was confused with how the unraid docker system worked. I still think this is a nice feature to have for those that wise to use your build but allow it to be changed to use the GitHub repository as a base for the build. This would be similar to allowing handbrake nightly. It appears they don't build nightlies for alpine though so the GitHub repository would be the closest thing.

I think the approach for this would be to provide a different image, using a tag.  This way, people would have the ability of easily use the image version they want.

I will create an issue for this to investigate.

Added to FeatHub: https://feathub.com/jlesage/docker-apps

This can be used to create a docker image based on the handbrake development code and then uploaded the dockerhub using a nightly tag so you can keep the stable releases on the main repo and have the github version under the nightly docker tag similar to having a separate branch in github.


[search] Add live tests for service client

Add tests that exercise the public members of the service client in an end-to-end fashion. Coordinate with .NET on how best to do this.

Code Complete


饼状图计算的百分比如何通过API获取？

What problem does this feature solve?
饼状图会自动计算百分比，但是计算的值和手动计算的结果不一致。造成的结果就是：实际数据和图形显示的结果不一致
What does the proposed API look like?
希望能获得自动计算的百分比，以便做到数据统一。

Sorry, we do not provide such an API.
The algorithm is Largest remainder method. This post helps you to understand.

Echarts doesn't have such API.


[FEAT] Dropdown Component

:bulb: Feature request
Feature Name
Dropdown Component
The Desired Behavior
A select field with custom UI.

[x] Dropdown options can be multi-line
[x] Disabled state
[ ] Loading state
[ ] Error state
[ ] When a user clicks somewhere outside a dropdown when it's open, the dropdown should close.
[ ] By default, a dropdown should either render a label text of what the dropdown is or one of the options as the selected value (i.e. shipping addresses, render the first available address as the selected option or the "default" address a user has set in their account)
[ ] Keyboard behavior for selecting options
[ ]  Accessibility considerations (aria label announcements for each option, selected option announcement)

Your Use Case
As a designer, I would like to be able to use a custom select design.
Prior Work

Environment

Daffodil version: X.Y.Z
Angular version: X.Y.Z

For Tooling issues:
- Node version: XX
- Platform:

Others:

Below is the example of how can you acheive this , may be it's not completely correct but that's how we can approach to this and this is not the complete code as well.
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { DropdownOption } from './dropdown-option';

@Component({
  selector: 'app-dropdown',
  templateUrl: './dropdown.component.html',
  styleUrls: ['./dropdown.component.css']
})
export class DropdownComponent {
  @Input() options: DropdownOption[] = [];
  @Input() label: string = '';
  @Input() disabled: boolean = false;
  @Input() loading: boolean = false;
  @Input() error: boolean = false;
  @Input() selectedOption?: string;
  @Output() selectedOptionChange = new EventEmitter<string>();

  isOpen: boolean = false;
  highlightedIndex: number = -1;

  toggleDropdown() {
    this.isOpen = !this.isOpen;
    this.highlightedIndex = -1;
  }

  selectOption(optionValue: string) {
    this.selectedOption = optionValue;
    this.selectedOptionChange.emit(optionValue);
    this.isOpen = false;
    this.highlightedIndex = -1;
  }

  handleKeyDown(event: KeyboardEvent) {
    if (!this.isOpen) return;

    switch (event.key) {
      case 'ArrowUp':
        this.highlightedIndex =
          this.highlightedIndex <= 0
            ? this.options.length - 1
            : this.highlightedIndex - 1;
        break;
      case 'ArrowDown':
        this.highlightedIndex =
          this.highlightedIndex >= this.options.length - 1
            ? 0
            : this.highlightedIndex + 1;
        break;
      case 'Enter':
        if (this.highlightedIndex !== -1) {
          const optionValue = this.options[this.highlightedIndex].value;
          this.selectOption(optionValue);
        }
        break;
      case 'Escape':
        this.isOpen = false;
        break;
    }
  }
}

Sure @shadow0500 ! it would probably be wise to branch off @xelaint 's https://github.com/graycoreio/daffodil/pull/2458

Okay sure .

@shadow0500 this is a high priority issue, I think I should take this unless you have a solution almost complete


Stamperstore ldb writes produce high disk write

Context
Windows 10 AMD64, Bee 2.2.0
Summary
I am writing 1,000,000 chunks at the rate of 200,000 per hour (mantaray with 600,000 forks). This use case produces high disk write that may have bad side effects such as degraded performance or an impact on SSD lifetime. Based on the screenshot number 2 below, the culprit seems to be the stamperstore writes. Network bandwidth is negligible compared to the disk write bandwidth.

Expected behavior
I have no knowledge on what exactly happens under the hood. My naive assumption is that for each stamping, the corresponding ~2MB ldb gets overwritten, but I may be completely off here.
In case of write-heavy operations like this, in-memory caching with periodic persists to the disk would likely improve the situation. (stamperstore ≤ 500MB on my machine™)
Actual behavior
Please see screenshots above. Disk write frequently surpasses 100MB/s.
Steps to reproduce
On demand I can create a small JS project that creates and writes many chunks in an endless loop.
Possible solution
Please see expected behaviour.

Can you describe what the upload sizes are? and which api endpoint are you using?

Can you describe what the upload sizes are? and which api endpoint are you using?

I was uploading the wikipedia, and at this point I was writing the mantaray forks. Many small /bytes endpoint uploads. Probably minimal time spent splitting/chunking, and most time spent stamping, which turned out to have an I/O bottleneck.
Sorry, I know this isn't much, I will eventually get back to larger data uploads where I can investigate this better.


Adding First Moscow State Medical University

First Moscow State Medical University
http://old.1msmu.ru
https://sechenov.ru/

@manmitya Could you please provide us with a link to an IT-related long-term (> 1 year) course which your  university offers to the students? Thank you!

@manmitya You might miss my previous comment. Please reply.

There is IT department in our University. It is the first IT medical department in Russian public healthcare.
Articles about it:
https://riaami.ru/2016/06/pervaya-v-rossii-kafedra-it-tehnologij-v-zdravoohranenii-sozdana-v-mgmu-im-i-m-sechenova/
https://www.medvestnik.ru/content/news/Otkrylas-pervaya-v-Rossii-kafedra-informacionnyh-i-internet-tehnologii-v-medicine.html
For example there is course "Use of IT in medicine" for students of 4 and 5 course: https://sechenov.ru/univers/structure/institute/institut-personalizirovannoy-meditsiny/kafit/

@manmitya Thank you for the update! Pull request merged.


Drive action breaks recreation of program if a high value is provided in field speed

Describe the bug
When trying to compile a program like in the screenshot, the program disappears, only the start block stays.
Expected behavior
Program should stay in the workspace
Screenshots

If applicable, add screenshots to help explain your problem.

Device information

any

Additional context
The input in speed and distance is created by putting a very hight number into the corresponding field. Although none of the values are compilable only the speed value in this specific differential drive block is breaking the program so that it cannot be rerendered.

The program checker is responsible to reject the value and explain the reason.


Unable to run

I cant find the .jar file and dont know what your talking about when you ask to change the binary file name to the one supplied. when i try to enter in the supplied command into my command line after changing to the proper directory it only tells me that the associated jar file cannot be run.
TL/DR: I need a "for dummies" explanation of how to get this to run properly on windows.
also, as a side note; a more user friendly version overall of this program may do wonders for getting people to contribute to the Leela Zero project. Perhaps a version that runs as a simple screen saver.

The jar file is released here: https://github.com/fsparv/LeelaWatcher/releases
This is a free open source software project, not officially affiliated with LeelaZero in any way, though I am flattered to have been given a mention on their front page. This is not commercial software. I wrote this in my spare time because I thought it would be fun and some folks might enjoy it.
My time with respect to this is donated and demanding things or berating stuff as it is won't get anywhere. (Paying me however would work, I am a consultant and I do write software for money)
If you are willing to put in the effort of providing a clear, fully descriptive example of what you tried (exact commands, etc), what you saw (screen shots, program output, etc) and what you expected to see, then if I am not slammed with work that I get paid for, I will often find the time to help you understand what went wrong, and fix anything I deem to be worthy of fixing. On the other hand if you continue to cite your own ignorance and unwillingness to learn as reasons for me to implement things, I'll very likely ignore you.
Feature suggestions are certainly welcome, but like all open source projects if you really want a feature, the best way is to pitch in and donate some of your time by contributing a patch for it. (Careful attention to normal development and patch contribution processes will make that go smoother of course).
Incidentally there is a patch in progress from a contributor for some UI enhancements, though a few details need to be attended to before it can be included. AFAIK screen savers are a very platform specific feature usually requiring native code, and a lot more effort. This project is pure java, so as nice as such a thing would be, I don't see that happening any time soon.

Some useful links:
https://opensource.guide/how-to-contribute/
https://testlio.com/blog/the-ideal-bug-report/

whoa whoa whoa, I don't exactly understand where you're seeing anything negative directed toward anybody with the exception of a little self defacing humor directed at myself. I didn't know the main java file was missing from the page linked by the Leela Zero project page (never used GITHUB before and didnt know how to navigate to the releases tab, the main leela page just links it in the description), the Jar file you supplied was all i needed. The latter was simply a suggestion to further the project and was in no way meant to bruise any egos. I respect what you've done knowing full well it was probably done in somebody's free time and as "a labor of love" if you will.
As far as providing clear and fully descriptive examples I did what I thought was needed and apparently, seeing as I got what i needed in the end, I was successful. I trusted if i wasn't clear enough I could describe myself further in follow up comments. Again, I'm far from a super user and more like a layman and, again, I respect what you do but trust me you have to respect others for their lack of knowledge and not assume they are trying to disrespect you.

Here's where my natrual helpfulness probably gets me in trouble, but I suppose I'll take your assertion that you don't understand what you did wrong at face value. If you don't see the problems, here's some hints:

I cant find the .jar file and dont know what your talking about when you ask to change the binary file name to the one supplied. when i try to enter in the supplied command into my command line after changing to the proper directory it only tells me that the associated jar file cannot be run.

Lack of specificity: "enter the supplied command" doesn't tell me which command you are referring to and exactly what you typed. Later you mention windows, but I have to piece that together, and then go look at my front page to see what the command actually is before I can think about what you might have got wrong...  Common problems include typo's so a cut and paste of you exact command is much more helpful, in addition to some indication of where your compiled Leelaz binary is in relation to the command being run... particularly I would have been on the lookout for you having omitted the.  signifying the current directory that is used in the windows example, but could easily be overlooked for example. If you want free help, on an open source project or in a forum it's important to make sure that the person helping you doesn't have to do a lot of guess work. Provide them with lots of detail (though if it's more than a screen full you need to also ponder whether or not you are drowning them in irrelevant details too).

TL/DR: I need a "for dummies" explanation of how to get this to run properly on windows.

"Need" is a demand. "Need" says you think I owe it to you. If you said "I could really use a 'for dummies version' of this"

also, as a side note; a more user friendly version overall of this program

Implying my program is not user friendly as if it were the most obvious thing in the world, which is somewhere between a complaint and an insult and the off hand style is an implication that I have no clue that user friendliness is of value, but you suppose you might as well take the time to enlighten me... Also this complaint/denigration of the the software is given without any real effort to say what troubled you or confused you or was hard to use, and aside from the screen saver suggestion below, no hint as to what you think would be more friendly. Next time try something like:
Specifically, I don't understand what you mean by "binary file name", perhaps you could explain that in your instructions? Exact steps from start to finish might be more helpful for less savvy folks like me.
Can you see the difference in tone, and helpfulness?

may do wonders for getting people to contribute to the Leela Zero project.

A veiled threat that you and/or others won't help unless I respond, or perhaps an accusation that I'm hurting the leela-zero project's prospects, seemingly an attempt to motivate me via negativity. Just don't do this. Stay positive. Threatening a volunteer never works, they just walk away, and then you have no help at all.

Perhaps a version that runs as a simple screen saver.

THAT was ok, good even. It's a valid suggestion. Suggestions are helpful. Unfortunately it's not one that's easily implemented, but at least you tried. Do more of that!
Style and tone matters a lot. This is not a youtube comment stream. Note that your response contains more veiled criticism... "main java file was missing".... again presenting something as if you think it's the most obvious thing in the world and I'm at fault. Instead say directly, "It might be helpful if you add a link to the releases page. I didn't even know that there was a releases page" That's a friendly suggestion with a clear reason that the suggestion would be valuable.
And again you are defensive and not accepting of your mistakes when you say "I did what I thought was needed and apparently, seeing as I got what i needed in the end, I was successful" That also implies that you don't really care if you were rude as long as you get what you want. This takes a LOT of the glow away from your apology.
"you have to respect others" And you follow up with an accusation that I don't respect people, essentially saying that all this is my fault not yours. You may have tacked an apology on the end, but as written this was a defense not an apology.
 You don't want to learn? You want the world to spoon feed you so you don't have to learn? You say this like your ignorance a badge of honor, not a deficiency. It's ok to not know everything of course. There's a vast number of topics for which I am a mere novice, but that's my problem, not the problem of the experts I encounter. Your inexperience is not my problem.
Here's an analogy... If you appear to be running hard and having trouble keeping up many people will slow down (a little bit) for you and help you out (somewhat), but if you stand there yelling about how you're not in good shape and others are going too fast, only your mother will stop for you. The most of rest of the world will just point and laugh as they pass by. A few folks will stop for a moment and suggest some ways to get in better shape (yes, that's this response btw).
Over all, the general tone in everything you've written other than the final one line appology is one of self centered self interest, with a sense that you think you can can convince the world you are superior, or escape blame by implying or pointing out faults in others, and an expectation that the world should accommodate you.
It is quite a (happy) surprise to me that folks as inexperienced as you have been attracted enough to try training Leela zero, and thus found there way here. I wasn't expecting folks who didn't know much about github to get here. The entire thing is by it's nature fairly technical since it generally requires downloading and compiling leela-zero first. However, such adventures that draw one into learning technology can be wonderfully beneficial for folks so I'll go make a few changes on the front page to accommodate a lower level of expertise.
I primarily learned DOS on an IBM PC XT so that I could copy away the save file for a game (to a 3.5" floppy disk Thus I got around the fact that the game  deleted the save when you died... many years ago :) ). That and a few other adventures, some luck, and the encouragement of others have lead me to a very happy career in programming. Perhaps you or someone else will benefit similarly from this technical adventure.
Looking closer, I see you just joined github a day ago, so welcome to a whole new world of potential software adventures, and I primarily write this reply in the hope that your next adventure will go more smoothly. This response is quite off topic and should not be taken as a good example of how to use the issue system here by the way!! In that respect I'm setting a bad example! If there were a way to send you this as a personal message I'd have written this to you in that fashion that but as far as I know Github doesn't provide any direct messaging features.
I hope you'll think on this and if you feel wounded by my reply it, think a while longer before replying, or perhaps don't reply at all unless you have something to contribute to the project. In which case it's probably better not to add to this issue, but start a new issue. Thanks for closing the issue, and I'm glad you got things working.


Abbreviation

Update coding rules to clearly state short-cuts in naming methods, parameters, properties, variables, … are not allowed
Go through the solution and remove all abbreviations

No abbreviations found in Budget and BudgetAccessRight models, views, controllers, services.


Update Navbar.svelte

Issue with container

Closes #
📑 Description

✅ Checks

[ ] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[ ] I have checked the page with https://validator.unl.edu/
[ ] All the tests have passed
[ ] My pull request is based on the latest commit (not the npm version).

ℹ Additional Information

What do you want to achieve by this?
Can you explain it?

What do you want to achieve by this? Can you explain it?

Because the Navbar always include a container.

@MSufianS it already has api, see #561

i am also got impacted with this change

I close the PR for now.
Thank you for your contribution.
I'm looking forward to see future PRs.


Billboards from KMLs aren't shown

Some KMLs has empty color string for PlaceMarks style. In that case color parsed in Cesium NaN, NaN, NaN, NaN and Billboard wasn't visible.

Thanks for the PR @kiselev-dv!  Since this is such a small change, I submitted my own PR fixing this problem so you don't have to worry about filling out a contributor license agreement.  My PR is here: #4826
Thanks again!

Cool, thanks.
2017-01-09 9:30 GMT-04:00 Hannah<EMAIL_ADDRESS>
Thanks for the PR @kiselev-dv https://github.com/kiselev-dv! Since this
is such a small change, I submitted my own PR fixing this problem so you
don't have to worry about filling out a contributor license agreement. My
PR is here: #4826
https://github.com/AnalyticalGraphicsInc/cesium/pull/4826
Thanks again!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AnalyticalGraphicsInc/cesium/pull/4821#issuecomment-271284245,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AApLaaxccZ3fzGfqmRKO95HH_zuc-bHDks5rQjZbgaJpZM4LdOll
.

--
Thank you for your time. Best regards.
Dmitry.


Startup crash with 1.3.2

[X] I am using a release version of the mod
[X] I have mods that integrate with this installed:

[X] Tinker's Construct
[X] Mine Factory Reloaded
[ ] Mine Addons
[ ] Moo Fluids
[X] Waila

[X] I also have other mods installed
[X] I have searched for this issue previously and it was either (1) not previously reported, or (2) previously fixed and I'm having the same problem.
[X] I am crashing and can provide my crash report(s)

Additional Information

[X] Java Version:

[ ] Java 6
[ ] Java 7
[X] Java 8

[X] Minecraft Version:

[X] 1.10.2

Issue Description
Crash when starting the game.

Reproduce Steps
Try to load the game.

Additional Information
Crash Log

@BrisingrAerowing A new version is being uploaded to fix this, just update when its ready and it should fix it :)