Highlights can't be imported

Everything is default, but no highlights can be imported.
I have no idea if it is a bug or I have just missed some settings.
I have tried to make more highlights and add some notes to it, but only the following would be imported into Logseq.

Hi @kimitrois can you try clearing the syncAt variable from your settings? You can access it by opening the plugin settings, and clicking Edit settings json. Quick demo here: https://www.loom.com/share/acb31e3c7b974819bcb08a7dacd58e3b

Hi @kimitrois can you try clearing the syncAt variable from your settings? You can access it by opening the plugin settings, and clicking Edit settings json. Quick demo here: https://www.loom.com/share/acb31e3c7b974819bcb08a7dacd58e3b

Hi @jacksonh , thanks for replying. I followed the demo but it still doesn't work. The result is just the same as the former screenshot.

Hey @kimitrois i guess you might need to clear the filter in settings.
We are making the filter as a selectable config in #37

Hey @kimitrois i guess you might need to clear the filter in settings.
We are making the filter as a selectable config in #37

Hi @sywhb , I just reinstalled the plugin and cleared the filter but it remains the same.
Thanks for helping...

@kimitrois  Thanks for your patience. I saw the search api being called by the plugin in our logs:
searching pages in elastic {"query":{"bool":{"filter":[{"term":{"userId":"ee7424f6-6c95-11ec-a260-2b9341af2833"}},{"range":{"updatedAt":{"gt":"2022-07-12T13:50:30.000Z"}}}],"should":[],"must_not":[]}},"sort":[{"savedAt":{"order":"asc"}}],"from":0,"size":51,"_source":{"excludes":["originalHtml","content"]}}
The updatedAt in the query is 2022-07-12T13:50:30.000Z so only articles updated after this timestamp will be fetched.
This might be due to the synced at config not updated properly.
May I know if you have any article or highlight saved after 2022-07-12T13:50:30.000Z so we could verify again?

Got it, thanks @kimitrois .
Yeah the synced at would be updated once the syncing is completed.
For the latest fetched article, is there an arrow besides the title? like this:

If there is one, clicking on that arrow would expand the highlights and annotations.

🤦🏻♂ oh shoot, how stupid I am.............It must have worked well since the first click I made...........I see that arrow in my first screenshot.......
Thanks and also Sorry for your time , both of you @sywhb @jacksonh


LootTable, and KeyBinding class name.

Gonna map something in sounds, dont merge just yet.

Alright I'm done, feel free to leave feedback.

Merging because it's SNAPSHOT TIME!


Prevent 2nd reload of debugger on runserver_plus

Only use the DebuggedApplication hander-wrapper on the outer call.
For manageability, move the inner_run into its own instance method.
Fixes #832
Related http://stackoverflow.com/a/9476701

Coverage increased (+0.1%) to 31.619% when pulling 91fc6c413a05bc0438bb15bbd5ecfde17aa6fb5a on tony:runserver-plus-doublerun into f40be190de1102f663573e65cbb19b4d7da83864 on django-extensions:master.

Coverage increased (+0.1%) to 31.619% when pulling 8e0ef922099540484d50449e291cd42e1f391974 on tony:runserver-plus-doublerun into f40be190de1102f663573e65cbb19b4d7da83864 on django-extensions:master.

Coverage increased (+0.09%) to 31.61% when pulling 4d83167f89e856343865bdd16eee52b4166c3ba9 on tony:runserver-plus-doublerun into f40be190de1102f663573e65cbb19b4d7da83864 on django-extensions:master.

Coverage increased (+0.09%) to 32.265% when pulling e24dee5de52b990baca18df31afb44fa3fd7618e on tony:runserver-plus-doublerun into 9a16c068363ff3982b87642792602e4f601a9d95 on django-extensions:master.

Rebased after 1.6.6 release @ 9a16c06 , would like to get a QA on this approach.

Whats your take on this, @trbs?
This is a fix for a bug where the keycode shows twice on runserver_plus.

Coverage increased (+0.09%) to 32.236% when pulling 8d09e7ba5b826e62b8dac1597e7105dca13f8a2c on tony:runserver-plus-doublerun into cc9e1e67e0d00cb23cb5576a4378d85fa8f2586c on django-extensions:master.

Looking good, thanks for your work on this !


Fix wxWidgets and Winsparkle for current Hunter.

Yes, of course.  Thanks for spotting.

Thanks, merged. Looks like there is no tests for these packages: https://github.com/ingenue/hunter/branches/all feel free to add.


bradykinin catabolic process parentage

Hi,
this relationship looks weird
bradykinin catabolic process is_a drug catabolic process

Didn't something like this come up recently, about a month ago, where some other naturally occurring molecule got tagged with the ChEBI "drug" role and similar weirdness resulted? And wasn't there a conclusion then about how to keep this from happening?

https://github.com/geneontology/go-ontology/issues/14626

Closing this because it will be fixed in the above ticket.... whenever we get a chance to implement that.


Setup pa11y accessibility check

Setting up a (scheduled) workflow to run pa11ly to automatically check for accessibility issues.

The final accessibility fixes are deployed now, so this PR is now ready to be reviewed and merged.

Do I have a way to test this before approving?

@Ziip-dev I have tested it in my own test repo before making it ready for review. You can have look and if you wanna test it yourself, you can the workflow and config file to your own repo and try :)

@Ziip-dev that is a warning from actions/checkout@v3 step, I believe checkout uses node 16.x., we get that warning in all our currents action too :)
But it is good spot anyway, since I see it all the time maybe I sub-consciously ignored it 😄 I will make a new PR to update the checkout version 👍


Blog post for security audit

/area blog
What would you like to be added:
A blog post about security audits once they are published.
Why is this needed:
https://github.com/falcosecurity/falco/issues/886
/assign @mfdii

Draft done. Will publish 2019/12/16


Nim function calls

Nim has at least 5 different syntaxes for calling a function. Up until now there was some heuristics that always chose one of those.
This PR uses a second search phase (implemented in #230 ) to chose the shortest form of each function call as the very last step of the node transformations.
The default "nogolf" form is now the f(x) syntax, the f x & x.f are represented as binary ops with names " " & "." and are being suggested by the useUFCS plugin.

I'm not certain enough on Nim function precedence to provide the most helpful double-check here but the logic makes sense and I can't seem to come up with any edge cases to break it so looks good from me


🚀 - Time, DateTime support AM/PM time formats including input of 'am'/'pm'

Which package(s) are relevant/related to the feature request?
@maskito/kit
Description
Currently only 24 hour format works out of the box.
I noticed that there is a possibility to override the max values for individual segments, but I still cannot enter 'am' or 'pm' in the input field.

Rearch
While researching different fields for time entry I was able to find two different approaches.
The first is to focus on a specific segment and edit it further. The second is when you can select in a separate am/pm field.
First example: https://mui.com/x/react-date-pickers/adapters-locale/#with-luxon
Second example: https://m3.material.io/components/time-pickers/overview#453a1694-0037-45f8-9421-8899bde1b6ea
Specifications of the new feature:

Supported masks: "HH FF", "HH:MM FF", "HH:MM.MSS FF"

In the initial state, as long as the user has not entered anything, there will be AM in the focused input field. If the input field is empty and out of focus, it will be empty.

Regardless of where the cursor is, the up-down arrows will change AM to PM and vice versa.

When the cursor is at the end of numeric time segments (HH:MM| FF or HH:MM |FF), pressing a/A will expose AM, pressing p/P will expose PM.

AM and PM cannot be erased, nor can the cursor be moved to them. The maximum cursor position will be: HH:MM |FF.

Is there any progress on this feature?
Thanks for the great work! The lib looks really promising.

@ColinFrick
Unfortunately, this feature is still part of our backlog ((


Floating app icons (e.g. MSTeams) shown on all spaces

Description
Running MSTeams for example on MacOS lists its icon in simple-bar on all spaces, see screenshot below.
The MSTeams icon and - if running - the meeting icon (second app-icon) will be shown for all spaces. This will reduce available space in simple-bar significantly, so status-icons may run out of screen on the righthand side, eg. clock, date.
To Reproduce
Steps to reproduce the behavior:

Open MSTeams app
See described issue in status-bar

Expected behavior
The icons for MSTeams should only be shown for the spaces the application is running currently.
Screenshots

Information (please complete the following information):

OS version [Sonoma 14.6]
Yabai version [yabai-v7.1.1] (output of yabai --version)
Übersicht version [Version 1.6 (82)]

In addition, this seems to be related to apps, which may be shown on all spaces, means, they move with your focus between spaces, e.g. nagstamon (non-specific app icon) also will be shown on all spaces, because the app will follow the focused space.
Because "eating" space significantly there should be an option to "hide" these apps, because they will be open anyway and there is no need to indicate where/on which spaces they are running.

Okay, I found out, there is the option to ignore Apps by its name. This works for e.g. nagstamon very well.
I will also try to hide the MS Teams Meeting window from visibility in spaces.

For MS Teams it's a bit tricky. Hiding the App by its name will hide it completely, also the main window of MS Teams, which should be listed in spaces. Hiding by window title works somewhat if meetings would be strictly named "Meetings.*" but that's unsafe because meetings can be named freely.
In this case I would suggest hiding floating apps which will be shown on all spaces as mentioned earlier in this issue.
The workaround hiding apps by its name or window title is a good starter already working.

Can you try to enable the "Display sticky windows separately" in the "Spaces" tab settings?
It should fix this behavior by grouping all "sticky" windows on the left side of the spaces widget.
Please let me know if this solves your issue :)

@Jean-Tinland Thx, that's great. I will close this issue now.


Image conversion fails on large image (48GB)

What happened in your environment?
While converting a large image,
/opt/overlaybd/snapshotter/ctr obdconv large-image:0.1 large-image:0.1_obd

It consistently fails with an error no space left on device:
filesystem type: ext4
ctr: failed to apply layer in snapshot overlaybd-conv-198042690-5dtr: mount callback failed on /tmp/containerd-mount3021852082: write /tmp/containerd-mount3021852082/root/.cache/pip/http/8/7/4/7/1/87471198cb7fc632cfcd6811310d8da1de7f956b049844a9c0ba89ec: no space left on device

Running fdisk -l gets:
Disk /dev/sda: 64 GiB,<PHONE_NUMBER>6 bytes, 134217728 sectors
Disk model: TCMU device
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

My root disk has enough space (2TB), but the TCMU virtual device has a size of 64GB which might be limiting the conversion.
What did you expect to happen?
The conversion should succeed for large images.
How can we reproduce it?
Convert an image with large size, 48G+.

Ubuntu 20.04
Are you willing to submit PRs to fix it?

[ ] Yes, I am willing to fix it.

https://github.com/containerd/accelerated-container-image/blob/ddba7a33cbd9198cfe7004b9a8c13a7f85106479/pkg/snapshot/storage.go#L654C1-L661C2
func (o *snapshotter) prepareWritableOverlaybd(ctx context.Context, snID string) error {
	// TODO(fuweid): 256GB can be configurable?
	args := []string{"64"}
	if o.writableLayerType == "sparse" {
		args = append(args, "-s")
	}
	return utils.Create(ctx, o.blockPath(snID), args...)
}

"64" (64GB) is default size, you can modify it for POC.

An option --vsize is added to /opt/overlaybd/snapshotter/ctr obdconv to custamize overlaybd virtual block device size.


Create template component for Application Menu

Issue Description
Create template component for Application Menu
Issue Type

[x] New Feature
[ ] Enhancement
[ ] Bug
[ ] Other

Expected Behavior
Template should provide buckets to place content into, to be used with the navigation layout.

Orion JIRA created

Tested: PR #14
Resolves: Issue #13 & #6
Reviewed:

Follows UX defined design implementation for initial release

Verified by @mndrsn and @neilpfeiffer, Ready for Release.

Pass

UX Review

Closed with https://github.com/cerner/terra-framework/pull/14


2020/09/07: file_format_in_file_name

Describe the issue

As a data wrangler, I would like to test whether the file extension provided in the field "file_format" matches the file name provided in the metadata.
Test template

Test name: file_format_in_file_name
Test Description: Test whether file format is present in the name of the file.
Cypher query:

MATCH (f:sequence_file)
WHERE NOT f.`file_core.file_name` ENDS WITH f.`file_core.format`
return f.`file_core.file_name`, "File format doesn't match filename"

** Acceptance criteria**

[ ] The test has been reviewed
[ ] The test has been implemented into the graph_test_set folder

Created a pull request for the implementation of the new test here: https://github.com/ebi-ait/ingest-graph-validator/pull/17


Check all notebooks

Is your feature request related to a problem? Please describe.
With the numerous changes to the notebooks in toffy, we need to make sure everything is still working smoothly after all related PRs are merged in.
Describe the solution you'd like
We should run through the entire pipeline with sample data to check for unexpected errors and correct functionality, using the actual directories and suggested relative paths.
Probably some time of next week.
Additional context

create new test_run folder and copy all necessary files for ~5 FOVs
test with an additional empty json in bin_file_dir
test with hidden file

any other recent implementations we should double check

@angelolab/computational_team

@camisowers Sounds good. Should we run through after all the changes are merged in?

Yes! I'm thinking maybe next Wednesday, but definitely by Friday.

Agreed, this can wait till the very last minute

@camisowers agreed, sounds good.

@angelolab/computational_team we'll do this Monday 8/29

Fixes:
3a: qc metrics plots cropped small
3c: load_imgs_from_tree defualt for comput_qc_metrics is still int16 -> change to float32
4a:     if not os.path.exists(os.path.join(rosetta_image_dir, run)):
os.makedirs(os.path.join(rosetta_image_dir, run))


Remove unused curated packages method

This is no longer used @a-cool-train

/approve

/lgtm
/approve

/lgtm
/approve

/override eks-anywhere-e2e-presubmit


Random errors when going out of bounds

Errors do appear quite often when accidentally going out of bounds, such as when you try to paint outside of the border or trying to redo / undo when there is nothing left to redo / undo. While it's nothing breaking, I still feel like it should be fixed.

Closing because of the rewrite


English translation fixes

Moved English translation for create_model_table from lang/en/bread.php to lang/en/database.php and fixed minor translation bug on views/bread/browse.php

I disagree with moving the translation.  That specific key is only used on the BREAD create page.  If you move that one, you'll need to move the migration one right above it, which doesn't seem like it fits in the database file.

This translation is used by the "Creat New Table" page. If it is not in the database translation then I believe the translation location needs to change on that page

The string he moved (voyager::database.create_model_table) is used in the database tool here.
Those are just 2 different things

Perhaps it should be duplicated then.  If it exists in 2 places with different/unrelated uses, then they should be different keys (potentially with the same value)

We're just going to ignore my comments here.... @emptynick has shown me the error of my ways.
This looks good to me.


raft.Node can forget ConfChange Remove proposals

I'm using raft.Node in my project to run etcd over a gossip (UDP-like) transport. For me, peers are ephemeral: they come and go frequently, when they go they're gone permanently, and when they start up they're always empty. So far this works OK by making the Raft node ID be basically a UUID. But I think I've discovered a bug in how the raft.Node handles ConfChange Remove proposals.
Let's say I have a cluster of 4 peers, everything working well. I hard kill one of the followers, it will never come back :) Immediately, the UDP transport of the leader starts failing to deliver Heartbeat messages to the dead follower. It dutifully calls node.ReportUnreachable for each failed message — please tell me if that's not right. After a few hundred milliseconds, the transport subsystem detects the peer is gone, and every remaining node in the cluster including the leader emits a ConfChange Remove proposal to remove the dead peer. But those proposals never get committed! They appear to be simply lost. The leader continues to spam failed Heartbeat messages forever.
However, if instead of immediately emitting the ConfChange Remove, I buffer it and continuously submit it every second until I receive a committed ConfChange Remove entry with the corresponding peer ID, then everything seems to work OK. To me, this looks like a timing bug in the raft.Node.
Here's a link to the interesting bit of the code. And here are steps to reproduce. First, install the code.
mkdir -p $GOPATH/src/github.com/weaveworks
cd $GOPATH/src/github.com/weaveworks
git clone https://github.com/weaveworks/mesh
cd mesh
git checkout raft-on-mesh # 3fa0206 at time of writing
go install github.com/weaveworks/mesh/examples/raft-on-mesh

Then, to see the failing behavior, launch some nodes in separate terminals with -buffer=false.
raft-on-mesh -quicktest=1 -buffer=false
raft-on-mesh -quicktest=2 -buffer=false
raft-on-mesh -quicktest=3 -buffer=false
raft-on-mesh -quicktest=4 -buffer=false

Inspect the logs to find a follower, and ctrl-C that node. Observe the ConfChange proposal is submitted but never committed, and the leader gets into an infinite loop.
Now, to see the working behavior, do the same thing with -buffer=true.
raft-on-mesh -quicktest=1 -buffer=true
raft-on-mesh -quicktest=2 -buffer=true
raft-on-mesh -quicktest=3 -buffer=true
raft-on-mesh -quicktest=4 -buffer=true

Repeat and see that the ConfChange proposal is both submitted and committed, and the leader spams Heartbeats for about a second before moving on to the new, stable configuration.

@peterbourgon I believe raft only forgets about proposals if there the leader is dead and everyone else still believe it is the leader (they are not timeout yet). This is because the followers will still forward the proposals to the dead leader until there is a new leader elected (or someone becomes a candidate). Can you try to kill a follower and check if any proposal will get lost?

In the example, that's what I do:

I hard kill one of the followers

And anyway if I kill the leader I still need some way of getting feedback that my proposals are lost/rejected, don't you think?

@peterbourgon Is there still a problem for you?
If you kill the follower, no proposal should be lost. Conf change is the same as any other proposals. We never see this happen in our test. So I guess there is an issue with your code.

And anyway if I kill the leader I still need some way of getting feedback that my proposals are lost/rejected, don't you think?

The application should be able to figure this out. If the network layer fails to deliver it, it gets lost. If term changes, but the proposal does not get committed, then application knows there is a conflicting proposal and this proposal is rejected.

I haven't touched this code in 9 months and am unlikely to pick it up again. To reproduce, please see the quite explicit steps above; I hope I've been clear enough :) If killing a follower no longer results in hanging (as described) then I guess you've fixed the bug in the interim.

@peterbourgon There is no raft-on-mesh branch anymore. If you do not plan to work on it again, I guess I do not need to help at the moment. Let us know if you want to work on it more in the future. Thanks.


Emotes that are Live-Added Don't show for others

As it says on the tin. If emotes are added mid-stream, then there's nothing that informs existing clients that the emote is valid. Add the ability to add/remove emotes live.

Fixed with 82e56ccf225e52e4582fc8529ba35a9fb872bc3a.


Fix helm publish action

Summary
fix #779
Details and comments
This PR fix the helm publish error w/o changing the package names.

There's a discussion started in #780 to possibly rename the helm directory to quantum-serverless... should we merge this now (so we can release the helm chart) and then update again if/when we rename? I'm ok either way.

I don't think we have any kind of urgency so I would prefer to work in a better / definitive solution, I agree 👍


UserSession API + Storage Strategies

This pull request moves user-session related calls into the instance of an object UserSession. Data related to a given user-session is encapsulated in this instance and persisted by an instance of a object that extends SessionDataStore.
Defaults such as app domain, etc continue to be auto-detected when run in a browser environment.
This means the library can continue to be used with minimal configuration in a web browser environment:
import { UserSession } from 'blockstack'

const userSession = new UserSession()

userSession.redirectToSignIn()

userSession.getFile('file.json')

In a web browser, by default UserSession will store session data in the browser's localStorage through an instance of LocalStorageStore.
This means that app developers can leave management of session state to users.
In a non-web browser environment, it is necessary to pass in an instance of AppConfig which defines the parameters of the current app.
  import { AppConfig, UserSession } from 'blockstack'
  const appConfig = new AppConfig('http://localhost:3000')
  const userSession = new UserSession({ appConfig })

In non-browser environments (ie. node), session state is stored in the instance using the InstanceDataStore. If a developer wishes to store this elsewhere, he should can extend SessionDataStore and implement his own storage strategy.
You can test this by linking it to this branch of the blockstack todos app: https://github.com/blockstack/blockstack-todos/tree/feature/blockstack-19
In the directory of this checked out repo run:
npm link

In the blockstack-todos directory run:
npm link blockstack
npm run start

This pull request requires some additional documentation and test coverage before it is ready to be merged. I wanted to get this in front everyone earlier for review of the proposed API which has been modified slightly from the original proposal.

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

I pushed this branch as blockstack 19.0.0-alpha.3 on npm to help with testing:
https://www.npmjs.com/package/blockstack/v/19.0.0-alpha.3.

You can also test this using the animal-kingdom demo app: https://github.com/larrysalibra/animal-kingdom

Thanks for this @larrysalibra -- I'll put this on my review and testing plate for this week.

@kantai I'm tracking this convo yes. A few points:

perhaps we should time this merge? We have a lot releasing pre-holidays and not a lot of folks will be around to help if things go wobbly. What do you think?

I don't have scope for coming up with an upgrade steps myself...so someone needs to take a rough pass at those.

Do we need to include upgrading all our samples such as hello-world, ios, android, in concert with the merge.

Do we need to include upgrading all our samples such as hello-world, ios, android, in concert with the merge.

Probably not for ios and android, but, eventually, yes for the three sample apps on blockstack.org, and the yeoman app-generator, because those will all be instructions that apply to old versions of the library.

Need a formal forum post and something we can use a blog post might be good too

Agreed. A blog post would be ideal, because this is a very nice new functionality, but also a breaking change that our app developers will need to make.

I don't have scope for coming up with an upgrade steps myself...so someone needs to take a rough pass at those.

Yep -- we'll make sure that someone makes a draft of this document, and I think such a draft would be a requirement before merging these changes.

perhaps we should time this merge? We have a lot releasing pre-holidays and not a lot of folks will be around to help if things go wobbly. What do you think?

Maybe -- I think we should enumerate what all would need to be updated, and then see whether or not that's achievable before the holidays.

I still think this is a pretty heavy breaking change that could be mitigated by my suggestion in the forum:
https://forum.blockstack.org/t/proposal-giving-control-of-session-state-to-app-developers/6006/24
If others (mainly Larry) are ok with this, I can take a stab at the implementation.
Then no one would have to change any code (including our tutorials) and still be able to upgrade.

I still think this is a pretty heavy breaking change that could be mitigated by my suggestion in the forum

I would be supportive of keeping the existing API for a period of time, logging a deprecation warning and eventually deprecate them in a later version.

I still think this is a pretty heavy breaking change that could be mitigated by my suggestion in the forum

I agree @hstove.
I am open to breaking changes, I just want to hear an argument against trying to make this non-breaking first.

Developers need to do the following changes when adopting this update:

create a UserSession varable, say blockstackSession
replace prefix blockstack with the blockstackSession for

redirectToSignIn
isSignInPending
handlePendingSignIn
loadUserData
isUserSignedIn
signUserOut
makeAuthRequest
generateAndStoreTransitKey
redirectToSignInWithAuthRequest
getAuthResponseToken
verifyAuthResponse
getFile
putFile
deleteFile
encryptContent
decryptContent

That should be all.
That is all.

@kantai How about updating the app-generator code? Or is that ok as is?
Also, we likely need a little project to track all the work to update the sample apps etc.  right? Better than a checklist here.
Like who is going to update the sample application code? I can certainly update the docs but someone needs to check the code in completed projects.

How about updating the app-generator code? Or is that ok as is?

We'd have to update the app generator(s) too.

Additionally I think we can create a codemod to help with migration: https://github.com/facebook/codemod
A real life example -> https://github.com/styled-components/styled-components-codemods

Thanks for all the great feedback everyone! ❤pull request reviews!
@yknl wrote about UserSession optionally taking an object with an AppConfig

It's not immediately clear to me why they are different.

Additionally, would it be better to simplify the config parameter to a generic object? This removes the need for an AppConfig class.

I agree that the Animal Kingdom example is confusing - the App.js instance should probably take an AppConfig instance to be consistent.
We could certainly use a "generic" object instead of an instance of a class, however, that object would in and of itself be an implicit type that should be defined in the type checker.
@hstove wrote:

I still think this is a pretty heavy breaking change that could be mitigated by my suggestion in the forum:

https://forum.blockstack.org/t/proposal-giving-control-of-session-state-to-app-developers/6006/24

If others (mainly Larry) are ok with this, I can take a stab at the implementation.

I think this is a really great way to approach maintaining backwards compatibility. @zone117x (i think it was Matt) in our engineering meeting also suggested publishing these changes with the API @hstove suggests along with deprecation warnings in a new 18 release.

I believe for jsdoc deprecation warnings to be visible to developers in their editors (code completion / intellisense / IDE warnings) we may need to change the npm packaging. I've outlined the issue a bit on the forum. To summarize: many editors/IDEs can't parse the babel shims / modules in lib/*.js.
One solution is to perform only the Flow transform from src/*.js to lib/*.js, then use babel for lib/*.js to dist/blockstack.js.
This also has the benefit of exposing all the nice jsdoc while coding against blockstack.js.

@zone117x I really like your suggestion on improving editor code completion and documentation compatibility. That would be a huge improvement in developer experience.
This is probably something that makes sense as a separate issue/pull request.

This is probably something that makes sense as a separate issue/pull request - we can certainly decide to not ship a new release until such a PR makes it into develop.

I have a lot of this done but its in a Flow to typescript port I experimented with a few weeks ago. I'll check if my non-typescript related package.json and babel changes work. If so I'll PR for further discussion.

Created a PR that allows support for the deprecation warnings in jsdoc/editor/IDE. The PR may take some time for testing and review so if we don't care very much about the deprecation visibility then might make sense to go ahead with this PR without it.

Glad to see this pull request is coming back to life!

This PR could use another round of reviews now that the backward compatibility changes are in.
@hstove @kantai @zone117x

Has anybody tried out these changes with a node app?

I'm having some trouble using this branch in a node app with babel, is this where I should ask questions or should I create a post on the forum?

I'm having issues getting this running in a node app. When I try and compile and run it with babel, the program crashes on the initialization of AppConfig saying that window is not defined despite passing in http://localhost:3000 to the constructor. Is this a babel specific issue?

I'm having issues getting this running in a node app. When I try and compile and run it with babel, the program crashes on the initialization of AppConfig saying that window is not defined despite passing in http://localhost:3000 to the constructor. Is this a babel specific issue?

Can you post a code sample and a backtrace? Also note that we haven't built explicit support for node.js environments yet. If you're just compiling with Babel, it should work (I've done it). I suspect you're actually defining your UserSession during compilation (as opposed to after the app starts running).

Can you post a code sample and a backtrace? Also note that we haven't built explicit support for node.js environments yet. If you're just compiling with Babel, it should work (I've done it). I suspect you're actually defining your UserSession during compilation (as opposed to after the app starts running).

Relevant code:
const repos = new Server(path.resolve(__dirname, 'tmp'), {
    autoCreate: true
});
const port = process.env.PORT || 7005;

let appConfig;
let userSession;

repos.listen(port, () => {
    console.log(`node-git-server running at http://localhost:${port}`);

    appConfig = AppConfig('http://localhost:3200');
    userSession = new UserSession({ appConfig });
});

Backtrace:
node-git-server running at http://localhost:7005
lib\auth\appConfig.js:56
    var appDomain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;
                                                                                ^

ReferenceError: window is not defined
    at AppConfig (C:\Users\uc252129\Documents\tmp\lib\auth\appConfig.js:56:89)
    at Server.<anonymous> (C:\Users\uc252129\Documents\saved\dist\index.js:36:43)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Server.emit (events.js:208:7)
    at emitListeningNT (net.js:1387:10)
    at _combinedTickCallback (internal/process/next_tick.js:136:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)
    at Function.Module.runMain (module.js:696:11)
    at startup (bootstrap_node.js:204:16)

For a little context, I'm also using a library called node-git-server which can be found here. The server starts and then crashes when I try and define appConfig

@Origin thanks for that!
So, using UserSession in a node.js context isn't supported yet. I've outlined the requirements in #611, but we will merge this PR without it and then add support for node.js environments in a later pull request.
Your code is also not quite correct. When construction an AppConfig, the first argument is your scopes, then the second argument is the app URL.
appConfig = AppConfig(['store_write'], 'http://localhost:3200');

@Origin thanks for that!
So, using UserSession in a node.js context isn't supported yet. I've outlined the requirements in #611, but we will merge this PR without it and then add support for node.js environments in a later pull request.

Thanks!

Your code is also not quite correct. When construction an AppConfig, the first argument is your scopes, then the second argument is the app URL.
appConfig = AppConfig(['store_write'], 'http://localhost:3200');

A little too much copy/pasta, thanks for catching that


How to center custom JSQMessageMedia in Swift?

I am trying to add a system message to JSQMessagesViewController. I chose to implement it as a JSQMessageMedia. It is shown in the view, but I have difficulties to center it.
The system message class:
class ChatSystemMessage: NSObject, JSQMessageMediaData {

@objc func mediaView() -> UIView! {
    let mediaView = UIView()
    let label = UILabel(frame: CGRectMake(0, 0, 200, 21))
    label.center = mediaView.center
    label.textAlignment = NSTextAlignment.Center
    label.text = "I'am a test label"
    mediaView.addSubview(label)
    return mediaView
}

@objc func mediaViewDisplaySize() -> CGSize {
    let size = CGSizeMake(200, 21)
    return size
}

@objc func mediaPlaceholderView() -> UIView! {
    return nil
}

@objc func mediaHash() -> UInt {
    return UInt(self.hash)
}
}

This is how it looks:

How could I center the message in the cellForItemAtIndexPath method? I don't know how to access the programmitcally created label in the mediaView.

You have two choices:

hack the autolayout constraints in your subclass's call to cellForItemAtIndexPath
create a custom cell

subclass JSQMessagesCollectionViewCell (look at *Incoming and *Outgoing to see what you must customize)
set up the xib file how you like with the messageBubbleContainer centered instead of pinned to the avatar view
register the nib in viewDidLoad of your JSQMessagesViewController subclass
    [self.collectionView registerNib:[JSQMessagesCollectionViewCellCentered nib] forCellWithReuseIdentifier:[JSQMessagesCollectionViewCellCentered cellReuseIdentifier]];
In cellForItemAtIndexPath, detect your system messages by whatever means, probably by looking at the type of message in your data set. Instantiate your cell instead of calling the super implementation

- (UICollectionViewCell *)collectionView:(JSQMessagesCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    JSQMessagesCollectionViewCell * cell;
    JSQMessage *msg = // something to get your data object
    if (msg.isSystemMessage) {
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:JSQMessagesCollectionViewCellCentered.cellReuseIdentifier forIndexPath:indexPath];
        cell.textView.text = @"this cell is centered";
        cell.backgroundColor = [UIColor lightGrayColor];
        cell.textView.textAlignment = NSTextAlignmentCenter;
        cell.textView.backgroundColor = [UIColor darkGrayColor];
    } else {
        cell = (JSQMessagesCollectionViewCell *)[super collectionView:collectionView cellForItemAtIndexPath:indexPath];
    }
    return cell;
}

Here's a quick and dirty example that replaces all of the demo messages with centered text. Note that the bubbles are all different sizes because the underlying mediaItem is being used to determine the bubble size.
https://github.com/eliburke/JSQMessagesViewController/tree/center_cell
Here's the commit if you just want to see the changes: https://github.com/eliburke/JSQMessagesViewController/commit/ab9a154b5e54a6e784bd3410c4242883234720d7

Thank you for your in-depth answer. I will look into it. Do you have any hints for possibility 1)? How do you access the auto layout constraints programmitcally?

Constraints can be set programmatically between views, just make sure to clear the old ones first. Stackoverflow or Google can provide more info.

Thanks @eliburke ! :smile:


fornax watch does not update _public files

Describe the bug
Changes to posts .md files are not reflected in _public/posts HTML files when running fornax watch. fornax build does update the HTML.
To Reproduce
Steps to reproduce the behaviour:

fornax new
fornax watch
Open post.md, change title to Cat, save file
Open post.html and see that the title is still Some nice post title

Expected behaviour
Title in post.html changes to Cat and is shown on page served by Suave.
Environment (please complete the following information):

OS: macOS 10.15.5
Ionide version: 4.14.0
VSCode version: 1.46.0
dotnet SDK version: 3.1.301
mono / .Net Framework version: <IP_ADDRESS>
fornax version: 0.13.1

Tried again. Can't reproduce issue.


A pagination to explore content

A fresh idea in my mind would be a top-down scroll pagination which is like a Facebook timeline. It is able to trigger a content refresh if user hits content's top or down boundary.
This feature will involve new UI/UX design that should have more discussion.

@legnaleurc Are you interesting in this?

take this!


renderBackButton() not working anymore

Version
Tell us which versions you are using:

react-native-router-flux v3.36.0
react-native v0.34.1

Expected behaviour
Show a custom back button
Actual behaviour
It's not showing anymore all of a sudden. When I remove renderBackButton() it shows the default button though.
renderBackButton={() => <BackButton /> }
  render(){
    const { color } = this.props
    return(
      <TouchableOpacity style={ Style.container } onPress={() => { Actions.main({ type:  ActionConst.BACK_ACTION }) }}>
        <View>
          <Icon name="ios-arrow-round-back-outline" size={35} color="#fff" />
        </View>
      </TouchableOpacity>
    )
  }

For me, it's working:
const backButton = () => (<Icon name="arrow-back" size={24} color={COLORS.Light} onPress={()=> Actions.pop()} />);

<Scene renderBackButton={backButton} />

@renancsoares That's not working either here

It was a style setting, I had it on 'position: absolute' .. Weird it only fails now


Openzeppelin upgrades not working

Openzeppelin upgrades not working
Description
Hi , I am trying to use upgradeable smart contracts on our polygon edge test instance.
I have used the example of openzeppelin upgradeable contracts using hardhat plugin

Your environment

OS and version.
The version of the Polygon Edge - 0.6.
The RPC Url - https://staging.edge.guardianlink.io.
Aws terraform hosted .

Steps to reproduce

git clone https://github.com/SudharsananKnandhan/upgradeable_smart_contract
npx hardhat run scripts/deploy.js --network gl
npx hardhat run scripts/upgrade.js --network gl

Expected behavior

This should have upgraded the smart contract
Instead i am getting the following Error: Contract at 0x4FB3CbCfc97B0A04d1b0b0e4157CB1bbAd289C0B doesn't look like an ERC 1967 proxy with a logic contract address

I've come across this same issue, were you able to find a fix?


QuickFix support for property name and string literals

This closes https://github.com/Azure/bicep/issues/638.

Codecov Report

Merging #655 into master will decrease coverage by 0.24%.
The diff coverage is 92.68%.

@@            Coverage Diff             @@
##           master     #655      +/-   ##
==========================================
- Coverage   94.94%   94.69%   -0.25%
==========================================
  Files         249      249
  Lines        9925     9992      +67
==========================================
+ Hits         9423     9462      +39
- Misses        502      530      +28

Flag
Coverage Δ

#dotnet
94.69% <92.68%> (-0.25%)
:arrow_down:

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

Impacted Files
Coverage Δ

src/Bicep.Core/TypeSystem/TypeValidator.cs
92.52% <88.60%> (-2.75%)
:arrow_down:

...IntegrationTests/TypeSystem/TypeValidationTests.cs
100.00% <100.00%> (ø)

...ests/TypeSystem/TypeValidatorAssignabilityTests.cs
100.00% <100.00%> (ø)

src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs
100.00% <100.00%> (ø)

....UnitTests/Completions/SymbolKindTestExtensions.cs
70.00% <0.00%> (-30.00%)
:arrow_down:

...c/Bicep.LangServer/Completions/SymbolExtensions.cs
78.94% <0.00%> (-21.06%)
:arrow_down:

src/Bicep.Cli/Logging/BicepDiagnosticLogger.cs
81.25% <0.00%> (-18.75%)
:arrow_down:

...icep.LangServer/Extensions/DiagnosticExtensions.cs
85.71% <0.00%> (-14.29%)
:arrow_down:

src/Bicep.Cli/Logging/BicepConsoleLogger.cs
65.38% <0.00%> (-12.40%)
:arrow_down:

src/Bicep.Core/Syntax/ObjectPropertySyntax.cs
90.47% <0.00%> (-4.77%)
:arrow_down:

... and 16 more

Can you add an integration test as well? Otherwise, it looks good to me!

Thanks! There are some test cases added already in Bicep.Core.IntegrationTests/TypeSystem/TypeValidationTests.cs. Do you mean adding integration test samples in main.bicep files?

Yeah just meant updating one of the samples. Although I just realized that some of these tests are using a mock type registry instead of the real one, so it might not work for the discriminated object types ☹.

some of these tests are using a mock type registry instead of the real one, so it might not work for the discriminated object types

Yeah I was wondering why it doesn't produce suggestion for the discriminator key...but I added a test case for property name spelling suggestion.


Can't control Tasmota from Print Scheduler

I am trying to have the Print Scheduler plugin turn my printer on using a Sonoff flashed with Tasmota. In my browsher this can be achieved http://<TASMOTA_IP>/cm?cmnd=Power%20On. But using this command in the "System Command Before Each Print"  section" doesn't work.
In the Wiki I found this command example:
curl -s -H "Content-Type: application/json" -H "X-Api-Key: <API_KEY>" -X POST -d '{ "command":"turnOn", "ip":"", "idx":"" }' http://localhost/api/plugin/tasmota
But I do not know what IDX is... Where can I find this?

This example command is assuming you have my Tasmota plugin installed. In most cases that idx will be 1 for single relay devices. If you don't want to install my Tasmota plugin (it has some nice features like auto off on idle) you could use the curl command below I think.
curl -s http://<TASMOTA_IP>/cm?cmnd=Power%20On


Use github.com/golang/dep for dependency management

Use github.com/golang/dep for dependency management
We'll use dep init to pick appropriate versions, this means many
of the dependencies will switch from master to the latest stable
commit according to semver.

We're not committing the vendor folder just yet due to its very
large size (152MB), I would like to in the future after reducing
the size, or once GopherCI development stabilises more.

Override docker's semver detection v17.05.0-ce is stable
dep init determines docker (moby) uses semver due to its syntax
and it was using valid semver syntax until they switched from
v1.13.1 to v17.03.0-ce.

dep assumes the -ce suffix is a pre-release and therefore the latest
stable version is v1.13.1 and not v17.05.0-ce.

This change overrides dep's choice to be the latest stable, but will
require us to manually change this if we require later versions.

.travis.yml to use master to workaround gocoveralls bug
We're going to force Travis CI to use master (ideally just
need Go 1.9+), because goveralls is failing because go list ./...
is failing because one vendored package uses github.com/Sirupsen/logrus
and another uses github.com/sirupsen/logrus.

can't load package: package github.com/bradleyfalzon/gopherci/vendor/github.com/docker/docker/pkg/term/windows: case-insensitive import collision: "github.com/bradleyfalzon/gopherci/vendor/github.co
m/Sirupsen/logrus" and "github.com/bradleyfalzon/gopherci/vendor/github.com/sirupsen/logrus"

Goveralls does this to get the list of packages to test, but as we
only test non-vendored packages, we can safely ignore them.

In Go 1.9+, go list (along with other tools) will ignore vendor
directories, thus working around this issue until dependencies
can consistently import logrus.

I'm not convinced this is the best solution at all, but it's
resolving the issue and I can move forward.

Fixes #101.

Changes Unknown when pulling 66babb31a8c4f5bbf2aa4804cd35b35ae8326e92 on godep into ** on master**.

Changes Unknown when pulling fd3c56b4560dbca0c681faaaf9004d7b05f8375e on godep into ** on master**.


Add validating admission webhook

Add validating admission webhook:

Add validating admission webhook HTTP server application
Handle incoming AdmissionReview requests and validate their correctness, handle errors if any
Validate Network Attachment Definition objects
Send AdmissionReview response with allowed/denied decision and its reason
In case of any other errors (malformed HTTP request, empty body, etc.) send proper HTTP error code
Use TLS encryption
Add some basic unit tests for Network Attachment Definition objects validation
Build Docker image with webhook application

Add deployment files for validating admission webhook:

Add script for automated certtificates and secret generation
Add pod, service and webhook configuration specification files

Add documentation for validating admission webhook.
Fixes #119.
Signed-off-by: Przemyslaw Lal<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 347

29 of 128 (22.66%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-3.1%) to 41.85%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

webhook/webhook.go
29
128
22.66%

Totals

Change from base Build 345:
-3.1%

Covered Lines:
380

Relevant Lines:
908

💛  - Coveralls

okay, proxy env variables added

Error message says it all:
Error: certificate not issued. Verify that the API for signing certificates is enabled.
As stated in the Manage TLS Certificates in a Cluster guide, in order to sign certificate with Kubernetes CA you need to pass the --cluster-signing-cert-file and --cluster-signing-key-file parameters to the controller manager with paths to your Certificate Authority’s keypair.

@przemek-lal Thanks . I will check these option in my controller. Could you please update the readme file on this. I believe most of the developers, are not aware of these items.

Okay, I made a couple of updates:

moved the webhook app from pod to a deployment (should improve availability after reboots, Docker restarts, K8s nodes going down etc.)
explicitly mentioned the K8s controller manager arguments which need to be configured in order to enable TLS certs management in a cluster in the webhook doc
added more tests to bring up coverage so coveralls doesn't fail and beyond that some minor error handling improvements

In my set-up, I am getting only this log, and multus webhook is allowing the invalid net-attach-def
kubectl logs -l app=multus-webhook
2018-10-12T14:53:49Z [debug] Starting Multus webhook server
Will sync up to get the more details.

Hey Doug, I think that the TLS bootstrapping could be done in a Job. It would create a private key, sign it with K8s CA, then create a secret and validating admission controller configuration. So there would be literally zero input from the user required apart from creating the job by running kubectl command. Would this make sense? In this case no bash scripts would be needed, so no problems with the permissions you had.

Hey Doug, I think that the TLS bootstrapping could be done in a Job. It would create a private key, sign it with K8s CA, then create a secret and validating admission controller configuration. So there would be literally zero input from the user required apart from creating the job by running kubectl command. Would this make sense? In this case no bash scripts would be needed, so no problems with the permissions you had.

Hey Doug, I think that the TLS bootstrapping could be done in a Job. It would create a private key, sign it with K8s CA, then create a secret and validating admission controller configuration. So there would be literally zero input from the user required apart from creating the job by running kubectl command. Would this make sense? In this case no bash scripts would be needed, so no problems with the permissions you had.

Hey Doug, I think that the TLS bootstrapping could be done in a Job. It would create a private key, sign it with K8s CA, then create a secret and validating admission controller configuration. So there would be literally zero input from the user required apart from creating the job by running kubectl command. Would this make sense? In this case no bash scripts would be needed, so no problems with the permissions you had.

Hey guys, I just opened a new PR #186 which contains slightly updated validating webhook code and completely changes deployment procedure. It also adds feature for mutating pods basing on the network objects annotations presence, more details in that PR.


full-width sections inside a full-width wrapper not working

My example:
           <mj-wrapper full-width="full-width">
                <mj-section full-width="full-width" background-color="#144492">
                    <mj-column width="100%">
                         <mj-text mj-class="font-big" text-transform="uppercase" align="center" font-weight="bold">
                            Text
                        </mj-text>
                    </mj-column>
                </mj-section>
                <mj-section full-width="full-width" background-color="#ffffff">
                    <mj-column width="100%">
                        <mj-text mj-class="text-blue font-big" text-transform="uppercase" align="center" font-weight="bold">
                            Text
                        </mj-text>
                    </mj-column>
                </mj-section>
            </mj-wrapper>

Problem: The full-width attribute does not work inside a wrapper which also has the full-width attribute.
The wrapper would be necessary for me to add some background-styling to it.

Hi @mberhorst
This one is a bit tricky because you need to understand what's going on in the HTML produced by wrapper. To simplify this, a wrapper is behaving as a section. So full-width basically just extends the background to full width and not the content to full-width : content stick to the 600px ( or email width ).
If you have a full-width section within a full-width section, the second one will get 100% width of the allowed width from his parent ( 600px then ) so that's why you can't extend a section full-width within a full-width wrapper.
Can you provide a screenshot of what you want to do with that ? Because I don't really understand why you would wrap multiple full-width section inside a wrapper.

Thanks @iRyusa
I thought again about what I wanted to do and I came to the solution that its not possible, even with the full-width wrapper and the full-width sections. So problem solved I guess. But a note in the docs would be nice, that a section inside a full-width wrapper cannot be full-width too.

There's a notice in the doc now. It will be release on mjml.io/documentation among 3.3.4 release


Find better Type Names for Endpoint Attributes

For instance, endpointProtocol is not an idShort, therefore why should it have an IdShortType?

In Part 1 IdShortType is not used, only "NameType"


Add check that the tensor expects a .grad field in Store._compute.

Fixes #101

To squash and merge with the following title and message:
Add check that the tensor expects a .grad field in Store._compute. (#106)

* Add new failing tests for Store
* Add check that the tensor expects a .grad field in Store._compute.
* Add changelog entry


Update ISSUE_TEMPLATE.md with Environment details.

Fixes #156
Checklist

[x] My branch is up-to-date with upstream/develop branch.
[x] Everything works and tested for Python 3.5.2 and above.

Description

Environment field added to the ISSUE_TEMPLATE.md
Change logs
Added
python version
pip version
OS Details

@chrizandr, Please review the pull request.


Hello in many languages

What was the feature/problem?
{Please write here}
How does this PR address the above feature/problem?
{Please write here}
Check lists (check x in [ ] of list items)

[ ] Test passed
[ ] Coding style (indentation, etc)

Additional Comments (if any)
{Please write here}

Codecov Report

Merging #42 into release will not change coverage.
The diff coverage is 94.37%.

@@           Coverage Diff            @@
##           release      #42   +/-   ##
========================================
  Coverage    94.94%   94.94%
========================================
  Files           25       25
  Lines          356      356
  Branches        34       34
========================================
  Hits           338      338
  Misses          15       15
  Partials         3        3

Flag
Coverage Δ

#api
97.12% <98.97%> (ø)
:arrow_up:

#ui
92.85% <91.39%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

ui/src/app/App.js
100% <ø> (ø)
:arrow_up:

ui/src/wishList/imgPlaceholder/index.js
100% <100%> (ø)
:arrow_up:

ui/src/landing/wishTypeList/index.js
100% <100%> (ø)
:arrow_up:

api/src/util/util.js
100% <100%> (ø)
:arrow_up:

ui/src/landing/wishTypeCard/index.js
100% <100%> (ø)
:arrow_up:

ui/src/services/WishDetailsService.js
100% <100%> (ø)
:arrow_up:

ui/src/landing/wishType.js
100% <100%> (ø)
:arrow_up:

ui/src/wishList/index.js
100% <100%> (ø)
:arrow_up:

api/src/db/Wish.js
100% <100%> (ø)
:arrow_up:

ui/src/landing/CreateWish.js
100% <100%> (ø)
:arrow_up:

... and 12 more

Continue to review full report at Codecov.

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


Wrong Icon after v3.0 Update

Description

This icon is shown instead of:

Steps To Reproduce
update to v3.0 (only on one of two PCs)
Requirements
show the correct icon
Files Version
<IP_ADDRESS>
Windows Version
10.0.22621.2506
Log File
debug.log

Thanks for the report. this has been fixed in <IP_ADDRESS>

@Silther thank you for the report, this was indeed a bug with the icon in light mode. We have already deployed a fix and it should be available in a couple of hours.


[SPARK-39830][SQL][TESTS][3.3] Add a test case to read ORC table that requires type promotion

What changes were proposed in this pull request?
Increase ORC test coverage.
ORC-1205 Size of batches in some ConvertTreeReaders should be ensured before using
Why are the changes needed?
When spark reads an orc with type promotion, an ArrayIndexOutOfBoundsException may be thrown, which has been fixed in version 1.7.6 and 1.8.0.
java.lang.ArrayIndexOutOfBoundsException: 1
        at org.apache.orc.impl.TreeReaderFactory$TreeReader.nextVector(TreeReaderFactory.java:387)
        at org.apache.orc.impl.TreeReaderFactory$LongTreeReader.nextVector(TreeReaderFactory.java:740)
        at org.apache.orc.impl.ConvertTreeReaderFactory$StringGroupFromAnyIntegerTreeReader.nextVector(ConvertTreeReaderFactory.java:1069)
        at org.apache.orc.impl.reader.tree.StructBatchReader.readBatchColumn(StructBatchReader.java:65)

Does this PR introduce any user-facing change?
No
How was this patch tested?
add UT

https://github.com/apache/spark/pull/37800

Can one of the admins verify this patch?


C structure generation broken for UInt64

Hello,
I found a bug which drove me almost insane.
C struct generation is broken. I don't know if in the following example code it's the mixture of UInt64 with UInt32, or if UInt64 is broken all the time.
Note: I tried the same code on play.crystal-lang.org, where the code gives the expected results. Could it be that the play instance is running on a x86? Link: https://play.crystal-lang.org/#/r/1a39
Expected behaviour: All prints give the "same" output (Save for the 2x UInt32 vs 1x UInt64)
Observed behaviour: The UInt64 field values are completely wrong, it looks like it's padding the first UInt32 to 8 Byte or something?
Platform

Machine: x64 ArchLinux - Everything installed via pacman
Crystal: Crystal 0.19.1 (2016-09-09). I also tried ad83832f1f5afa8e0cda7544e542dd4d48e3bb70 with same results.
GCC: gcc (GCC) 6.2.1 20160830
ld: GNU ld (GNU Binutils) 2.27 in case it does something goofy
LLVM: 3.8.1

Example code
lib MemoryMap
  struct Good
    size : UInt32

    base_address_lo : UInt32 # Split the UInt64s into low and high parts
    base_address_hi : UInt32
    length_lo : UInt32
    length_hi : UInt32

    block_type : UInt32
  end

  struct Bad
    size : UInt32

    base_address : UInt64
    length : UInt64

    block_type : UInt32
  end
end

data = StaticArray[ #=> Show expected values on a little-endian machine
  0x14u8, 0x00u8, 0x00u8, 0x00u8, #=> 0x14u32
  0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, #=> 0u64
  0x00u8, 0xFCu8, 0x09u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, #=> 0x09FC00u64
  0x01u8, 0x00u8, 0x00u8, 0x00u8 #=> 1u32
]

good = data.to_unsafe.as(MemoryMap::Good*)
bad = data.to_unsafe.as(MemoryMap::Bad*)

p sizeof(MemoryMap::Good) #=> 24 (Correct!)
p sizeof(MemoryMap::Bad)  #=> 32 - Wrong, expected 24 here
p data.size               #=> 24

p bad.value               #=> Garbage
# MemoryMap::Bad(@size=20, @base_address=2810351720595456, @length=4294967296, @block_type=0)

p good.value              #=> This is fine
# MemoryMap::Good(@size=20, @base_address_lo=0, @base_address_hi=0, @length_lo=654336, @length_hi=0, @block_type=1)

Thanks.

Welcome to the C world :-)
C ABI requires some padding... I can't remember where the docs are, searching "c abi x86_64" might yield some results, in particular a PDF explaining all the details.
Try this C program:
#include <stdio.h>

struct Good {
  int size;
  int base_address_lo;
  int base_address_hi;
  int length_lo;
  int length_hi;
  int block_type;
};

struct Bad {
  int size;
  long base_address;
  long length;
  int block_type;
};

int main(int argc, char** argv) {
  printf("%lu\n", sizeof(struct Good));
  printf("%lu\n", sizeof(struct Bad));

  return 0;
}

On my machine (64 bits) I get:
24
32

However, you can annotate C structs with @[Packed]. I think this is what you want/need :-)

Just to give more details on why this happens: Every C type has a memory alignment. UInt32 must be aligned to a multiple of 4, UInt64 must be aligned to a multiple of 8. And the alignment of a struct must be in such a way to satisfy the alignment of every field in it. Padding may also be added to force this alignment.
lib MemoryMap
  struct Good  # Size = 24, Alignment = 4
    size : UInt32
    base_address_lo : UInt32
    base_address_hi : UInt32
    length_lo : UInt32
    length_hi : UInt32
    block_type : UInt32
  end

  struct Bad # Size = 32, Alignment = 8
    size : UInt32
    # Padding of 4 bytes
    base_address : UInt64
    length : UInt64
    block_type : UInt32
    # Padding of 4 bytes
  end
end

The first padding is there so that the UInt64 fields get aligned to 8 bytes when the struct itself is aligned to 8 bytes. The second padding happens to ensure the struct still remains aligned even when put in a StaticArray.
Two ways to fix:
lib MemoryMap
  @[Packed]
  struct NotBad1 # No padding added
    size : UInt32
    base_address : UInt64
    length : UInt64
    block_type : UInt32
  end

  struct NotBad2 # No padding added
    size : UInt32
    block_type : UInt32
    base_address : UInt64
    length : UInt64
  end
end

@asterite Aha, I assumed that "C structures", as far Crystal is concerned, are always packed. That clears things up. Thanks

Thanks for the detailed explanation @lbguilherme!


M3-610 Add/update account credit card.

Purpose
Customer need a means by which they can add/update account credit card information.

The success notice could use some margin @alioso

Tested this and i have a few thoughts:

Noticed we are doing any card number form validation right now. I think we should have a minimum length on the card number text field.
Also noticed that the card number displays the increase/decrease number step button in the text field (see screenshot). I think we can get rid of this?

@rjstires added spacing Props to notices and formatting for CC. Tested credit card number update and it works so far. There is probably more that could be done on the front end to validate the CC if we want to. for instance, we can update with an expired card. Thoughts?

@alioso I'll add validation to ensure expired cards cannot be added.

updates look great, thanks


fix(voi): check same image was broken after 16 bit texture

when not using the 16 bit texture, we shouldn't check data type

LGTM!


Adding @cwperks to Security maintainers.

Description
Following the process in https://github.com/opensearch-project/.github/pull/59, I had nominated Craig Perkins (@cwperks) as a co-maintainer. The maintainers have voted and agreed to this nomination.
Craig has been participating in creating pull requests in both the back-end and front-end security repositories, answering questions and engaging with issue along with providing pull request feedback to keep standards high.

Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

See also https://github.com/opensearch-project/security/pull/2001


Ambiguous Section - "Create a device account using the Exchange Admin Center"

The "Create a device account using the Exchange Admin Center" section of this document implies that the Office 365 Exchange Online Admin Center can be used to add the account, even though the screenshot is of the Exchange 2103-or-higher EAC on-premises.

Looks like you posted directly on Github instead of from the related docs.microsoft.com page. Do you have the link for the page where you would like to see the improvements made?

Interesting – I clicked the link on the doc that said View on GitHub, then posted my update there.  Here’s the doc’s link:  https://docs.microsoft.com/en-us/surface-hub/create-a-device-account-using-office-365
From: Trond B. Krokli<EMAIL_ADDRESS>Sent: Thursday, April 18, 2019 5:35 PM
To: MicrosoftDocs/windows-itpro-docs<EMAIL_ADDRESS>Cc: Will Martin<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-itpro-docs] Ambiguous Section - "Create a device account using the Exchange Admin Center" (#3295)
Looks like you posted directly on Github instead of from the related docs.microsoft.com page. Do you have the link for the page where you would like to see the improvements made?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwindows-itpro-docs%2Fissues%2F3295%23issuecomment-484697729&data=02|01|willmart%40microsoft.com|fe8ab5f225954b7a3eae08d6c445c81b|72f988bf86f141af91ab2d7cd011db47|1|0|636912201325045525&sdata=vL3vfQD9lMHx531Nfhh8qUhV21zvYPyeN4h5hMpc%2FQU%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKO2QUBLLIN4Z55HG4K6DKLPRDSSDANCNFSM4HG6CZSA&data=02|01|willmart%40microsoft.com|fe8ab5f225954b7a3eae08d6c445c81b|72f988bf86f141af91ab2d7cd011db47|1|0|636912201325055517&sdata=AG0CEGkMu5%2BhbdavejqjmIr7dPJ2WSpBSrI0UFitKEA%3D&reserved=0.

Very well, fair enough. Maybe I am misunderstanding your issue, because to me, it looks like the two sections are separated well enough by using the "Office 365 Admin Center" images in the first section, Create a device account using Office 365, whereas the last section, Create a device account using the Exchange Admin Center looks like it also has got the correct images for the Exchange Admin Center. From my point of view, it looks like you can choose to use either the first or the second section to achieve the goal of creating the desired account.
I might have misunderstood your issue completely, so I will wait for feedback from the Microsoft Docs team members or other users with personal experience in this topic.

Actually, the upper solution will work if you don’t have an on-premises Active Directory that you are synching from, or if you only want the device account in the cloud.  However, the lower solution will only work if you have an on-premises Active Directory that you are synching from.  A customer read it wrong and tried to create the account using the lower solution, but had no on-premises Active Directory.
From: Trond B. Krokli<EMAIL_ADDRESS>Sent: Friday, April 19, 2019 8:20 AM
To: MicrosoftDocs/windows-itpro-docs<EMAIL_ADDRESS>Cc: Will Martin<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-itpro-docs] Ambiguous Section - "Create a device account using the Exchange Admin Center" (#3295)
Very well, fair enough. Maybe I am misunderstanding your issue, because to me, it looks like the two sections are separated well enough by using the "Office 365 Admin Center" images in the first section, Create a device account using Office 365https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsurface-hub%2Fcreate-a-device-account-using-office-365%23a-href-idcreate-device-acct-o365acreate-a-device-account-using-office-365&data=02|01|willmart%40microsoft.com|6f040516936145bbcdec08d6c4c15af7|72f988bf86f141af91ab2d7cd011db47|1|0|636912732067359336&sdata=rgFxcxR4e5MCusqxtEhlwSiZRYdag2qe%2FM2r4TWQCSY%3D&reserved=0, whereas the last section, Create a device account using the Exchange Admin Centerhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsurface-hub%2Fcreate-a-device-account-using-office-365%23a-href-idcreate-device-acct-eacacreate-a-device-account-using-the-exchange-admin-center&data=02|01|willmart%40microsoft.com|6f040516936145bbcdec08d6c4c15af7|72f988bf86f141af91ab2d7cd011db47|1|0|636912732067369329&sdata=xL7qlchE5OHTlJ7K6qAEaXE61Mae3vDD0EVUy9%2BNK48%3D&reserved=0 looks like it also has got the correct images for the Exchange Admin Center. From my point of view, it looks like you can choose to use either the first or the second section to achieve the goal of creating the desired account.
I might have misunderstood your issue completely, so I will wait for feedback from the Microsoft Docs team members or other users with personal experience in this topic.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwindows-itpro-docs%2Fissues%2F3295%23issuecomment-484877266&data=02|01|willmart%40microsoft.com|6f040516936145bbcdec08d6c4c15af7|72f988bf86f141af91ab2d7cd011db47|1|0|636912732067369329&sdata=08Kf7N%2BxAQPidDH8Wxi1DpclV4ydZJPS%2BeLE%2BQXupUE%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKO2QUGKC7DBXRWMJF7TGATPRG2HJANCNFSM4HG6CZSA&data=02|01|willmart%40microsoft.com|6f040516936145bbcdec08d6c4c15af7|72f988bf86f141af91ab2d7cd011db47|1|0|636912732067379324&sdata=rUcy6RCgaFKtXeKv7hErFgQLjTcOS89OXXdhrsLYAhM%3D&reserved=0.

Thank you for pointing out the issue precisely.
Do you think it would suffice to add a note, similar to the one in the section Create a mobile device mailbox policy from the Exchange Admin Center , saying something similar to "This method will only work if you are syncing from an on-premises Active Directory." ?
And if yes, where would the best logical placement be for this note? Right after the section header title, or after the 4 steps listed in the first paragraph? (or maybe even somewhere in between?)

Yup – that’s what that lower section needs.
From: Trond B. Krokli<EMAIL_ADDRESS>Sent: Friday, April 19, 2019 9:15 AM
To: MicrosoftDocs/windows-itpro-docs<EMAIL_ADDRESS>Cc: Will Martin<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-itpro-docs] Ambiguous Section - "Create a device account using the Exchange Admin Center" (#3295)
Thank you for pointing out the issue precisely.
Do you think it would suffice to add a note, similar to the one in the section Create a mobile device mailbox policy from the Exchange Admin Centerhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsurface-hub%2Fcreate-a-device-account-using-office-365%23a-href-idcreate-device-acct-exch-mbx-policyacreate-a-mobile-device-mailbox-policy-from-the-exchange-admin-center&data=02|01|willmart%40microsoft.com|fa9da7f3d9024992085408d6c4c8fef0|72f988bf86f141af91ab2d7cd011db47|1|0|636912764882436154&sdata=TbwqvcLlVrdYqYOo8aYvOO%2Biy4AXsMpObI66Dcw55zo%3D&reserved=0 , saying something similar to "This method will only work if you are syncing from an on-premises Active Directory." ?
And if yes, where would the best logical placement be for this note? Right after the section header title, or after the 4 steps listed in the first paragraph? (or maybe even somewhere in between?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwindows-itpro-docs%2Fissues%2F3295%23issuecomment-484892412&data=02|01|willmart%40microsoft.com|fa9da7f3d9024992085408d6c4c8fef0|72f988bf86f141af91ab2d7cd011db47|1|0|636912764882446148&sdata=3HzQUKUnvH%2F2czT17meQldKZY19Kkh%2F%2BNR7%2BfdOSSjA%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKO2QUEAKX2DBAISEGPADILPRHAUNANCNFSM4HG6CZSA&data=02|01|willmart%40microsoft.com|fa9da7f3d9024992085408d6c4c8fef0|72f988bf86f141af91ab2d7cd011db47|1|0|636912764882446148&sdata=wWNawL2p4AK2lLkMTV8F6So2JB0awMVcWpPwbe%2Bi7qw%3D&reserved=0.

@mypil (or maybe @e0i ) -- please assign this issue ticket to the proper person (or if needed, request a ticket posted on the docs.microsoft.com page).
Please also note my PR linked above.

@officedocsbot assign @mypil

@illfated - Thank you for proactively helping to create the PR for this issue.
I have tagged the other doc owners in this repo to help check and merge the content for PR #3306.


Not support for  SSLV2

Does not support the  protocol-sslv2, breakpoint debugging found that byte [0] is not 22 but -128.
In other words, byte [0] =-128 cannot be accurately identified as SSL2hello.
Minimal yet complete reproducer code (or URL to code)
Netty version
4.1.48
JVM version (e.g. java -version)
jdk11
windows  sslv2 protocol

AFAIK, SSLv2 is not supported. OpenSSL also dropped its support long ago.

@apa7 this is expected... if I understand what you asking for correctly


[DOC] Add pyproject.toml

Description
Python has almost entirely moved off of setup.py in favor of better dependency management via pypyoject.toml, and the documentation should reflect this.

This is related to #87.

This is no longer relevant as of #89.


Removing style prop from useEffect dependencies

This fixes https://github.com/paypal/react-paypal-js/issues/58

Thanks @pedroapfilho! 💯


OpenROAD Singleton Removal

Description
@grotival, @fgaray and myself have all been trying to use OpenROAD in a more library-like fashion in threaded environments.
We’ve uncovered that this will require the removal of static across the OpenROAD codebase.
In particular we would like to remove usage of OpenRoad::openroad() across the codebase, and instead use injected OpenRoad objects.
Suggested Solution
See the following before vs after in the Design class:
Before
Design::Design(Tech* tech) : tech_(tech)
{
}

void Design::readVerilog(const std::string& file_name)
{
  auto chip = tech_->getDB()->getChip();
  if (chip && chip->getBlock()) {
    getLogger()->error(utl::ORD, 36, "A block already exists in the db");
  }

  auto app = OpenRoad::openRoad();
  app->readVerilog(file_name.c_str());
}

After
Design::Design(Tech* tech, std::unique_ptr<OpenRoad> openroad) : tech_(tech), openroad_(openroad)
{
}

void Design::readVerilog(const std::string& file_name)
{
  auto chip = tech_->getDB()->getChip();
  if (chip && chip->getBlock()) {
    getLogger()->error(utl::ORD, 36, "A block already exists in the db");
  }

  openroad_->readVerilog(file_name.c_str());
}

We plan to start the transition in our spare cycles with the end goal being a thread safe OpenRoad library.
Additional Context
No response

This would be from the C++ API, and the benefits of threading are simpler execution/communication model, and the general preference of Google binaries.

It can construct one by default if not provided.

So
Design::Design(Tech* tech, std::unique_ptr<OpenRoad> openroad = std::unique_ptr<OpenRoad>())

in that case wouldn't it be better to add it to Tech() since Design takes it as an arg?

I'm not so sure since I logically think of Tech as a generic tech library and not the design itself. OpenRoad* holds the database so to me it logically makes sense to be owned by Design.

Openroad owns the db implies it own the Tech as well.  There is no tech outside of an OpenRoad

We should probably separate them. Tech should have it's own db that it copies into new instances of Design.

What is the benefit?  You'll always wind up with two copies of your LEF in memory that way.  Also there is no code to do that copying today.

There's a clone function that we'll enhance to work for this purpose.
The benefit is that you end up with a pure Tech that can be used in multiple places without having to read a bunch of setup files.

In the ordinary use case (one tech, one design) you will double your LEF memory usage which isn't great.

I think we've observed with @oharboe's comments on Delta debugger that that amounts to a few MB at most.

Its also error prone is the tech is ever modifiable.

  What is we want to store the gds in the tech someday?

The tech is modifiable like any object.
I think it's a trivial matter to make this work efficiently. We could accept a unique_ptr to transfer ownership, or a copy mechanism depending on the users preference. It seems easy enough to make the implementation efficient, and IMO we should prioritize user experience over implementation complexity.


Done Translate AJAX and APIS FAQ

I'm done translating the AJAX & API FAQ page ! i had to edit multiple files to get the Gatsby app run on my local machine so the changes are visible in the commit !

if it's OK feel free to assign me the next 2 pages in FAQ or the whole FAQ section if it's possible :)

Hi @maskeddeveloper!
I'm sorry you had to deal with the conflicts. You should be now able to revert your commits on other files other than faq-ajax.md so I can merge it. Thanks 🙏


⚠ Bofrost.be has degraded performance

In dd94ae4, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1863 ms

Resolved: Bofrost.be performance has improved in db8c1bb.


fix some chinese translation mistakes

Still have some questions:

does XXX_zh means traditional chinese while zh_CN means simplified chinese?

in the guide, "thrift" means the Apache Thrift or just means save?

also in the guide, what does url hit means?

I added Service Name and Span Name labels in index, because in the guide, it referred to the Service Name and Span Name which are not pointed out in the index.

There are still many text that needs i18n support, such as error info, annotation query, some dialog titles... but some of them are pure text in html without a tag(which means you cannot add data-i18n attr), waiting for offical support.

does XXX_zh means traditional chinese while zh_CN means simplified chinese?

dunno

in the guide, "thrift" means the Apache Thrift or just means save?

english "Span names are generally thrift method names"
should be
"Span names are generally RPC method names"
thrift is too specific

also in the guide, what does url hit means?
ex http.url=http://myservice/reset

http://myservice/reset would be the url hit (by a web browser or client)

I added Service Name and Span Name labels in index, because in the guide, it referred to the Service Name and Span Name which are not pointed out in the index.
k

There are still many text that needs i18n support, such as error info, annotation query, some dialog titles... but some of them are pure text in html without a tag(which means you cannot add data-i18n attr), waiting for offical support.
ok open to ideas if you have some. thanks for al the help!

From jquery-i18n-properties

It loads and parses resource bundles (.properties) based on provided language and country codes (ISO-639 and ISO-3166) or language reported by browser.

As my experience, singly "zh" always means Simplified Chinese, this happens when you just want to support Chinese only. if you want to support Simplified and Traditional Chinese both, we usually use "zh_CN" for Simplified Chinese and "zh_TW" for Traditional Chinese.(Of course, if you want to be more specific, there are zh_HK for Hong-Kong and zh_SG for Singapore and so on, but "zh_CN" and "zh_TW" are already enough.)


Scroll performance issues in Firefox

I'm using the classic combo of CellMeasurer and Grid to do some fancy infinite scrolling. Everything looks/works great in chrome but I've noticed some serious performance issues in Firefox. At first I thought it was just my implementation or that I was re-rendering too often but then I noticed this warning:

This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects for further details and to join the discussion on related tools and features!

Turns out the demo here http://bvaughn.github.io/react-virtualized/#/components/CellMeasurer actually suffers from the same performance issues and has the same warning:

The uniform width and height demo is particularly glitchy fwiw.
Anyone dealt with this before?
*FF Version: 50.1.0

On a somewhat related note I'm also noticing odd scrolling behavior with the demos on the latest version of Safari. It seems there is absolutely no momentum to scrolling whatsoever, here's a quick gif I snapped which hopefully shows what I'm referring to. Keep in mind that I'm doing full force scrolls here but the list only adjusts by a few rows at a time:
http://recordit.co/nnxk3cd7Q3
Happy to open a separate issue if you think this is unrelated @bvaughn, could it be related to the introduction of the style cache in 8.8?

Hey @zsherman,
Thanks for the detailed report! I haven't been ignoring it (despite my lack of a response) I've just been busy. It seems legit and I'll try to look into it when I can find/make time. Just wanted to leave a note to say that I appreciate the level of detail, and I am at least aware of the issue. 😄

From the Mozilla docs:

The definition of a scroll-linked effect is an effect implemented on a webpage where something changes based on the scroll position

This seems like a core part of the definition of what a windowing library does.
Moz says to replace as many scroll-linked effects as possible with CSS equivalents, but they also admit that not everything has a CSS equivalent

In many cases, scroll-linked effects can be reimplemented using CSS and made to run on the compositor thread. However, in some cases the current APIs offered by the browser do not allow this. In all cases, however, Firefox will display a warning to the developer console (starting in version 46) if it detects the presence of a scroll-linked effect on a page.

My initial reaction was to just write this off as one of those examples- but I don't see this same warning when looking at eg the fixed-data-table demo page. Need to look further at why this is.

Hm that's definitely odd, what version of firefox are you running? Are you also able to reproduce similar scrolling issues on safari latest?

Firefox 50.1.0 (latest). Safari latest (10.0.2) performs great for me, similar to Chrome. Firefox performance is definitely the worst of the 3 by a noticeable amount.

Good to hear that the newest version of Safari works well for you – I'm actually still on 9.1 and it will barely let me scroll, kinda crazy.

Ah. Safari 9 had a long-standing problem (#370) that was fixed forever ago in the Safari Tech Preview but only recently fixed (a couple of months ago) with the release of Safari 10. Best I could tell, Safari would interrupt its own scrolling animation if it detected any perpendicular movement. I was unable to find an acceptable workaround for that that didn't also damage performance.

Gotcha, thanks for the heads up.

@bvaughn just wanted to hop back in here and confirm that the issues with Safari are happening on 10.0.2 as well, would you like me to open a separate issue?

Momentum scrolling works fine for me in Safari, just re-tested with 10.0.3. Has worked fine for me with every 10.x version I've tried.
You can open an issue if you'd like. I'd probably mark it as "needs help" though.

@bvaughn there's a thing in Firefox called Multiprocess Windows that you can inspect if you go to about:support. We've seen incredible differences from 0/1 disabled to 1/1 enabled, and as far as I can tell, the flag is enabled/disabled depending on the user (might be some sort of A/B test).

Interesting. Thanks for sharing!

I observed the same thing on the web-app I am working on. This is what happen when I try to scroll smoothly

Basically, it scrolls down a bit, then freeze the scroll completely (probably to do some computation) and start again.
It works great in Chrome, Safari and Edge and Firefox without multi-process (the scroll doesn't interrupt)

@Mathieuu that's curious! On our project it runs as smooth on Firefox multi-process as on Chrome and Safari. It is with it disabled that the scroll starts to become janky.

Wish I knew some Firefox engineers to reach out to for guidance on this one.
@Mathieuu that GIF you attached looks rough (performance wise). Don't suppose that's anywhere I could take a look at?

The elements we are rendering are pretty heavy and performances have always been a challenge so it may be an extreme case.
Our product is a Firefox addon and we use a legacy addon API which automatically disable multi-process in Firefox. So you won't be able to reproduce with it. The gif you saw is an attempt to port our addon to the new API and multi-process.
However, I can also reproduce in the playground we use to develop our components (react-storybook). If you are interested, I could prepare a version where the problem would be easily reproductible.

@Mathieuu Sure, if you are able to. It might be helpful for me to take a look.

Actually, the issue is already reproductible in: http://localhost:3001/#/components/Grid by scrolling horizontally quickly enough.
Download Firefox Nightly. Go to about:support and check that Multiprocess windows is enabled.
Otherwise, it can be enabled in Firefox / Preferences / General / Startup or by setting to true browser.tabs.remote.autostart in about:config.
To reproduce the lag I have set dynamic row and set a column overscan of 100.  The idea is to make each row heavy enough so we can see the freeze. If it doesn't work with 100, try with 1000.
I am running on a Macbook Pro 13" 2015 Retina, and scroll with the trackpad (which allow to scroll quicker than my mouse)

Without multi-process, the whole interface feels a bit slow but there is no big freeze like that.
I don't have time to help on that right now but I wonder if wrapping the side-effects in a nextTick or a requestAnimationFrame wouldn't partially solve the issue.

To reproduce the lag I have set dynamic row and set a column overscan of 100. The idea is to make each row heavy enough so we can see the freeze. If it doesn't work with 100, try with 1000.

Hm... with overscan rows at 10, cranking overscan columns to 100 means that each scroll event you'll be creating 1,800 React elements and thrashing the DOM a lot. I think it's understandable that the browser lags behind a bit in that case. Chrome does too.

Those instructions were written to make the problem big enough so anyone could reproduce no matter the hardware or the scroll speed.
But as mentioned in the first post, the issue is also partially visible in the demo without changing the parameters.
Even with my heavy tests, Firefox without multi-process manages to provide an almost smooth experience and so does Chrome. But as soon as multi-process gets activated, the scrollbar freezes every X elements.

I ran into this issue after adopting react-virtualized as well. The root cause could be due to APZ (Async Panning and Zooming).
A simple way to verify:

Visit about:config in Firefox
Search layers.async-pan-zoom.enable and set it to false
Restart browser
Run example https://bvaughn.github.io/react-virtualized/#/components/Grid

Bug has reported, please see https://bugzilla.mozilla.org/show_bug.cgi?id=1346159

Thanks for the update and the bug link @rickychien! I'm pretty bummed to see that it looks like RV might not make it in for the RequestList because of this issue. Is there anything I can do to help? Let me know if so!

Here is another observation of performance issue on Firefox, hopefully useful for this issue.
On the demo: https://bvaughn.github.io/react-virtualized/#/components/WindowScroller.
When "Use custom element for scrolling" is unchecked, scrolling is very smooth.
When it is checked, scrolling is much worse, almost unusable.
Tried turning APZ on/off but no difference.
So performance can be good/bad on the same Firefox. Maybe this is a sign that the issue do not only lie in the Firefox itself?
(Firefox 56.0.2 64-bit)

Glad I found this thread.
I am working on a page that is supposed to be showing an arbitrarily long grid of cards. I am using WindowScroller with a List.
I am working on 2 screens, my laptop's (Macbook Pro 13'' 2015) and an external 1920x1080 screen.
I have noticed that in general the WindowScroller performance while scrolling on Chrome on the external screen  is quite bad. This also happens on my Windows machine, where I only have a 1920x1080 screen.
Firefox, Safari and Edge on the other hand scroll very smoothly.
The same performance is noticable when working on another page that does pretty much the same thing with a Table instead of a List
(I noticed the same performance disparity when I was using WindowScroller with a Table on another page of the same project)
Firefox:
https://gyazo.com/313bed802824359874353911701a9149
Chrome: (it may look as if the page is not moving but in truth I was scrolling the whole time)
https://gyazo.com/451d9de720c2878a623c83d370ca8276
Safari:
https://gyazo.com/f08bd551411abe4ffa31d30d1af29bf0 (edited)

I have noticed that in general the WindowScroller performance while scrolling on Chrome on the external screen is quite bad.

Is the external monitor screen (and hence the browser window) significantly larger by chance? This can have an impact on performance.
Otherwise, this might indicate that hardware acceleration isn't being used for your external monitor.

Is the external monitor screen (and hence the browser window) significantly larger by chance? This can have an impact on performance.

Yes, it is physically larger, but pixel count should be greater on my laptop's screen, since it's a retina display and operates at its native resolution.
My Windows machine by the way is equipped with a GTX 1060 graphics card, yet Chrome's performance there is the worse still.

Otherwise, this might indicate that hardware acceleration isn't being used for your external monitor.

I forgot to mention, I have tried this (on my laptop). I deactivated hw acceleration, expecting that now scrolling performance should be poor in my laptop's screen as well, but it didn't make any difference.
Actually let me retest this and I'll update this post.

I noticed this behavior too in FF 64.0b6 (64-bit). The example I took from https://codepen.io/rdallaire/pen/apoyx is working fine in the codepen, however if I put the code in my local site, I get the warning in FF and the scroll to top doesn't work.
During development I make use of a build tool, maybe that can help in the discussion.

I also came across this issue while viewing TED on Firefox.
This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects for further details and to join the discussion on related tools and features!

System's config:
Firefox: 66.2 for Ubuntu canonical
Ubuntu: 18 LTS


Don't test webapp and website when we push api

Fixes https://github.com/OpenCollective/OpenCollective/issues/48 for API

Tests for #313 don't pass because of this. I need that for debugging a payment that doesn't go through for WWCode. Can someone please merge this?

@xdamman app and website make use of the scripts/install_apt_get_debs.sh and scripts/test_e2e.sh, if you delete them you will break setup and testing of those repos.
Also why do you want to disable these tests? The whole point of the developments in test_e2e.sh and related, was to be able to test everything end-to-end when doing both client and API changes.

As I suggested here: https://github.com/OpenCollective/OpenCollective/issues/51#issuecomment-215245734
I recommend not testing website and app when testing API. It's way too heavy. The original reason why we wanted to do that was to make sure that a change in API wouldn't break website or app. But the proper way to do this, is to make sure that we have tests that cover what website and app are expecting from the API.

I'm really not sure what's the purpose of scripts/test_e2e.sh. What does it do exactly? Those bash scripts are very hard to read.
Only website and app should run e2e tests. As such, it seems weird to have the api repo having any mention of e2e all together.

I agree there would be lighter ways to test API, but currently e2e tests are all we have and if we merge this branch we lose that ability. If in an API PR we e.g mistakenly change the signature of an API, it will break the clients but this won't be visible until the API gets merged, i.e too late.
From my point of view, e2e tests depend as much on client repos as they depend on API repo (which is why I suggested before that e2e test code be extracted to repos other than website/app).
Also imagine you modify the test data in controllers/test.js (should move elsewhere BTW), without e2e the tests within API it will also be invisible until merge.
But sure, things would be faster if we merge this as you'll have less coverage (but you still need to leave scripts/test_e2e.sh and scripts/install_apt_get_debs.sh in this repo as they are remotely fetched by website and app).
Note however that now build time for api is down to ~12.5 min whereas it's ~9 min for website/app.

Also @xdamman you asked before the opposite, to run website and app e2e from API: https://github.com/OpenCollective/api/pull/242#issuecomment-202910993
What made you change your mind?

I didn't realize it would slow down tests so dramatically
I didn't realize the tests would not always pass and sometime need to be re-run
The benefits of this change are not worth the cost and impact on our productivity
I realized that there was another way to solve the initial problem that we were trying to solve with this, which is namely to write tests to make sure the website and app receive the data they expect.

Sure we can try to write API-level tests. We should still find a way to fix the flaky tests for the clients which suffer the same fate (your point 2, cfr. https://github.com/OpenCollective/OpenCollective/issues/60 + some timeouts).
If you'd like to merge this, still need to restore scripts cfr earlier comment.

I still don't get why app and website expect those scripts to exist?
It seems like a circle reference.
API should have to reference whatsoever to any e2e test.

The test_e2e script was needed in all 3 repos, so I put it in API and made website/app remotely fetch it (rexec:api = "remotely execute API script")
The install_apt_get_debs script was needed in website/app but as it's shared, I used same mechanism putting it in API and having it being fetched remotely

That was kind of a hack to be able to share scripts between different repos. More proper solution would be git submodules but takes a bit more effort. Would be nice though, as it would allow to share other things than scripts, e.g configuration files and common Javascript code (which there is probably plenty of).

Sorry but I still don't get why api needs any reference to e2e (I understand why we would need it in the context of also testing app and website when testing api, but in this new context of not running those tests, I don't get why website or app should expect the api repo to have any reference to e2e)

@sedubois see my latest comment above.

@xdamman api doesn't need any reference to e2e if you decide running e2e in API is too heavy (which in the current state I agree). But still website and app both need the exact same scripts test_e2e.sh and install_apt_get_debs.sh (and maybe others). Do you want me to simply duplicate these completely, having a copy of each of them in website and app? I can take care of that if you want.
(NB: I personally didn't get yet why we have separate website and app repos. I mean, currently they're both simply accessed through the web. Don't know what is the vision behind this split. There's quite some duplication between them. E.g a good part of the config, actions/transactions/fetch_by_group.js, etc. But that's a separate discussion.)

I disabled API e2e tests here: https://github.com/OpenCollective/opencollective-api/pull/340/commits/3801d3b8bbe74f0175d44edc8b4a19c0e8c2d457
This could be closed if you agree.

@sedubois There's some history behind split of app and website - we thought app would be a real iOS and Android app (at some point). It's becoming clear that most of the functionality of app will end up in website anyway and we aren't going to be adding a real iOS or Android app anytime soon.
Going forward, we should think of app as a tool for hosts only - approving expenses, adding funds, etc. Most everything else, we'll support from website.


ENH: update package version

Hi! This is the friendly automated conda-forge-webservice.
I've started a version update as instructed in #14.
I'm currently searching for new versions and will update this PR shortly if I find one! Thank you for waiting!
Fixes #14

@conda-forge-admin, please rerun bot


Fix script validity

Issue Number
ADP-1970
ADP-1969
Tasks

[x] Make sure script validity is propagated upwards for Alonzo and Babbage (Pawel)
[x] Add e2e tests showing proper collateral accounting and behaviour when script is invalid in the second phase validation (Piotr) -> in https://github.com/input-output-hk/cardano-wallet/pull/3367

Comments

bors r+


Add config setting to disable authenticating when calling current_user

This addresses the discussion in #4951. I understand the desire to keep the behavior as is since it's been in the code base for over 10 years and is used in who knows how many different systems. That being said, I still see the value in not automatically authenticating the user when calling current_user. You can read the discussion in #4951 for both sides of the argument.
This pull request introduces an opt-in config setting to disable automatic authentication when calling current_user. This has no change for users that don't opt-in to this setting.
I will be honest, I am not happy with the testing that I added. It should probably be reviewed and improved by someone more familiar with the Devise internals than me.

Nearly a year and a half later, but I was able to finally write some proper tests that I feel comfortable with. Hopefully, a maintainer can take a look at this now that it has actual testing. I'd really like to see this in production!


Temporarily pin coverage CI to nightly-2021-03-17

Motivation
nightly-2021-03-18 hangs when launching the coverage tests, without any output.
Solution
Temporarily pin coverage CI to nightly-2021-03-17, to avoid this bug.
Review
CI failures are urgent, so we should review and merge as soon as it passes.
Follow Up Work
Open a ticket/PR to revert this PR, as soon as nightly is fixed.

This fix makes a bit more progress, but still hangs with the error:
LLVM Profile Error: Failed to write file "/home/runner/work/zebra/zebra/test.28720.profraw": No space left on device


Problem with vertical-alignment.

Hi. I've been having issues with vertical-alignment (both cross-browser, and compared with professional icon-font generators) in icon fonts generated using the gulp-iconfont module.
See discussion and screen-shots here:
https://github.com/nfroidure/gulp-iconfont/issues/13#issuecomment-47081644
According to the author of gulp-iconfont, a part of the problem may lie within svg2ttf module, which is why he asked me to submit this there also.
Here are example files and visual test-cases that I made, which may help track this down: http://mar.eplica.is/gulp-iconfont-tests.zip

I'm having the same issue using the gulp-iconfont 1.0.1. (first asked there https://github.com/nfroidure/gulp-iconfont/issues/13)
The svg2ttf and then ttf2woff, ends up causing the .woff to have a different vertical baseline in IE. To make sure it was the svg2ttf that was the problem i compared with the generated font from Iconmoon. Then I used the .ttf generated from iconmoon and run it through ttf2woff, its flawless.

(fonts generated http://kexe.dk/fontTests.zip

Having the same issue with IE as well. :(

Can anyone try to test HHEA lineGap = 0 ? Need to patch this line https://github.com/fontello/svg2ttf/blob/master/lib/ttf/tables/hhea.js#L14
If this will not help, set OS/2 sTypoLineGap to 0 too: https://github.com/fontello/svg2ttf/blob/master/lib/ttf/tables/os2.js#L64

@puzrin Sorry for taking so long to get around to this, but I've finally tested setting lineGap to 0 in hhea.js and yes, that fixes the problem! Didn't need to change os2.js (although initially I did and it made no difference on its own).

@puzrin @RobeeeJay yup - that fixes the issue.