Uninstalling OpenPGP app should revert ComposeCryptoStatus to uninitialised

Expected behaviour
When sending email from an account that previously had a cryptography provider, the email should be sent successfully.
Actual behaviour
"Cannot connect to crypto provider, check your settings or click crypto icon to retry!"
Steps to reproduce

Install K-9
Install OpenPGP app
Add OpenPGP to an account
Uninstall OpenPGP
Try to send an email

Environment
K-9 Mail version:
Android version: 6.0.1
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

NB: This would be fine, if you could remove the uninstalled cryptography provider - but you can't - the setting is greyed out and it says 'No OpenPGP app installed'.

You're right. Deselecting the crypto provider is what I had in mind with "Check your settings", but if that is indeed not possible with an uninstalled crypto provider that should be fixed.


[Launcher] Fix Launcher not closing when PT running as admin

Summary of the Pull Request
One liner which fixes #4569

References

PR Checklist

[x] Applies to #4569
[x] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed
Tested only as admin. Non-admin should not be affected.

Let's close this in favor of https://github.com/microsoft/PowerToys/pull/4577.


#2742 [Part 3] Allow removing R-Group Attachment Points using Erase Tool

This PR is one of the small PRs to resolve #2742 for easy review.
This PR is open for reviews but please do not merge it.
What is done in this PR?

Allow removing attachment points using Erase Tool
(You can also remove attachment points by selecting and pressing the key Del)

Disallow removing attachment points inside functional groups

Check list

[ ] unit-tests written
[ ] e2e-tests written
[ ] documentation updated
[ ] PR name follows the pattern #1234 – issue name
[x] branch name doesn't contain '#'
[x] PR is linked with the issue
[x] base branch (master or release/xx) is correct
[ ] task status changed to "Code review"

Merged with https://github.com/epam/ketcher/pull/2978


Added a Geolocation tutorial

Based on sbenz's example on glitch, but with more realistic geolocation-based search results, plus use of skeleton placeholder.
NB: Couldn't get the /preview URL to work. The chrome is there, but the actual demo doesn't take up any space.
FYI @sebastianbenz

I'm using the same freegeoip API that you used: https://glitch.com/edit/#!/caramel-wolf?path=server.js:26:11 and supplementing it with a second service to provide 'nearby cities'.
i did find that occasionally your API (freegeoip) would return a lat/long but not a city name, so I defer to the second API's city name in that case.
Did you download and run this code locally? I'm still trying to figure out why preview isn't working:

Any ideas?

Two things:

Please another class name than abe-preview, e.g. geo-list. It conflicts with an internal class.
The list is hidden because the amp-list has no width. Explicitly give it a width and then it works:

    .geo-list {
      width: 100vw;
      max-width: 400px;
    }

Thanks. Done.
FWIW, abe-preview was intentional. The main demo Code page wraps the preview in that class, so I used it to ensure that my styles didn't target anything other than the preview section. But then the Demo page didn't wrap with that class, so I added it directly.

...and it's live: https://ampbyexample.com/advanced/geolocation_with_amp-list/


settings: Make col-width consistent between tables.

This makes the column width consistent between tables in the
organization users section by making the "Name" section 20%.

Merged; I also opened https://github.com/zulip/zulip/issues/6313 for the follow-up work on making that screen nicer.


vial: init at 0.3

Motivation for this change
Add Vial, a QMK keyboard configuration tool, similar to VIA, but open source.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 129645 run on x86_64-linux 1

1 package built:

vial


Using optional parameters reloads controller when moving away from state

I define a state like this:
.state('game.sector', {
    url: '/universe/sector/:sector_id_id/:x/:y',
    params: {
        system_id: null,
        x: {
            value: 1,
            squash: true
        },
        y: {
            value: 1,
            squash: true
        }
    },
    controller: 'SectorCtrl',
    templateUrl: 'modules/sector/views/sector.html'

})

With two optional parameters and one required.
I have a function that periodically updates the X and Y optional parameters like so:
$state.transitionTo('game.sector', {
    sector_id: $scope.sector_id,
    x: x
    y: y
}, {
    location: 'replace',
    relative: $state.$current,
    notify: false
});

The problem is that after I update the optional parameters, and after I trigger any kind of state change (ui-sref or $state.go) the state transition sometimes fails.
I'm also listening on every UI Router even on the $rootScope, but this failure is never reported to those events. Clicking on a ui-sref link simply reloads the current controller.
Any ideas why this may happen?

I believe I'm experiencing the same (or a related) issue. I'm using Angular 1.3.8. I don't think this occurs in 1.2.*.
In my case, if I navigate to the same state with different params and notify false then navigate to another state, the first state's controller is initialized again between the start and success of the state change.
Here's a plunker replicating this problem: http://plnkr.co/eOtj7C6mMgK8qwVqBEXi
Console log:
main.js:1 Scripts loading...
main.js:23 Start:   {} -> home{}
main.js:24 Success: {} -> home{}
main.js:9 home state controller init
main.js:23 Start:   home{"state":"1"} -> foo{"state":"2"}
main.js:9 home state controller init
main.js:24 Success: home{"state":"1"} -> foo{"state":"2"}
main.js:10 foo state controller init
main.js:23 Start:   foo{"state":"2"} -> home{"state":"3"}
main.js:24 Success: foo{"state":"2"} -> home{"state":"3"}
main.js:9 home state controller init

Problematic part:
main.js:23 Start:   home{"state":"1"} -> foo{"state":"2"}
main.js:9 home state controller init
main.js:24 Success: home{"state":"1"} -> foo{"state":"2"}

The home state controller is initialized while the state is being changed.

I believe line 1047 of state.js is causing this to occur.
resolved = resolveState(state, toParams, state === to, resolved, locals, options);

I currently have a workaround that involves writing my own ui-sref replacement that retries state transitions until they pass. I send an event in that case and listen to it on controller init to make sure the controller can safely reload.
A resolution to this issue would be critical. This effectively breaks optional parameters and requires a lot of hacks.

I believe reloadOnSearch: false on the route and notify: true for the state go will also work.

+1
I'm currently experiencing the same issue as @jessezhang91. When I update my search params by calling $state.go to the current state with options notify: false, location: 'replace' and inherit: false and then go to a different state, the controller from the original state is loaded again.

@chrisguerrero I have the same problem. Even if inherit is true. Do you have a workarround?

I have not found a workaround. Rather, I just let the controller run again but make sure it doesn't do anything to change states.
I initially thought setting reloadOnSearch to false and setting notify to true would work but that doesn't seem to change the result for Angular 1.3.

@SebastianM My issue stemmed from the fact that I was using UI router in a non single page app. I was trying to pass parameter values across page requests, which is why I needed to reload the state. I've since moved to a true SPA and can now pass those parameters on state change using $state.go

I'm seeing this same issue in an SPA. I update params by using $state.go with notify: false and then when I navigate away the controller reloads. My workaround has been to make sure that the controller reloading doesn't cause an additional state change, but it's a very wonky workaround.

Any movement on this?

Probably not. I've completely abandoned Angular and this framework was a large part of that decision

This is exactly the problem I have - I'm updating the url with optional parameters in response to user selections with notify:false state changes, and then when I try to navigate to a different state, it re-initialises the current state too.

It seems this is still an issue with ui-router 0.2.14 and angular 1.3.13.
I noticed that the hash does not change when this issue occurs. I wrote a workaround that decorates the $state.transitionTo function to detect when it does a "notify: true" transition after having done a "notify: false" transition. After that transition has successfully occurred, I save the "fromState" from the "$stateChangeSuccess" event and the hash from window hashchange. The next call to $state.transitionTo that has the same hash and same state within 500ms will be ignored. Craziest workaround but it seems to work for my case.
This is definitely not a fix but, looking through the source code, there's no obvious way to make it work properly.
$provide.decorator("$state", ["$delegate", "$rootScope", "$window",
	function ($delegate, $rootScope, $window) {
		var $state = $delegate;
		var transitionTo = $state.transitionTo;

		var notifyIssue, notifyTransition, notifyState, notifyHash, notifyTimeout;
		resetNotifyIssue();

		$rootScope.$on("$stateChangeSuccess", function (event, toState, toParams, fromState) {
			if (notifyIssue && notifyTransition) {
				notifyState = fromState.name;
				// unfortunately, it's a non-deterministic amount of time, must timeout for a bit
				notifyTimeout = setTimeout(resetNotifyIssue, 500);
			}
		});

		$($window).on("hashchange", function () {
			if (notifyIssue && notifyTransition) {
				notifyHash = $window.location.hash;
			}
		});

		$state.transitionTo = function (to, toParams, options) {
			if (notifyTransition && (to.name || to) === notifyState && $window.location.hash === notifyHash) {
				resetNotifyIssue();
				return undefined;
			}
			if (options && options.notify === false) {
				notifyIssue = true;
			} else if (notifyIssue) {
				notifyTransition = true;
			}
			return transitionTo.apply($state, arguments);
		};
		return $delegate;

		function resetNotifyIssue() {
			clearTimeout(notifyTimeout);
			notifyTransition = false;
			notifyIssue = false;
			notifyState = null;
			notifyHash = null;
		}
	}
]);

This is quite bad, how come it has not been properly fixed in 5 months?

I dug into the code a bit and found that the issue occurs because $viewContentLoading is being emitted in line 63 of view.js before $stateChangeSuccess.
The first transition with notify: false does not trigger $viewContentLoading or $stateChangeSuccess. The second transition with notify: true does trigger it but because $viewContentLoading is emitted before the new global $state has been set, the previousLocals === latestLocals in line 215 of viewDirective.js will always be false, which will allow the transclude in line 219 to occur and the inner transclusion will initialize the controller.
Afterwards, $stateChangeSuccess is emitted and this causes the transclusion to occur again with the correct set of templates and controllers.
Luckily, it seems that PR https://github.com/angular-ui/ui-router/pull/2003 fixes this interaction.
It seems to fix the issue in my project and it passes my plunker: http://plnkr.co/edit/UoC6rk2zKQItQNji0OPr
Start:   {} -> home{}
Success: {} -> home{}
home state controller init
Start:   home{"state":"1"} -> foo{"state":"2"}
Success: home{"state":"1"} -> foo{"state":"2"}
foo state controller init
Start:   foo{"state":"2"} -> home{"state":"3"}
Success: foo{"state":"2"} -> home{"state":"3"}
home state controller init

+10

+1

@btm1  you only get one vote.

Hi guys, any luck with this one? +1

+1
Any news about this bug?

This should be fixed by #2003 which was just merged this morning.

Fixed in f9b43d6

@christopherthielen
I tried #f9b43d6 and the issue mentioned in the second comment https://github.com/angular-ui/ui-router/issues/1673#issuecomment-71209630 is not fixed for me. Is it supposed to be fixed or is it another issue?

@checat that is likely a side effect of using notify: false.   The $stateChange* events are deprecated and removed by default in 1.0, and thus so is notify: false deprecated.  It's always been up the caller to manage the side effects of muting the state change events, and it seems that it's nearly impossible to get it right.


empty defaults for event_depth_km and event_depth_mag

In cases where the event depth and magnitude are unknown, it would be nice to allow pysep to proceed with record section plotting. Is it possible to allow empty [] arguments? It seems like entering a default like 1 or 5 could lead to problems down the road. Thanks!

Probably this can be a separate issue but I thought I would start here.
When event_depth_km = None and event_magnitude = None and plot_files = map or plot_files = all, running the data download leads to an error probably because the plotting utility plot_source_receiver_map function needs these. A side note that maps and record sections have wrong depth and magnitude in their titles when dummy event details are provided.
Maybe a check can be added such that if event_depth_km = None and/or event_magnitude = None and if plot_files = map or plot_files = all then a warning is generated, the map utility is not called, but no error is generated.

@aakash10gupta Thanks for catching that, in 23e208e I removed the mapping function dependence on depth and magnitude information.
Additionally in #102, rather than checking all options I just threw on a general try-except around both plotting functions to allow that portion to fail since it is not critical for the remainder of the workflow. Hopefully that's enough to keep things from crashing.

A side note that maps and record sections have wrong depth and magnitude in their titles when dummy event details are provided.

Are the 'wrong' values here the dummy values? If so then they are technically the 'right' values. Best to set these as None if you don't want to see the dummy values in the title.

Are the 'wrong' values here the dummy values? If so then they are technically the 'right' values. Best to set these as None if you don't want to see the dummy values in the title.

Yes, the 'wrong' values are the dummy values. I was having to use the dummy values since I wanted the map.
It looks like with the latest update I cannot get a map if the event depth and magnitude are not provided. Is that intended? Does that also mean I cannot use the plot_source_receiver_map utility to plot the map because the event.xml also does not have the event depth and magnitude information?

Looks like the log messages show that this is an ObsPy issue if you set both to None.
[2023-03-09 09:47:31] - pysep - INFO: plotting source receiver map
[2023-03-09 09:47:31] - pysep - DEBUG: setting projection local due to max src-rcv distance of<PHONE_NUMBER>083576km
/opt/miniconda3/envs/pysep/lib/python3.11/site-packages/obspy/core/event/catalog.py:680: UserWarning: Event 'smi:local/1ae48bc2-186c-4727-a90b-99b5331e1459' does not have a magnitude and will not be plotted.
  warnings.warn(msg)

I tried with just magnitude only but ObsPy needs depth as well. Likely because it colors and sizes by depth and magnitude (even when plotting one event), so not providing these values breaks it.
So yes, you won't be able to plot maps without a valid depth and magnitude. Probably in the future we can get around this by not using the Catalog plot function but I think it's low priority if maps work otherwise.
If you'd like to fix this, I can suggest the edits to make for a PR, but PySEP needs depth to calculate the TauP arrivals too so I think the most efficient route is to put in values for the depth and magnitude.


Feature/Color layer

Having had a go at implementing a layer in #2344, I've also implemented a layer to highlight css colors in certain files. The way that this works is that if a file extension is in the whitelist any hex/rgba/hsla color is colored.

Todos:

[x] Experimental flag and user config options for file extensions
[x] Doesn't match the css color names aka rebeccapurple, goldenrod etc.
[x] Ci Test

Outstanding Issues:
~- The layer renders on top of the renderer so the color highlight lies on top of the text obscuring the syntax highlight, currently I reduce the colors opacity but this actually changes the color so its not quite accurate
- Potentially I could put the matching color into the element but set the color prop to transparent so it makes a word shaped window 😆
- Another idea would be just to render the text inside the highlight using the user's font~

The regex tries to fuzzy match inside a string this can lead to ?rare situations where things are incorrectly highlighted - for example html entities can contain what the regex would recognise as a hex string.

This is a tough one as its beyond my abilities with regex to not break the regex but have it fail if it matches inside another word I think possibly using some sort of word boundary \\b check might work but would rather not try and fix this right off the bat as its a potential rabbit hole.

Currently wouldn't handle wrapping at all as the logic used in #2344 is not generalised so would have to be re-implemented here

The regex tries to fuzzy match inside a string this can lead to ?rare situations where things are incorrectly highlighted - for example html entities can contain what the regex would recognise as a hex string.

I think leaving this for a second PR makes sense, but just in case its useful, have you considered trying to use the text mate grammar scopes for this? You could potentially restrict it to just strings etc.
I've just given it a try, and looks good! Only two comments I have are potentially adding some error checking, and how the layers are applied to the editor, though I expect that is an API question.
I added .vim to my list of filetypes for this, and upon opening the onedark.vim file, the editor crashed to the "Oh no!" screen. I probably shouldn't have tried opening a different filetype, but I also wouldn't have expected the editor to die.
The second point is more about the API I think, but due to this being a layer that sits on top, the cursor is hidden when it enters the string, meaning you can't actually see where you  are in the string. (I can just about see the cursor since the highlight box doesn't seem to be exactly aligned with the cursor, but still).

@CrossR thanks for trying this out 👍, tbh for this first thought was using a grammar but tbh I think it will make this process way more expensive I created what should be fairly multi purpose tokenForLine fn when doing the hover syntax highlighting and tbh the process is async calling in a grammar for the language and then it would involve parsing the entire string then looking for a color token which tbh could have a variety of tokens assigned to it depending on the language.
I think this regex is fairly sound but just needs a tweak for the edge case, it could turn out to not be the case in the long term but for now the process is way more straightforward, I can have a go later on to see how it can be tweaked.
Re. the cursor thats a very good point I didn't realise that. I didn't put a z-index on the highlights but I imagine the cursor sits over things in a very similar manner so can be covered, maybe it could hopefully be as simple as assigning it a high z-index
Re. the vim filetype error can I ask what the error was I'm not sure what case would have caused the error there the function should only run if the file hits any color matches

I added .vim to the list of extensions and opened onedark.vim in the repo and get the following:

I can get the output from the un-minified build in a bit if you aren't able to reproduce it.
Weirdly, solarized.vim worked fine, so it must be some colours they have defined just in one dark.

Pushed a fix and tested it out in onedark.vim seems to have resolved it was down to the color names also just added a try catch to the whole thing so it doesn't throw errors all the way up

Small explainer of added changes slightly unrelated changes, because of the cursor hiding issue I added a StackLayer styled component that takes a z-index as an optional argument, i've set the cursor to have a z-index of 2 and the overlay to have one of 3, the overlay is higher because the wild menu etc should cover the cursor but without a higher zIndex the cursor pokes through


fix: Avoid race conditions with multiple requests for same sequence

Decouples the fetching of metadata from values and factoring, and
allows each of these steps to occur sequentially or asynchronously
(except factoring has to occur after values). Adds booleans to the
database scheme to keep track of whether the value-fetching or
metadata-fetching steps have been initiated, thereby avoiding
race conditions
Resolves #66.
NOTE: This PR modifies the database schema! Therefore to test it, it is necessary to delete and reinitialize your database. The directions for doing so are in doc/resetting-the-database.md.

Hi Glen, this probably isn't within the scope of the PR, but I had a hard time figuring out how to refresh the database from the instructions given.  When I typed dropdb <databasename> it wanted a password and didn't do anything.  Eventually I figured out that I had to go check my setup file for my username and password, and use dropdb -U <username> <databasename> and similarly for createdb.  I know I'm a noob, but can we add something to the docs that's closer to the above?  I guess the point is that just typing the commands given in doc/resetting-the-database.md in the given order doesn't work out of the box.  If you agree, I could file an issue.

As discussed at the meeting, Kate's issues with pari stack seem not to be reproducible on Glen's machine, so we have decided to merge this and then put it on the server for testing.


AttributeError: numpy.ndarray object has no attribute properties

I tried to run your code in the codelab, but I always got an error like "AttributeError: numpy.ndarray object has no attribute properties
". I tried other methods but none of them worked. I admire your work very much and hope you can help me solve this problem<EMAIL_ADDRESS>

How do you use it? It didn't work for me.

Hi! As @shuyiloe rightly pointed out, the latest version of DeepTrack no longer returns Image objects (by default) which store the properties of feature's used to create the image. However, it can be enabled by using .store_properties() on the pipeline object before .update() step.
For this example, you could just do dataset.store_properties() before dataset.update() and that should solve the issue!


Fix hovers in the HTML language server

Hovers were broken (e.g. on https://github.com/daxeel/blockshell/blob/HEAD/templates/blocks.html):

This was happening because https://github.com/vscode-langservers/vscode-html-languageserver was assuming that the initialize params were either null or had an embeddedLanguages field, but Sourcegraph passes an object without the embeddedLanguages field. This was causing an undefined value to be passed around and eventually it caused this error.
I forked https://github.com/chrismwendt/vscode-html-languageserver and https://github.com/chrismwendt/vscode-html-languageserver-bin in order to fix this. See the comparison pages for details:

https://github.com/vscode-langservers/vscode-html-languageserver/compare/master...chrismwendt:master
https://github.com/vscode-langservers/vscode-html-languageserver-bin/compare/master...chrismwendt:master

We should avoid depending on forks. Other langservers might have problems woth initializeOptions too. I believe the current way we use it (passing config) should go through didChangeConfiguration. Is there some other way we can fix this on our end to avoid forking whenever a langserver uses initializeOptions?

I submitted https://github.com/vscode-langservers/vscode-html-languageserver/pull/1
This problem is specific to this particular language server and I don't see how we can prevent this problem in a general way.


Dask dataframe incompatibility

Nuitka version, full Python version, flavor, OS, etc. as output by this
command.

python -m nuitka --version
1.2.2
Commercial: None
Python: 3.8.10 (default, Jun 22 2022, 20:18:18)
Flavor: Debian Python
Executable: /home/user/venv/bin/python
OS: Linux
Arch: x86_64
Distribution: Ubuntu (based on Debian) 20.04.5

How did you install Nuitka and Python

python -m venv venv
source venv/bin/activate
pip install nuitka
pip install pandas
pip install dask

The specific PyPI names and versions

pip freeze | grep dask
dask==2022.7.1
pip freeze | grep pandas
pandas==1.4.1

Short program (test.py)

import dask.dataframe as dd
import pandas as pd

df = pd.DataFrame([[1,2,3,4]],columns=["a","b","c","d"])
dask_df = dd.from_pandas(df, 4)

print(df)
print(dask_df)

Provide in your issue the Nuitka options used

python -m nuitka --standalone --plugin-enable=numpy --prefer-source-code  test.py
cd test.dist
./test

Traceback (most recent call last):
  File "/home/user/test.dist/dask/dataframe/__init__.py", line 4, in <module dask.dataframe>
  File "/home/user/test.dist/dask/dataframe/backends.py", line 20, in <module dask.dataframe.backends>
  File "/home/user/test.dist/dask/dataframe/core.py", line 35, in <module dask.dataframe.core>
  File "/home/user/test.dist/dask/dataframe/methods.py", line 22, in <module dask.dataframe.methods>
  File "/home/user/test.dist/dask/dataframe/utils.py", line 23, in <module dask.dataframe.utils>
ImportError: cannot import name 'tm' from 'dask.dataframe._compat' (/home/user/test.dist/dask/dataframe/_compat.py)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/user/test.dist/test.py", line 1, in <module>
  File "/home/user/test.dist/dask/dataframe/__init__.py", line 64, in <module dask.dataframe>
ImportError: Dask dataframe requirements are not installed.

Please either conda or pip install as follows:

  conda install dask                     # either conda install
  python -m pip install "dask[dataframe]" --upgrade  # or python -m pip install

Description
Hi there, I'm trying to compile a project that uses dask dataframes for multiprocessing. I've been unable to do so because of the above issue which I can re-produce with a small example. I saw an earlier post that suggested to use prefer-source-code for dask. I have tried a few iterations on this nuitka call but all seem to hit the same issue. I haven't tried exhaustive permutations on the commands as the compile time is already quite large (~1 hour). Any advice on how to reduce this (I read that we might be bringing too much unneeded functionality of pandas into the fold) as well as a possible solution for the above issue would be much appreciated.

This works correctly on latest Nuitka

I have the same issue.
Versions:
dask 2024.2.1
pandas 2.0.1
nuitka 2.1
I do not use dask in the script, it's called because of swifter and sqlite3 libraries I'm using. i checked in the path (C:\Users\user\filename.dist\dask\dataframe) and _compat.py is actually there...

I have the same issue. Versions: dask 2024.2.1 pandas 2.0.1 nuitka 2.1 I do not use dask in the script, it's called because of swifter and sqlite3 libraries I'm using. i checked in the path (C:\Users\user\filename.dist\dask\dataframe) and _compat.py is actually there...

open a new issue and follow the issues readme instructions.


record dragging state on Slick object instead of css class

Currently dragging state is recorded as a css class on .slick-list. The problem with this is that adding/removing this class causes huge performance problems while scrolling (on mobile devices) on slides that have a lot of DOM elements. My hunch is that it triggers reflow on all nested DOM elements.
This pull request remedies the problem by recording state on the Slick object. The only caveat is that there are some styles applied when .slick-list has .dragging class. So these are lost, but in my case performance is more important.
If you think the lost styles are critical, maybe style definitions could be added via javascript on dom elements that need them. Hopefully that would not trigger reflow.
I'm happy to update the pull request if you think it's worth while.
Kudos for the great library.

@tomas-mikelskas @kenwheeler Both, onBeforeChange and onAfterChange are triggered only after the dragging phase when the mouse is released.
Currently, there is no way to tell when the dragging starts. Tomas, I can see where you come from, but this change has huge impact for others and isn't thought through. Some ideas:

add events onDragStart / onDragEnd
make the "dragging" state available outside of slick so you can get it's current state
make the ".dragging" class assignment an boolean option

Also see pull request 1859.
What do you think?


TypeError on "products_age" plot.

I'm getting a TypeError in the "Products according to age range of the authors" plot:
http://apis.impactu.colav.co:8010//app/affiliation/institution/65fb53f83f94c992f872d3b0/research/products?plot=products_age

63c17b120b0b0d8660e7db0aab63dd38fb6fa1e7
Exception handled.


Clean up tox.ini

Use more descriptive label "django" not just a number
Use builtin dependency support
Pass {posargs} to pytest
Add minversion

Codecov Report

Merging #556 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #556   +/-   ##
=======================================
  Coverage   87.62%   87.62%
=======================================
  Files           5        5
  Lines         509      509
  Branches       85       85
=======================================
  Hits          446      446
  Misses         50       50
  Partials       13       13

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 6832b27...baab152. Read the comment docs.


Dev test: Balloons and Static Electricity

@emily-phet @terracoda @ariel-phet @phet-steele, Balloons and Static Electricity 1.4.0-dev.21 is ready for dev testing. This version includes accessibility features that are compatible with a screen reader.
Before beginning, familiarize yourself with how a screen reader works. Here is a page with information about PhET's supported screen readers and documentation about how to use them:
Screen reader intro
Link to sim
The above sim has labels and/or descriptions. They can be "seen" here:
Link to a11y view
This view should assist in seeing what is available to a screen reader user. While testing,  please make sure that all descriptions and alerts accurately describe the state of the simulation. All content in the a11y-view should be readable with a screen reader when one is active.
PhET supports the following platforms for accessibility so please test these:

[x] JAWS with latest Windows, latest Firefox
[x] NVDA with latest Windows, latest Firefox
[x] VoiceOver with latest macOS, latest Safari

In addition to the above,  please also do some normal dev testing of this sim without a screen reader.
If any new issues are found, please note them in https://github.com/phetsims/balloons-and-static-electricity/issues and reference this issue.
Critical screen reader information

JAWS might complain about Firefox Quantum. If that is the case, please test with https://www.mozilla.org/en-US/firefox/organizations/
The screen reader must be turned on and reading before the browser is open for it to work. See https://github.com/phetsims/a11y-research/issues/90
JAWS might not automatically switch to forms mode for some controls (like sliders and radio buttons). In this case, pressing "enter" should switch to forms mode. For example, see https://github.com/phetsims/resistance-in-a-wire/issues/138
The screen reader might focus the last UI component that had focus on sim load, typically on refresh. This is a "feature". For example, see https://github.com/phetsims/resistance-in-a-wire/issues/139

@ariel-phet please assign and prioritize

QA is done.

Excellent, thanks for the hard work @lmulhall-phet and team, closing this issue.


[SPARK-9814][SQL] EqualNotNull not passing to data sources

Can one of the admins verify this patch?

Jenkins, test this please.

Merged build triggered.

Merged build started.

Test build #40428 has started for   PR 8096 at commit 7cdcf1c.

Test build #40428 has finished for   PR 8096 at commit 7cdcf1c.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class EqualNullSafe(attribute: String, value: Any) extends Filter

Merged build finished. Test FAILed.

Reset this please :)

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #40481 has started for   PR 8096 at commit b3fe5d3.

Test build #40481 has finished for   PR 8096 at commit b3fe5d3.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class EqualNullSafe(attribute: String, value: Any) extends Filter

Merged build finished. Test PASSed.

Thanks - I've merged this.


Music stops playing in background on iOS

I found your project yesterday and I love it! Unfortunately, the music stops playing as soon as you put the PWA in the background on iOS. The thing is that I once researched this particular issue and it seems like this is an iOS restriction/bug that prevents it, so there might be nothing you can do.
However, I also noticed that the same thing happens in Safari on iOS (i.e. not installed as a PWA). In theory, sites in Safari should be able to play music in the background, at least that was my conclusion from the research I've done one.
Might be something to look into.

the music stops playing as soon as you put the PWA in the background on iOS

Unfortunately, this is a limitation related to all web browsers on mobile. Even when pinned on the home screen, it is still Safari that is running it.

Unfortunately, this is a limitation related to all web browsers on mobile. Even when pinned on the home screen, it is still Safari that is running it.

Okay so I haven't researched the technical details about this, but it is definitely possible to play audio in the background through Safari on iOS. That's what I found out back then: You can play audio in the background in a browser tab in Safari (example: https://epidemicsound.com), but not inside a PWA that was added to the home screen (I don't have an example to show this behavior, but back then I tested it with a simple example I made myself).
I guess since you are using a YouTube video embed, it will stop playing as soon as it goes in the background. The same happens with YouTube videos playing through the YouTube website in Safari. So I guess there's no way around this. Too bad. 😕

Yeah, it is a bummer but it is a limitation but also, I was thinking of hacking something like put the video in in-picture mode when the app loses focus but Youtube is blocking that mode if you are not a premium user.


add hide attribute option to categories

What does your feature do?
it hide the info that appears on tools/armors

How would people use it?
by config
hide_attributes: true

Quests does not offer fine-tuned settings for its NPC GUI. Either use QuestsGUI, or open a bug report with example quest if you want a fix applied globally.


Update and align App Insights CoreBot samples across all languages

There were some pretty extensive changes in the 4.5.1 Corebot updates release that were captured in the JS version of the CoreBot-App-Insights sample app that are not included in the C# version because none of those 4.5.1 Corebot updates were applied to the C# version of the CoreBot-App-Insights sample app.  Also, the C# version is not done correctly with regards to how telemetry is implemented in dialogs, and this has been corrected in the JS sample app.
These differences make documenting both (C#|JS) versions (and Python soon) in the same article very awkward and difficult if not impossible.  What will it take to get the C# sample updated/fixed?

JS sample merged


[BEAM-4684] Disable support of @RequiresStableInput on Dataflow runner for now

Disable support of @RequiresStableInput on Dataflow runner for now, until we have a more intelligent implementation, as discussed in PR #7991 .
cc: @kennknowles @reuvenlax @rangadi @tweise @mxm
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

Run Java PostCommit

Yes. I was following the discussion on PR #7991. I think we need a way to convey the information that the input to a PTransform is stable.

Thanks! Merging this to unblock #7991.


How to block the view when toast is visible

I'm going to need more than a vague title to help you out.

I need to block ui when loader is visible so that user can't make any action once previous action is ongoing, is it possible to do that without adding any of my code.

This is not possible with the library, you will have to include a blocking element yourself.


net/http: too many open files

What version of Go are you using (go version)?
go1.11.1
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?

amd64
darwin
MacOS High Sierra (10.3.6)

What did you do?
The error too many open files is being thrown by submitting 20 requests per second in the code below.
The limit of open files on my system is 256 ( ulimit -n ).
Using lsof -p  the FD is growing and not released.
If the OS open files limit is incremented the problem just is postponed. And I think that increment is not the solution.
package main

import (
	"log"
	"net/http"

	"golang.org/x/crypto/bcrypt"
)

func main() {

	srv := &http.Server{
		Addr: ":9000",
	}

	http.HandleFunc("/auth", func(w http.ResponseWriter, r *http.Request) {
		log.Printf("/auth")
		if err := bcrypt.CompareHashAndPassword([]byte("$2y$10$MWTmFsLIM3jHVNiDDZH/U.qkpebJ/z02phdclx9rEcz5B7/cbujcy"), []byte("test")); err != nil {
			log.Printf("Error on check key and secret. (%v)", err.Error())
			w.WriteHeader(http.StatusUnauthorized)
			return
		}

		w.WriteHeader(http.StatusOK)
	})
	log.Printf("Listening on port 9000")
	log.Fatal(srv.ListenAndServe())

}

What did you expect to see?
The FD be released and not throw too many open files error.
What did you see instead?
http: Accept error: accept tcp [::]:9000: accept: too many open files.

If your server can't do 20 qps because its CPU is busy with, say, bcrypt but your load testing tool (which? you don't say.) keeps generating new connections, I would expect it to fail like this.
I'm not sure there's anything to do here.

I used the artillery to run the tests:
artillery quick -d 60 -r 20 http://localhost:9000/auth

Well, the load testing tool has taught you something: you now know what your server can't do. Binary search on the -r value a bit and find the server's limit.
What do you want me to do with this bug?

caddy suggests to up the ulimit on fd's for production use.  It seems to me like an OS config issue and not a bug in Go or it's std lib

Hi @ecavalcanti .
You should:

Increase ulimit of fd's in production environment. You can find fd limit running cat /proc/sys/fs/file-max.
Disable the keep alive of the net/http server.
Set Read and Write deadline timeouts.
Make sure that you close all fd's in handle request.

The solution should look like this:
package main

import (
	"log"
	"net/http"
	"time"

	"golang.org/x/crypto/bcrypt"
)

func main() {
	srv := &http.Server{
		Addr:         ":9000",
		ReadTimeout:  5 * time.Second,
		WriteTimeout: 10 * time.Second,
	}

	srv.SetKeepAlivesEnabled(false)

	http.HandleFunc("/auth", func(w http.ResponseWriter, r *http.Request) {
		w.Header().Set("Connection", "close")

		defer r.Body.Close()

		log.Printf("/auth")
		if err := bcrypt.CompareHashAndPassword([]byte("$2y$10$MWTmFsLIM3jHVNiDDZH/U.qkpebJ/z02phdclx9rEcz5B7/cbujcy"), []byte("test")); err != nil {
			log.Printf("Error on check key and secret. (%v)", err.Error())
			w.WriteHeader(http.StatusUnauthorized)
			return
		}

		w.WriteHeader(http.StatusOK)
	})
	log.Printf("Listening on port 9000")
	log.Fatal(srv.ListenAndServe())
}


feat(process): push changes and tags to remote repo

Previously changes to the CHANGELOG.md and package.json were not pushed to remote repo.
Fixes #9

it looks good. It closes #9
thank you


ImportError: No module named pgoapi.exceptions

cephis@Evangelion:~/PokemonGo-Bot$ ./run.sh
Traceback (most recent call last):
File "pokecli.py", line 42, in
from pgoapi.exceptions import NotLoggedInException, ServerSideRequestThrottlingException, ServerBusyOrOfflineException, NoPlayerPositionSetException
ImportError: No module named pgoapi.exceptions
vendredi 2 septembre 2016, 17:00:45 (UTC+0200) Pokebot  Stopped.
Press any button or wait 20 seconds to continue.
Other Information
OS: xubuntu
Branch:
dev
Python Version:
Python 2.7.6
already try to reinstall 'pip install -r requirements.txt' many times

Yesterday i had the same problem on Windows. I did a fresh install and it worked.
don't know what caused the problem though.

pip install -r requirements.txt --upgrade

already try a fresh install and the 'upgrade' version

Then I don't know, I don't run Linux. I'll try it on Mac, I have a mac.

ok thanks anyway

Can you post "pip list" output

cephis@Evangelion:~$ pip list
apt-xapian-index (0.45)
argparse (1.2.1)
chardet (2.0.1)
colorama (0.2.5)
command-not-found (0.3)
debtagshw (0.1)
defer (1.0.6)
dirspec (13.10)
dnspython (1.11.1)
html5lib (0.999)
httplib2 (0.8)
lxml (3.3.3)
oauthlib (0.6.1)
oneconf (0.3.7)
PAM (0.4.2)
pexpect (3.1)
Pillow (2.3.0)
pip (1.5.4)
piston-mini-client (0.7.5)
psutil (1.2.1)
pycrypto (2.6.1)
pycups (1.9.66)
pygobject (3.12.0)
pyOpenSSL (0.13)
pyserial (2.6)
pysmbc (<IP_ADDRESS>)
python-apt (<IP_ADDRESS>ubuntu2)
python-debian (0.1.21-nmu2ubuntu2)
pyxdg (0.25)
reportlab (3.0)
requests (2.2.1)
sessioninstaller (0.0.0)
setuptools (3.3)
six (1.5.2)
software-center-aptd-plugins (0.0.0)
Twisted-Core (13.2.0)
Twisted-Web (13.2.0)
urllib3 (1.7.1)
virtualenv (1.11.4)
wheel (0.24.0)
wsgiref (0.1.2)
zope.interface (4.0.5)

Are you sure you run this command
"pip install -r requirements.txt" ? pgoapi is not on the list

I'm sure:
`cephis@Evangelion:~/PokemonGo-Bot$ pip install -r requirements.txt
Downloading/unpacking numpy==1.11.0 (from -r requirements.txt (line 1))
Downloading numpy-1.11.0.tar.gz (4.2MB): 4.2MB downloaded
Running setup.py (path:/tmp/pip_build_cephis/numpy/setup.py) egg_info for package numpy
Running from numpy source directory.
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '*.pyd' found anywhere in distribution

Downloading/unpacking networkx==1.11 (from -r requirements.txt (line 2))
Downloading networkx-1.11-py2.py3-none-any.whl (1.3MB): 1.3MB downloaded
Obtaining pgoapi from git+https://github.com/joelgreen/pgoapi.git/@fa49ada8570b0817c5a73b9315ba010fa7a47874#egg=pgoapi (from -r requirements.txt (line 3))
Updating ./src/pgoapi clone (to fa49ada8570b0817c5a73b9315ba010fa7a47874)
Could not find a tag or branch 'fa49ada8570b0817c5a73b9315ba010fa7a47874', assuming commit.
Running setup.py (path:/home/cephis/PokemonGo-Bot/src/pgoapi/setup.py) egg_info for package pgoapi
warning: no previously-included files matching '*.dll' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution

Installing extra requirements: 'egg'
Downloading/unpacking geopy==1.11.0 (from -r requirements.txt (line 4))
Downloading geopy-1.11.0-py2.py3-none-any.whl (66kB): 66kB downloaded
Downloading/unpacking protobuf==3.0.0b4 (from -r requirements.txt (line 5))
Downloading protobuf-3.0.0b4-py2.py3-none-any.whl (342kB): 342kB downloaded
Downloading/unpacking requests==2.10.0 (from -r requirements.txt (line 6))
Downloading requests-2.10.0-py2.py3-none-any.whl (506kB): 506kB downloaded
Downloading/unpacking requests-mock==1.0.0 (from -r requirements.txt (line 7))
Downloading requests_mock-1.0.0-py2.py3-none-any.whl
Downloading/unpacking s2sphere==0.2.4 (from -r requirements.txt (line 8))
Downloading s2sphere-0.2.4-py2.py3-none-any.whl
Downloading/unpacking gpsoauth==0.3.0 (from -r requirements.txt (line 9))
Downloading gpsoauth-0.3.0.tar.gz
Running setup.py (path:/tmp/pip_build_cephis/gpsoauth/setup.py) egg_info for package gpsoauth
Downloading/unpacking protobuf-to-dict==0.1.0 (from -r requirements.txt (line 10))
Downloading protobuf-to-dict-0.1.0.tar.gz
Running setup.py (path:/tmp/pip_build_cephis/protobuf-to-dict/setup.py) egg_info for package protobuf-to-dict
Installed /tmp/pip_build_cephis/protobuf-to-dict/nosexcover-1.0.10-py2.7.egg
Searching for coverage
Reading https://pypi.python.org/simple/coverage/
Best match: coverage 4.2
Downloading https://pypi.python.org/packages/f5/47/2e39972c41eb988d551bb2da25c4ee16ea78492ec1b6ffdf09f50cd09b92/coverage-4.2.zip#md5=9841c9e1ddc862144fda3fd7e5ba5106
Processing coverage-4.2.zip
Writing /tmp/easy_install-rN8SXL/coverage-4.2/setup.cfg
Running coverage-4.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-rN8SXL/coverage-4.2/egg-dist-tmp-WyLBdi
warning: no previously-included files found matching 'ci/appveyor.token'
no previously-included directories found matching 'doc/_build'
no previously-included directories found matching 'tests/eggsrc/build'
no previously-included directories found matching 'tests/eggsrc/dist'
no previously-included directories found matching 'tests/eggsrc/*.egg-info'
warning: no previously-included files matching '*.py[co]' found anywhere in distribution

Installed /tmp/pip_build_cephis/protobuf-to-dict/coverage-4.2-py2.7-linux-x86_64.egg
Searching for nose>=1.0
Reading https://pypi.python.org/simple/nose/
Best match: nose 1.3.7
Downloading https://pypi.python.org/packages/58/a5/0dc93c3ec33f4e281849523a5a913fa1eea9a3068acfa754d44d88107a44/nose-1.3.7.tar.gz#md5=4d3ad0ff07b61373d2cefc89c5d0b20b
Processing nose-1.3.7.tar.gz
Writing /tmp/easy_install-wDXyat/nose-1.3.7/setup.cfg
Running nose-1.3.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-wDXyat/nose-1.3.7/egg-dist-tmp-KZFBYp
no previously-included directories found matching 'doc/.build'

Installed /tmp/pip_build_cephis/protobuf-to-dict/nose-1.3.7-py2.7.egg
Searching for protobuf>=2.3.0
Reading https://pypi.python.org/simple/protobuf/
Best match: protobuf 3.0.0
Downloading https://pypi.python.org/packages/e7/ff/df198f342f1b6e71be00a4601973297c0399f112327e8d5e48595ba95fe9/protobuf-3.0.0-py2.7.egg#md5=a2aa47b202784121a3d8ea17daee5e25
Processing protobuf-3.0.0-py2.7.egg
Extracting protobuf-3.0.0-py2.7.egg to /tmp/pip_build_cephis/protobuf-to-dict

Installed /tmp/pip_build_cephis/protobuf-to-dict/protobuf-3.0.0-py2.7.egg
Traceback (most recent call last):
  File "<string>", line 17, in <module>
  File "/tmp/pip_build_cephis/protobuf-to-dict/setup.py", line 25, in <module>
    'Topic :: Software Development :: Libraries :: Python Modules',
  File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 239, in __init__
    self.fetch_build_eggs(attrs.pop('setup_requires'))
  File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 264, in fetch_build_eggs
    replace_conflicting=True
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 620, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 852, in best_match
    dist = working_set.find(req)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 503, in find
    raise VersionConflict(dist,req)     # XXX add more info
pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python2.7/dist-packages), Requirement.parse('six>=1.9'))
Complete output from command python setup.py egg_info:

Installed /tmp/pip_build_cephis/protobuf-to-dict/nosexcover-1.0.10-py2.7.egg
Searching for coverage
Reading https://pypi.python.org/simple/coverage/
Best match: coverage 4.2
Downloading https://pypi.python.org/packages/f5/47/2e39972c41eb988d551bb2da25c4ee16ea78492ec1b6ffdf09f50cd09b92/coverage-4.2.zip#md5=9841c9e1ddc862144fda3fd7e5ba5106
Processing coverage-4.2.zip
Writing /tmp/easy_install-rN8SXL/coverage-4.2/setup.cfg
Running coverage-4.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-rN8SXL/coverage-4.2/egg-dist-tmp-WyLBdi
warning: no previously-included files found matching 'ci/appveyor.token'
no previously-included directories found matching 'doc/_build'
no previously-included directories found matching 'tests/eggsrc/build'
no previously-included directories found matching 'tests/eggsrc/dist'
no previously-included directories found matching 'tests/eggsrc/*.egg-info'
warning: no previously-included files matching '*.py[co]' found anywhere in distribution
Installed /tmp/pip_build_cephis/protobuf-to-dict/coverage-4.2-py2.7-linux-x86_64.egg
Searching for nose>=1.0
Reading https://pypi.python.org/simple/nose/
Best match: nose 1.3.7
Downloading https://pypi.python.org/packages/58/a5/0dc93c3ec33f4e281849523a5a913fa1eea9a3068acfa754d44d88107a44/nose-1.3.7.tar.gz#md5=4d3ad0ff07b61373d2cefc89c5d0b20b
Processing nose-1.3.7.tar.gz
Writing /tmp/easy_install-wDXyat/nose-1.3.7/setup.cfg
Running nose-1.3.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-wDXyat/nose-1.3.7/egg-dist-tmp-KZFBYp
no previously-included directories found matching 'doc/.build'
Installed /tmp/pip_build_cephis/protobuf-to-dict/nose-1.3.7-py2.7.egg
Searching for protobuf>=2.3.0
Reading https://pypi.python.org/simple/protobuf/
Best match: protobuf 3.0.0
Downloading https://pypi.python.org/packages/e7/ff/df198f342f1b6e71be00a4601973297c0399f112327e8d5e48595ba95fe9/protobuf-3.0.0-py2.7.egg#md5=a2aa47b202784121a3d8ea17daee5e25
Processing protobuf-3.0.0-py2.7.egg
creating /tmp/pip_build_cephis/protobuf-to-dict/protobuf-3.0.0-py2.7.egg
Extracting protobuf-3.0.0-py2.7.egg to /tmp/pip_build_cephis/protobuf-to-dict
Installed /tmp/pip_build_cephis/protobuf-to-dict/protobuf-3.0.0-py2.7.egg
Traceback (most recent call last):
File "", line 17, in
File "/tmp/pip_build_cephis/protobuf-to-dict/setup.py", line 25, in
'Topic :: Software Development :: Libraries :: Python Modules',

File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)

File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 239, in init
self.fetch_build_eggs(attrs.pop('setup_requires'))

File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 264, in fetch_build_eggs
replace_conflicting=True

File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 620, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)

File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 852, in best_match
dist = working_set.find(req)

File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 503, in find
raise VersionConflict(dist,req)     # XXX add more info

pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python2.7/dist-packages), Requirement.parse('six>=1.9'))

Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_cephis/protobuf-to-dict
Storing debug log for failure in /home/cephis/.pip/pip.log
`

oh.. try run
python pokecli.py --af path_to_auth.json --cf path-to-config.json

@sohje he has another problems installing libraries in requirements.txt .. His pip throws error for libraries btw they are not installing.
@Cephis No idea how to fix it. IMO it is about your computer or xubuntu&python.. Try to google it for every problems.

@Cephis try command seq above this msg, seems we installing packages into system level, instead of virtualenv. And when execute ./run.sh there is no packages installed.

Sohje I tried your solution , it gives me the same error

@Cephis with manually setting virtual environment/activating and pip installation?

i try:
virtualenv .
source bin/activate
pip install -r requirements.Txt
the installation succeeded this time and the bot worked correctly, thank you very much for your help

:octocat: nice ;))

can you just confirm to me that the command to upgrade the bot is 'git pull'?

yes


Feature/wdl output provisioning

Implemented with the following syntax
workflow launch --entry wdlfileprov.wdl --local-entry --json wdlfileprov.json  --descriptor wdl --wdl-output-target s3://oicr.temp/testing-launcher
Distinguished from CWL since CWL json files can specify individual targets for output files. However, WDL seems to assume that files are left in place locally.

@jpatricia FYI, assign it back to me so I can do a squash merge when we're ready


Using the bulk write operation in BatchExecutor.

This PR also prepares the BatchExecutor for a bulk read operation.

LGTM


[Table] Add Info Color

Hello.
Suggestion: why not a neutral state for tables?
We already have positive, warning and negative, but nothing using blue color.

Live example: http://jsfiddle.net/p4sjxvr5/
(Using colors of .ui.info.message)
Btw, would be super just use color names to give style to a table cell, like colored segments.

Miscategorized this

Bump. Good suggestion (also relevant to anyone looking for Bootstrap migration).

+1

+1

+1

This would be really nice. Maybe generalizing to all supporting colors would be more consistent.

All available colors are support in table cells/rows since 2.7.0
https://fomantic-ui.com/collections/table.html#colored


Why use preset on Motion component?

I'm trying to understand if i'm doing something wrong, although everything works.
I'm not using the preset prop on the Motion component, instead i'm using the v-motiondirective. This way i can also use custom directive.
Why specify in the docs the use of the preset and not the v-motion directive? Is it wrong to do it? If so how can i add a custom directive?

I'm not sure I understand the question, the <Motion> component serves the same purpose as v-motion. Are you using the directive on a Motion component? If so, this is untested and I would suggest using only the component or the directive approach, not both at once, simply cause I don't know if this has any unexpected behavior.
The component usage is still relatively new, you're right that custom presets are currently not working when passed using the preset prop, I will look into fixing this soon!

yep, that's right; it works using directives but i may have found some bugs (or my code is just bad, still haven't figured it out).


WfEncryptionMethod Port

I know this will probably need adjustment once we get other pieces together, but it's at least valid Rust. Right now I just want to get this one up without any immediately visible issues so we can get it present in the other crypto branches.


Cannot change icons' colour or their background colour

I have found an issue that I think is worth looking at. I think it's related to #150 and possibly #151.
Let's say I have the following HTML
<div style="color: blue; background-color: yellow">
    <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
        <rect width="48" height="48" fill="white"/>
        <path d="M30.5 9.5C30.5 11.433 28.933 13 27 13C25.067 13 23.5 11.433 23.5 9.5C23.5 7.567 25.067 6 27 6C28.933 6 30.5 7.567 30.5 9.5Z" fill="#333333"/>
        <path d="M24.6295 32.3726L25.9938 32.2748C25.9979 32.1837 26 32.0921 26 32C26 28.6863 23.3137 26 20 26C19.1147 26 18.2743 26.1917 17.5178 26.5359C17.5607 27.6864 17.6798 28.6119 17.8577 29.1063C19.2218 32.8971 24.6295 32.3726 24.6295 32.3726Z" fill="#333333"/>
        <path fill-rule="evenodd" clip-rule="evenodd" d="M38.3387 37.4031C39.2385 39.4773 36.1367 41.027 34.9055 39.1674C33.6743 37.3077 30.6199 31.9434 30.6199 31.9434L30 31.9878L30 32C30 37.5228 25.5228 42 20 42C14.4772 42 10 37.5228 10 32C10 27.7085 12.7033 24.0483 16.5 22.6296V16.75L13.9 14.8L15.1 13.2L18.5 15.75V17.9478C18.7523 17.1634 19.0573 16.4825 19.4204 15.9697C21.4804 13.0611 21.8829 12.8465 24.1559 13.0611C26.429 13.2757 30.2647 20.8572 30.2647 20.8572C30.2647 20.8572 35.0949 22.0016 36.9418 22.6453C38.7886 23.289 37.6284 25.8162 36.4445 25.7685C35.2607 25.7208 28.773 25.0771 27.897 24.5765C27.0209 24.0758 25.5529 21.6678 25.5529 21.6678L25.4086 23.5875C26.531 24.3105 27.4993 25.2521 28.2534 26.352C30.0556 26.5087 32.1041 26.6745 32.7035 26.6745C33.84 26.6745 34.1005 27.4613 34.1005 27.4613C34.1005 27.4613 37.439 35.3289 38.3387 37.4031ZM25.3973 26.0949C25.3426 26.0449 25.2873 25.9957 25.2313 25.9472C23.8287 24.734 22.0001 24 20 24C19.135 24 18.302 24.1373 17.5217 24.3913C14.3165 25.4345 12 28.4467 12 32C12 36.4183 15.5817 40 20 40C24.4183 40 28 36.4183 28 32C28 29.6617 26.9968 27.5576 25.3973 26.0949Z" fill="#333333"/>
    </svg>
</div>

I get

However, I would expect the wheelcahir to be blue in a yellow box, since I change the colours of the container <div>.
The issue is that the fill colour is fixed in the SVG.
I propose to remove the fill="#333333" that sets the colour to (a shade of) black on all the <path> tag, replace fill="none" on the <svg> tag with fill="currentColor", and finally replace fill="white" in the <rect> tag with fill="none".
This would result in the following

There may be other tags in the various SVGs that use different fills, but the idea is the same: we shold have fill="currentColor" on the <svg> tag, we should not have any fill that sets a specific colour, and we may have fill="none" on some tags inside the SVG when appropriate.

Is this a valid issue? Shall I submit a PR?

@troccoli This would be a neat addition if the opacity and hex value for each color can be set. Font Awesome's duotone icons (https://fontawesome.com/docs/web/style/duotone) implemented that flexibility quite well.

After an extensive 10 minutes of research, it looks like Figma isn't capable of handling smarter colors like currentColor, none, or the CSS Custom Properties (aka CSS Variables) approach that @ampodobas mentioned is in use by Font Awesome.
I did a quick spot check and it looks like the current SVGs are consistent with the colors, with the only instances of fill or stroke that I found being one of the following:
fill="white"
fill="none"
fill="black"
fill="#333333"
stroke="#333333"

It should be relatively "easy" to do run add a script that does some search/replacing, assuming the semantics hold up across all icons (that #333333 should always be currentColor, for example).
I did a quick experiment and it looks like if we replace #333333 with currentColor, most apps will just treat that as black (I tried Illustrator, Firefox, and Figma). This seems like a fine default. Then, if you use the file in a context with custom CSS (or even just embedded in an HTML document with a different font color, the icon will automagically take on that color.
Are there any drawbacks to this approach we may not be thinking of?

I am the maintainer of the troccoli/blade-health-icons package, which was how I found out the issue.
I run the following in a shell script before addind the SVG to my packages
for FILE in $RESOURCES/*; do
  # Fix the svg to allow changing their colour
  sed -i '' 's/fill="none"/fill="currentColor"/g' $FILE
  sed -i '' 's/fill="white"/fill="none"/g' $FILE
  sed -i '' 's/fill="#333333"//g' $FILE
done

I'm not sure why I completely remove the #333333 colour, but it seems to work for me. I haven't checked all icons though, but I haven't received any issues on my package either.

I like @troccoli's use of sed. We could add something like that to the yarn update-icons command.

I have the code implemented to handle the search/replace. I just need to know what commands we actually need.

I have updated all of the icons and merged that to master.
There's now an extra yarn remove-svg-backgrounds command which will be automatically run when you run yarn update-icons which we always do when publishing new icons anyway.
That will automatically clean up all of the colors and add currentColor where appropriate.
Thanks @troccoli for filing this!!

Thank you @nburka for fixing it.


add Component for BME680

In addition to the IMU, I thought it'd be nice to include another I2C component that can potentially provide useful environmental data, as well as to demonstrate that the baremetal reference can read from multiple devices on the I2C bus.
references

https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas

Closing, as the issue is being captured in https://github.com/mdrs-community/fprime-baremetal-reference/issues/1


3D touch vs onPress

I am trying to bind onPress event on different svg parts (Paths in my case) and testing on iPhone 6s. The problem is that it's working fine when I don't use any force to press the figure, I mean I have to press very-very light to let the event work, otherwise it doesn't.
I have tried onPressIn and it works perfect. But onPressOut works exactly like onPressIn for some reason, and I need to fire an event on responder release. Is there any way to make it working?

@maxkomarychev I think I've fixed the issue now, can you try with the latest commit from the master branch and this code:
import React, { Component } from 'react';
import { Alert, Platform, StyleSheet, Text, View } from 'react-native';
import SVG, { G, Circle } from 'react-native-svg';

const showEvent = message => {
  console.log(message);
  // Alert.alert("Touch handled!", message, [{ text: "OK" }], {
  //   cancelable: false
  // });
};

export default class App extends Component {
  render() {
    return (
      <View style={{ flex: 1, padding: 20 }}>
        <Text>Circle</Text>
        <SVG width="100" height="100" viewBox="0 0 100 100">
          <G>
            <Circle
              onPressIn={() => {
                showEvent('circle onPressIn');
              }}
              onPress={() => {
                showEvent('circle onPress');
              }}
              onPressOut={() => {
                showEvent('circle onPressOut');
              }}
              cx="50"
              cy="50"
              r="40"
              stroke="green"
              strokeWidth="4"
              fill="yellow"
            />
          </G>
        </SVG>

        <Text>Group</Text>
        <SVG width="100" height="100" viewBox="0 0 100 100">
          <G
            onPressIn={() => {
              showEvent('group onPressIn');
            }}
            onPress={() => {
              showEvent('group onPress');
            }}
            onPressOut={() => {
              showEvent('group onPressOut');
            }}
          >
            <Circle
              cx="50"
              cy="50"
              r="40"
              stroke="green"
              strokeWidth="4"
              fill="yellow"
            />
          </G>
        </SVG>

        <Text>Circle onPress</Text>
        <SVG width="100" height="100" viewBox="0 0 100 100">
          <G>
            <Circle
              onPress={() => {
                showEvent('circle onPress');
              }}
              cx="50"
              cy="50"
              r="40"
              stroke="green"
              strokeWidth="4"
              fill="yellow"
            />
          </G>
        </SVG>
        <Text>Circle onPressIn + onPress</Text>
        <SVG width="100" height="100" viewBox="0 0 100 100">
          <G>
            <Circle
              onPressIn={() => {
                showEvent('circle onPressIn');
              }}
              onPress={() => {
                showEvent('circle onPress');
              }}
              cx="50"
              cy="50"
              r="40"
              stroke="green"
              strokeWidth="4"
              fill="yellow"
            />
          </G>
        </SVG>
        <Text>Circle onPressOut</Text>
        <SVG width="100" height="100" viewBox="0 0 100 100">
          <G>
            <Circle
              onPressOut={() => {
                showEvent('circle onPressOut');
              }}
              cx="50"
              cy="50"
              r="40"
              stroke="green"
              strokeWidth="4"
              fill="yellow"
            />
          </G>
        </SVG>
      </View>
    );
  }
}

Closing because of inactivity.


Uncaught TypeError: Cannot set property 'connector' of undefined

[Enter steps to reproduce:]

...
...

Atom: 1.14.4 x64
Electron: 1.3.13
OS: Mac OS X 10.12.4
Thrown From: imdone-atom package 2.1.21
Stack Trace
Uncaught TypeError: Cannot set property 'connector' of undefined
At /Users/benjamin/.atom/packages/imdone-atom/lib/views/product-selection-view.coffee:87

TypeError: Cannot set property 'connector' of undefined
    at /packages/imdone-atom/lib/views/product-selection-view.coffee:87:7
    at /packages/imdone-atom/lib/services/connector-manager.coffee:70:14
    at /packages/imdone-atom/lib/services/imdoneio-client.coffee:247:14
    at Request.callback (/packages/imdone-atom/node_modules/superagent/lib/node/index.js:631:3)
    at /packages/imdone-atom/node_modules/superagent/lib/node/index.js:795:18
    at /packages/imdone-atom/node_modules/superagent/lib/node/parsers/json.js:16:7)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Commands
     -9:44.1.0 imdone-atom:tasks (div.package-detail.panels-item)
     -7:00.6.0 core:paste (input.form-control)
 14x -5:19.1.0 core:move-right (input.hidden-input)
 20x -5:16.7.0 core:backspace (input.hidden-input)
     -5:13.5.0 core:move-right (input.hidden-input)
     -5:12.8.0 core:backspace (input.hidden-input)
     -1:38 core:move-up (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -1:37.5.0 tree-view:expand-item (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
  6x -1:36.9.0 core:move-down (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -1:35.3.0 tree-view:expand-item (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
  3x -1:34.9.0 core:move-down (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
  5x -0:51.2.0 core:backspace (input.hidden-input)
  2x -0:15.9.0 core:move-left (input.hidden-input)
     -0:04.1.0 imdone-atom:tasks (div.package-detail.panels-item)

Non-Core Packages
github-issues 0.7.1
imdone-atom 2.1.21
imdone-atom-github 0.1.11
minimap 4.26.8
minimap-bookmarks 0.4.2
minimap-cursorline 0.2.0
minimap-find-and-replace 4.5.2
minimap-git-diff 4.3.1
minimap-highlight-selected 4.5.0
minimap-selection 4.4.0
sass-autocompile 0.13.3

READY: Fix gh:213 and gh:219 by checking for undefined id:142
CHANGELOG.md:2
@imdone commenter. The developer's task board. imdone.io

DONE: Fix gh:213 and gh:219 by checking for undefined id:142
CHANGELOG.md:2
@imdone Issue Closer. The developer's task board. imdone.io


Function F1-F4, bug in DCC.cpp

Hi, I found a problem when activating functions F1 to F4,
bug in line 91 of DCC.cpp :
I changed to : fn = (fn & 0x1)<<4 | (fn & 0x1E)>>1; instead of fn = (fn & 0x1)<<4 | (fn & 0x1E)<<1;
Thanks for the good work.
Best regards

Great! Thank you very much for finding that.


Define CheckedAdd and CheckedSub traits

There are a few places where I've seen, or they could benefit from a, checked_add and checked_sub implementations throughout the library, such as on VirtAddr, PhysFrame, PhysAddr... etc. I would like to define a CheckedAdd and CheckedSub trait similar to the std::ops::Add trait that defines a checked_* method.
pub trait CheckedAdd<Rhs = Self> {
    type Output;

    fn checked_add(self, rhs: Rhs) -> Option<Self::Output>;
}

pub trait CheckedSub<Rhs = Self> {
    type Output;

    fn checked_sub(self, rhs: Rhs) -> Option<Self::Output>;
}

I would like to add this specifically to provide for checked_operations across multiple Rhs types. An example being a CheckedAdd<Rhs=PhysFrame> for PhysFrame and CheckedAdd<Rhs=PhysAddr> for PhysFrame.

Alternatively, num::CheckedAdd looks to have been implemented with a slightly different interface, but can provide something similar if the additional dependency is okay.
I'd be happy to draft up an example PR for either if this is an agreeable change.

Example branch: https://github.com/ncatelli/x86_64/tree/expermiment/293/add-checked-arithmetic-operations-traits

I would definitely prefer using an existing trait definition rather than providing our own. I don't think depending on num-traits (without default features) would be a problem. However, the interface is wrong. For CheckedAdd  we need to have the Rhs be of type u64 (in the num crate, Rhs == Self). It doesn't make sense to add two VirtAddrs together. Similarly for CheckedSub we need to have the return value be u64 (the interface in the num crate returns Self). So looks like we will have to provide our own traits.
I do think that we should have the same/similar traits implemented for all our "address" types:

VirtAddr: an address that must be cannonical
PhysAddr: an address that must be < 2^()
Page: a PageSize::SIZE aligned VirtAddr
PhysFrame: a PageSize::SIZE aligned PhysAddr

Here's a list of all the traits we either do implement or should implement:

[x] Clone, Copy, PartialEq, Eq, PartialOrd

Implemented by automatic Derive

[x] Debug, Binary, LowerHex, UpperHex, Octal, Pointer

Just display traits. Used for pretty printing like: println!("{:p}", virt_addr);

[x] Ord: Requires a total order

We currently implement this today via Derive
Should we be implementing this for VirtAddr? Does it make sense to compare and address in the upper-half and lower-half? Should the range lower_half_addr..upper_half_addr be empty or ill formed? Should "upper-half" addresses be viewed as negative virtual addresses (they are sign extended)?

[ ] CheckedAdd<Rhs = u64, Output = Self> (also with usize if on 64-bit)
[ ] CheckedSub<Rhs = u64, Output = Self> (also with usize if on 64-bit)
[ ] CheckedSub<Rhs = Self, Output = u64>
[x] Add<Rhs = u64, Output = Self>, Sub<Rhs = u64, Output = Self>, Sub<Rhs = Self, Output = u64>

Can be implemented using the checked versions

[ ] Step (makes ranges iterable)

Implemented using the CheckedAdd and CheckedSub implementations
See #212 and #292

There is also the question of conversions. This was brought up in #268. Right now we don't implement any, here is what we could do:

[ ] VirtAddr: TryFrom<u64>, PhysAddr: TryFrom<u64> (and also for usize)
[ ] VirtAddr: From<u32>, PhysAddr: From<u32>
[ ] VirtAddr: TryFrom<*const T>, VirtAddr: TryFrom<*mut T> (raw pointers might be non-cannonical)
[ ] VirtAddr: From<&T>, VirtAddr: From<&mut T> (only on x86_64, do we know if references are cannonical?)
[ ] u64: From<VirtAddr>, u64: From<PhysAddr>
[ ] Page: TryFrom<VirtAddr>, PhysFram: TryFrom<PhysAddr> (addresses might not be aligned)
[ ] VirtAddr: From<Page>, PhysAddr: From<PhysFrame>
This would allow us to deprecate some constructors and our as_* methods.
Existing issue: #268

@phil-opp @ncatelli @budde25 which of these traits do you think we should implement?

I've drafted the above PR, #298, with an initial implementation of checked ops with an example applied to VirtAddr. If the trait implementation is in an agreeable location and signature I'm happy to proceed with implementing for the other types listed.

Should we be implementing this for VirtAddr? Does it make sense to compare and address in the upper-half and lower-half? Should the range lower_half_addr..upper_half_addr be empty or ill formed? Should "upper-half" addresses be viewed as negative virtual addresses (they are sign extended)?

I would treat them as normal unsigned integers (with a gap in the middle). So upper half address > lower half address and treat the max_lower_half_addr..min_upper_half_addr range as empty (there are no valid addresses in that range). This way, we should be forward compatible with Intel's 5-level paging, in case we add support for it at some point.

CheckedAdd<Rhs = u64, Output = Self> (also with usize if on 64-bit)

I think one problem with implementing it for both u64 and usize is that you have to type-annotate all integers. For example, virt_addr + 1 no longer works, only virt_addr + 1u64 or virt_addr + 1usize, which can be a bit annoying.

[ ] VirtAddr: TryFrom<u64>, PhysAddr: TryFrom<u64> (and also for usize)
[ ] VirtAddr: From<u32>, PhysAddr: From<u32>
[ ] VirtAddr: TryFrom<*const T>, VirtAddr: TryFrom<*mut T> (raw pointers might be non-cannonical)
[ ] VirtAddr: From<&T>, VirtAddr: From<&mut T> (only on x86_64, do we know if references are cannonical?)
[ ] u64: From<VirtAddr>, u64: From<PhysAddr>

These all seem reasonable. Yes, I think that we can assume that references are canonical on x86_64 in general. The question is how we want to treat the upcoming 5-level paging? We could panic on conversion in that case, but I'm not sure if panicking in From impls is encouraged.

[ ] Page: TryFrom<VirtAddr>, PhysFram: TryFrom<PhysAddr> (addresses might not be aligned)
[ ] VirtAddr: From<Page>, PhysAddr: From<PhysFrame>

Not sure if I like these ones because there are multiple ways to do these conversions. For example, for the Page->VirtAddr direction you could be interested in either the start or end address of the page. And the VirtAddr->Page direction loses some information (the page offset). In combination, this can make a VirtAddr->Page->VirtAddr conversion result in a different VirtAddr than before, which could lead to accidental errors.

I would treat them as normal unsigned integers (with a gap in the middle). So upper half address > lower half address and treat the max_lower_half_addr..min_upper_half_addr range as empty (there are no valid addresses in that range). This way, we should be forward compatible with Intel's 5-level paging, in case we add support for it at some point.

How would we want to handle an arbitrary range that crossed the gap? Also have it be empty? Automatically jump the gap? Panic?

I think one problem with implementing it for both u64 and usize is that you have to type-annotate all integers. For example, virt_addr + 1 no longer works, only virt_addr + 1u64 or virt_addr + 1usize, which can be a bit annoying.

So I think this is also a problem for the Add implementations, as well as the potential CheckedAdd implementations. However, I agree. It would be nice to have the type inference work properly. I think we should:

Only implement CheckedAdd for u64
As a breaking change: remove the Add/Sub implementations for usize.

These all seem reasonable. Yes, I think that we can assume that references are canonical on x86_64 in general. The question is how we want to treat the upcoming 5-level paging? We could panic on conversion in that case, but I'm not sure if panicking in From impls is encouraged.

Personally, I think the panic is fine (for now). Before we (potentially) support 5-level paging, we can just have a disclaimer that is like: "if you use 5-level paging, some methods might panic, but safety will not be violated".

Not sure if I like these ones because there are multiple ways to do these conversions. For example, for the Page->VirtAddr direction you could be interested in either the start or end address of the page. And the VirtAddr->Page direction loses some information (the page offset). In combination, this can make a VirtAddr->Page->VirtAddr conversion result in a different VirtAddr than before, which could lead to accidental errors.

Agreed, that's a very good point. Especially because we already have methods for these conversions, we don't need to implement From for them. I'll remove them from the list. I also added some conversions to the list for pointer->VirtAddr conversion.

How would we want to handle an arbitrary range that crossed the gap? Also have it be empty? Automatically jump the gap? Panic?

Good question. Given that the methods of the Step trait are defined as a successor/predecessor operations, I think they should return the next larger/smaller valid value. So I'm in favor of automatically jumping the gap for ranges. This would be similar to how the standard library does it for char (i.e. skip codes that are not valid characters). In addition to preventing unexected panics, this approach has the advantage that half-open ranges (e.g. offset..) and full ranges (..) remain usable, e.g. for methods like proposed in https://github.com/rust-osdev/x86_64/pull/266.
We still need to discuss how this should interact with the Add/Sub operations, though. Right now, we're kind of using Add as a successor operation too (i.e. jump the gap), but #299 proposes to change this to a normal arithmetical Add operation (i.e. just increase the address and panic if it's no longer canonical). For VirtAddr, I think that it could make sense to have both Add and step operations, but we need to clearly document the differences.
For Page and PhysFrame, on the other hand, I'm not sure if it makes sense to provide both Add and step operations in the long term (when both are usable on stable). We don't really use the concept of a page or frame number in this crate, so I think there's less demand for a "give me the page with number x + 4" operation. Instead, the common operation is e.g. "give me the next 10 pages", so maybe it makes sense to only provide the step operations, but not Add/Sub. This would also solve the "bytes or page number?" confusion that #288 tries to prevent. One drawback of this is that an Add implementation is much easier to use (there is no successor operator in Rust).
Whatever we decide, I think it is important that our implementations are consistent with each other: If our Add impl for VirtAddr does not jump the gap, the Add impl for Page should not do it either.

So I think this is also a problem for the Add implementations, as well as the potential CheckedAdd implementations. However, I agree. It would be nice to have the type inference work properly. I think we should:

Only implement CheckedAdd for u64
As a breaking change: remove the Add/Sub implementations for usize.

I didn't remember that we already have an Add impl for usize. Does it lead to problems in practice?

I didn't remember that we already have an Add impl for usize. Does it lead to problems in practice?

It means you can't write code like the following:
let addr1 = PhysAddr::new(0x52);
let addr2 = addr1 + 3;

although you get get a reasonable compiler error:
error[E0283]: type annotations needed
   --> src/addr.rs:797:27
    |
797 |         let addr2 = addr1 + 3;
    |                           ^ cannot infer type for type `{integer}`
    |
note: multiple `impl`s satisfying `addr::PhysAddr: Add<{integer}>` found
   --> src/addr.rs:552:1
    |
552 | impl Add<u64> for PhysAddr {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
...
568 | impl Add<usize> for PhysAddr {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I think having the usize impl helps more than it hurts, especially on 32-bit platforms dealing with x86_64 structures.


Blood Cult

About the PR

I got it to a SOMEWHAT working condition which is fine because I'm gonna maintain it :godmode:

:cl:

add: Added blood cult.

i got it to working condition

yaml fail

How does one donate all his mortal possessions (goob coins) to this just cause?

How does one donate all his mortal possessions (goob coins) to this just cause?

/gift AnatoliyPodlivkin coins

WAIT A SECOND... Does it just work? Or is this a "next week" "fix soon" type of thing?

WAIT A SECOND... Does it just work? Or is this a "next week" "fix soon" type of thing? (Mean the PR)

it works as good as it can get.
needs to be pushed to prod for playtesting so that i could work with real cases instead of whatever the fuck happened in my localhost

COGGERS...

finally... an accurate representation of freemasonry

@Piras314 merge now

Imagine, its FINALY the next week, but no one is here to merge

Imagine, its FINALY the next week, but no one is here to merge

i can merge it but i wanna know the opinion of other maints

I love you

I'm gonna playtest it. so don't merge.

Okay, so here are the issues that I found:
Clicking on "blood spells" action opens radial menu centered to cursor, part of the spells are outside of the screen border. It should probably open radial menu centered to local entity.
Blood rites is just broken.   Clicking on cultists doesn't heal them. Also amount of blood sucked shuuld be tied to the cultist, not the aura. Dropping blood rites aura errors on client.
You can't get rid of stun aura like you can get rid of blood rites aura (by dropping it).
Creating spells using an action is too fast, also it barely does any damage and doesn't cost blood.
Blood spells don't cost blood.
Toggling pylon popup doesn't have locale.
Activating blood boil rune crashes server.
True narsien hardened armor should probably shlowdown by at least 10%.
Scribing runes deals way too much damage, should be like 10.
Grabbing multiple blood halberds adds multiple action to recall them for some reason, also you can't recall halberd while it's embedded.
There are multiple holy water reagents.
 Converting deconverted cultists just adds multiple "blood spells" actions to them.
Deconverting should probably require at least 20u holy water to prevent syringe gun insta deconverting.
Veil shifter can teleport you into a wall.
Using cursed orb crashes throws debug assert exception. Adding args.Handled = true to OnActivate method id ShuttleCurseSystem may or may not fix that.
Cult structures cannot be deconstructed or unanchored using ritual dagger.
If you don't specify teleport rune name, it will just be blank.
You can teleport onto the same teleport rune.
Cancelling teleport spell do-after still teleports.
Transforming as ling-cultists removes cult-related components and actions but not cult role.
Having multiple of the same blood spells breaks action bar (it's my fault, I'll fix it).
If you draw rune inside of container it will not be drawn but you still take damage (probably should draw it and attach to grid or just don't let a cultist to draw runes while in container).
Inserting a soul shard into construct shell throws debug assert on server.
Zealot's blindfold should show job icons (so you can see if a person has a mindshield)
Purified constructs count towards cult rune casters (you can convert a person with a help of purified artificer for example).
Cult constructs can't see cult icons, they should also have name identifier and be unable to harm cultists.
Juggernauts can walk through their own shield wall, they shouldn't be able to.
Rune of rejuvenation consumes charges and triggers speech but doesn't actually rejuvenate.
Summoning rune requires 3 invokers despite it's description says that it requires 2. Also its popups when a cultist is cuffed or being pulled don't have locale.
Playing as a non cultist when cultists are present nearby drops FPS from 50-60 to 10-20. Probably due to status icon issues, there were some open PRs on wizden fixing that I think.
Mirror shield is too OP when thrown. Maybe it should knockdown instead of paralyze and also return to cultist when it hits a person. Also it doesn't have inhand sprites.
There is no cult chat :(
EMP blood spell has teleport icon.
"Select form" button icon on construct shell is an error.
Twisted construction doesn't cancel when you move or too far away.
Twisted construction should probably convert steel into runic metal, not plasteel, because plasteel is very rare.
Runic metal is a small item, should be normal size.
Constructs can't open and close doors by left clicking or pressing E.

I'm gonna maintain it :godmode:

Wow surely none of your code is currently live that crashes the server and has other numerous unfixed bugs

Wow surely none of your code is currently live that crashes the server and has other numerous unfixed bugs

ok huggy wuggy

@Aviu00 ginormous pasta but i'll handle

Wow surely none of your code is currently live that crashes the server and has other numerous unfixed bugs

ok huggy wuggy

Please actually maintain the code or i will send plyushies to castrate you

Also this needs some interactions with heretics. So that they can't be stunned by stun spell and can't be converted.

Is this abandoned?

Nah, he's porting it from EE and it just doesn't work fully yet.

Is this abandoned?

it's a week away

Is it... Being fixed?!

Throughout Christmas?


Add raycast-ia-writer extension

Description
There are two commands in this extension to let users could create or search notes quickly inside iA Writer library.
With Quick Note command, users could jot down anything and specify the filename of their notes or use time stamp as filenames.
With Quick Search command, users could open iA Writer's Quick Search window with query instantly.
The extension is made with iA Writer's URL schemes.
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi 👋
Thanks for your contribution 💪
I have now tested your extension, and I have some feedback ready for you:

Maybe you can check if Ai Writer is installed? You can see how extensions like Eagle does it 🙂
Why is current datetime populated in the form, is that something most people wants?
Could you add at least one screenshot of the extension

I'm looking forward to testing this extension again 🔥
Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.

Hi
Thanks for your review. I’ve got your feedback and made some changes:

Added installation check like what Eagle extension did.
Added screenshots to /metadata folder.

And I know your confusion about the datetime populated in Quick Note form. It’s a common feature in some note apps like Obsidian(Unique note creator), which makes it easy to create quick notes in a Zettelkasten way. There are options to disable the feature or specify datetime format. So users can use this extension in their ways.
Looking forward to more feedbacks.
Thank you!

Hi 👋
I tested the new improvements and have some feedback 🙂
I still see "Noe Saved" if I enters the wrong credentials, do you have an idea why?

Hi  👋
The Quick Note command calls mac's open command with iA Writer's URL Scheme in a node child process. The open command runs successfully even there's something wrong with URL's query string. So I couldn't know if the note is created or not. 🥲
I checked how Bear and Obsidian deal with the case. Bear just opens the URL without any success toasts. And Obsidian creates a new file or overwrites the file if it's existed.
I prefer the Bear way and may remove the Note Saved toast. If the note's not saved correctly. iA Writer just pop up. What do you think of it ? Should I remove the toast? 🤔
Thanks for your feedback!

Let's do that, this was we don't confuse the end user 🙂

Hi!
I'm taking a look at your extension while Per is on vacay :D
By first running it, without IA Writer installed, I can see an error on the bottom of the screen. However, I can still see the inputs and ⌘Enter "saves the note" successfully. I don't believe this would be the best approach to this. The first screen should ask the user all the things needed for the extension to work properly.
Do you mind changing that?
Also, the quick search is not working for me. It does nothing other than show a HUD.

Hi!
I'm taking a look at your extension while Per is on vacay :D By first running it, without IA Writer installed, I can see an error on the bottom of the screen. However, I can still see the inputs and ⌘Enter "saves the note" successfully. I don't believe this would be the best approach to this. The first screen should ask the user all the things needed for the extension to work properly. Do you mind changing that?
Also, the quick search is not working for me. It does nothing other than show a HUD.

Hi,
I just removed the wrong toast when iA writer is not installed and updated the icon.
As Per asked, I checked how Eagle extension works when Eagle app not installed. It just shows a toast asking users to install Eagle app. And I think this extension does it in the same way. Could you please check how other extensions work when apps not installed like Obsidian and Bear?
Thanks for your review!

Hey!
I understand that Per suggested it, but I don't think it is a good UI. It is confusing for the user. You could do the same check you are doing now, but show a different "screen" with instructions for the user, in case they don't have the app installed.

Hey! I understand that Per suggested it, but I don't think it is a good UI. It is confusing for the user. You could do the same check you are doing now, but show a different "screen" with instructions for the user, in case they don't have the app installed.

Hi,
I understand your concern. But I wonder why there isn't a 'different' screen in Bear or Obsidian extension when I don't have Bear or Obsidian installed? Both of them are published to the store and got thousands of downloads. I don't really understand.
If it's required to add such a 'different' screen, should I use an Alert or push to a new Detail page? Could you please give me some best practices examples to learn from?
Thanks for your review.

We could do something like this @xvvhang 🙂

You're right there is other extensions in the store that doesn't handle it but might - most people installing this extension should have AI Writer so it's not the worst issue - could you check my additions?

We could do something like this @xvvhang 🙂

You're right there is other extensions in the store that doesn't handle it but might - most people installing this extension should have AI Writer so it's not the worst issue - could you check my additions?

Sure! That make senses and I'm glad to make some changes. I will commit some changes later. Thank you Per!🫡

I already made above in the extension, can you approve it? 🙂

Thanks for your help! 🙂@pernielsentikaer


Note vccomsupp.lib is desktop only

@BillyONeal : Thanks for your contribution! The author(s) have been notified to review your proposed change.


:sparkles: Compatible with RxSwift 5.1.1

https://github.com/ReactiveX/RxSwift/releases/tag/5.1.1

https://github.com/AkkeyLab/RxScreenProtectKit/issues/51