ST Armada Stutter & Mouse Issue

Hi there.
When using dxwrapper with Star Trek Armada 1.3, I'm getting a lot of small game stutters, audio cut outs & the mouse is laggy like it's running at 20Hz or something. If I try running at a resolution of 1024*768 the game is mostly ok, but at higher resolutions the mouse basically stops working, the game only seeming to register a half second of input every 4 seconds or so & the lag is worse. The frame rate is poor & unsteady as well.
I'm using the latest dxwrapper & I manually edited the config to match the one from the older armadafix.zip (that version wouldn't let me launch the game at all).
Are there any config settings that would get round this? I'm on W10 20H2, 16 core / 32 thread CPU.
dxwrapper-armada.log
As a side note I tried DGVoodoo on another install. There the game runs perfectly for about 1.5 hrs then I get a CTD. The Armada game log shows an out of memory fatal error. Also with that method the menus are barely usable.
Edit:
So the cause of the stutters appears to be enabling HDR in Windows Display Settings. I can switch the issue on & off by toggling that setting. Leaving HDR off keeps the game running smoothly up to & including 4k resolution. Unfortunately this didn't completely fix the mouse or audio problems. The mouse mostly works now but cuts out every so often, feels like around 10 seconds. It's as if the mouse goes over an unreadable surface. The cursor also seems to stick at the edge of the screen sometimes. As for audio it seems perfect until there's a lot going on then it cuts out a pops a lot.

It could be related to the version of DDrawCompat I am using.  Try with the latest build here: dxwrapper.zip
Also make sure that all compatibility options are disabled:

Thanks for that :)
Unfortunately the newer version made no difference, the mouse still cuts out constantly. I tried a different mouse as well with no change.
I don't have any compatibility settings on.
I meant to say originally that in the game menus, both accessed from an active game & from the main menu after launching the mouse & audio is perfect.


Re-organizing API documentation collections

These changes make it a bit more manageable to collect our various API specifications into a single navbar item in our docusaurus site. With the upcoming addition of the Hubble information (#167), this will ease the implementation, and make things a bit more uniform.

I've included some nginx rewrites that I think will do the correct redirections from any old URLs to the new ones.
There is now a single API dropdown menu item in the site's navbar, instead of having separate navbar links for all the various APIs, we can now collect them under a single button.
The DocSidebar component has been swizzled to allow us to keep the "category" of API used in the breadcrumbs, but to not clutter the sidebar with extra (and unnecessary) links.

Something went wrong with PR preview build please check

Good grief that's a lot of files changed!! 290!! 😮
The main changes are these:

Moved horizon's input /openapi directory into /openapi/horizon
Moved horizon's output /api directory into /api/horizon
Moved AP's output /ap_api directory into /api/anchor-platform
Modified the navbar to only present a single dropdown list containing each API documentation set, rather than individual items all across the top.
Changed the openapi plugin configuration to make the /api/* URL behave as a single instance of the plugin-content-docs plugin, instead of using a separate instance for each API
Customized the sidebar behavior on /api URLs so that the "category" of API (horizon, anchor platform) doesn't appear unnecessarily in the sidebar but does still show in the breadcrumbs
Attempted some nginx redirects from the old output URLs to the new ones.

Preview is available here:http://developers-pr169.previews.kube001.services.stellar-ops.com

Preview is available here:http://developers-pr169.previews.kube001.services.stellar-ops.com

Preview is available here:http://developers-pr169.previews.kube001.services.stellar-ops.com

I would recommend "APIs" instead of "API" for the drop-down label, but otherwise LGTM, thanks for taking this on!

Preview is available here:http://developers-pr169.previews.kube001.services.stellar-ops.com

Ah I see https://github.com/stellar/stellar-docs/pull/169/commits/c6b3f831620f41cf137e46a32782dabe40bcc146 now. So maybe this has already been dealt with?

Ah I see c6b3f83 now. So maybe this has already been dealt with?

@tyvdh Yes, I believe those redirects will handle everything. As a means of testing them, I put together this script. Here's what it does:

downloads and parses the sitemap.xml for the production docs site.
for each of the URLs, if it includes /api or /ap_api, it changes the domain to the PR preview domain
it requests that preview url, searches through the response and makes sure that an expected redirect took place
it outputs a bunch of crap that might not be useful, but can help to context-ify what's going on.

The only one that didn't respond as "expected" was the /api page, which is a new one that is an "APIs Overview" page.
TL;DR - I checked all the redirects in the sitemap. Things redirect as I was expecting 👍🏻

MERGE IT BABY!!!


Use kernel.ubuntu.com proxy for better speed

https://kernel-ubuntu.proxy.noc.one is a proxy of https://kernel.ubuntu.com, Powered by Cloudflare.

Hi
Thanks for your pull request.
Domain noc.one  whois information:
Creation Date: 2018-12-17T13:33:47Z
Registry Expiry Date: 2019-12-17T13:33:47Z
Registrar: NameSilo, LLC
So, this is a new domain name. I can't trust it until now.

Thanks.
I will keep this pull request open.

@teddysun
https://status.noc.one/781644583

As you can see, https://kernel-ubuntu.proxy.noc.one has been up for nearly 1200 hours without any downtime.


[Config Request] Disable Furnace option and may more

Hey there, i wanna disable the lit furnace cause of balancing reason, can you add a config for that pls

can you add a config for that pls

Yes, I will add a config file for the ability to use the dispenser and furnace.
It will only update the current development version, 1.18.2.

<3 thank you for replying and updating the mod , and for making the mod ofcourse

Do you know that you have

disabled the comments on curseforge
problem page on curseforge
& a issue page on github

maybe you disable the problem page and link to the github issue page
maybe ^^ ok cy


lint warning if missing @return

https://code.google.com/p/closure-linter/source/browse/trunk/closure_linter/errors.py#84

We would like this to be an error, perhaps behind a flag like --lint_pass, so we needn't rely on the linter for this

Is this "missing @return" when there is a "return" present in the method body?

I think so, though an empty return doesn't need @return


Optimize code

Currently the code is doing quite a few unnecessary iterations.
The private each function should support breaking out (possibly if/when the iterator returns false).
Also, the getAlphabetCharacter private function iterates over all of the characters for every phonetic found. If we prepared the alphabet configurations first, we could invert the characters mapping so that getAlphabetCharacter just does a lookup on the hash.

What would be best would be to build a consolidated alphabet as soon as the from or to methods are called based on the specified alphabet (or default if not specified) including the chain of fallbacks. This should save time as it's a one-off per request so should be much faster in general. The character mapping could also be inverted at this point for the from method to avoid hash iterations to find keys.

I've created a couple of jsperf tests to check that the develop branch is performing better than master:
phony.from: http://jsperf.com/phony-from-performance-improvements
phony.to: http://jsperf.com/phony-to-performance-improvements
The performance for from has increased dramatically since it no longer has to reverse lookup the key for the value on a hash, however, it appears that the performance for to has dropped slightly as a result, at least for shorter messages. I believe I might be able to fix this by caching the built alphabet based on the alphabet name and iterator hash (iterator.toString()) with an option to prevent caching for cases where alphabets may be added changed.

Performance has increased for both of the main methods after adding caching for built alphabets:

Method
Performance Increase

phony.from
~100%

phony.to
~50%

The cache can be bypassed using a new cache option for these methods and can be cleared at any time by calling a new phony.clearCache method.


Updates and fixes for Visibility and Range

@csmoore can you check this one out?

Sure - code looks good - I will just need to test the tbxs (assuming you do want me to also test - & they do run/work on 10.3.1 as advertised, since that is what I have)

Testing this now...the unit tests at: https://github.com/mfunk/solutions-geoprocessing-toolbox/tree/dev/utils/test/visibility_tests
ran in ArcMap (10.3.1) but there was a failure in Pro 1.2 - perhaps a little more worrisome is that the unittest assert failure was not picked up by the harness/driver (it reported 0 errors)
ArcPy works
Scratch already exists
Testing Sun Position Analysis (Pro).
Importing toolbox...
Setting up inputs...
Set date...
Set UTCAfg...
Set output hillshade...
Running tool (Sun Position and Hillshade)
PYTHON ERRORS:
Traceback info:
  File "C:\MyFiles\Work\Github\pr-test\solutions-geoprocessing-toolbox-dev\utils\test\visibility_tests\SunPositionAndHillshadeTestCase.py", line 112, in test_sun_position_analysis
    self.assertEqual(rasMaximum, float(0))

Error Info:
-2.0 != 0.0

ArcPy ERRORS:
Start Time: Tue May 10 09:20:44 2016
Number of unique values = 51
Succeeded at Tue May 10 09:20:44 2016 (Elapsed Time: 0.05 seconds)

RESULTS =================================================

Number of tests run: 13
Number of errors: 0
Number of failures: 0

END OF TEST =========================================

A couple of other things I noticed (not really directly related to this PR, but to the unit tests in general):

Is it time to remove the old tests - visibility\test - these confused me a bit (and where I looked first)
Adding a script to the path is a little more confusing than it needs to be at:
https://github.com/Esri/solutions-geoprocessing-toolbox/blob/dev/utils/test/visibility_tests/RangeRingUtilsTestCase.py#L44
Alternate code:

currentPath = os.path.dirname(__file__)
pathToRRUtils= os.path.normpath(os.path.join(currentPath, r"../../../visibility/toolboxes/scripts"))
sys.path.insert(0, pathToRRUtils)   # (could also use append if it didn't need to be first)
import RangeRingUtils

(also added comment here about )

@csmoore since these aren't related to the PR, can you put them into a separate Issue? Thanks.
As for the related ones i'll have to look at it tomorrow or Monday.

Added PR for #2 (#442)  - #1 - I assumed is already planned for some point as part of the unit test changes?


Add guidance on large numbers in JSON and interoperability

JSON the specification doesn't provide a limit on the number production in its grammar but very long numbers or doubles with a long mantissa may lose precision when processed by common implementations (such as JavaScript).
rfc7159 allow arbitrary long number productions in its grammar but says implementations may impose limitations without saying what they are. This tends to result in interoperability problems and disagreements on who's responsible for the issue.

Link to a real life issue
https://techjira.zalando.net/browse/ARUHA-804

Link to a real life issue
https://techjira.zalando.net/browse/ARUHA-804

Since it's internal it's not very helpful for externals. It basically describes the case that a number was used to represent an ID. The trivial fix should've been to use a string here. Numbers should only be used for numeric values. I feel like this is the actual rule that we need to emphasize here.

It basically describes the case that a number was used to represent an ID. The trivial fix should've been to use a string here. Numbers should only be used for numeric values. I feel like this is the actual rule that we need to emphasize.

There is guidance elsewhere on using strings for ids, think this is more general to do with numbers in JSON. wrt to the internal ticket If the field was not an id, the same interop problem would have arose where two teams are pointing at each other for a fix.

This topic was already discussed several times, but the only mentioning of the problem (as far as I know) is related to Money object: https://github.com/zalando/restful-api-guidelines/blob/master/common-data-objects/CommonDataObjects.md
Parsing numbers out of JSON is a big problem in most of the existing libraries (especially in typed languages). We need a separate section, that describes not only the problem, but also provides some hints on best practices and known bugs in the most common JSON parsers (including Node)

@dehora I think the responsibility issue is clear, it is the responsibility of the client to parse correctly. This was a though when we standardised Money object.
Changing it according to reality of the situation with limited implementations, prohibiting usage of number in JSON will push the responsibility of the data producers.

I think the responsibility issue is clear, it is the responsibility of the client to parse correctly.

Right, but technically not so since rfc7159, which is why the guidance is needed. From "6. Numbers":

This specification allows implementations to set limits on the range  and precision of numbers accepted.

Clients don't have to honour precision, so the problem is baked into the most recent RFC (that wording didn't exist in rfc4627).

Guidance is neccessary, Expeccially in regards to internal issues. The numbers that we are considering here are an ID, this is not a number, nor can it be considered nor treated as a number. It is and should be considered to be a text field, unless someone, somewhere, somehow thinks we are going to start multiplying order ids by each other, or otherwise doing arthimetic on them, they are just an identifier and should be treated as such.

I found some good rule in our guidelines addressing this.
http://zalando.github.io/restful-api-guidelines/resources/Resources.html

Should: Only Use UUIDs If Necessary
... In any case, we should always use string rather than number type for identifiers.
Can we just separate this mention in its own rule?

I think we have two issues:
IDs should be strings, not numbers. I guess we all agree here?
For numbers (both type: number and type: integer), JSON does not prescribe any size/precision limit (but tells that implementations can put limits), and OpenAPI doesn't either (if no format is given).
I'm not sure where we use non-integer numbers other than for money values (which is covered by the Money guideline).
And do we ever handle (non-ID) integers which are bigger than what i.e. 32 bit can cover? (Maybe the number of items sold in a whole year, or similar, will reach this soon.)
The problem with using IEE 754 is that it is for binary fractions, while the (non-integer) numbers we are transmitting are decimal ones. While all binary fractions can be represented as decimal ones (with the same number of digits), the converse is not true (if you have a decimal number, then converting it into a binary one might give an infinite fraction, or loose precision).
Instead of limiting the number format in our guidelines by prescribing a specific format, maybe we should specify that API designers have to define a format whenever using number (or integer)?
OpenAPI offers float and double for people who want IEE 754, and we already introduced decimal for our money object, which can be used in general for arbitrary-precision decimal numbers.
For integers, there is int32 and int64, do we need something for "arbitrarily large"?

I found some good rule in our guidelines addressing this.
http://zalando.github.io/restful-api-guidelines/resources/Resources.html

Should: Only Use UUIDs If Necessary
... In any case, we should always use string rather than number type for identifiers.

Can we just separate this mention in its own rule?

@SergKam if you want to discuss IDs specifically, please open another issue. This issue is for guidance around numbers generally.

I think we have two issues:
IDs should be strings, not numbers. I guess we all agree here?

@ePaul As I've pointed out twice already, IDs are a different, specific subject.

Our string rule for id is very implicit (http://zalando.github.io/restful-api-guidelines/common-data-objects/CommonDataObjects.html#must-use-common-field-names). It's hard to deduce from it, that every id should be represented as string. We should have a top level rule for any field containing a reference/id to an entity to prevent this kind of problem. If some one still expects a certain format for the ID, he might add a pattern to declare that only numbers of a certain length are allowed.

The large number issue should be addressed by adding a format as suggested by @ePaul. In addition, we may add the rule that all clients have to take care to support arbitrary sized numbers by default for compatibility, if no format is provided.

Discussed in the meeting:

Whenever a number or integer is used, a format needs to be there, too.
We use the formats float, double (standard OpenAPI) and decimal (for arbitrary-precision decimal numbers) for number – the latter is preferred for money-related stuff.
We use the formats int32, int64 (standard OpenAPI) and bigint (for arbitrary-size integer numbers) for integer

From the meeting:
About the id as string or integer: We agree that the sentence at the common field names rule is too hidden. We don't really agree whether it should be more visible (a separate rule) or not be there at all.


Wizard opposition school spells don't track spell slots correctly

Describe the bug
A wizard's opposition school spells don't seem to properly calculate usages. For example, shield memorized with two slots won't let me cast it on myself (abjuration chosen as opposition school). The portrait shows yellow instead of green as expected.
To Reproduce
Steps to reproduce the behavior:

Create a wizard
Choose abjuration as opposition school (doesn't matter what you specialize in as far as I can tell)
Memorize shield
Try to apply it in bubble buffs

Expected behavior
Spell will be properly cast

Hmm, thanks


Python and Django update utests fixes

…g method not str.

I'm having trouble connecting to UpWork right now - you can email me at<EMAIL_ADDRESS>if needed

@jbothma going for training now.
2 tests should be fixed, going to investigate the rest right after I'm back.

Nice job!
On Thu, 20 Feb 2020 at 08:41, Tomasz Kolek<EMAIL_ADDRESS>wrote:

@jbothma https://github.com/jbothma going for training now.
2 tests should be fixed, going to investigate the rest right after I'm
back.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vulekamali/datamanager/pull/244?email_source=notifications&email_token=AABZSGMU3B3IWGUK2I3YJCDRDYQZJA5CNFSM4KYIASVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMK53LI#issuecomment-588635565,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZSGLSVDHI4737RMSAZ4LRDYQZJANCNFSM4KYIASVA
.

Sure @jbothma, most of open source projects I've worked in prefer force pushing in PRs that's why I get used to do it. Probably o keep totally clear history.
Will change that.

Ah cool - that's fine - I guess it makes rebases easier and history
cleaner. I think it's fine to rewrite within a branch but I was worried
that distinct fixes would end up all in one commit which isn't great :)
Today the priority is speed!
On Thu, 20 Feb 2020 at 14:02, Tomasz Kolek<EMAIL_ADDRESS>wrote:

Sure @jbothma https://github.com/jbothma, most of open source projects
I've worked in prefer force pushing in PRs that's why I get used to do it.
Probably o keep totally clear history.
Will change that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vulekamali/datamanager/pull/244?email_source=notifications&email_token=AABZSGOTEI3HUOEUY6JB463RDZWO3A5CNFSM4KYIASVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMNTTAY#issuecomment-588986755,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZSGNH2YS2U4UDZTS6F2LRDZWO3ANCNFSM4KYIASVA
.

2 left! :-)

Actually just one!

Nice! Remember the broken endpoints - see the screenshots and comments in
the original PR.
When they're fixed I'll run your branch and compare with prod and let you
know if I see any remaining issues. I suggest you also do that to get a
sense of what works and what doesn't.
On Thu, 20 Feb 2020 at 14:20, Tomasz Kolek<EMAIL_ADDRESS>wrote:

2 left! :-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vulekamali/datamanager/pull/244?email_source=notifications&email_token=AABZSGKOHZ7SF6M7DYGHMU3RDZYQ7A5CNFSM4KYIASVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMNVKDY#issuecomment-588993807,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZSGNPV6PRRSOIKOLJXR3RDZYQ7ANCNFSM4KYIASVA
.

You're doing an awesome job here! Thanks

Current status:
One test left to be fixed.
please replace unicode with str - DONE
No format options available when uploading national infrastructure projects - DONE

Nice! I'll upload some national projects and test them so long
On Thu, 20 Feb 2020 at 15:53, Tomasz Kolek<EMAIL_ADDRESS>wrote:

Current status:
One test left to be fixed.
please replace unicode with str - DONE
No format options available when uploading national infrastructure
projects - DONE
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vulekamali/datamanager/pull/244?email_source=notifications&email_token=AABZSGM45BDXUGXZRGJQAK3RD2DNBA5CNFSM4KYIASVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMOAOJY#issuecomment-589039399,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZSGJCIFHM7OGYJR4MAFTRD2DNBANCNFSM4KYIASVA
.

No format options available when uploading national infrastructure projects - DONE

Are you sure you've fixed this?

Oh I probably need to rebuild to get the new dep

Yeah, its weird, they said in the doc that support is on in 2.0.1 but upgrade help actually.

@jbothma
http://localhost:8000/2019-20/national/departments/basic-education/
Does it work on production? It seems like it's not related to upgrade.

Yup.
On Thu, 20 Feb 2020, 16:19 Tomasz Kolek<EMAIL_ADDRESS>wrote:

@jbothma https://github.com/jbothma
http://localhost:8000/2019-20/national/departments/basic-education/
Does it work on production? It seems like it's not related to upgrade.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vulekamali/datamanager/pull/244?email_source=notifications&email_token=AABZSGNVRA7W4QKKPNK7POTRD2GOJA5CNFSM4KYIASVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMOI4NQ#issuecomment-589073974,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZSGJVANVEBMOWOIZ4LCTRD2GOJANCNFSM4KYIASVA
.

Weird, for me, it looks like some API change. Will be investigating.

I'm quicky setting up a branch based on master to see if I can replicate it
On Thu, 20 Feb 2020 at 16:26, Tomasz Kolek<EMAIL_ADDRESS>wrote:

Weird, for me, it looks like some API change. Will be investigating.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vulekamali/datamanager/pull/244?email_source=notifications&email_token=AABZSGKHCLR7IOLETYFYZNDRD2HHTA5CNFSM4KYIASVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMOJVLQ#issuecomment-589077166,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZSGO5AR2CIJ5E2U6CZ4LRD2HHTANCNFSM4KYIASVA
.

Yup master branch + fresh DB + setup instructions loads basic education
page fine.
By the way, watch out - I've been doing some work with redirecting
.../basic-education to .../basic-education/ which cached a permanent
redirect, but master branch doesn't recognise the URL with trailing slash
so I get 404.
So 404 is probably a caching issue but 500 is definitely upgrade-related.
On Thu, 20 Feb 2020 at 16:38, JD Bothma<EMAIL_ADDRESS>wrote:

I'm quicky setting up a branch based on master to see if I can replicate it
On Thu, 20 Feb 2020 at 16:26, Tomasz Kolek<EMAIL_ADDRESS>wrote:

Weird, for me, it looks like some API change. Will be investigating.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vulekamali/datamanager/pull/244?email_source=notifications&email_token=AABZSGKHCLR7IOLETYFYZNDRD2HHTA5CNFSM4KYIASVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMOJVLQ#issuecomment-589077166,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZSGO5AR2CIJ5E2U6CZ4LRD2HHTANCNFSM4KYIASVA
.

@jbothma can you check this as well?
budgetportal.tests.test_prov_infra_projects.ProvInfraProjectIRMSnapshotTestCase
For me it fails even on master

confirm budgetportal.tests.test_pages.BasicPagesTestCase
works on master - will be checking it!

http://localhost:8000/2019-20/national/departments/basic-education/ this works on master indeed - checking as well.

Update about the test:
confirm budgetportal.tests.test_pages.BasicPagesTestCase
I think Django changed a way of evaluating urls in templates, thats why we see it.
Tried to repordude it on master by adding
    ds = DepartmentSubprogrammes(department)
    print(ds.get_detail_csv_url())

just above context variable
to bugdetportal/views.py
There is probably something wrong with mocking results mocking.

works for me
 (master) $ docker-compose -p datamanager-master run test python manage.py test  budgetportal.tests.test_prov_infra_projects.ProvInfraProjectIRMSnapshotTestCase

oh by the way master doesn't have the commands in the setup of each test n that module that clear the index - perhaps there's stuff left after a failed test?

Could you please elaborate on that, not sure if I understand.
I created the PR to check my hypothesis about Django lazy url generting.
https://github.com/vulekamali/datamanager/pull/245
It seems I'm right. Let me know what you think

This is what I was referring to - clearing the index before tests https://github.com/vulekamali/datamanager/pull/239/commits/a089d8d2d3a3d0b94c91faab02e1b6c7ddb7bf99

@jbothma Will check that. Thank you!
http://localhost:8000/2019-20/national/departments/basic-education fixed

http://localhost:8000/json/2019-20/focus.json probably resolved as well

http://localhost:8000/json/2019-20/national/original.json as well

@jbothma lets summarize what is still not done:

We still have 2 utests that fail
the "department preview pages" - you can reach this by selecting a department in the national or provincial treemap and clicking "epxlore department" (does it work on master? for me it doesn't but maaybe I'm doing something wrong)

I added your commit to my ensuring - still failing.

Merged elsewhere


WIP: Feature/validate image

Validation of firmware image.
Checks KM and BPM structures and dependencies between.

I'll get a strange error when calling fit.GetTable(image) a second time.

Test HasFitEntries: Valid
Test KM Header: Valid
Test KM Signature Offset: Valid
Test KM Reserved2: Valid
Test KM Revision: Valid
Test KM SVN: Warning - KM SVN is zero. This indicates a development Security Version Number
Test KM ID: Valid
Test KM Pub Key Hash Alg: Valid
2021/04/09 08:12:22 error parsing ME Flash Partition Table: ME Flash Partition Table signature 0x24465054 not found: first 20 bytes are:
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  00 30 00 00                                       |.0..|

Oh, I suspect the function does not work with coreboot images without the warning?

Any idea @rihter007 @xaionaro ?

Could you share the command you use?

/cbnt-prov validate coreboot.rom bpm_pub_key.pem km_pub_key.pem

This solves #174


How to get text from certain area of the images

How to get Text from only certain parts of an image. i.e. by passing the top,left,bottom,right coordinates and only get text within those coordinates

You can do the inverse. Get all text and further analyze the coordinates.


Add sword to pumpkin character

Pumpkin character now pulls out a sword when SPACE is pressed. Pressing SPACE again will put the sword away.

Codecov Report
Base: 54.26% // Head: 54.26% // No change to project coverage :thumbsup:

Coverage data is based on head (5b212c3) compared to base (aa2a575).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #134   +/-   ##
=======================================
  Coverage   54.26%   54.26%
=======================================
  Files           8        8
  Lines         164      164
  Branches       13       13
=======================================
  Hits           89       89
  Misses         75       75

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Sentence motion support?

In Vim it is possible to do stuff like "something to end of sentence". This feature would be very useful to include in this package. Anyone else thought of this or any plans made to include this later? Should be able to implement in a simliar fashion to how Paragraph operates already.

What about ) motion? That moves te cursor to the end of the sentance.

Cl


Last height not send to the server

i am building with --set_height_interval=1000000. works perfect even if the server is offline. it should send only the last height to the server but there is a bug in the code.
last = (int(self.max_size / common.SHARD_SIZE) + 1) == cur_height
last is max height + 1 and that will never happen cause build it will stop at max height

change the local code to last = (int(self.max_size / common.SHARD_SIZE)) == cur_height and that worked. pull request for master and or develop?

I also observed that during the upgrade from 1.3 to 2.03 while already having a finished a 10TB build that it immediately finishes. It will start to poll, but registers a height of 0 on the http://<IP_ADDRESS>:5000/api/online site. After I removed approximately 30 shards it rebuilt and adjusted the height and reported it, but in my case it was 81900 when I really have 81920 shards in the build location.

I actually set the height to report on every 10 so i would not fall off the api stats during the build.

Thank you very much for the fix! I merged it into develop and it will be in the next release.

as long as you wait for the bugfix in the next version you may use a workaround.
build with any height_interval you like. default is 25
at the end try this to send your last height to the server.
dataserv-client --url=http://status.driveshare.org:5000 --max_size=1TB --store_path=C:\Storj\ build --set_height_interval=1


[SMALLFIX] Improvements to invokeAll

Main improvement is to exit early if one of the tasks fails. This also improves the exception types - ExecutionException is needed to differentiate TimeoutExceptions thrown by callables vs TimeoutExceptions thrown by invokeAll
I noticed this issue when my worker failed to start due to an incorrect ramdisk size, but it took over 10 seconds for the error to appear because the process was stuck in invokeAll.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/467/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/468/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/472/
Test PASSed.


solr_geom: make optional

Some records, especially collection level records, do not have a bounding box.

Verified that new GEOMG and Solr accept records without coordinates. However, the upgraded geoportal v 3.3 will break if searches include a record without coordinates.
Related to this issue on GeoBlacklight: https://github.com/geoblacklight/geoblacklight/issues/1042


Shouldn't Wordpress be added?

As far as I understand, It has a proper REST API and can therefore be used as a headless CMS: https://developer.wordpress.org/rest-api/
Others seem to agree: https://fettblog.eu/wordpress-and-jamstack-sites/
Don't you think?

Wordpress still doesn't "just work" for headless, that's the issue. It's possible, but rough.
Here's a recent talk on the subject: https://www.youtube.com/watch?v=g0OfnWCcBk4

Perhaps we can add this when there is a very clear and direct positioning of WordPress as a headless CMS. For the moment, I'm closing this.


x/sync/singleflight: hangs after the first panic

What version of Go are you using (go version)?

$ go version
go version go1.14.2 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/kirk/Library/Caches/go-build"
GOENV="/Users/kirk/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY="*.byted.org,*.everphoto.cn,git.smartisan.com"
GONOSUMDB="*.byted.org,*.everphoto.cn,git.smartisan.com"
GOOS="darwin"
GOPATH="/Users/kirk/go"
GOPRIVATE="*.byted.org,*.everphoto.cn,git.smartisan.com"
GOPROXY="https://go-mod-proxy.byted.org,https://goproxy.cn,https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.14.2_1/libexec"
GOSUMDB="sum.golang.google.cn"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.2_1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3x/blq4wl4x6q512nmyr651qt_w0000gp/T/go-build088646219=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

I use singleflight to do something like creating a singleton client, all subsequent calls hang after the first panic.
Here is the code:
package main

import (
	"flag"
	"fmt"
	"log"
	"net"
	"net/http"
	_ "net/http/pprof"

	"golang.org/x/sync/singleflight"
)

var (
	port = flag.Int("port", 8000, "listening port")
)

func main() {
	flag.Parse()
	addr := fmt.Sprintf("<IP_ADDRESS>:%d", *port)
	lis, err := net.Listen("tcp", addr)
	if err != nil {
		panic(err)
	}

	http.HandleFunc("/ping", handlePing)
	log.Println("Server is listening on:", addr)
	http.Serve(lis, nil)
}

var doSthGroup singleflight.Group

func handlePing(w http.ResponseWriter, r *http.Request) {
	doSthGroup.Do("", func() (interface{}, error) {
		// simulating panic
		panic("invalid memory address or nil pointer dereference")
	})

	w.WriteHeader(http.StatusOK)
	fmt.Fprintf(w, "pong")
}

Using curl do tests after starting the above program, all requests are timeout expect the first.
$ # timeout is one second
$ for (( i=0; i<20; i++)); do curl -m 1 http://localhost:8000/ping; done
curl: (52) Empty reply from server
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1002 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1001 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1003 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1003 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1002 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1002 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1001 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1003 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 1001 milliseconds with 0 bytes received

And cloud sees there are 19 goroutines get stuck in singleflight.(*Group).Do through goroutine stack traces
$  curl "http://localhost:8000/debug/pprof/goroutine?debug=1"
goroutine profile: total 23
19 @ 0x10380a0 0x1048a40 0x1048a2b 0x1048692 0x1081474 0x1352aea 0x13536c5 0x12c3b04 0x12c5945 0x12c6e93 0x12c290c 0x1067431
#       0x1048691       sync.runtime_Semacquire+0x41                    /usr/local/Cellar/go/1.14.2_1/libexec/src/runtime/sema.go:56
#       0x1081473       sync.(*WaitGroup).Wait+0x63                     /usr/local/Cellar/go/1.14.2_1/libexec/src/sync/waitgroup.go:130
#       0x1352ae9       golang.org/x/sync/singleflight.(*Group).Do+0xa9 /Users/kirk/go/src/golang.org/x/sync/singleflight/singleflight.go:59
#       0x13536c4       main.handlePing+0x44                            /Users/kirk/sg_hang.go:34
#       0x12c3b03       net/http.HandlerFunc.ServeHTTP+0x43             /usr/local/Cellar/go/1.14.2_1/libexec/src/net/http/server.go:2012
#       0x12c5944       net/http.(*ServeMux).ServeHTTP+0x1a4            /usr/local/Cellar/go/1.14.2_1/libexec/src/net/http/server.go:2387
#       0x12c6e92       net/http.serverHandler.ServeHTTP+0xa2           /usr/local/Cellar/go/1.14.2_1/libexec/src/net/http/server.go:2807
#       0x12c290b       net/http.(*conn).serve+0x86b                    /usr/local/Cellar/go/1.14.2_1/libexec/src/net/http/server.go:1895

What did you expect to see?
All requests fail immediately
What did you see instead?
All requests are timeout expect the first

Thanks for the report. It looks like it might be a duplicate of #33519. Is that your understanding too?

@dmitshur It should be, I am sorry missing it when raising the issue

Thanks for confirming—that is quite okay. I'll close this in favor of that issue.


Lambda zip size can't exceed 250MB.

Currently a simple npm install moonset would result a 440MB node_modules.
It would break Lambda limit:
Unzipped size must be smaller than 262144000 bytes (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: 4412d981-9e8f-45cf-b077-c76552e43939)

440MB is too large, what we can do to drive this size down?

Moving the typescript from dependencies to devDependencies reduces 440MB to 224MB.

Here are some top sized dependencies.
➜  moonset-test du -sh node_modules/* | sort -hr | head -n 10
86M     node_modules/aws-cdk
52M     node_modules/@aws-cdk
51M     node_modules/aws-sdk
17M     node_modules/rxjs
4.9M    node_modules/lodash
3.5M    node_modules/protobufjs
896K    node_modules/@types
856K    node_modules/async
840K    node_modules/source-map
592K    node_modules/@moonset

Not valid anymore. We use step function to direct invoke EMR. No lambda is used. Such an approach would make the runtime simple.


esp8266/NodeMCU: 'E2END' was not declared in this scope

I'm trying to compile and upload the firmware from Arduino IDE to an IdeaSpark esp8266 (NodeMCU 1.0 (ESP-12E Module)) device (not sure if it's supported in the first place).
First problem encountered:
In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:1:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp: In member function 'int16 EEPROMWearLevelingReader::findPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:51:17: note: in expansion of macro 'EEPROM_SIZE'
   51 |  while (count < EEPROM_SIZE && reader.peek() == EEPROM_END_MARK)
      |                 ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:60:18: note: in expansion of macro 'EEPROM_SIZE'
   60 |  while (count <= EEPROM_SIZE)
      |                  ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingReader.cpp:85:18: note: in expansion of macro 'EEPROM_SIZE'
   85 |  while (count <= EEPROM_SIZE)
      |                  ^~~~~~~~~~~
In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp:2:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp: In member function 'void EEPROMReader::incrementPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp:16:43: note: in expansion of macro 'EEPROM_SIZE'
   16 |  position = positive_modulo(position + 1, EEPROM_SIZE);
      |                                           ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp: In member function 'void EEPROMReader::decrementPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.cpp:21:43: note: in expansion of macro 'EEPROM_SIZE'
   21 |  position = positive_modulo(position - 1, EEPROM_SIZE);
      |                                           ^~~~~~~~~~~
In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMReader.h:4,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.h:3,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp:1:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp: In member function 'int16 EEPROMWearLevelingWriter::findPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp:65:17: note: in expansion of macro 'EEPROM_SIZE'
   65 |  while (count < EEPROM_SIZE && reader.peek() == EEPROM_END_MARK)
      |                 ^~~~~~~~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWearLevelingWriter.cpp:74:18: note: in expansion of macro 'EEPROM_SIZE'
   74 |  while (count <= EEPROM_SIZE)
      |                  ^~~~~~~~~~~
In file included from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.h:3,
                 from /arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.cpp:2:
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.cpp: In member function 'void EEPROMWriter::incrementPosition()':
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMUtils.h:7:24: error: 'E2END' was not declared in this scope
    7 | #define EEPROM_SIZE   (E2END + 1)
      |                        ^~~~~
/arduino/physicalbits-0.5.1/firmware/UziFirmware/EEPROMWriter.cpp:16:43: note: in expansion of macro 'EEPROM_SIZE'
   16 |  position = positive_modulo(position + 1, EEPROM_SIZE);
      |                                           ^~~~~~~~~~~

exit status 1

Compilation error: 'E2END' was not declared in this scope

Is the reliance upon E2END correct and an expectation for every board or is to avr-centric? Is this attempt a dead-end or something that could realistically be overcome?

I haven't tried compiling for ESP8266 yet, only Arduino. I don't expect it to be very hard, but some libraries might need replacements.
Regarding E2END, I don't think we should rely too heavy on it. Maybe we should have some configuration file to define constants such as these for boards that don't have them.
I don't have a lot of time right now, but I think I have an ESP8266 lying around somewhere. It would be nice to support it. If I can take some time off work I'll try compiling for it in the following days. Let me know if you advance any further, though...


Adopting powershell utilities instead of wmic and lpr, Added driver_name to Printer struct

This fixes the issues #8, #9 and #10

https://crates.io/crates/printers/1.2.0


add multilingual benchmarks

see https://github.com/FreddeFrallan/Multilingual-CLIP
see https://github.com/LAION-AI/CLIP_benchmark/issues/1
will help evaluate multilingual clips
methods:

integrate existing translated from english benchmarks
translate all english benchmarks
find native of the language benchmarks (important to show better understanding of native concepts)

https://github.com/rinnakk/japanese-clip/blob/master/src/japanese_clip/utils/imagenet_zeroshot_data.py#L1 is an easy start

plan here
take https://github.com/LAION-AI/CLIP_benchmark/blob/main/clip_benchmark/datasets/builder.py#L497
create files:

en_classification_templates.json
en_classnames.json

Then same for jp
then pass around params

https://github.com/ai-forever/ru-clip/blob/main/deprecated/clip/evaluate/classes.json russian classnames

zero shot classification infra done
retrieval still need to be done

next steps here:

automatically translate imagenet classes and prompts in many languages
add some retrieval datasets
evaluate against multilingual clip

https://github.com/OFA-Sys/Chinese-CLIP/blob/master/cn_clip/eval/imagenet_zeroshot_templates.py Chinese classnames

closing in favor of more specific issues


SmartCrop: You have provided a FaceIndex value that exceeds the length of the zero-based detectedFaces array.

I'm attempting to use the smartCrop option:
edits: {
  smartCrop : true
}

This error is logged in CloudWatch:
{ status: 400,
code: 'SmartCrop::FaceIndexOutOfRange',
message: 'You have provided a FaceIndex value that exceeds the length of the zero-based detectedFaces array. Please specify a value that is in-range.' }

It is failing because of this line. It doesn't first check if any faces were detected before it starts defining the bounding box. In my opinion, smartCrop should fail gracefully (not crop) if no faces were detected in the image. Would you accept a PR for this, or provide some advisement on how best to implement it?

@joebernard I came across this. I tried debugging it by breaking down the code and doing some console.logs(). To my surprise, when I did that I found that it did actually manage to log detectedFaces array with one entry in it, and also it managed to log the bounding box. So I think this may be more complicated. It would be interesting if you could try the same experiment and see if you get the same thing.
This is how I was logging:
```
console.log('faceIdx = ' + faceIdx);
const req = (await request);
console.log(req);
console.log(req.FaceDetails[faceIdx]);
var response = req.FaceDetails[faceIdx].BoundingBox;
console.log(response);
return Promise.resolve(await response);

and this was the output of the console.log calls:
console.log(req);

{ FaceDetails:
[ { BoundingBox: [Object],
Landmarks: [Array],
Pose: [Object],
Quality: [Object],
Confidence: 99.9921646118164 } ] }

console.log(req.FaceDetails[faceIdx]);

2019-07-19T14:59:09.751Z	1ee4d629-bdf0-48db-8c2e-6e1855135cfc	{ BoundingBox:
{ Width: 0.08595786243677139,
Height: 0.08245693892240524,
Left: 0.3658732771873474,
Top: 0.252895712852478 },
Landmarks:
[ { Type: 'eyeLeft',
X: 0.3878157138824463,
Y: 0.29333987832069397 },
{ Type: 'eyeRight',
X: 0.4070296287536621,
Y: 0.2882431745529175 },
{ Type: 'mouthLeft',
X: 0.4075484573841095,
Y: 0.31989386677742004 },
{ Type: 'mouthRight',
X: 0.42255866527557373,
Y: 0.31640052795410156 },
{ Type: 'nose', X: 0.3886948525905609, Y: 0.3095017373561859 } ],
Pose:
{ Roll: -26.110822677612305,
Yaw: -56.12600326538086,
Pitch: -0.6558781266212463 },
Quality: { Brightness: 84.3766860961914, Sharpness: 46.02980041503906 },
Confidence: 99.9921646118164 }

and then the error:
`2019-07-19T13:58:35.184Z	18b4b12c-703c-4d7f-b8fd-7067acaa10de	TypeError: Cannot read property 'BoundingBox' of undefined`

I'm not really a node developer, so it might be I was not understanding how promises and await works. This behaviour seemed very strange to me though.

Unfortunately at this point I had to forget about using SmartCrop and move on, as the lambda environment upgrade had broken my live site, so I just had to get things working as fast as possible.

Another important thing to know for the change between v3 & v4 is that v3 (using thumbor rekognition - https://github.com/yu-liang-kono/thumbor_rekognition/blob/master/thumbor_rekognition/init.py#L32) detected multiple faces and then adjusted the focus to include them all. v4, on the other hand, just focuses on a single face (defaulting to the first one, unless specified)

Any updates, or possible solutions to this? We recently updated to v4 as well and relying on smart cropping was very important to us since we used it to automatically crop user's profile pictures. We're getting the exact same error on photos that have have zero faces and it's required us to disable smart cropping for now. This feature is extremely important to us and we'd like to get it resolved soon if possible. Thank you!

@crpahl Apologies for the inconvenience, I'm looking into the issue right now. For clarification, are you looking for the original image to be returned when zero faces are detected with SmartCrop?

@hayesry No problem and thank you for the quick response!
Yeah exactly that. We're just looking for the original image to be returned. In our case, our users will occasionally upload profile pictures that have no faces in them (such as company logos).

@crpahl Gotcha! I've added this to our feature request board and will try to have it published in the next update. Really appreciate the feedback!

FWIW, I'm working on a PR that brings in https://github.com/jwagner/smartcrop.js (MIT licensed, no dependencies) and uses that plus Rekognition for some really nice results. I hope to get that submitted this weekend. I'm using it in production now, and I'm very happy with the quality of the results.

FWIW, I'm working on a PR that brings in https://github.com/jwagner/smartcrop.js (MIT licensed, no dependencies) and uses that plus Rekognition for some really nice results. I hope to get that submitted this weekend. I'm using it in production now, and I'm very happy with the quality of the results.

@ecaron Hello Eric, It would be really helpful if you could kindly push out the pull requests. Thank you

Any update on the smartcrop PR?

The current state on the fork from @ecaron seems to work well at least in our testing

Sorry, I've been delaying submitting the change for a PR because I haven't reviewed the license tree of the dependency & I haven't written tests yet. Since there's so much interest and this ticket is getting some age on it, I'll put time to this tonight.

That sounds great. One detail we have changed is to force the image to be PNG (.png() in applyEdits()). Without this webp images don't work because either smartcrop or recognition don't accept webp.

Another issue that's worth pointing out with ecaron's excellent code is that AWS Recognition has a 5MB upload limit which a large image might hit. It's fairly straightforward to solve for nearly all cases by rescaling what you send to Recognition (it returns relative coordinates anyways).

smartCrop is still breaking as of version 5 of serverless image handler. It breaks whether smartCrop is set to true or an object as specified in the docs. It breaks if the image actually has a face to detect or not. I can't get it working under any conditions.
From CloudWatch:
ImageRequest {
  requestType: 'Default',
  bucket: 'my-bucket',
  key: 'my-image.jpg',
  edits: {
    resize: { width: 414, height: 414, fit: 'cover', strategy: 'attention' },
    smartCrop: true
  },
  ContentType: 'image/jpeg',
  LastModified: 'Sun, 18 Oct 2020 17:14:07 GMT',
  CacheControl: 'max-age=31536000,public',
  originalImage: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 48 00 48 00 00 ff e1 00 58 45 78 69 66 00 00 4d 4d 00 2a 00 00 00 08 00 02 01 12 00 03 00 00 00 01 00 01 ... 1043242 more bytes>
}

TypeError: Cannot read property 'BoundingBox' of undefined
    at ImageHandler.getBoundingBox (/var/task/image-handler.js:220:50)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async ImageHandler.applyEdits (/var/task/image-handler.js:110:37)
    at async ImageHandler.process (/var/task/image-handler.js:27:35)
    at async Runtime.exports.handler (/var/task/index.js:24:34)

@joebernard Sorry for the late response and inactive engagement for this issue. This issue is in our backlog, but I'll take a look at this one again.

can we expect this to be fixed in the next release, waiting for this since July. Also I hope the images will be cached after processing as calls to rekognition are chargeable.

Hi @beomseoklee, has there been any progress on this?

We have fixed these issues with smart cropping in v5.2.0.

We have fixed these issues with smart cropping in v5.2.0.

I upgraded to v5.2.0. It returns a 400 error with these settings:
smartCrop: {
  faceIndex: 0,
  padding: 1
}

{"status":400,"code":"SmartCrop::PaddingOutOfBounds","message":"The padding value you provided exceeds the boundaries of the original image. Please try choosing a smaller value or applying padding via Sharp for greater specificity."}

No matter what padding value I try it returns the same error. If no padding is passed it does return a face very closely cropped and not really usable.

Has anyone been able to get padding working with smartCrop? It seems to only work on pictures that contain a face. If the pic does not contain a face, it throws the error above.
@G-Lenz Should I open a separate issue for this?

Hi @joebernard you can feel free to open a new issue, I have also added the issue to our backlog. Thank you for bringing this to our attention.

Closing this as the faceIndex issue is resolved in 5.2.0.
I opened #263 regarding the padding issue.


Blueprints page UI refinements

The updates included in this PR:

Refactor the state for blueprints to include:

fetchingBlueprints to indicate when blueprints are being fetched, so that we can display a Loading message on the Blueprints page while this is happening (closes #258)
errorState for fetching blueprints, so that we can display an error message on the Blueprints page
errorState for fetching blueprint contents, so that we can display an error message on the Blueprint page > Selected Components tab or Edit Blueprint page

Display a loading message when fetching blueprint contents
Update loading component so that it doesn't display immediately
On Blueprints page, disable actions Create Image and Export when a blueprint has no contents (closes #255)
On Blueprints page, disable Create Blueprint action if an error occurred fetching blueprints

Updates not covered in this PR:

Refactoring the Available Components panel to show loading and error states
Refactoring Blueprint page > Images tab to show loading and error states
On Blueprint page > Images tab, disable action Create Image in the Empty State message

This looks pretty good to me. The only issues I have are one of the create image buttons isn't disabled.

Also, I wasn't able to get the loading message when fetching blueprint contents to display. What is the workflow that shows this? Below is what I see on load:

@jgiardino, could you please rebase master to make end to end test work. Thanks.

Thanks for reviewing, @jkozol!

This looks pretty good to me. The only issues I have are one of the create image buttons isn't disabled.

I captured this issue in #280.

Also, I wasn't able to get the loading message when fetching blueprint contents to display. What is the workflow that shows this? Below is what I see on load:

I added a 1/2 second delay on displaying the Loading component. Maybe that's what you're seeing?

@henrywang Thanks for the tip 👍 I rebased this PR.

@henrywang issues 2. and 3. should have been fixed with #231
For issue 1. that you noted, maybe there's some other issue with your local build that's preventing it from fetching the available components? I'm not seeing an issue with my vm and my local build from this branch.

@jkozol, I'll merge this PR if you do not have other comment. Thanks.


Edge case bug?

Looks like 0 is passed to Intn?
panic: invalid argument to Intn

goroutine 8 [running]:
panic(0x539800, 0xc42000edb0)
	/usr/lib/go/src/runtime/panic.go:500 +0x1a1
math/rand.(*Rand).Intn(0xc4200104a0, 0x0, 0x0)
	/usr/lib/go/src/math/rand/rand.go:116 +0xd0
github.com/fogleman/primitive/primitive.NewRandomEllipse(0x1, 0x1, 0xc4200104a0, 0x0)
	/usr/lib/go/src/github.com/fogleman/primitive/primitive/ellipse.go:22 +0x8d
github.com/fogleman/primitive/primitive.(*Model).RandomState(0xc420072210, 0xc420018600, 0x3, 0x80, 0xc4200104a0, 0x20)
	/usr/lib/go/src/github.com/fogleman/primitive/primitive/model.go:198 +0x3bd
github.com/fogleman/primitive/primitive.(*Model).BestRandomState(0xc420072210, 0xc420018600, 0x3, 0x80, 0x64, 0xc4200104a0, 0x0)
	/usr/lib/go/src/github.com/fogleman/primitive/primitive/model.go:179 +0x7e
github.com/fogleman/primitive/primitive.(*Model).BestHillClimbState(0xc420072210, 0xc420018600, 0x3, 0x80, 0x64, 0x64, 0x2, 0xc4200104a0, 0x0)
	/usr/lib/go/src/github.com/fogleman/primitive/primitive/model.go:162 +0xcf
github.com/fogleman/primitive/primitive.(*Model).runWorker(0xc420072210, 0x3, 0x80, 0x64, 0x64, 0x2, 0xc42005a180)
	/usr/lib/go/src/github.com/fogleman/primitive/primitive/model.go:154 +0x234
created by github.com/fogleman/primitive/primitive.(*Model).runWorkers
	/usr/lib/go/src/github.com/fogleman/primitive/primitive/model.go:136 +0x13b

What image and arguments did you run with?

I ran this in a batch job; didn't really catch the image being processed that generated this error.
These are small images downloaded then passed to primitive. Of the hundreds of images, on which the same arguments are used, this is the one single image that produced this error.
Since randomness is involved, I thought it might just be an edge case of 0.

sorry imsont know
On Monday, September 26, 2016, lolilolicon<EMAIL_ADDRESS>wrote:

I ran this in a batch job; didn't really catch the image being processed
that generated this error.
These are small images downloaded then passed to primitive. Of the
hundreds of images, on which the same arguments are used, this is the one
single image that produced this error.
Since randomness is involved, I thought it might just be an edge case of 0
.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fogleman/primitive/issues/18#issuecomment-249771379,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVMQpG3c8StKY5KF-fexjBYXgfg0Yuh9ks5quKyngaJpZM4KF4AE
.

I suspected a tiny image. I think some other code changes fixed it anyway.


topic_popover: Add a 'Regular' option and Show 'Unmute' option conditionally.

CZO Discussion
The Unmute option is available in not-muted streams only when it is the current value.
Add a Regular option. Available in both muted and not-muted streams. Regular corresponds to the INHERIT visibility policy.
Summary:

In muted streams:

Four options: Mute, Regular, Unmute, and Follow.

In not-muted streams:

Three options: Mute, Regular, and Follow.
The fourth option, Unmute is available only when it is the current value.

Note: we are still discussing the icons to use. For now, I have kept the icons for "Regular" and "Unmute" as the same. The changes are not visible outside the dev env; so we can update the icons (once finalized) in a small commit.

Screenshots and screen captures:
Popover 1

Popover 2

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

@zulipbot add "mentor review"

Thanks for the PR! Tested out manually and works great!
Code also looks good to me, apart from the comment above.

Updates in the recent push:

Addressed the review comments.
Updated the icons as per CZO discussion.

@zulipbot add "integration review"

This is great, merged, thanks @prakhar1144 and @abhijeetbodas2001!


typo fix in  HaxeManual/08-compiler-features.tex

Looks like there's a lot of unrelated whitespace changes here.

@Aurel300 thanks for suggestions


Add MCP and Config Version columns to MCN output

updated MCN output to include the pool name and config versions. Changed these to a higher priority and redid the priorities on the other columns so they only show up in -o wide

Changes look good, have you tested what the output of an oc get machineconfignodes and oc get machineconfignodes -o wide looks like here?

Had a conversation with Joel and moved all of the required output columns to priority 0. moved the rest to priority 1 so its available when specifying -o wide

/lgtm
/shrug

/lgtm


add typescript definition file

This allows seamless integration of this module in projects written in TypeScript.
Also, development workflows in editors supporting typescript (eg VS Code & Atom) are enhanced by providing autocompletion for arguments

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Oh, I just saw that there is a rewrite in TypeScript in progress, so I guess this can be closed?

Yes! ✌


RGB norm

Description
Evaluate newly added S2 RGB norm, implement for HLS.

implemented in v0.0.9


App is damaged and can't be opened

Sometimes you may encounter this error while trying to start the application.
Solution is to remove quarantine flag: xattr -cr ~/Downloads/Project\ Aim.app
Saw it here.
I suggest to put this remark in readme.

Hi,
We sincerely appreciate you bringing this matter to our attention. Your input is valuable to us, and we are grateful for your assistance in identifying this issue.
This issue is similar to https://github.com/ahmadhayyan/project-aim/issues/4.
The issue at hand is probably due to the .app file being contained within a ZIP archive that has been downloaded from the internet, rather than the Mac App Store, making it untrusted by the MacOS.
I am uncertain whether the information in question would be relevant for inclusion in the readme document as it is an issue from the MacOS side.
However, I would like to express my gratitude for the benevolent intentions you have shown. Your efforts are truly appreciated.
Thank you.


web-dev-13: chrome not working

I'm using plugin version 0.0.0-web-dev-13 and it is not working on chrome (only tested on windows). It seems chrome is not returning an HTMLElement when calling document.getElementById, it is returning an Element and so renderComposable(rootElementId = "app") just fails with a ClassCastException (on firefox works).
What version can I use?

On android is working but version is 90.0.4430.210

Hi @userquin
What project did you use when the issue occurred?
I tried to build and run https://github.com/Foso/compose-snake-web also from the link - https://foso.github.io/compose-snake-web/index.html
I was using Win10 and Chrome 91.0.4472.77 when trying to reproduce but it worked fine.

@eymar a fork of snake project running on local machine also failing on remote, the output is created right now:

upps, on incognito just works... some plugin installed on chrome???

@eymar I don't know why using HTMLElement instead Element since document.getElementById just returns an Element, the api is there.
In fact DomNodeWrapper requires a Node, renderComposable requires HTMLElement, this make no sense !!!.

@userquin did you find what plugin in chrome caused the probelm?
thanks!

@eymar I have a few, I'm going to disable them one by one and then I'll tell you which one

@eymar Polymer DevTools Extension is causing the problem: WTF

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Feature: Improved the display of keyboard shortcuts in the Command Palette

Summary
As the title.
PR Checklist

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #13200
[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[x] Did you implement any design changes to an existing feature?

[x] Was this change approved?

[x] Are there any other steps that were used to validate these changes?

Open Command Palette with no words

Screenshots

@hishitetsu Is secondary display and supplymentary display used no longer in this PR? If so, I'd like to remove them in this PR.

They were originally intended to be displayed on two lines, one in the native language and one in English, as in VSCode. If we don't plan to do so, you may remove them.

Thanks. I will remove for now.

@0x5bfa can you try to center the text vertically?

Two hours please I have something else to do irl.


classic and stateful ES7 components

Adds 2 basic templates of React.Component with ES7 property initializers

Without the state object (codename: classic)
With an empty state object (codename: stateful)

Thanks a lot for your contribution @hmeissner 🥇 !


Add custom fields to the People app

I would like to define custom fields, such as:

GitHub username
Skype ID

It should be possible to add one or more custom fields to a Person.

cc @chrhol

There should be a new button at the top of the Person's page: "Add custom field".
A person can have multiple custom fields.
A custom field consists of:

type (selectable from the autocomplete - or editable, when you want to write a new)
value

The data model and view-model can be inspired by EmailAddress.

Implemented in PR #40

Closing as done


Captcha

     GoogleRecaptchaV3

     {
       "CaptchaSettings": {
         "UseCaptcha": "GoogleRecaptchaV3", // empty if dont want to use
         "GoogleRecaptchaV3": {
           "Secret": "yoursecretapikey",
           "ApiUrl": "https://www.google.com/recaptcha/api/siteverify"
         }
       }
     }

https://dev.to/spencer741/google-recaptcha-v3-server-side-validation-using-asp-net-core-5-0-3hfb

Can I give you a general advice: don't blindly copy code from the internet.
You did a good effort, don't get me wrong... Just don't think you picked the right article. ;-)
It would also be nice to see the client side implemented on the blazor wasm project. So we can see it in action.
I see you added it to the tokens service now. I think the most important place where we need a captcha is the new user registration. I wouldn't even make it optional there, at least when Anonymous is allowed.
So we'll probably need a separate switch "enableOnLogin", or multiple if there are more places where a captcha would be appropriate.
We should also design the interface so it can be easily implemented for other captcha providers. Maybe we should support 2 different providers from the start so we can make the abstraction generic enough and ensure we don't leak implementation details...

I think these 2 options could be implemented, literally they are almost the same in their implementation
https://developers.google.com/recaptcha/docs/v3
https://docs.hcaptcha.com/switch/

This idea should continue, the project has exposed resources anonymously, which without a capcha is very insecure @CanMehmetK


Chore forbid create mv have calculations included outside aggregate functions

Proposed changes
forbid create mv have calculations included outside aggregate functions
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


What dataset is CBOE_VX from?

Doug awesome work here.  what dataset is CBOE VX data from ?

Back at that time it was quandle, but now I am working on downloading it from cboe.

It is downloading from CBOE now back to the beginning of time.
https://www.cboe.com/us/futures/market_statistics/historical_data/
Work in progress but you can download it from remove_quandl branch at tag March_2023_downloads_work,
pip install -e .[dev,examples]
in the examples folder run
py c_plot_vix_term_structure.py
if it goes ok you can see the term structure history.

Great
On Wed, Mar 8, 2023, 10:27 Doug Ransom @.***> wrote:

It is downloading from CBOE now back to the beginning of time.
https://www.cboe.com/us/futures/market_statistics/historical_data/
Work in progress but you can download it from remove_quandl branch at tag
March_2023_downloads_work,
pip install -e .[dev,examples]
in the examples folder run
py c_plot_vix_term_structure.py
if it goes ok you can see the term structure history.
—
Reply to this email directly, view it on GitHub
https://github.com/dougransom/vix_utils/issues/3#issuecomment-1460332261,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOJWA3I24K657W3OVLHYVTW3CQNJANCNFSM5HRJVXSA
.
You are receiving this because you authored the thread.Message ID:
@.***>

as of today it is working.  install from pip or github as you need.


⚠ Redacted has degraded performance

In 9a42963, Redacted ($RED) experienced degraded performance:

HTTP code: 200
Response time: 2189 ms

Resolved: Redacted performance has improved in d55ef70 after 4 minutes.


⚠ ClamAV has degraded performance

In 340b889, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 54 ms

Resolved: ClamAV performance has improved in db0346a.


Unable to use ¶ in like statement

Environment

Python: 3.10.4
pyodbc: 4.0.32
OS: PopOS 22.04
DB: Eloquence (pretty obscure)
driver: SQL/R (part of Eloquence, also obscure, see https://www.marxmeier.com/sqlr/ )

Issue
I want to query a field that contains a ¶ character. A basic example of this would be such as:
sql = """
    select
        prod_code,
        prod_loc
    from product
    where prod_loc like '%¶%'
"""

This returns no results while a value in prod_loc is stored like:
&102D&n365 ¶

I set my connection up as:
import pyodbc
from os import environ

class EloquenceConnect:
    cursor = None

    def __init__(self):
        connection = pyodbc.connect('DSN='+environ['ODBC_DSN'])
        connection.setencoding(encoding='utf-8')
        self.cursor = connection.cursor()

I suspect there's some mishap with how I have set up the connection's encoding, or maybe I need to set the decoding as well? Any suggestions on how to handle this?

You're right that this likely has something to do with encoding. I suggest retrieving the field from the database through the driver, inspecting the byte sequence to determine the encoding it returned the data in, and using that in sending data to the driver.

Further to comment from @v-chojas - You could do something like this:
import pyodbc

cnxn = pyodbc.connect(…)

def string_bytes(byte_data):
    return byte_data

cnxn.add_output_converter(pyodbc.SQL_WVARCHAR, string_bytes)

crsr = cnxn.cursor()
print(crsr.execute("SELECT ? AS foo", "¶").fetchval())
# b'\xb6\x00'

This was executed against SQL Server. The Pilcrow Sign ('¶') is U+00B6 and we see that the server returned the character as those two bytes in reverse order, so the encoding is UTF16-LE (UTF-16 is the default for pyodbc). If the server had returned b'\xc2\xb6' then the encoding would be UTF-8 and you would need to use setdecoding()/setencoding() as described in the wiki.


Fix category mapper

This PR completes support for the CategoryMapper operator when the input is a tensor of strings. It adds a end-to-end test in TestCategoryMapper.cpp  for testing a tensor of strings input.

@jenkins-droid test this please

@etiotto could you address Alex's comments please?

@etiotto could you address Alex's comments please?
Working on it.

BTW, I remember we agreed that we should avoid doing force-pushed since it is difficult to review requested changes.
Yes, sorry. My build got into a messy state after merging main.

Jenkins Linux amd64 Build #4157 [push] Fix CategoryMapper code ... started at 09:10

Jenkins Linux s390x Build #4154 [push] Fix CategoryMapper code ... started at 10:10

Jenkins Linux ppc64le Build #3270 [push] Fix CategoryMapper code ... started at 10:12

Jenkins Linux s390x Build #4154 [push] Fix CategoryMapper code ... passed after 1 hr 6 min

Jenkins Linux ppc64le Build #3270 [push] Fix CategoryMapper code ... passed after 1 hr 7 min


Multi-tenant dashboard

Add MultiTenantMiddleware to be able to use multiple databases proxied by PgCat.
Enable persistent database connections.

When you say multi tenant, I think of multiple databases in one Postgres cluster (i.e. CREATE DATABASE uuid), rather than pg_cat sharding.

@levkk I think you can close this as well


OdcmModel Refinements

Refinements to the OdcmModel:
[1] Since only classes inherit, Base and Derived properties moved from OdcmType to OdcmClass.
[2] Added IsAbstract and IsFlags to OdcmClass and OdcmEnum, respectively.
[3] Removed OdcmModel property from IReader and enabled multi-threaded execution of ODataReader.v3 and ODataReader.v4.
[4] Added a few new unit tests to ODataReader.v4UnitTests.

There is a latent bug with the new MediaEntity class kind. I'm correcting the problem and will revise the pull request.


Implementing User Authentication and Registration in Flutter

Added code for Implementing User Authentication and Registration in Flutter

Approved by Akaash Saxena


router precedence works unexpectedly

I have two routes:
authorsById[{keys:ids}][{keys:fields}]
authorsById[{keys:ids}][{keys:fields}][{keys:fieldProps}]
For some reason when I request authorsById['1'].name authorsById[{keys:ids}][{keys:fields}][{keys:fieldProps}] route takes precedence to authorsById[{keys:ids}][{keys:fields}]
I receive pathSet, where pathSet[3] = [ undefined ]
Is it expected behaviour? Shouldn't the first route takes precedence, as there are not enough arguments?

@almasakchabayev I am going to get a test case up for this and make a fix on falcor-router.  The issue has been moved to the aboved linked ticket on the router.

Could you please patch update the falcor version with this fix?


Redundant if?

The if statement is not needed. Not sure if intent was meant to show
something else?

Ah, yeah. The original idea was to build a two-level table drill-down before the final detail page, but then ended up just keeping it simple. Accepting the PR to avoid confusion - I may revisit and include the additional table in future. :)

Makes sense, thanks @conceptdev


Stop importing cockpit's base1/patternfly.css

This is deprecated API and will be dropped at some point, in  of projects shipping their own CSS.
Follow https://github.com/cockpit-project/starter-kit/blob/master/webpack.config.js approach on how to use PF CSS.
(I notice that you don't use webpack for bundling your project so that might need a different approach from the starter-kit)

Please see the announcement for some details and links.

Thanks, we will drop the cockpit code using this here as this is no longer in use for years and totally outdated.


[HOLD for payment 2023-08-16] [$1000] Web - The state name in the company information does not update to "Incorporation State," causing both state names to appear the same

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to Settings > Workspaces
Select a workspace and access "Connect Bank Account."
Proceed to Step 2 out of 5.

Expected Result:
The second state name in the company information should be changed to "Incorporation State."
Actual Result:
The state name in the company information does not update to "Incorporation State," causing both state names to appear the same
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.47-3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/1296b51f-99b5-411a-a1b1-a87f69728201
https://github.com/Expensify/App/assets/93399543/3dedab47-6e41-4d7c-9ef3-29fd616bbd52
Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690576478988209
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0180f3b211410f7a0c
Upwork Job ID:<PHONE_NUMBER>560549376
Last Price Increase: 2023-08-10
Automatic offers:

dhairyasenjaliya | Contributor | 25889382

@mananjadhav are you able to review the proposal above?

Thanks for the bump. @dhairyasenjaliya's proposal looks good to me.
🎀 👀 🎀  C+ reviewed.

Makes sense to me!

@francoisl I can see the same report for Personal Information too. Should we handle this in a separate issue?

Ohh thanks for clarifying. I did mark the report as duplicate, but then I read Personal Information, so I thought we missed something.

Okay I just saw you've commented. thanks for that too 😄

@adelekennedy I am going OOO for a week, so tapping you in to help out in the interim. Thanks!

@adelekennedy @kevinksullivan This was deployed to production, but [Hold for Payment] isn't updated in the title.

I'll finish the checklist today. I think it is related to when we migrated to StatePicker component. Meanwhile @adelekennedy can you post the payment summary here?

As I mentioned we added refactored the StatePicker component in this PR, but we didn't add the label property.
I've added a comment in the PR. I think the following point  covers the impacted components, but we missed testing it.
I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)

I don't think we need a regression test here.
cc - @adelekennedy

Payouts due:
Issue Reporter: $250 @ayazhussain79
Contributor: $1000 @dhairyasenjaliya Upwork
Contributor+: $1000 @mananjadhav NewDot
Eligible for 50% #urgency bonus? Y
Upwork job is here.

Reviewed the details for @mananjadhav. This $1,5000 payment is approved in NewDot based on the BZ summary above.

@JmillsExpensify Can you correct the amount from $15000 to  $1500. 🤑

stepping back in to handle final payment. @ayazhussain79 just sent an offer for reporting. Let me know when you accept!

@kevinksullivan offer accepted, Thank you

@kevinksullivan everyone was already paid!

I think not everyone

yeah, @adelekennedy @ayazhussain79 didn't appear to get paid for reporting so I just sent them an offer

Alright, all set on payment. So what checklist are we waiting on now @adelekennedy ?


Create new_powertoy_ideas.md

Summary of the Pull Request
This adds the list from #6388, so everyone can edit it
PR Checklist

[x] Applies to https://github.com/microsoft/PowerToys/issues/6388#issuecomment-702526233
[x] CLA signed. If not, go over here and sign the CLA
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

It would be better to add the issue tile for each idea and not just the link to the issue, it would help users to check for duplicates in one single place.

Maybe a table layout:
Issue | title/description | comments
------------ | -------------
Content from cell 1 | Content from cell 2
| Content from cell 3

@htcfreek
editing a table is extra work and if the goal is to let people add more ideas, it's better to make it as simple as possible.
See for example https://github.com/microsoft/PowerToys/issues/6374
It's clean, readable and easy to maintain.

We should also consider splitting into individual files for each module, to make less probable to run into conflicts when multiple PRs are opened.

@enricogior Can you explain me what a issue tile is?

@Aaron-Junker
it was a typo, I meant the "issue title"

@enricogior Ah ok. Yes that would be useful

The problem here is it will always be out of date.  Maintaining it is a big work item

Maybe a table layout:
Issue	title/description	comments

+1 from me. I have created an Excel file and a txt file (with table, compatible with GitHub issue format) when trying to help. That's my personal preference and I think it helps with overview.

@aaron-junker, right now, what is the goal for this + issue #6388.

@crutkas I don't know. I've lost the overview of all the ideas and comments.
I wil look at it again soon.

New misspellings found, please review:

adjascent
adriancampos
Bootstraper
Caelestis
Catelog
CLIPBRD
colums
comming
consistancy
Corrently
Deondre
directiory
esentially
especification
exeption
explicity
Frontmatter
Grep
Infered
initialze
Intentially
itsself
kameshkotwani
maxium
miliseconds
modfifier
mrlacey's
MWB
NFTS
occured
preceeds
Rahul
Recomended
registery
rendring
retreiving
sourc
specfic
stdexception
supressions
syncronized
unoffical
Upate
Uripinyindb
utilites

To accept these changes, run the following commands

And where did it find these words????

Your fork is hundreds of commits behind main. That's why this happened. You don't have to go looking for it. It's already corrected in the main branch unless only of those spelling errors are in new_powertoys_ideas.md

@Aaron-Junker you need to pull master

Is this something that we are planing to merge?

Is this something that we are planing to merge?

Yes. But I need more time. So I will no close it and reopen it when i'm finished


Added Default Templates for Chapters

I have extended the new feature of default templates for books to chapters.
This makes it possible to specify default templates within individual chapters of a book so that they are automatically selected when a new page is created.
The functionality is exactly the same as with books.
Here is an excerpt from my bookstack (in german):

Behind the scenes I've made changes to the controller, the repos, the models and the trash can.
There is also a migration file for the database to alter the table for the chapters so that you can set the default_template_id.

Thank you Dan for your comments, if it's okay for you I would to try to fix the parts you mentioned.
But if I got stucked somewhere I would be glad if you can give me some advise.

Sure, sounds good! Happy to help and advise where needed.
If you'd prefer help via Discord chat instead of here feel free to create a thread in the help-and-support channel.

Hi @ssddanbrown
I'm very happy that you accepted my first "bigger" PR :-)
And I'm also happy that it generally looks good.
I'm trying to get into your comments and suggestions, but to be honest I'm struggling a bit at this point.

I think I can provide the test cases, but unfortunately I don't know how to run such a test. Maybe you can give me some guidance on how to execute a test case.
For the part with the API I just found 2 lines to be added in app/Entities/Controllers/ChapterApiController.php, but this seems to easy for me.
And also here, how could I start a test case?

The most parts I've done comes from my former PHP knowledge, so it was doable for me. But some years passed since then and after I discovered your project I've started to get back into it, but I think it needs some more time.

I hope this is okay for you and if I'm not able to resolve everything I would be happy if you can take on the work, I would then start to build up my knowledge on your changes.

Maybe you can give me some guidance on how to execute a test case.

Sure, I have specific guidance covering exactly this on this page here. Let me know if there's something missing from that, or if you have trouble with any of the details there.

For the part with the API I just found 2 lines to be added in app/Entities/Controllers/ChapterApiController.php, but this seems to easy for me.

That might be all that's needed to be honest, most of the logic is handled in the repos so we can share it across the API and normal app code, we just have to make sure those properties are accepted through validation.
In regard to testing the API changes, you can see my changes to BooksApiTest in the changes for this PR. I didn't add any specific API tests for this, but just updated existing tests to also include a default template.

I hope this is okay for you and if I'm not able to resolve everything I would be happy if you can take on the work, I would then start to build up my knowledge on your changes.

I'm not mad at all, happy to take the time where possible to get others involved and to help folks learn.
Just feel free to let me know if you get to a blocking point, need help, or want me to take on parts.

Sure, I have specific guidance covering exactly this on this page here. Let me know if there's something missing from that, or if you have trouble with any of the details there.
Thanks for the guide. I followed it but I can't get it to run, I always get the following error:

root@bookstack:/var/www/bookstack/tests# composer test tests/HomepageTest.php
No composer.json in current directory, changing working directory to /var/www/bookstack
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]?
> phpunit 'tests/HomepageTest.php'
PHP Fatal error:  Uncaught Error: Class "Tests\TestCase" not found in /var/www/bookstack/tests/HomepageTest.php:8
Stack trace:
#0 /usr/share/php/PHPUnit/Util/FileLoader.php(65): include_once()
#1 /usr/share/php/PHPUnit/Util/FileLoader.php(49): PHPUnit\Util\FileLoader::load()
#2 /usr/share/php/PHPUnit/Runner/StandardTestSuiteLoader.php(43): PHPUnit\Util\FileLoader::checkAndLoad()
#3 /usr/share/php/PHPUnit/Runner/BaseTestRunner.php(146): PHPUnit\Runner\StandardTestSuiteLoader->load()
#4 /usr/share/php/PHPUnit/Runner/BaseTestRunner.php(112): PHPUnit\Runner\BaseTestRunner->loadSuiteClass()
#5 /usr/share/php/PHPUnit/TextUI/Command.php(120): PHPUnit\Runner\BaseTestRunner->getTest()
#6 /usr/share/php/PHPUnit/TextUI/Command.php(96): PHPUnit\TextUI\Command->run()
#7 /usr/bin/phpunit(73): PHPUnit\TextUI\Command::main()
#8 {main}

Next PHPUnit\TextUI\RuntimeException: Class "Tests\TestCase" not found in /usr/share/php/PHPUnit/TextUI/Command.php:98
Stack trace:
#0 /usr/bin/phpunit(73): PHPUnit\TextUI\Command::main()
#1 {main}
  thrown in /usr/share/php/PHPUnit/TextUI/Command.php on line 98
Script phpunit handling the test event returned with error code 255

That might be all that's needed to be honest, most of the logic is handled in the repos so we can share it across the API and normal app code, we just have to make sure those properties are accepted through validation.
Ok I've added the two lines that seemed right to me.

I'm not mad at all, happy to take the time where possible to get others involved and to help folks learn. Just feel free to let me know if you get to a blocking point, need help, or want me to take on parts.
I'm very glad about that. I just commented on some of your comments to see if you can adopt them.
I have processed all other comments to the best of my knowledge.

I always get the following error:

Ah, you may still have PHP (composer) dependancies installed for production.
Try running composer install, you should see a few extra things get installed.
By default, we state to run composer install --no-dev which avoids autoloading test code, or downloading test/development requirements.

Thanks for the clarification. It realy installed some new packages.
But after I installed them my bookstack instance stopped working with an error 500.
Maybe because of this I'm getting a bunch or errors while running the tests.
I think at the moment I've reached my limits in this regards and I do need to learn more about it before writing a valid test case.

Thanks again @Man-in-Black for offering this and progressing it upon my requests.
I've now merged it in after taking on the remaining parts you wanted my to take on, or reached your limit with.
My further changes can be seen in 4137cf9c8fc1f9088f8792b64fcc889f787e8958 and 43a72fb9a5dd40885c70c41bc578bffbec9c25ee.
This will be part of the next feature release.

Thanks @ssddanbrown for taking on this.
After I reviewed your changes it now seems quite obvious to me what you have done.
Thanks again and I'm very that I got the opportunity to contribute to this great product which everyone I know is loving and is also using it after my recommendation.


Unable to run as administrator

Description
I have installed Files as a non-admin... When right-clicking on the Files app in the start menu, there is an option to "Run as administrator". When I do this, it does present a UAC prompt but then fails to open... It attempts to launch, but then a werfault.exe process is also spawned and it appears to crash. I don't get to see any messages.
If I run CMD as administrator and attempt to install it from there, it launches the install window with re-install and launch... If I click launch, it opens but does not seem to be running as administrator. If I attempt to re-install it makes no difference.
These are AD user accounts with administrator privileges, not local administrator accounts.
Steps To Reproduce

Click Start
Right-click Files app > Run as administrator
UAC Prompt > Enter credentials
Nothing is displayed/open

Requirements
Opens Files as the user with the credentials used.
Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.4169
User ID
files-community
Log File
debug.log
This log file is from my non-admin account. I was not able to find a debug.log file under my admin account.

Which version of Files are you using?

Sorry, added the wrong paste, I have updated the request now - Files Version: <IP_ADDRESS> - Windows version: 10.0.22631.4169

werfault is Windows Error Report and sounds like your Windows recognizes this fault. Can you check if there's an entry for this incident in Event Viewer (Windows logs > Application)?

Yep, there is. I have sanitised computer/user
Log Name:      Application
Source:        .NET Runtime
Date:          30/09/2024 12:23:00 PM
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      XXXXXXXXXXXXXXXXXX
Description:
Application: Files.exe
CoreCLR Version: 8.0.724.31311
.NET Version: 8.0.7
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.COMException (0x80070520): A specified logon session does not exist. It may already have been terminated.
A specified logon session does not exist. It may already have been terminated.
at WinRT.ExceptionHelpers.g__Throw|39_0(Int32 hr)
at ABI.Microsoft.Windows.AppLifecycle.IAppInstanceMethods.GetActivatedEventArgs(IObjectReference _obj)
at Files.App.Program.Main()
Event Xml:

1026
0
2
0
0
0x80000000000000

216665

Application
XXXXXXXXXXXXXXXXXX

Application: Files.exe
CoreCLR Version: 8.0.724.31311
.NET Version: 8.0.7
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.COMException (0x80070520): A specified logon session does not exist. It may already have been terminated.
A specified logon session does not exist. It may already have been terminated.
at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|39_0(Int32 hr)
at ABI.Microsoft.Windows.AppLifecycle.IAppInstanceMethods.GetActivatedEventArgs(IObjectReference _obj)
at Files.App.Program.Main()

Log Name:      Application
Source:        Application Error
Date:          30/09/2024 12:23:00 PM
Event ID:      1000
Task Category: Application Crashing Events
Level:         Error
Keywords:
User:          XXXXXXXXXXXXXXXXXX
Computer:      XXXXXXXXXXXXXXXXXX
Description:
Faulting application name: Files.exe, version: <IP_ADDRESS>, time stamp: 0x666b0000
Faulting module name: KERNELBASE.dll, version: 10.0.22621.4111, time stamp: 0x03c619d0
Exception code: 0xe0434352
Fault offset: 0x000000000005fabc
Faulting process id: 0x0x190F4
Faulting application start time: 0x0x1DB12DFAABADFF4
Faulting application path: C:\Program Files\WindowsApps\Files_<IP_ADDRESS>_x64__1y0xx7n9077q4\Files.App\Files.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: bfaf0929-c0ac-4a0f-99c1-912ddc905d20
Faulting package full name: Files_<IP_ADDRESS>_x64__1y0xx7n9077q4
Faulting package-relative application ID: App
Event Xml:

1000
0
2
100
0
0x8000000000000000

216666

Application
XXXXXXXXXXXXXXXXXX

Files.exe
<IP_ADDRESS>
666b0000
KERNELBASE.dll
10.0.22621.4111
03c619d0
e0434352
000000000005fabc
0x190f4
0x1db12dfaabadff4
C:\Program Files\WindowsApps\Files_<IP_ADDRESS>_x64__1y0xx7n9077q4\Files.App\Files.exe
C:\WINDOWS\System32\KERNELBASE.dll
bfaf0929-c0ac-4a0f-99c1-912ddc905d20
Files_<IP_ADDRESS>_x64__1y0xx7n9077q4
App

The error codes seem to be ERROR_NO_SUCH_LOGON_SESSION and EXCEPTION_COMPLUS.
Is your Windows controlled by an organization or something? Or modified version of Windows?

In a way, so yes it is a corporate computer connected to an AD domain, the version of Windows isn't modified... But yes I am logging on as a non-admin AD user and trying to run the app as an admin AD user... I am not logged onto the computer interactively as my AD admin account and there are no local admin accounts...

Do credentials for the local admin account work?

No, same issue. FYI UAC settings are set to Always notify... I can launch something like the UWP app Terminal the way I am trying to launch Files.... I ran files as admin on my own personal machine, which did work but it also had an additional message box, which I am failing to recall what it said exactly but it was within the Files app, oh right I think it said something about not being able to drag and drop but otherwise it worked fine. In that scenario the user for on my personal machine was already admin though, so I'll have to re-test with a non-admin account and then try to run as admin

Hi everyone, I'd like to say that we're seeing this behavior as well. Here's our scenario:

Windows 11 Enterprise (24H2)
Files v<IP_ADDRESS> (classic installer)
Able to launch with standard domain user account
Unable to launch using "Run as Administrator" option

We were hoping to use Files as a tool for our admin users who generally stay logged on with their standard (unprivileged) accounts throughout the day. In the event they do need to perform an administrative file operation, they're launching other (inferior) tools like XYPlorer or Explorer++ using the "Run as Administrator" function and then supplying their alternate (administrative credentials). Those applications are then running with the elevated/administrative privileges of the other account.
Here's what the application log says after each attempt:
Faulting application name: Files.exe, version: <IP_ADDRESS>, time stamp: 0x666b0000
Faulting module name: KERNELBASE.dll, version: 10.0.26100.1591, time stamp: 0x3e0f7b9b
Exception code: 0xe0434352
Fault offset: 0x00000000000c6d9a
Faulting process id: 0x5164
Faulting application start time: 0x1DB45A6AB1FCFF9
Faulting application path: C:\Program Files\WindowsApps\Files_<IP_ADDRESS>_x64__1y0xx7n9077q4\Files.App\Files.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 26233106-47bf-4037-8ab4-c16378133dce
Faulting package full name: Files_<IP_ADDRESS>_x64__1y0xx7n9077q4
Faulting package-relative application ID: App
Application: Files.exe
CoreCLR Version: 8.0.724.31311
.NET Version: 8.0.7
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.COMException (0x80070520): A specified logon session does not exist. It may already have been terminated.
A specified logon session does not exist. It may already have been terminated.
at WinRT.ExceptionHelpers.g__Throw|39_0(Int32 hr)
at ABI.Microsoft.Windows.AppLifecycle.IAppInstanceMethods.GetActivatedEventArgs(IObjectReference _obj)
at Files.App.Program.Main()