Force live object on unserialise

This corrects behaviour that potentially allows indexing of draft content. Queues are normally run via a "dev task" which is run in the DevelopmentAdmin context. This controller will set the reading mode to DRAFT. The upshot of this is that an Index job will unserialise a DataObject in DRAFT reading mode (saved as a Data Query param) and the subsequent toArray call could get draft content. This is often seen as a link indexed with ?stage=Stage parameters.
The impact is likely limited because an IndexJob is usually queued by a publish action and run shortly afterwards. In these cases it is unlikely that draft changes are present - but is isn't impossible.
I checked the ReIndexJob run and it doesn't appear to have this issue because it sets the reading mode in the setup method. I have instead added this to the unserialise function as it seemed a safer method to ensure the reading mode was as expected.

@blueo Since we got 2 PRs for this module, I wonder which one should go to the finish line first and that might mean the other one will have to rebase as I also used the tests/Fake/PageFake.php in my PR.

I think I'll update the title for this - after a bit of discussion with @ssmarco it looks like there is a better way to solve this.
It looks as though the logic for passing a live object to the indexer should live with the DataObjectDocument but (unlike changing the _unserialize function) we need the context of if an object is being added or removed from an index. This is to accommodate removing deleted items - as they need to present the 'old' version of a data object where as when adding to the index, we want to ensure an item is live.
A possible fix is via the indexer eg
if ($document instanceof DataObjectDocumentInterface) {
                        // Making sure we get the Live version of the DataObject before indexing the document
                        Versioned::withVersionedMode(static function () use ($document): void {
                            Versioned::set_stage(Versioned::LIVE);
                            $dataObject = $document->getDataObject();
                            $liveDataObject = DataObject::get($dataObject->ClassName)->byID($dataObject->ID);
                            $document->setDataObject($liveDataObject);
                        });
                    }

could be added prior to adding a document in src/Service/Indexer.php
Another is to update the onAddToSearchIndexes function which is called prior to adding a document to the index.

@blueo Have retested this again manually and working as expected.


Bulgarian language updates

Finally I did it and submitted my work

@AndreiPervikov please fix the conflicts too.

fixed

@AndreiPervikov please check from time to time conflicts are pretty common with files here.

updated check it now

how it is now? ok?

is it ready for merge?

Can you merge it?

Can you merge it?

there is still conflict. maybe try to resolve it locally.

hey can you check it?

can you merge it?

hey any updates? I see that all checks have passed

conflicts is fixed

why u ignore me?

@AndreiPervikov please fix the conflicts again. just check here from time to time but if you can resolve this fast you are next in the queue. its just that so many of you are editing the same file.

fixed

I will be glad if you check mine fork first


Configure etcd cluster with ssl

is this related to https://github.com/ansibl8s/setup-kubernetes/pull/32 ?

No this is not directly related, i've enabled https for the apiserver. i'll try to rename the branch.
This issue (etcd and ssl) will be done on another branch.

Just a not may be useful while implementing this https://github.com/kubernetes/kubernetes/pull/29649#discussion_r85375841

That sort of conflicts with Calico deployment where each node needs etcd access. This solution is only useful for masters that don't run any workloads.


Add ShareSheet (Port of UIActivityView)

I added a ShareSheet View, which is a port of UIActivityView.
You can call one using:
ShareSheet([Any])
// OR
ShareSheet([Any], applicationActivities: [UIActivity]?, excludedActivityTypes: [UIActivity.ActivityType]?, callback: ShareSheet.Callback?)

or
Text("View 1").shareSheet(isPresented: Binding<Bool>, [Any])
// OR
Text("View 2").shareSheet(isPresented: Binding<Bool>, [Any], applicationActivities: [UIActivity]?, excludedActivityTypes: [UIActivity.ActivityType]?, callback: ShareSheet.Callback?)

I also added it to the README.md under UIActivityIndicatorView.
If you want me to change anything, like the init()s or filename, just tell me!

This is already present as AppActivityView in SwiftUIX 😅
I really need to update documentation more frequently. Thank you so much for the PR though.

I also improved AppActivityView to accept cancellation and completion handlers - good work on including those!


I installed the server using the gmod template and I got this error.

./srcds_run: line 371: /var/lib/pufferpanel/servers/987ea0ed/srcds_linux: No such file or directory

Refer to the README that was shown when you selected the template.
https://github.com/PufferPanel/templates/blob/v2.6/gmod/README.md


Size of the model

Does the size of the model reduces after this implementation . I can't see any reduction after applying this . The checkpoint size remains the same . Also inference time is not reduced and even it is worse than the float model .
Am I doing anything wrong ? or is the code provided here is wrong ?
Could anyone please confirm this ?

I am using GPU's for training , But using gpu should reduce model size right ? .

Quantization is complicated in engineering. You need TensorRT to deploy QAT model on Nvidia-GPU. And for now TensorRT only support uniform int8 inference. See https://developer.nvidia.com/tensorrt-getting-started

So , Let me get this straight . Model size won't change by this code . For getting the reduced inference time for quantized model we need to get the tensorRT framewok & tensorRT doesn't support mixed quantization. So we can't caluclate the inference of your proposed method as of now . We can only constrain it to reduced bitops .
Correct me If I am wrong ?.

Yes of course, because this paper is an implementation for a conference paper for research purpose instead of a quantization toolkit. TensorRT do not support mixed-precision quantization but there are some NPUs that do support.
And by the way, model size can be reduced if you know how to use TensorRT. I assume you don't understand QAT's purpose. I suggest you read more papers.


Q: Do you use the same architecture and weights as Clarity does?

Hi,
I am looking for a trainable InceptionV1 model which shares the same weights with the ones Clarity team uses.
Reading your code, I've found these lines:
model_urls = {
    # InceptionV1 model used in Lucid examples, converted by ProGamerGov
    'inceptionv1': 'https://github.com/ProGamerGov/pytorch-old-tensorflow-models/raw/master/inception5h.pth',
}

Does it mean you're using exactly the same architecture and weights, so your render_vis function can reproduce the same pictures that Clarity has published?
Thanks!

Yup that's true for the InceptionV1 model. The model weights provided by @ProGamerGov are the same ones used by the Clarity team in their Lucid examples and also OpenAI Microscope.

@gergopool The team that created the InceptionV1 had some confusion with version naming and thus listed the model as inception5h in some places. To add to that confusion, InceptionV1 is also known as GoogleNet in some places.

Thanks! I've just double-checked it on two neurons, the visualizations are nearly the same as the ones I got with the lucid repo.
Great work! :)


release-lib: build packages without meta.platforms on all platforms

This was added in https://github.com/NixOS/nixpkgs/pull/19990 to ensure that packages that previously weren’t building at all would get at least one platform’s worth of coverage. However, since most runCommand calls don’t explicitly set any meta information, this meant that things like tests.makeWrapper were only being run for x86_64-linux. Since most trivial builder calls should work on all platforms, it doesn’t make much sense for them to be restricted in this way, and we shouldn’t unnecessarily penalize other platforms by treating an empty meta.platforms inconsistently with check-meta’s maximally‐permissive interpretation. Actual packages that only work on a subset of platforms should, of course, set meta.platforms explicitly.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

(For posterity: I talked myself into the more radical version of this after seeing that the [ "x86-64-linux" ] default was not, as I had assumed, “we’re expanding platform support but old derivations without anything set will assume they only run on the default platform” but instead “these things aren’t building on Hydra at all and we should fix that”.)

 But hopefully we can get this in.

The latest push should be a net addition of about ~5k Hydra jobs by setting hydraPlatforms for TeX Live constituent packages, after discussion in the Staging room on Matrix. Some ~2.5k of the remaining jobs are actual useful SBCL and PHP packages that aren’t getting built for aarch64-linux or Darwin right now, and there are other, smaller package sets that will be built on other platforms where they weren’t before. All of this is good stuff that we ought to be building on supported platforms (given our decision to recurseIntoAttrs them in the first place), and that probably was never intended to be restricted to x86_64-linux.
There will also be jobs that don’t generate new builds, as discussed above. I think it should be okay as it is now, based on the discussion, and we can set more meta.{platforms,hydraPlatforms} if anything turns up that looks particularly problematic. I’d prefer for someone else to merge this, after seeing ofborg results (which will inflate the count a bit by not including the reduction in texlivePackages.*).

Are we going to want to get this in before ZHF and before the merge?

I missed this comment. Yes, I think so, assuming we agree that it seems like a good idea to merge, although if it happens with the staging-next merge then it can also just target master since it makes no difference in terms of additional jobs.

ofborg results now list 9982 jobs, so minus the ~4445 TeX Live jobs that this is removing, it should be a net increase of 5.5k jobs, as expected. Should be ready when anyone feels brave enough.

I missed this comment. Yes, I think so, assuming we agree that it seems like a good idea to merge, although if it happens with the staging-next merge then it can also just target master since it makes no difference in terms of additional jobs.

Sounds good, we probably should merge this in the next few hours or any time before 6PM PST to get the ball rolling. I hope to do the merge as listed in the 24.11 release schedule after work which would mean some time after 6PM PST.

Sure, I guess it could be merged now and another staging-next eval kicked off. Or it could be merged directly before the merge into master. I don’t know really; I don’t understand Hydra bottlenecks well enough to say what’s best and it was enough of a pain to figure out what was going on here and come up with a safe‐seeming plan to address it, so I’ll let someone else do the scary merge.

Guess I'll merge it.

Not sure whether to kick off a staging-next evaluation or not. There’s an installer test issue that is currently blocking the merge into master.

Not sure whether to kick off a staging-next evaluation or not.

Idk how to kick one off but sure, why not? Better get some of that work rolling.

There’s an installer test issue that is currently blocking the merge into master.

Is there an open issue? I'll look into that before merging staging-next.

Well, because there’ll presumably be a new eval to test the installer fix anyway. See https://github.com/NixOS/nixpkgs/pull/348827#issuecomment-2441081863. We cannot merge as it would block the channel.


Build fails with Carthage in Xcode 7.3

The following build commands failed:
CompileSwift normal arm64 /Users/urazov/projects/Metrica/Carthage/Checkouts/sugarrecord/SugarRecord/Source/CoreData/Entities/CoreData.swift
CompileSwift normal arm64 /Users/urazov/projects/Metrica/Carthage/Checkouts/sugarrecord/SugarRecord/Source/CoreData/Entities/ObjectModel.swift
CompileSwift normal arm64 /Users/urazov/projects/Metrica/Carthage/Checkouts/sugarrecord/SugarRecord/Source/Reactive/ReactiveCocoa/ReactiveStorage+ReactiveCocoa.swift
CompileSwift normal arm64 /Users/urazov/projects/Metrica/Carthage/Checkouts/sugarrecord/SugarRecord/Source/CoreData/Entities/Store.swift
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(5 failures)

This might be related https://github.com/pepibumur/SugarRecord/issues/214

@urazov-s could you try now?


Add support for variables

Hello!
I'm adding support for variables.
https://grafana.com/docs/grafana/latest/developers/plugins/add-support-for-variables/
To fix issue #3
Thanks!

Thanks for your contribution !

@devnied is ti  possible to   produce a release that  includes the feature ?


No examples of mmk_stub_create and using context

Sorry to create this as an issue: I'm not sure if there's a more appropriate channel to ask for this.
I'm trying to mock out send using mmk_stub_create. It works great, but I can't wrap my head around how to get access to the context within my mock function. I was wondering if you could provide an example.

Typically, accessing the user context within a stub is done by using:
void *user = mmk_stub_context(mmk_ctx());

I recently created a gitter community for diacritic projects, you can @mention me on the Mimick channel if you need help. I should probably add a link for that in the readme.

Thanks for the example. I'll try it out and if I have any issues I'll head over to gitter for more support.


Seems to assume you have a local version of Babel

> node -v
v6.3.1

> npm install -g splittable

> splittable index.js

Compilation failed:  Couldn't find preset "es2015" relative to directory "/Users/matthew/Projects/splittable-example" while parsing file: /Users/matthew/Projects/splittable-example/index.js

Installing babel-preset-es2015 into the local folder fixes it, but from the readme I don't think this is the intended way to use it. Shouldn't it be reading from splittable's own dependency?

Should be fixed by #2. Republished to NPM

Are you sure that will fix it? I think that will just replace what it complains about. The bug I was experiencing is that it assumes that the preset (soon to be plugin) is installed locally.
I think this is because Babel assumes to be used by the end user and not another tool. Maybe @hzoo could confirm.
I've had this problem in the past and I think you'll want to use require.resolve("babel-plugin-transform-es2015-modules-commonjs") so that it uses your copy of the plugin.

I'll try and send a PR if it works.

require.resolve() does indeed fix it, I'll submit a PR.


Publish pre-compiled package to npm.

create-react-app prod build not able to minify this package. Read more here about this issue.

we do export an ES5 version:
<EMAIL_ADDRESS>

thanks :)


add discovery timeout setting

Improve cases where the timeout is too short to discover devices due to network quality by adding a timeout setting. #1301

Just a note: Dart uses a lot of code generation, for example the translated strings are in app/assets/i18n.

Thank you!

Thinking about this again, I think it is already at 2 seconds. startupCheckAnotherInstance is never used, discovery is using 2 seconds by default


Enable terminal sticky scroll by default in Stable

Fixes #209003

Sorry this will be a decision I'll make in a few weeks.


Scroll bug on Windows Phone if MMenu contents extend beyond display area

jQuery mmenu v4.7.1
Tested on a Lumia 925 (with a broken display ;) )
When the MMenu contents extend beyond the bottom of the visible area it is possible to scroll below the MMenu. This is bad due to the fact that the overlay-area for closing the MMenu also ends at the same point as the MMenu background.
Everything below the red line in the following screenshot is the normal page content and it is possible to scroll until the end of the page like the MMenu isn't open. When scrolling further down the MMenu isn't visible anymore and only reappears when the top part of the page is reached again.
Seems like the overflow:hidden; on the body is ignored by the Mobile IE.

Hi, did you found a solution ? cause i'm currently having this issue, and did not found a solution yet...
I tried with 4.7.5 and 4.3.6...


Feature/Stage System

Added a basic stage system, gives us flow control over gameplay elements, currently it goes through several states listed below.

Setup
VN 1 (Pre Stage Chat)
Gameplay
VN 2 (Pre Boss Chat)
Boss
VN Win (Post Boss Victory)
VN Loss (?Death)
Done

Once a Stage is complete the Stage manager will automatically move the game to the next stage.
Implemented a mockup VN UI to show integration with stage system.
Implemented a basic Boss.
Fixed Missile based projectiles being destroyed after their homing period, they now go into a linear period and maintain their course.

Since the latest push, there is now a basic game loop implemented, and upgrades have been implemented.


Prevent duplicate subtitle entries in db

The current way we parse vtt files inserts duplicate quote entries with time stamp off by a couple seconds. This is because the vtt files we get from yt-dlp contain duplicate entries except one of them has a bunch of markup to segment the quote. See line 192. Removing these duplicates would probably speed something

I wonder if the ttml format has fewer duplicates. I read that here: https://old.reddit.com/r/youtubedl/comments/yckryy/getting_a_clean_subtitle_form_auto_generated/

Fixed with #27


Read GitHub persistent events to populate a Git branch

See the commit description and the README updates.
@talex5 is that ok for you? You should be able to write github-hooks in the /sync file to merge persistent and webhooks events in the same branch. Hopefully I picked the same paths for both kind of events ...

Note: that implementation is horrible hack, as a subtree of the VFS layer (e.g. /db/github.com) reconnects to the root of DataKit using a 9p client. The proper way to do this is to lift the client API at the VFS level.

Why is this in DataKit itself? Shouldn't all this be in gh-hooks?

ideally yes... But how do you tell gh-hooks to reload (e.g. read /github.com/user/repo/events) and/or how does gh-hook knows which user/repo to look at? The hooks are currently manually set outside of gh-hooks.

(also I am a bit worried by doing too much high-level stuff in gh-hooks today as the Go API is not at the same level as the OCaml one yet)

gh-hooks already seems to know what to monitor (though I'm not sure how). I'd assume it would have a config file in the github-hooks branch.
I was expecting that I wouldn't need to tell it to reload - making sure the data is up-to-date is the whole point of its existence...

no, gh-hooks just receives webhooks event and process them without checking anything special (as long as the secret is correct).
You can trigger a sync when pinata-ci starts and have a button in the "UI" to use when there are obvious missing events (because gh-hooks missed some events for instance?)

Or maybe gh-hooks can trigger the sync itself on startup?

pinata-ci starting doesn't have anything to do with whether the information from gh-hooks is up-to-date, so I don't think that helps much.
It would make more sense to trigger the update when gh-hooks starts, since that's when we know we might have lost events.
In general, I think pinata-ci should only ever talk to the database. All interaction with github should be the responsibility of some other component. If it's difficult to write the sync code in Go, we could put an OCaml client in the gh-hooks container, which the Go code could run directly perhaps?

Looks like we would not be able to merge this PR because of merge conflicts. Please rebase, fix conflicts, and force push to your branch.

Let's close this, I'll open a better PR with the correct architecture soon.


Up-to-dated packages with reduced dependency count

Travis build failed for your repo, but finished without errors with same changes https://travis-ci.org/apla/dockerode/builds/528432514

Will merge and investigate further :)


Add schema specification for settings in a UI extension

WHY are these changes introduced?
Currently the toml schema for a checkout_ui extension expects settings to be a string.  This is wrong.  Trish and I think this is breaking checkout ui extensions.
WHAT is this pull request doing?
Here we add the schema definitions from the docs to the checkout_ui specification.
I've gone for fairly strict schema specification.  For example we have unions for setting type and validation name that only allow exactly the values specified in the docs, but this may be too strict. I can see an argument that we should loosen these to be just a string type.
How to test your changes?

cd fixtures/app
yarn dev
Add valid settings, following the example here
yarn dev should succeed
Add invalid settings.
yarn dev should not succeed.

Post-release steps
None
Measuring impact
How do we know this change was effective? Please choose one:

[x] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes
[ ] I've made sure that any changes to dev or deploy have been reflected in the internal flowchart.

@lemonmade would you rather the schema validation for shopify.ui.extension.toml for setting be strict or loose? For example should the validation for settings.fields[n].type ad settings.fields[n].validations[n].name be strings, or unions of the strings we allow in the docs

Closing in favor of https://github.com/Shopify/cli/pull/801/files


asciidoctor 2.0.0 support

I'm trying to build a new version of docker-asciidoctor to support asciidoctor 2.0.x and need a asciidoctor-mathematical with a dependency to asciidoctor 2.0.x

Thank you for your contribution: 👍

Would you please release the new 0.3.0 version?
I don't see it listed: https://rubygems.org/gems/asciidoctor-mathematical


Fix MixedRealityToolkitFiles utility to handle the nuget resource path format

Overview
The files utility was using a simple "endsWith" string comparison to find resource folders for MRTK. This does not work for the path format used by nuget packages, e.g.:
"MixedRealityToolkit.Services" (Unity package)
vs.
"Microsoft.MixedReality.Toolkit.Services.2.0.0-20190611.2/MRTK" (nuget package)
The fix changes the MixedRealityToolkitFiles utility class to search for both patterns and find the matching module name.
Changes

Fixes: #4827

Verification

This optional section is a place where you can detail the specific type of verification
you want from reviewers. For example, if you want reviewers to checkout the PR locally
and validate the functionality of specific scenarios, provide instructions
on the specific scenarios and what you want verified.
If there are specific areas of concern or question feel free to highlight them here so
that reviewers can watch out for those issues.
As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

CI for this is queued for this here:
https://dev.azure.com/aipmr/MixedRealityToolkit-Unity-CI/_build%2Fresults?buildId=2321&_a=summary
It looks like the queue is a bit backed up.

Overall seems fine, mostly looking for some unit tests (for regex stuff because I suck at reading regex) and also for dictionary completeness


T4 Challenge

My Node ID = 4c09a914cc5a1463
https://dashboard.testnet.concordium.com/node/4c09a914cc5a1463
From
tarzan		Account A Address = 42p8YvDhJ8uMQVTf3C3NVFWFRFVBMX9fLFMLYW85SccYwPQ6U5
tarzan18	Account B Address = 4RuZDpQphkMyYxttycqudGn5EPLecE7EXu5WMATkCqF6EuQPNL
5 Days
01 Nov 2020   -- > 3 x 10 = 30 transactions
31 Oct 2020   -- > 3 x 10 = 30 transactions
30 Oct 2020   -- > 3 x 10 = 30 transactions
29 Oct 2020   -- > 3 x 10 = 30 transactions
28 Oct 2020   -- > 3 x 10 = 30 transactions
Total *** 150 *** signed Transactions
Details:
01 Nov 2020 11:00:00 UTC. to 01 Nov 2020 12:00:00 UTC.
Transaction '7692efba0bfe95e8330126adb986593fae85aaf9f69d69df9b499ea5d450f422' sent to the baker.
Transaction '2be22ccc1671cb573cb427c85a48ce7930e45aac042242de2567baa428603e70' sent to the baker.
Transaction '24c628122b478fc4b279de3d8dd33ab9314da6e81f8154c1f34725e5107087d9' sent to the baker.
Transaction '3e124c50deb19dbc726a58244c6340279682af44769a7ce85d613b47ed07ca11' sent to the baker.
Transaction '524a5c5440225be1896d9df3d9e3ce4ac4178774eb54edab59957bd30719a06b' sent to the baker.
Transaction '48ca409c77919e9fdb88b9dee1fd1a941dc5f24dc66f0f36ba029ac8955a16a0' sent to the baker.
Transaction '2ec09691f781253dedcec388f1da957bb3440fd88c147041150521065f6836ad' sent to the baker.
Transaction '1d5d88d7651562f8747a6c2b29fd1fc3be30900dcaa504ed4af60b7ebaf043bf' sent to the baker.
Transaction '46a30b113520e650e1f8f544ca10c2b4273ad8018f9da168d93aaddf1a0aaa08' sent to the baker.
Transaction '10a8aaf526ae8a754228b414b220c570156c7bcdf624d53e9872117ef13de734' sent to the baker.
01 Nov 2020 13:00:00 UTC. to 01 Nov 2020 14:00:00 UTC.
Transaction 'd51621ff71ab7bac3aebced2b98814c7f9b4f2451afd1d51d242baba8eab442d' sent to the baker.
Transaction 'be938f7f9bde1aa419b151ea2116cb4db4d0784cd97db3d4324ab1edaad20911' sent to the baker.
Transaction '246ec3a899b7682f8553d454b393135629a4eb6c43f02399f468263fd23a336a' sent to the baker.
Transaction 'a1d51ec5aade2d5dab0bc2d0a7e0d2e1beeb8957f6933ed34fff6e3602d0874d' sent to the baker.
Transaction 'dd974d88128dcf3fe49cc386482b8ef2bcaebb005f183d333d85977c8062170d' sent to the baker.
Transaction 'bb30a7e85b94d6a81c7944a673876fc76efa8465d6c1c6cc9110da4b911df06a' sent to the baker.
Transaction 'cb21b7c11e223ec469e03e0b5f8f53c9c0a80141572e8b6b48b9bf52ceecdc21' sent to the baker.
Transaction 'd46097b6ef184acb14e82b2e243df9fd85e7837190c3c98266311c7b42e57e42' sent to the baker.
Transaction 'ac158f39b7ab546f922cee5cb63131db650e319a6795e3195db6b5ea17311f9c' sent to the baker.
Transaction 'f2481c6e10400d94e7e64233a6b64b8d9d60fbfb5025157bed0fff8f70a23ec2' sent to the baker.
01 Nov 2020 14:00:00 UTC. to 01 Nov 2020 15:00:00 UTC.
Transaction '553d3b33ab3f02a3476ad7ec86e6552ea528cf4c3ad68c5631a4c9b74023f2a0' sent to the baker.
Transaction 'ddd8dd6a6ca973a3664db83223ef3912a02c0bc73eb39e42d6323474e4f842d2' sent to the baker.
Transaction '872dc9605008a98372c3d53153748e4037de699cf6926f14890dfdc8051ab3cc' sent to the baker.
Transaction '485992cc8e233547873c67ae59161376eabe6edc12495bc9e52b0ac02b9812b5' sent to the baker.
Transaction 'e974f5d6c8883f6891ca975fc6b98d25797491932d3d79c3f1dc3ab4928dc3e7' sent to the baker.
Transaction '7268f51ed78d4c3ede5f35c63914694befcc4e33967f5cf836c44547bcd5402e' sent to the baker.
Transaction '32a72d5fc88d7942f811804bef31ff39be30095469d0c61fc129be579e2abea8' sent to the baker.
Transaction '02f06ce06567f0c30955ed90dc5c6ac51dce4e362078c0977d48ac189f1c6678' sent to the baker.
Transaction '9aec775054a9d46ea546fd35993a8de68b42ede04fd7da2b9087fa1281af7212' sent to the baker.
Transaction '9135cb35233c5b49b3bb3c49967b7853bc40680ef04013d35c583c9d5a9f6590' sent to the baker.

31 Oct 2020 05:00:00 UTC. to 31 Oct 2020 06:00:00 UTC.
Transaction 'efe7474b26601cb0dce044acbb5cca145b6d9f7977db40de12b3cfc608fd9b33' sent to the baker.
Transaction 'ea728f2ee916cbf7468d4f58a9637735fed2efd7fa3811c1c3c62893958f14e0' sent to the baker.
Transaction '04e16370c219bee7f97ccfc6187ff12d6703d2935c5b48f41c9875b79d68fefd' sent to the baker.
Transaction '320a39339a814f1e4a3046c510802e0b5fdeb18742e6d77e4adf54748a568d76' sent to the baker.
Transaction 'f88f4fc765d71d7abd0cdb0689a4686ba62835147c03451f5845b8454229a900' sent to the baker.
Transaction '849dac6c92e21f0fc0924c12ea4af557e0692afa5a7841d7c861869bddeaf612' sent to the baker.
Transaction '1b2d02ba5f5d03619fa66e4160f56cb0f41789300b2b9e43e90ac69cd958fa57' sent to the baker.
Transaction '172dfc94ea4fe565440bef076527c59c0401b9286acba0a31bc6e97bdeec164e' sent to the baker.
Transaction '8e9a0d365afacaf8643c33176c5f9bb73ce559f7943765cd789a4578d31044d7' sent to the baker.
Transaction '8f63f0ab53b5a1f1611838ae37d864bc3dde9fa2f1af924fd87e053ab83e6889' sent to the baker.
31 Oct 2020 06:00:00 UTC. to 31 Oct 2020 07:00:00 UTC.
Transaction 'a87cc03cdbb840f7187bda6c26f6c790c452263839198dbd5f8ece8e21e317cd' sent to the baker.
Transaction '102031dc009f5b3332d9dae1ba5113a7b9b80035be6bb7287a50c9ed74f114c1' sent to the baker.
Transaction '270480a65f9df6640dc0d8eb4897626aabc051932b34d934fa837adbacfa8b97' sent to the baker.
Transaction 'f79b6290426b46b0b9aa0e7f3ee8763cd36de49ceb17a340d1e968f0aaf7b812' sent to the baker.
Transaction '9b810c7d2b7fed478c13016a9bc7b51f379d9891896f40650053333f6d114a9c' sent to the baker.
Transaction '0282b0fdd52fd226d24d3f14177d421eec2828f6b091d069332edd2417e15c52' sent to the baker.
Transaction 'd9bc8584a1528ef61490766f8d0b99220cffbfe6a7bc7029dd807ef569a9ef58' sent to the baker.
Transaction '1425fa95b1592d3ce799c02b1f66fa3602047ce1e18f578a9d84dd0ca3e15d4e' sent to the baker.
Transaction '7bcfa703e51d1470455b0ec86e9842946bfd8cbf0b846cd9807ca6b3a9c4e141' sent to the baker.
Transaction '014a2845c43b6355a78f465d1627280a7c35ea164133edff66bbd5c7d63362f9' sent to the baker.
31 Oct 2020 07:00:00 UTC. to 31 Oct 2020 08:00:00 UTC.
Transaction '2d0a1f7fb825476eb9ce47f6e83544a116c08f3750523d9ab27d53e526b9e730' sent to the baker.
Transaction '871426e4f4b1fd42b9871089648483908a7e631aae5a03429790a5c76b6ee58f' sent to the baker.
Transaction 'be875014f909c77f75d22d63e53d149eb0a9a2417e6868e588bcd67dc98c11fc' sent to the baker.
Transaction 'a51ec1f9f6580cc504a3fdb3cbeedbde494c334f2d03560a24bc3b13fb75a6ba' sent to the baker.
Transaction '585be17d6125975b77efb9922206192812e71af17951e623f6438f85673f9ddf' sent to the baker.
Transaction 'b39ceee4532cafbe59b214b323b3cefbb04e0ee3d1039aead4b15928b01c94e6' sent to the baker.
Transaction '2637222222d0406627578eac479f9e3ff9d3230702d6fe889b20fe8c9ac0f3db' sent to the baker.
Transaction '12b8863f5a08620e50f3b162edc89dff92f315a3c5c55db6774728902e14a285' sent to the baker.
Transaction 'd08b75fb9c479c398d47cc33cbfec6ff43fc00a186c81a8c966cbbb64c1cc2e5' sent to the baker.
Transaction '9c897288375cafb19d88cba5fa4f5635d8fd9142dc32e48443d95d9869206120' sent to the baker.

30 Oct 2020 06:00:00 UTC. to 30 Oct 2020 07:00:00 UTC.
Transaction '975d8e78782faaded96fe3f6d8d8fe1c5ddbb123e3d6caef773ece0fff5f382e' sent to the baker.
Transaction 'b4236f6ac2aeee0c553c49f8f266443ce17a0ad2c3568f249d6ca3e0435e707b' sent to the baker.
Transaction '74c201b17a566eae4e11e802caf1aa4f76c3e837c1a010f73851fc75be569025' sent to the baker.
Transaction 'f77096c53ab242b051643148e7b7ceeacbff7925b81646eb9898fad02931a596' sent to the baker.
Transaction 'e5067d33528320ec507af477e30f628ead8ddedda8ace91f029ad872db3d6b61' sent to the baker.
Transaction '55e10458dca305f3d5581928a42a3f63545db76bfddbf91669e818c0c9bc835d' sent to the baker.
Transaction '2b0897cc2f650f3ecbd7a92935c882e8def7910bc5caf5eeeb48b175f3076dfc' sent to the baker.
Transaction 'bd6f28c6c78a4b06bd3397850e9d6e1880ad4a49d5506835ad1e73609260d765' sent to the baker.
Transaction '143a9f48260d71a8e2dac1654ea4e258c52e56b5a102c1a7cdb748cdc267bb0e' sent to the baker.
Transaction 'dfe6418b5f741625947dc4e905fe23f9880b5bc2f06cf8099a6a6ccc38ed1648' sent to the baker.
30 Oct 2020 07:00:00 UTC. to 30 Oct 2020 08:00:00 UTC.
Transaction '026ed09f4e3e07d0d72d0a7f6f56a0c21532f4417009f60d0fbe294c42ffceca' sent to the baker.
Transaction '831a211f7f1ebd3d734ab17ee8974c5e10569ddd989b4b5505754ee75cd2f39b' sent to the baker.
Transaction '1dbc6d64da21c09906f3ab90e25a7b748bfed40eed08059fafb0252835978949' sent to the baker.
Transaction '071d7393dfd9ae03b814d43a3a5c3882f364e4515a9e9034435f0ed7e86e9679' sent to the baker.
Transaction '42ba0e2f3d1390724f2fad0c13ecab2370f42c62072ac8275367e8186a722f4c' sent to the baker.
Transaction '664079ef635bbd8f081ce78a6e2964f13c069f20deaeca5fa27886ce77b9d348' sent to the baker.
Transaction 'aa13278f638c9feb1bc3a5340f5beedd1907cb903ecd07763072c2c89259b13e' sent to the baker.
Transaction 'd16297ad1e219f2932f7dd1e9bed39e21f338d99741a131f4dfa32af0f6290dc' sent to the baker.
Transaction 'a14f763cf9a7ffe48ba78cefa951c87dd90020a87ff06125e6d441553f8ff26e' sent to the baker.
Transaction 'dfdf572c8e31c7359eac4bc38fee89d6dee0e6dfa085255a41cbcafc6439e8b8' sent to the baker.
Transaction 'a26c757dd417e5bb351bbf92ba5f5b9d7dbcb3d2038ae0574044011f20fb9a48' sent to the baker.
30 Oct 2020 10:00:00 UTC. to 30 Oct 2020 10:00:00 UTC.
Transaction '98f9856cec65bd71c5e0de17b0bbbc075b264d459f0b815fb6c79316f68562be' sent to the baker.
Transaction '9467ea643e34a3718d3d63d879463ca4b220d75a043aa3a9429cebf0d6bbdbb0' sent to the baker.
Transaction 'cc5311c929b9c5373a7e4b36e62ba1aaefc4309ecac3bf1b8259b66a56047f64' sent to the baker.
Transaction '6b9ed32ed84cb1751308a4bbca9c72e0cf53af4e0286dc510e61a400e80337c5' sent to the baker.
Transaction '2c82c8ed99ae6947811f4ab99c71c707a9b6de51c5539b9ff1cbf208be549499' sent to the baker.
Transaction '0d112af899d1bdc0c33da7c4fb352b89211e736bc6ed97a701e66b3296754ffb' sent to the baker.
Transaction '5ee7f2c270b2425ba4415fdef076a4acd2141ddee877fc2a29fb51ba542d15c6' sent to the baker.
Transaction '756de10958a757abec3605cfc922618a64c6786cf3aaa861faa98022aff2dd90' sent to the baker.
Transaction '62ae7d9aa078be673129938ebbb0b6fd0fee4877175042a0a207ce3846be1061' sent to the baker.
Transaction '1b3ebe90d80b94aa9f90a4ed292219f8465ce475b2f1c040f7d3ce0d5791c699' sent to the baker.

29 Oct 2020 13:00:00 UTC. to 29 Oct 2020 14:00:00 UTC.
Transaction '7b628c2d3f96d211b137150f47cf044ebe112619acf8e728bb99fbb3d1c8773c' sent to the baker.
Transaction '87455c0248265b90ec86aef1c9d103e18158a0dddc514cbb6bbdc7e8226295a0' sent to the baker.
Transaction '3e73a89976a178b7a549678d25b63be2a5cc0d7e352b2c3dbffc358b521c079e' sent to the baker.
Transaction 'ef4a9a635119316fcf2fcdbc9b365b60b1db2d3a139649d8165d67df2f82a435' sent to the baker.
Transaction '8b3da273539a70ac0944aff5e2b2c7e4357c36d4bdb87fed9b553b224fb442a2' sent to the baker.
Transaction 'e3d95fc793f6ae2850f0a8c99abd56f50b8b01fd3d8bcc814a94b3fd54da20d8' sent to the baker.
Transaction '0e8a38894a733cc0bc7d776bc96597d6cd19f29e70fb47b9a8ecbdfcd36d4a13' sent to the baker.
Transaction '44c95a93e1325519cf16d48cfd8d9a9eaa4039053ca81451dd2c55d735375c55' sent to the baker.
Transaction 'f0c8aabede294c31b826f39eae1e346a646f550e031937525b2c4cc0a564e514' sent to the baker.
Transaction 'c5e4a65ac363a35e14c5f693c47262558f3e40db168772056036062d85f2e351' sent to the baker.
29 Oct 2020 14:00:00 UTC. to 29 Oct 2020 15:00:00 UTC.
Transaction 'd9ee0173c04fd81cb94e0505b3978a026f390a3ed469d5ebd7dd28cfc4ad8a9a' sent to the baker.
Transaction 'af7da0005df99951c8267020be1c5bc5ab19e4f49ecf2a99e2947281e3f71447' sent to the baker.
Transaction '90e33080d336c013b3f04311393bcbc42deeb168411e150486c8c9704029da39' sent to the baker.
Transaction 'bfced50f127c7ecab789d3b3a62531d4dd9c2c70cfa50eac54a6153a364fe0f8' sent to the baker.
Transaction '3b3fc5c8d42a76dd2c3d56cc3baa92a1d06309ea7232bb34f6f68f0f6b0f3645' sent to the baker.
Transaction 'afb30eec689d1dbed59dfc40fdd68974effa41329ac45fb3d130f91c80a78fe9' sent to the baker.
Transaction '7e9e0b0e8428aab733c21a2228bb23e9d2bfd8752ccac695826fe3093742d272' sent to the baker.
Transaction 'd38db2511ef63e6bdea5af9f8e8e7053d69f9abaa457ae15080eb9c5f705b747' sent to the baker.
Transaction '357882b580bf36f5dd461e0e23b70317f5357cd40c3b900db8dab0ce11e17665' sent to the baker.
Transaction '0bc5b49f0b5a7171b5c57501dd16eabf5cac150f8bc44225056c1deaedf19e44' sent to the baker.
29 Oct 2020 18:00:00 UTC. to 29 Oct 2020 19:00:00 UTC.
Transaction '1e105b25a1913e2315ce57b32c1fc7dea497dc41292d5a44af5af9f0c035b199' sent to the baker.
Transaction '6d6266ed57eebf6a9b60504a6415a89b3f03ae83d722679d5068deed3637fc0b' sent to the baker.
Transaction '42f2e6d37e60e5b083f933394a4a6453da0415d3c038f6a77b67d3de1578770e' sent to the baker.
Transaction '7641fd278abeacb9ecc55b906bcbde2c4884e983b63961be637b8143f087afcd' sent to the baker.
Transaction '7bdbc225d1cb30cac14230378c788a973418a79a30c9998660fcf3e1fbc05809' sent to the baker.
Transaction '3444183f66a56de1fa8d3ea68caf320c2b5446eaaae1d04f109a3645ed4058f6' sent to the baker.
Transaction '05371748a7fc7afc326d7bf0c0beb3b8dfb94596c4e41d4006a520ffdfe1cca8' sent to the baker.
Transaction 'ba03d72c885b3e16e07a06679300b7234450674782742f626a38a9719c635f28' sent to the baker.
Transaction '6e25e553af1f9f6470142971acbec81906a091c187d61cbc5915ea381fdb6ad5' sent to the baker.
Transaction 'cbbc88cc1cdee84033bd5726c56e535f480d3dbedec9029f792b5d3a50247dc6' sent to the baker.

28 Oct 2020 17:00:00 UTC. to 28 Oct 2020 18:00:00 UTC.
Transaction '0470e4502607c4f7844a671c885bf05cfb855a21203b924f0c177aebee8efe0d' sent to the baker.
Transaction 'f281428393eaca92e0b0e686c135cadaa7aa7d76659c82325cd5c61ccde8eeff' sent to the baker.
Transaction 'e6341f63cd8b368464b8baa4e4352eea60399977679e267ea0bf43657e395a4b' sent to the baker.
Transaction '29692ffa15994ce8fd68ec1d2188744ba52b1e6e6ed4b9d89c559552d72e95a2' sent to the baker.
Transaction '8a0118a18bf7bbefc0c1d146f170f3a0fa1b2793c94c69add08bdd40c32c9011' sent to the baker.
Transaction '4288a78d80638f9fe32e86efbeba8ed9eba4cbd90149dd948b62259b86b0c885' sent to the baker.
Transaction '31604de9a545c6152357e0dbbd20ae85f430d2fc401db84f5c3019d7e9486ef1' sent to the baker.
Transaction '2e3f44328729e35e3ba3a6b3f944764e524b1a58e1482c018cf82add56b3cb84' sent to the baker.
Transaction '71f5a89085edb7e11ef3df407a8efade15624537c7c56183f312e059e3efae4d' sent to the baker.
Transaction 'eca77b53a3d0d6edde631c8bd8f07d291201cb2d22dc56cee197ae4b14ec3d85' sent to the baker.
28 Oct 2020 18:00:00 UTC. to 28 Oct 2020 19:00:00 UTC.
Transaction '35827aaabbdefd513c41b7fd7b785ba510d1ebfd98e0fc32ff39498889e9443a' sent to the baker.
Transaction '107004d8ee1fdc999ed8cbafc33e45f5344bbf623d3801c282c3c67790893265' sent to the baker.
Transaction 'f0ed519790ae2685c3c3c1cb5b06d1b332a110f4aae0ea6352004b77fa2e39ff' sent to the baker.
Transaction '3540c7c5b047ced7cf9c773c9cf8445b22e78c72af3f47a3c62b9521e7f0c7d2' sent to the baker.
Transaction '56850699facee2e2b12de2a464985b2daca411adb4698b35e6730ad92d5e22b0' sent to the baker.
Transaction '0da9a5ebaec7a96ced0b07f0ccaba6ac52f407e0843584354b0dc293b07fe286' sent to the baker.
Transaction '64d0fd908105c0a59ae7c34f3c59ec330cde427c7820f741c6789f514748eed7' sent to the baker.
Transaction '437debbad4cc6a4babcdc739c1d1e5b26d5522fa60deb64ba5f894ef6386af9c' sent to the baker.
Transaction '5ba835fd7a40a4c6e8dadcc3ccb88d89694ad5966f44504c0ffe083158559f28' sent to the baker.
Transaction 'ebef0b468dd9e107b6b5116c8533632c42c81aed7babbd53993204080b934886' sent to the baker.
28 Oct 2020 19:00:00 UTC. to 28 Oct 2020 20:00:00 UTC.
Transaction '2668c0f925b557bd4ab750276db4f4660f4ea05f2c2f26d274b348e830d0ac77' sent to the baker.
Transaction 'ed6c1f76f42e10fe268641fa213933524c82eb5b5176740be7e44e9ea5bb87d5' sent to the baker.
Transaction '98a4ac0fa41da47ead858445b30d834452a644c3808ae240b23bdc6625aa7f5d' sent to the baker.
Transaction '6731127c5d9788a5f1bab1cdb2a57d23e379fab352544138060b9743628eb130' sent to the baker.
Transaction 'f7ab85cc974964438836fca2b5042fd2445fe51467b759d0c2478df16f3bb5dd' sent to the baker.
Transaction 'b2be5bfbd8bba5fea2a5b796e7b32582218e0d9c89407a030d113f15814eb063' sent to the baker.
Transaction 'a4262764576ca850f03de98e9710aeefe82e784a83bc17ffee37fc86a765fe4d' sent to the baker.
Transaction 'cfeaf085be62affd766e5b63eabe4316762109e769a5d3011808d22afccda497' sent to the baker.
Transaction '6d48bbc549ca6a2a1577981d014f5ad3f8c7ea5c6d812d9b5a0da91e507c2a51' sent to the baker.
Transaction '3a15e8fa9ad8eb3858805fb5f40e2d56edd11750de7f5177115a9ad4e5c34698' sent to the baker.

rejected:T4
reason: significantly less than 150 encrypted transactions made (only 122 found on-chain)

rejected:T4
reason: significantly less than 150 encrypted transactions made (only 122 found on-chain)

rejected:T4
reason: significantly less than 150 encrypted transactions made (only 122 found on-chain)

oops.
Please could you check the id s above.
i worked a lot for this mission.
There are 150 transactions above. You said 38 is missing.
Please.

rejected:T4
reason: significantly less than 150 encrypted transactions made (only 122 found on-chain)

oops.
Please could you check the id s above.
i worked a lot for this mission.
There are 150 transactions above. You said 38 is missing.
Please.

We will make an exception with your case @cemuney

We will make an exception with your case @cemuney

confirmed:T4
address:42p8YvDhJ8uMQVTf3C3NVFWFRFVBMX9fLFMLYW85SccYwPQ6U5

confirmed:T4
address:42p8YvDhJ8uMQVTf3C3NVFWFRFVBMX9fLFMLYW85SccYwPQ6U5

We will make an exception with your case @cemuney

Thanks

We will make an exception with your case @cemuney

Thanks


vim auto indentation problem

when writing a code in vim , the auto indentation does not happen. Also, when I put a bracket({), the closing bracket(}) does not automatically appear.

Hi, please check if you have the .vimrc file under your home directory. It should be located in ~/.vimrc. If you are using the docker container, the .vimrc should have been included.

Just as a side note, after putting in the configurations found in the .vimrc file found on this repo, you should use the command gg=G to indent the entire file.

This issue is stale because it has been open for 30 days with no activity.

This issue was closed because it has been inactive for 14 days since being marked as stale.


Internal validation error; Order entity is not compliant with the schema

@wubuyun , could you please open the brackets in the error message (I mean these: "...is not compliant with the schema [{...}]") and send the screenshot again? Thanks


RobotFramework-Examples is not working with BREAK

Hello,
RobotFramework-Examples is not working with BREAK.
Error message is:
Calling method 'start_suite' of listener 'Examples' failed: AttributeError: 'Break' object has no attribute 'body'

Fixed in version 1.1.0


KeyError from /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/collections/init.py

Hello, did anyone have a similar error as in the screenshot below when quantizing a model or knows what causes it and how I can solve it?
[VAIQ_NOTE]: Processing ops...
██████████████████████████████████████████████████| 373/373 [00:00<00:00, 1716.23it/s, OpInfo: name = SlowFastModel/ResNetBasicHead[head]/22471, type = size]
Traceback (most recent call last):
  File "SlowFast_quant.py", line 190, in <module>
    main()
  File "SlowFast_quant.py", line 185, in main
    quantize_model(model, 'calib', device, quant_stub, quant_dataset, args.output_dir, args.batch_size)
  File "SlowFast_quant.py", line 107, in quantize_model
    quantizer = pna.torch_quantizer(quant_mode, model, quant_stub, output_dir=str(output_path), device=device)
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/apis.py", line 89, in __init__
    custom_quant_ops = custom_quant_ops)
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/qproc/base.py", line 126, in __init__
    device=device)
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/qproc/utils.py", line 196, in prepare_quantizable_module
    graph = parse_module(module, input_args)
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/qproc/utils.py", line 78, in parse_module
    module, input_args)
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/parse/parser.py", line 72, in __call__
    nndct_graph = self._convert_graph(raw_graph, self._get_device_info(module, input_args))
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/parse/parser.py", line 139, in _convert_graph
    _construct_ret_struct(raw_graph.ret_values().values(), nndct_graph.return_struct)
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/parse/parser.py", line 133, in _construct_ret_struct
    end_tensor = self.get_nndct_value(value)
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/site-packages/pytorch_nndct/parse/parser.py", line 267, in get_nndct_value
    return tensor_map[value.name]
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/collections/__init__.py", line 883, in __getitem__
    return self.__missing__(key)            # support subclasses that define __missing__
  File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.6/collections/__init__.py", line 875, in __missing__
    raise KeyError(key)
KeyError: '22479'

Thanks for your help.

Hi @MarvS95,
Were you able to solve this issue? If you have, can you please share the solution? It will be a great help. Thanks in advance!


LoadJpegFile & InsertObject work on old build but not new

I can't be sure, but either one of these two functions is not working properly with the latest pdfium.dll build. The JPG image is loaded, inserted, and displayed properly with the older build (December 6 2015 - linked here: PdfiumViewer/Libraries/Pdfium/x86/, but not with the newer build (September 28 2016 - obtained via Git download).

FPDFImageObj_LoadJpegFile
FPDFPage_InsertObject

However, with both builds, all functions return success results. Tested on 64-bit versions of Windows 8.1 and Windows 10 through 32bit compiles. The execution order of the function set is as follows:

FPDF_LoadDocument
FPDF_LoadPage
FPDFPageObj_NewImgeObj
FPDFImageObj_LoadJpegFile
FPDFPageObj_Transform
FPDFPage_InsertObject
FPDFPage_GenerateContent
FPDF_RenderPage

Is this some known issue, and might there be some workaround for it?
Thank you.
Sofia I.

I prefer not to maintain these methods. Pdfium actually provides a lot of methods to modify PDF documents, but the PdfiumViewer project doesn't really work well with those. It assumes that the PDF file is static, so changes will not be properly displayed in the viewer.
If you need to modify PDF files, you're far better off using https://github.com/itext/itextsharp. Could you have a look at that project and see whether this is an option for you?


Ability to capture JavaScript errors

Hi.
I'd like the ability to capture JavaScript errors.
If I call the ExecuteScript method on the instance of SeleniumBrowser a JavaScript error could be produced.
This will throw an exception, but not a very detailed one:
System.InvalidOperationException: JavaScript error (UnexpectedJavaScriptError)
   at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand(String script, String commandName, Object[] args)
   at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScript(String script, Object[] args)
   at SpecBind.Selenium.SeleniumBrowser.ExecuteScript(String script, Object[] args) ...

I expected to see the actual JavaScript error in the exception for example.
Another use case is the ability to validate that navigating to a page doesn't produce any JavaScript errors.
Or maybe validating that an action on a page also doesn't produce any JavaScript errors.
I'm thinking this can be done by getting the browser console logs.
For example:
// Chrome
ChromeOptions options = new ChromeOptions();
options.SetLoggingPreference(LogType.Browser, LogLevel.All);

// Firefox
FirefoxOptions options = new FirefoxOptions();
options.SetLoggingPreference(LogType.Browser, LogLevel.All);

// Get logs
List<LogEntry> logs = driver.Manage().Logs.GetLog(LogType.Browser).ToList();

Thoughts?
Thank you.

Another approach could be to inject some JavaScript code to capture errors:
http://jimevansmusic.blogspot.com/2013/09/capturing-javascript-errors-in.html


Dictionary Corruption on Load

We ran into a Dictionary corruption issue when running load tests on our product.  Based on what I'm seeing, the Dictionaries that are used in the CachedDictionaryLoggerMapper are not thread safe.  When one of these dictionaries become corrupted, only seems to happen on high load, we are unable to resolve any services from the container and have to restart the service.
This could be a fairly simple fix.  One option would be to swap the Dictionaries out with ConcurrentDictionaries which provide the same functionality but are thread safe.
Exception:
An exception was thrown while executing a resolve operation. See the InnerException for details. Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
StackTrace:
Inner exception System.InvalidOperationException handled at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation:
at System.ThrowHelper.ThrowInvalidOperationException_ConcurrentOperationsNotSupported (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Collections.Generic.Dictionary2.FindValue (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)    at System.Collections.Generic.Dictionary2.ContainsKey (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Autofac.log4net.Mapping.CachedDictionaryLoggerMapper.GetLoggerName (Autofac.log4net, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null)
at Autofac.log4net.Log4NetMiddleware.InjectLoggerProperties (Autofac.log4net, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null)
at Autofac.Core.Resolving.Middleware.SharingMiddleware+<>c__DisplayClass5_0.b__0 (Autofac, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=17863af14b0044da)
at Autofac.Core.Lifetime.LifetimeScope.CreateSharedInstance (Autofac, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=17863af14b0044da)
at Autofac.Core.Lifetime.LifetimeScope.CreateSharedInstance (Autofac, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=17863af14b0044da)
at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute (Autofac, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=17863af14b0044da)
at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute (Autofac, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=17863af14b0044da)
at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance (Autofac, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=17863af14b0044da)
at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation (Autofac, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=17863af14b0044da)

Is this project still being maintained?

Hey, sorry for the late reply, I was pretty busy during the last few weeks.
I just uploaded a new version 6.0.2, it should be available in the next hour or so.
Please let me know if it satisfies your requirements and I'll close the issue :)

Thanks for the fix and reply!  I'll get this package updated for our next release cycle.  Running load tests involves getting a few team members involved, so it'll be a few until I can confirm that the release fixed this issue.

@eran-gil, just following up on this.  We were finally able to get some load tests ran with the latest version of the package.  Everything ran smoothly, thanks for this fix!


Projects using Zarr

If you are using Zarr for whatever purpose, we would love to hear about it. If you can, please leave a couple of sentences in a comment below describing who you are and what you are using Zarr for. This information helps us to get a sense of the different use cases that are important for Zarr users, and helps core developers to justify the time they spend on the project.

Hi I'm currently looking at processing Argo float data in the cloud. Argo float basic data comes at single netcdf files, not you could read that data into a big database but I'm trying to come up with a databaseless solution so that the current files processing systems see no change.
@jhamman I like zarr and find it much easier to understand than HDF5 and more flexible. Where I am struggling a little is with xarray I tried just sending each cast to zarr with xarray's  to_zarr, but this resulted in thousands of small files. Because of set cluster size this resulted in poor disk brutalisation (in windows). This was because each attribute ended up in it's sown director with a single float in a 1k file.
Instead I've been storing an xarray object as a pickle I know this could cause problems (security etc.) but it is working very nicely. I create a large arrays of profiles (pickled objects) and it works great as a cache

@NickMortimer - if there are some xarray/zarr specific issues that would help your use case, I think we'd be keen to engage on the xarray issue tracker.


Feat/small updates

Description of change

Update of the README

Pull-Request Checklist

[ ] Code is up-to-date with the main branch
[ ] yarn lint passes with this change
[ ] yarn test passes with this change
[ ] This pull request links relevant issues as Fixes #0000
[ ] There are new or updated unit tests validating the change
[ ] Documentation has been updated to reflect this change
[ ] The new commits follow conventions outlined in the conventional commit spec

Perhaps I missed it, or it's not clear enough: could we add a tutorial for a user to claim their rewards without the help of the frontend (to explain to someone to go look for their address in the json and provide the proof to the RewardsDistributor)?

Yep, check the end of the README:
" by calling the claim function of the Rewards Distributor with parameters coming from the last distribution in proofs folder"


Update credential_phishing_docusign_embedded_image_lure.yml

/mql-mimic-exempt: 262118, 315071, 323179, 167254, 167258, 185788, 181157
These are all FP's with the exception of 185788 which is a QR code/Docusign lure.


haskellPackages.scrypt: only supports x86

Motivation for this change
https://github.com/informatikr/scrypt/issues/8
ZHF: #122042
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

/rebase haskell-updates

Will haskell-updates be merged into 21.05?

Yes that is the plan, otherwise I intend to backport platform related fixes.


mkpr

Applied mkpr on package.json
sed s/"levelup": "^.*"/"levelup": "^4.3.1"/

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BUG] Serialized stock can only be deleted from parts page

Describe the bug
Serialized stock cannot be deleted from the stock item page. The only page serialized stock can be deleted from is the stock tab in the associated parts page. This is inconsistent with non-serialized stock and less discoverable when deleting a single serialized stock item.
Expected behavior
Serialized stock should be able to be deleted from the stock page, the same as non-serialized stock.
Screenshots
The only way of deleting serialized stock is from the parts page:

Non-serialized stock can be deleted from the stock page:

Serialized stock should also be allowed to be deleted from the stock page:

Deployment Method

[ ] Docker
[X] Bare Metal

Version Information
InvenTree-Version: 0.7.0 dev
Django Version: 3.2.12
Commit Hash: 010ce48
Commit Date: 2022-02-28
Database: postgresql
Debug-Mode: False
Deployed using Docker: True

Hi there @reilly-callaway !
Would you be willing to dev this?
Thank you for reporting this


pack_balance_proof must be useful for packing offchain messages

Since 143907bb35045c129dc4ad443563246c7713cc5b, pack_balance_proof takes msg_type argument (either MessageTypeId.BALANCE_PROOF for closing or MessageTypeId.BALANCE_PROOF_UPDATE for updating).  After that, this function is useful for sigining both the close message and the update message.
However, the same function pack_balance_proof is used in the client to sign offchain messages.  These offchain messages do not contain the msg_type.  Since balance proofs contained in LockedTransfer etc should be usable both for closing and updating, these messages should be packed without the msg_type.

The solution is to keep the old pack_balance_proof() and to create pack_signed_balance_proof_for_countersignature().  The new pack_signed_balance_proof_for_countersignature() then takes the msg_type.

Well actually, now the first signature is supposed to use msg_type == BALANCE_PROOF.
So the problem is currently, the first signature on the balance proof, and the second signature for closing cannot be distinguished.

Documented the real issue in #1175.


Settings Panel

Create settings panel for Api keys and other custom properties such as prompts

Finished by @akshaynarisetti
Set openAI key + deepgram key.


[1.18.1] Advancement issues, given upon doing the wrong requirements.

Title ^
Some advancements are given upon doing the wrong stuff.
If you're just starting the world you will automatically be given the [Spawner Harvester] advancements even though its not been done yet.
And enchanting an item in the enchantment table will also give you the advancements: [Hell Infusion] & [Sea Infusion] without actually doing those correctly.
There might be more like these, but these are the ones I've encountered.
Edit: Seems like the advancements for modifiers are not working. Only the [Spawner Modifier] is actually given. No other modifier advancements.
Versions:
Minecraft: 1.18.1
Forge: 39.0.56
Apotheosis: 5.1.1 | https://www.curseforge.com/minecraft/mc-mods/apotheosis/files/3621404
Placebo: 6.0.4 | https://www.curseforge.com/minecraft/mc-mods/placebo/files/3621255
- Gbergz

All fixed, except for the Spawner Harvester advancement. That is still granted on world load, without actually obtaining one.


Add a command for setting environment variables.

TODO

[ ] Add tests around new command.
[ ] Solicit feedback on naming.

Description
This is a little bit of a divergence from what was brought up in #837, but I think it's another avenue for how to solve the problem as described in that issue. This PR introduces a new command: zappa set-environment-variable. I'm a little concerned that the name is over-verbose, but figured I'd err on the side of being as explicit as possible.
For our particular use case, this would be valuable in CI for updating variables we expect in each environment (things like the SHA associated with the release, the time of deployment, etc.), but I can imagine it'd be helpful for a few different reasons.
The command takes three arguments:
--key: the key of the environment variable to set
--value: the value to set the environment variable to
--overwrite: a boolean indicating that, if an environment variable already exists with the provided key, it should be overwritten. In the absence of this flag, a KeyError will be raised. (I'm not that thrilled with using KeyError, but couldn't think of anything better.
Tested as working in 2.7 and 3.6 (and 3.7, with a quick __init__.py tweak, since 3.7 support is coming down the pipeline).
GitHub Issues
https://github.com/Miserlou/Zappa/issues/837

Coverage decreased (-0.4%) to 72.388% when pulling daf5ed486d8f9032f4328e9a867bb5eea6730297 on newsela:set-env-var-cmd into 7730144dec01b4cdbf0205b936a200e54a287ebb on Miserlou:master.


Error list shows thousands of errors

Open a large program, and type tilemap` . I don't think the error list should be showing all 4k errors in the list. We should cap to 100 errors.

Share repro project?

Might be nice to bucket repeating errors, like the serial console does (Chrome devtools console is another example).

https://makecode.com/_DhF56PHf1Yac

It takes like 3 seconds on my box to open the error list with 3000+ errors.

I made a change to group matching errors by line number, and show a count:

I don't think the list should be truncated. That could hide new errors that appear way down. My test project has 2519 errors, most of them are what you see above, but last few entries are different:

I'll open a PR unless you want a different solution. This should render much faster than 1000s of individual entries.


Highlight substring matches within keys / values

An earlier, prototype version of the monitor used react-highlight-words to highlight substring matches:

It would be nice to find a way to restore that functionality within the context of react-json-tree.

I've got this working but it's blocked by a missing react-json-tree feature (see chibicode/react-json-tree/pull/18).


Fix allocation in o1utils array module

Fixes https://github.com/o1-labs/proof-systems/pull/2247. The functions before were still overflowing the stack. That was happening because e.g. vec_of_slices2.iter().map(...) was dereferencing inside the map (https://github.com/o1-labs/proof-systems/pull/2260/files#diff-892a56213c28a7749b5e25aa89c7067aac3c15d0d5d86293a00cb720ef88c6c4L20), thus bringing the value into the stack again. In practice, each element of that vector was put on stack and then added from stack to the vector again.
Main changes:

Implement converters properly. Now new vectors are created from a slice, so from a memory reference directly.
Tests changed to create much bigger arrays (that actually fail on master)

Introduces Clone but I haven't found another way. It's honestly a bit tough with rust that I can't just manipulate memory directly...

You can manipulate memory directly with std::mem

@dannywillems I clarified the description in the top post, how does this sound?

I don't fully like it because of the clone. However, we must move one, and therefore I will accept.
The problem should be solvable easily by manipulating directly the memory with std::mem à la C (or higher rust-y interfaces of it), at the cost of being less generic over the type T. Note that we do not need the generic aspect of these functions. We should only need memory manipulation for field, commitments, and maybe other flat values, where memcpy and continuous flat arrays Box<[T; N + M] should be enough (and which can be done using macro?).

Yep, doing it without Clone should be possible, I'm fairly sure, but I've spent a lot of time trying to search for a ready solution and haven't found any, and everything with unsafe I don't understand enough atm to confidently add to our system. So for the future.


Web - Green line appears with "New" after request/cancel money

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 staging.new.expensify.com
Log in with any account
Select any user
Click on plus button - Request Money
Select "View" detail and click Cancel

Expected Result:
Green line should not be appear with "New" after request/cancel money
Actual Result:
Green line appears with "New" after request/cancel money
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/191824207-264f0f9b-1a61-44cb-aa1e-e5411ccc256d.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

cannot reproduce this on Version 1.2.5-0 (1.2.5-0) with the staging or production server backend.

Gonna add this to my watch list but without a reproduction it's hard to know what is causing this. Probably we will need to capture logs or add more logs if we don't have any ones that can help identify the root cause.

oh also confirming I tested directly on staging.new.expensify.com as well and couldn't reproduce either

@bondydaa @marcaaron I just check the issue again and noticed that its reproduced for the first attempt to request money .
https://user-images.githubusercontent.com/93399543/191868076-0d0f6b00-43c3-4163-886a-706d49de3174.mp4

hmm strange, i wonder if this is platform specific b/c even testing sending to accounts I've never requested money from i can't reproduce 🤔 very very weird.

ooh boy i just reproduced this! but now I can't again with what I thought was the key...
I think it has to do with switching from a different chat to the 1:1 chat with the person you're requesting money. IIRC I started out with a group chat loaded I think between Nikki and Marc or maybe Marc and Tim and then requested the money and when it switched to the 1:1 chat between me and Nikki to show the IOU the new was there.
Maybe it does need to be the first time you request money from that user and you start with a different chat loaded?

though my screenshot suggests otherwise since there are other IOUs shown there and dismissed 🤔

Issue not reproducible during KI retests. (First week)

Issue not reproducible during KI retests. (Second week)

Issue not reproducible during KI retests. (Third week) Closing


Ambiguous TestGetentPasswdOsloginUser failure in oslogin suite

N.B: We're currently pinned to commit c75566e63b2... but are planning to update the pin again very soon
Hey there everyone! :smile:
The oslogin suite is looking much better now (down from 5 failures to just 1 - thanks again for the help there!), but we're still seeing a single failure in TestGetentPasswdOsloginUser:
 <?xml version="1.0" encoding="UTF-8"?>
 <testsuites time="35.420" tests="12" failures="1" skipped="4">
 	<testsuite name="oslogin-daily-ubuntu-2204-jammy-v20240823" tests="12" failures="1" errors="0" id="0" skipped="4" time="35.420">
 		<testcase name="TestOsLoginEnabled" classname="" time="0.000"></testcase>
 		<testcase name="TestGetentPasswdOsloginUser" classname="" time="0.080">
 			<failure message="Failed"></failure>
 		</testcase>
 		<testcase name="TestOsLoginDisabled" classname="" time="0.000"></testcase>
 		<testcase name="TestSSH" classname="" time="17.550"></testcase>
 		<testcase name="TestAdminSSH" classname="" time="1.850"></testcase>
 		<testcase name="Test2FASSH" classname="" time="3.970"></testcase>
 		<testcase name="Test2FAAdminSSH" classname="" time="3.400"></testcase>
 		<testcase name="TestAgent" classname="" time="8.570"></testcase>
 		<testcase name="TestGetentPasswdAllUsers" classname="oslogin-daily-ubuntu-2204-jammy-v20240823">
 			<skipped message=""><![CDATA[TestGetentPasswdAllUsers disabled on projects/ubuntu-os-cloud-devel/global/images/daily-ubuntu-2204-jammy-v20240823]]></skipped>
 		</testcase>
 		<testcase name="TestGetentPasswdOsloginUID" classname="oslogin-daily-ubuntu-2204-jammy-v20240823">
 			<skipped message=""><![CDATA[TestGetentPasswdOsloginUID disabled on projects/ubuntu-os-cloud-devel/global/images/daily-ubuntu-2204-jammy-v20240823]]></skipped>
 		</testcase>
 		<testcase name="TestGetentPasswdLocalUser" classname="oslogin-daily-ubuntu-2204-jammy-v20240823">
 			<skipped message=""><![CDATA[TestGetentPasswdLocalUser disabled on projects/ubuntu-os-cloud-devel/global/images/daily-ubuntu-2204-jammy-v20240823]]></skipped>
 		</testcase>
 		<testcase name="TestGetentPasswdInvalidUser" classname="oslogin-daily-ubuntu-2204-jammy-v20240823">
 			<skipped message=""><![CDATA[TestGetentPasswdInvalidUser disabled on projects/ubuntu-os-cloud-devel/global/images/daily-ubuntu-2204-jammy-v20240823]]></skipped>
 		</testcase>
 	</testsuite>
 </testsuites>

I'm struggling to replicate this locally, do you have any ideas? I'm wondering aloud if this is a permissions error to canonical-oslogin-cit, but I can't confirm that on my end.
Thanks in advance!
Chlo

FYI @drewhli if you have any thoughts

If you have access to the serial logs for the instance that ran the test, that would be helpful. However, I think I know the root cause.
The test assumes that the default service account running on the instance has a POSIX account associated with it. If such a POSIX account doesn't exist, then the test segfaults, causing the ambiguous Failed error message. You'll probably see a panic message in the serial logs for the instance along the lines of panic: runtime error: index out of range [0] with length 0.
I'll put out a change to fix this so that the absence of an associated POSIX account does not cause this segfault and returns an error instead. In the meantime, you may need to connect to the VM using the default service account, and then check the login-profile to make sure a POSIX account exists.

@kajiya3141 are you still seeing the same failure?

Sorry all, I missed this notification! Let me follow up and get back to you when we've re-enabled CIT across our test matrix again soon :smile:


Fix rocm compiler errors

@trws and @davidbeckingsale, I made the two one-line changes in this PR so that rocm 5.6 would work (previous versions and other compilers worked fine).  But I am not sure I understand why this would have been a problem in the first place.  Can either of you explain what the difference is with using new instead of std::make_shared in this case?  Does one work better than the other?  Which way is actually correct/preferred?

Either std::make_shared or std::make_unique are always preferred where appropriate.  I'm not sure why using new there would fail, but it's still not recommended. The reason is for exception safety.  If you use new, and an exception is thrown in creating the shared_ptr or unique_ptr from it, then the memory is leaked or in some cases may potentially produce UB.  Using make_* ensures that case never happens.

Thanks @trws !


generalizing RVRP

RVRP is now at the same stage as it was before the DS changes. But I improved the tests because the DS is now more complex

What do you think about this ?
mutable struct PickupPointsGroup
    id::String
    index::Int
    pickup_points::Vector{String} # pickup points or/and depot points
end

mutable struct DeliveryPointsGroup
    id::String
    index::Int
    delivery_points::Vector{String} # delivery points or/and depot points
end

mutable struct SpecificProduct # an entity to understand as a commodity in a multi-commodity flow problem
    id::String
    index::Int # Not given in JSON.
    product_category_id::String
    pickup_group_id::String
    pickup_availabitilies::Vector{Float64} # pickup availabilities at the pickup group points
    delivery_group_id::String
    delivery_capacities::Vector{Float64} # pickup availabilities at the delviery group points
end

mutable struct Request # can be
    # ...
    alternative_pickup_point_ids::PickupPointsGroup
    alternative_delivery_point_ids::DeliveryPointsGroup
end

Not only it helps with our issue for independent pickup/delivery but it also reduce the redundancy among specific_products available at the exact same group of points.


Expected redirect response from (http://learningequality.org/r/translationmapping)

I'm getting this error when trying to build content packs
INFO:root:Getting spreadsheet location from (http://learningequality.org/r/translationmapping)
Traceback (most recent call last):
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/generate_dubbed_video_mappings.py", line 51, in download_ka_dubbed_video_csv
    download_url = urllib.request.urlopen(csv_url).geturl()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 163, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 472, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 582, in http_response
    'http', request, response, code, msg, hdrs)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 510, in error
    return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 590, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/__main__.py", line 119, in <module>
    main()
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/__main__.py", line 108, in main
    make_language_pack(lang, version, sublangs, out, ka_domain, no_assessment_items, no_subtitles, no_assessment_resources, no_dubbed_videos)
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/__main__.py", line 35, in make_language_pack
    node_data, subtitle_data, interface_catalog, content_catalog = retrieve_language_resources(version, sublangargs, ka_domain, no_subtitles, no_dubbed_videos)
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/khanacademy.py", line 126, in retrieve_language_resources
    node_data = retrieve_kalite_data(lang=sublangargs["content_lang"], force=True, ka_domain=ka_domain, no_dubbed_videos=no_dubbed_videos)
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/khanacademy.py", line 633, in retrieve_kalite_data
    node_data = add_dubbed_video_mappings(node_data, lang)
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/khanacademy.py", line 646, in add_dubbed_video_mappings
    main()
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/generate_dubbed_video_mappings.py", line 158, in main
    csv_data = download_ka_dubbed_video_csv(cache_filepath=CACHE_FILEPATH)
  File "/Users/yujin/Desktop/ka-lite-content-packs/contentpacks/generate_dubbed_video_mappings.py", line 58, in download_ka_dubbed_video_csv
    raise Exception("Expected redirect response from (%s)" % csv_url)
Exception: Expected redirect response from (http://learningequality.org/r/translationmapping)

Will look into this and fix the problem asap

This must have happened while upgrades of website and cloudflare integration caused instability! It works now :)

@benjaoming it was fixed during my last PR. I just used the requests module.


2D tower building

Requested Changes
We need some logic for 2d tower building.
Interface:

input: cubes count, one cube size
output: list of coordinates for cubes

Implementation Details
We have to decide:

relation between size of cube and coordinates

Tower form: square or almost square
Additional Info

#6 Parent task

Questions

what is 2d tower?

I mean it is like a pyramid or it's like more classical tower (straight one)

Top view:

Height: 1
So it isn't a tower, actually, it's more like grid


Refactor reason() into multiple methods

I agree here. Can you additionally replace "reasonIntern" with a more saying name "applyRuleTable"? The latter makes clear that it's the application of the inference rules that are arranged in the Rule Table.

closed because I need to rework this - no problem


Add "inch of mercury" pressure unit as US Custom Unit

Inch of Mercury (inHg) is used in aviation weather reports in the US.
Please check if this is integrated at the right place.
I compiled and run static tests successfully.

Today I also added https://github.com/mpusz/units/commit/002d5b42757c6671bebdb0f1d58c5e0da2bfb3cd to V2.

Cool, thank you too :-)


Fix usability issues in timeline

The search button should make use of the currently selected area.
The functionality of the zoom buttons should be clearer.
The axis markers should represent more usable points in time.
A back button for returning to the welcome page should be added.

split into issues #142, #143, #144, #145.


Charm++ v7.0.0 --enable-charmdebug fails to build

Hi folks!
I'm using Ubuntu 21.10 and build Charm++ v7.0.0 as:
./build LIBS multicore-linux-x86_64 -j20 --enable-charmdebug -g -O0

fails with
/home/nils/Downloads/charm/src/conv-core/memory.C:439:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  439 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C: In function ‘void* mm_impl_valloc(size_t)’:
/home/nils/Downloads/charm/src/conv-core/memory.C:355:3: error: ‘__malloc_hook’ was not declared in this scope; did you mean ‘old_malloc_hook’?
  355 |   __malloc_hook = old_malloc_hook; \
      |   ^~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:451:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  451 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:356:3: error: ‘__realloc_hook’ was not declared in this scope; did you mean ‘old_realloc_hook’?
  356 |   __realloc_hook = old_realloc_hook; \
      |   ^~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:451:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  451 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:357:3: error: ‘__memalign_hook’ was not declared in this scope; did you mean ‘old_memalign_hook’?
  357 |   __memalign_hook = old_memalign_hook; \
      |   ^~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:451:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  451 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:358:3: error: ‘__free_hook’ was not declared in this scope; did you mean ‘old_free_hook’?
  358 |   __free_hook = old_free_hook
      |   ^~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:451:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  451 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C: In function ‘void* mm_impl_pvalloc(size_t)’:
/home/nils/Downloads/charm/src/conv-core/memory.C:355:3: error: ‘__malloc_hook’ was not declared in this scope; did you mean ‘old_malloc_hook’?
  355 |   __malloc_hook = old_malloc_hook; \
      |   ^~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:463:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  463 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:356:3: error: ‘__realloc_hook’ was not declared in this scope; did you mean ‘old_realloc_hook’?
  356 |   __realloc_hook = old_realloc_hook; \
      |   ^~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:463:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  463 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:357:3: error: ‘__memalign_hook’ was not declared in this scope; did you mean ‘old_memalign_hook’?
  357 |   __memalign_hook = old_memalign_hook; \
      |   ^~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:463:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  463 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:358:3: error: ‘__free_hook’ was not declared in this scope; did you mean ‘old_free_hook’?
  358 |   __free_hook = old_free_hook
      |   ^~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C:463:3: note: in expansion of macro ‘BEFORE_MALLOC_CALL’
  463 |   BEFORE_MALLOC_CALL;
      |   ^~~~~~~~~~~~~~~~~~
/home/nils/Downloads/charm/src/conv-core/memory.C: In function ‘CMK_TYPEDEF_UINT8 MemusageMallinfo()’:
/home/nils/Downloads/charm/src/conv-core/memory.C:632:18: warning: ‘mallinfo mallinfo()’ is deprecated [-Wdeprecated-declarations]
  632 |     mi = mallinfo();

I haven't tried to figure out what the underlying issue actually is. Maybe I'm missing an implicit dependency?
Cheers,
Nils

Hi @nilsdeppe, could you test if #3710 resolves this issue for you?


Rules manager Panic caused by closing a channel more than once.

caused when sending a SIGHUP. and  SIGTERM right after that.
I looked briefly and seems like an easy one to solve.
panic: close of closed channel

goroutine 86182 [running]:
github.com/prometheus/prometheus/rules.(*Group).stop(...)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:238
github.com/prometheus/prometheus/rules.(*Manager).Update.func1(0xc58eeacc01, 0xc42842c480, 0xc4200c5bc0, 0xc53ad459e0, 0xc44f874a20)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:501 +0x80
created by github.com/prometheus/prometheus/rules.(*Manager).Update
      ..../src/github.com/prometheus/prometheus/rules/manager.go:499 +0x512
panic: close of closed channel

goroutine 86140 [running]:
github.com/prometheus/prometheus/rules.(*Group).stop(...)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:238
github.com/prometheus/prometheus/rules.(*Manager).Update.func1(0xc4fab69b01, 0xc428228b40, 0xc4200c5bc0, 0xc53ad459e0, 0xc4e381def0)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:501 +0x80
created by github.com/prometheus/prometheus/rules.(*Manager).Update
      ..../src/github.com/prometheus/prometheus/rules/manager.go:499 +0x512

the report was from @beorn7 and I already opened a PR(link above) with a suggested fix , but that is without managing to replicate it.
It would help if you can manage to replicate it and check if the PR fixes the issue.

👍 Sorry I missed that PR @krasi-georgiev - I will attempt to replicate and post results.

thanks

@daveworth you can have a go if you want as I couldn't replicate it and a better PR would be finding what caused closing this channel twice rather than preventing for double closing the same channel.

I think this race is more likely to happen the other way, TERM and then HUP.

:wave: sorry for my delay - job transitions and travel interrupted my work.  Back on it.

I have thousands of rules in my Prometheus. It is easy to replicate it when sending SIGTERM.

Here's a test that gives "close of closed channel", using the fixture yaml from #4306 :
func TestStop(t *testing.T) {
	files := []string{"fixtures/rules.yaml"}
	ruleManager := NewManager(&ManagerOptions{
		Context: context.Background(),
		Logger:  log.NewNopLogger(),
	})
	ruleManager.Run()

	err := ruleManager.Update(10*time.Second, files)
	testutil.Ok(t, err)

	ruleManager.Stop()

	err = ruleManager.Update(10*time.Second, files)
	testutil.Ok(t, err)
}

What is the expected state of Manager after Stop() ?  Blanking groups would be an easy fix.

Not panicing would be the expected state :) It should no longer be writing anything to storage.
Emptying groups was also my thought on handling this.

Given that Stop() is only called from the teardown handler in main(), I venture to suggest that it should put Manager into a state where subsequent Update() calls do not start any further work.

The other option is that we make it so an Update can't be called after a shutdown is initiated. It might be better to centralise that logic in once place rather than spreading it around in each subsystem.


[WIP] Structure template API

This PR will add a completely new Structure API to Glowstone++. The aim of these changes is for custom structures and customizable generation by server owners and plugin developers to be possible. This will also mean that all current structures (Temples, Igloos, End City) will be converted into a JSON-based file structure, 'templates'.
This PR consists of:

Converting hard-coded structures into loadable JSON file templates
Runtime generation manipulation by plugins
Geometric and Schematic structure support

Geometry can be used to create simpler structures with shapes
Schematics can be used by server owners (because it is a universal format)

Current development progress:

[x] API for Structure templates

[x] Geometric structure builder
[ ] Schematic structure builder

[ ] JSON file loader (templates)
[ ] Add templates to world generation
[ ] Document
[ ] Testing

Sample Igloo template (WIP): https://gist.github.com/momothereal/afdc9f533e0559dc447b754b6c793a53

Will this also allow loading in mojang format?

No, we decided to move away from Mojang stuff and unite structures into one format. Igloo and End City will be re-made using Geometry.

What about allowing to load mojang format?

We dont want to distribute the assets, though.

mastercoms: You don't have to hard code them, but don't import the file from 1.9. I think that we should look at the information in them, and determine the best way to organize that information ourselves. If we want to use JSON, we shouldn't be changing formats just because we're copying code. We should make our own original structure for the JSON that can be better than the Mojang structure, and use the file format best suited for our purposes, not because we want to avoid being similar to Mojang.

ok then

What happened? :(

@mastercoms Long story short, I tried squashing two commits and accidentally merged two branches together, so I'll need to re-commit the changes to this PR.


Refactor the RFQ service to handle payment init via asset sale

Towards fixing https://github.com/lightninglabs/taproot-assets/issues/818
This PR refactors the RFQ system to make adding asset sale support easier.

@GeorgeTsagk


Custom gui menu

I have created a new gui menu for links to mod authors and youtube details, but when I try to load with the new menu in the file. Forge cant load past step 3 and crashes.
crash-2016-10-12_15.12.07-client.txt

I started from scratch and it fixed it... Probably forgot a comma somewhere.


[CS2103-T15-2] Ailurus

Ailurus helps organizing committees account for details of their members. It provides users with convenient viewing and editing access to all information, thus providing much convenience in their work.

Codecov Report

Merging #7 (cc4e7ff) into master (ba53b8c) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #7   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


Zelda 1 crashes in death mountain

As the title says, it unfortunately crashes in Level 9:

(Of course I enabled recompile PRG ram, otherwise it won't run at all)
Great work btw ;)

This error is not related to death mountain, just follow step 5 on the exe's main window and it'll reduce RAM usage based on how much of the game you've already seen.
I made a change related to this error in the past few days and will be much less likely to happen in the next release.

I accidentally found your work last night while trying to find something else on google about my project.
I'm not sure what's the best way to distribute profiles for each game, maybe someone can help me set up something.
The compatibility sheet was missing "Disable NMI at vblank" since auto detect is enough for this game. Sometimes having both NMI options causes more crashes.
You can use opcode $22 (JSL) to "escape" the emulation. The emulator will directly copy this instruction and it is the only 65816 instruction that you can use in the NES code when patching a game. I plan to add more patching tools based on demands but so far your work is the only thing that came to fruition.

Yay! The Disable NMI at vblank did the trick :D No more crash... but I am lost where to adjust opcode $22 ro escape emulation

If you patch the NES ROM with opcode $22, which crashes a regular 6502, it'll properly act as a JSL on the emulator so you can have full access to the SNES. Some other $x2 opcodes have been repurposed for patching ROMs.
It looks like you don't need it because you have an IRQ hook but in case you want to edit the original NES code, you will need to know this about the emulator.

Ah I see.
Bad news, it still crashes, but much much less frequently:
https://drive.google.com/file/d/1QoGrDtbSwhYjF60jvUa_WkRTtsA-8xQF/view?usp=sharing
see video at 3:52 mark for crash
Maybe your v1.4 makes it even better :)
As for profiles, maybe some people can make the game profile adjustments, like the attached txt and put it somewhere to dowwnload, or you provide some pre-adjusted game profiles within your download in a provided profiles folder?
Legend of Zelda, The (USA).txt

This game was originally tested way before v1.0 came out and it didn't have any of those crashes. I'm hoping this latest BRK crash is just the indirect JMP crash that I already fixed for the upcoming version. I think the indirect JMP crash is only present in v1.3 so it's worth testing earlier emulator versions for this game.
I noticed that you haven't tried step 5 yet. Your original report was about "Out of Memory" error, not this BRK that you seem to have in all your videos. Step 5 will also improve performance and remove some/most of the hang when something new happens.

Hi Myself086,
What do you mean with statement "haven't tried step 5"? Is it the Jump range area?

Step 5 on the exe itself as highlighted in this screenshot. If done properly, the number of "known calls" should be greater than 0. There's a bug if you skip step 2 so make sure to do that first.

Thanks, doing this helped with stability. So far, no crashes (cross fingers).

Hi, once again. Simple question, is step 5 unique to the user's unique hardware or emulation environment? In other words, will my profile derived from my SRM benefit others as well? For me, step 5 made a huge improvement; to others not so much.

Use v1.2 for the time being, there's a somewhat rare crash in v1.3 related to indirect JMP list and will be fixed for v1.4.
This "Load SRM" only fixes "Out of Memory" errors. The SRM may be unique per user but can be passed around in the txt file generated for the profile. It contains entry points to sub-routines that need to be recompiled. The exe doesn't attempt to do any of it by itself.

Out of interest, how did you achieve this fantastic work?
I mean we are guessing whether you convert the nes asm into snes asm to execute it via the snes cpu, or if you have a nes cpu somehow inside the rom (nested nes cpu) that executes nes asm instructions?

This is done entirely by the processing power of the SNES. There's no extra processor in the cart. It's just ROM+RAM+Battery.
The exe's role is to merge 2 files together (emulator + NES ROM) and it doesn't attempt to understand the code at all. The iNES header is converted to a different format for faster reads and ROM banks are ordered differently.
This is a recompiler emulator, the recompilation is done on the SNES. Each time unknown code needs to be executed, the recompiler takes some time to rewrite the code in WRAM just-in-time (JIT), this process hangs the game for a fraction of a second each time something new happens. But due to the low amount of WRAM, an "Out of Memory" error will happen, especially with games using mappers. Loading the SRM into the exe lets the exe emulate the emulator (literally) to recompile known sub-routines ahead-of-time (AOT) while the exe gives access to editing ROM. There's almost 2mb of ROM that can be used for recompiled code as opposed to 128kb of WRAM on the SNES. Only about 90kb of WRAM can be used for code due to other data needing space. In v1.4, there will be 256kb of SRAM, 240kb of which is used as extra heap. This extra SRAM is optional and is automatically scaled down based on what's available but the original 16kb must be present.
When Recompiler__Build is called, the following things happen:

Read and record branches for code blocks. (multi pass)
Sort code blocks.
Rewrite code from top to bottom. (single pass)
Rewrite code for overlapping blocks. (v1.4+)
Write proper destinations for unsolved jumps. Unsolved branches were coupled with a jump in case it's out of range.
Transfer new code to ROM (AOT only) or SRAM (JIT only, v1.4+).
If code was transferred, jumps are adjusted.

Mapper emulation breaks the CPU memory down by blocks of 0x2000 bytes. But because the SNES banks can only switch 32kb at a time, some extra code is added to support switching 8kb or 16kb at a time. This is done by having a variable containing which page range the CPU's DB register represents.
	; NES code
	LDA	$8123,x

	; SNES code
	LDA	#$80		; page range requested
	EOR	Memory_NesBank	; using EOR instead of CMP to not ruin carry and overflow flags
	BEQ	+
		JSL	...	; this call has multiple variants
+	LDA	$8123,x

Some variants of this code can be surrounded by XBA+XBA and/or PHP+PLP.
I could go into a lot more details but let me know if you have more questions.

That is really impressive, real time compilation of nes code... I do not want to imagine how many hours you needed to get it work, also ~that~ it works. Nobody attempted this before!

The sound emulation was made by Memblers from nesdev.com a long time ago, he lets me use his code for my project. I made some necessary changes to it since. His original data transfer involves 0x17 bytes being transferred 1 by 1 in a loop which costed about 4% of the CPU's time. They are now transferred by using HDMA which is probably why your breakpoints don't trigger on $214x.

Step 5 is the weirdest step off all steps,i was confused about it for a loooooong time untill i understood the meaning it,so what i did was i manually created a 128KB save ram file for my snes powerpak (because with a 8kB sram file i couldn’t store the snes nested learned profile from a nes game on it)
so once i created a 128KB sram file, i then played a nes game like zelda or mario 2 etc,,, then after when i did enough activities in a nes game and went game over,i then hit and hold reset for 5 seconds then a menu will pop up wich allow you to choose to wich save file you want to save and so i saved on the 128KB sram. File, now once i pull off the cf flash card from the powerpak onto the pc and i had to redo the conversion proccess again BUT this time i added the 128ZkB sram i created and saved nested learned profile on it with the rom sothat after that,i could play that nes game more smoothly,
for the everdrive or snes9x emulator i don’t have to create a save file for it since they do it automatically for you,the only thing you have to do here is just play for a while untill you are gameover or so,then turn off the console or emulator,make sure that it is automatically save, once sure do the reconversion all over again from a nes rom but this time you have to load that srm file with nested file from that game you played on it into the conversion program,now put that converted rom on the everdrive or snes9x emulator,now that game played early on should run smoother with likely minimal to no chance to run out of ram to crash,(you can now throw away that previous converted nes game in favor of the improved converted version you just made)
Yeah i know it’s very weird and it may be hard to understand for some people BUT yes it is and who wants to do twice the same thing just to get things better??? It’s just weird.


Profile API request returns {} for buyers. Is this the intended behaviour?

http://localhost:18469/api/v1/profile?guid=0f912958d71ec44ce69fdecb947dc7b907f38b08
for example, returns {}, where 0f912958d71ec44ce69fdecb947dc7b907f38b08 is a new node that has not opted to set up as a store (i.e. is just a buyer).
Is this the intended behaviour? It's not documented here: https://docs.google.com/document/d/1IZQQBw-LpMFFTk6T76ENZ4z5LVEkM5LDm9Qb8c-YoKo/edit

{} is returned at the moment if it can't connect to that node.

Does it fail to connect if the node hasn’t set up as a store, or does that have nothing to do with anything?
Do you have any guids of nodes that aren’t stores but that you get a response from? (i.e. it connects and you get a profile)

@dsmurrell the new API documentation will be updated to indicate that {} will be returned if the node isn't online.


Swift 4 Branch?

Any near-term plans for this? I've tried on my own but can't figure out how to fix the issues.

https://github.com/delba/TextAttributes/pull/23
^Very basic swift 4 implementation

Hi @36bydesign, the lib has been updated to the latest Swift version.