Settings editor @modified search results refreshing too often

Issue Type: Bug
Testing #57304
The last step is to left click in the editor below the setting:

VS Code version: Code - Insiders 1.27.0-insider (051da84e0f85ec291fd2479b665f5c5c2c60ef72, 2018-08-30T07:25:39.746Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 4, 4

Memory (System)
16.00GB (0.40GB free)

Process Argv
/Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron --user-data-dir /Users/chrmarti/Development/repos/tmp/user2 --extensions-dir /Users/chrmarti/Development/repos/tmp/ext2

Screen Reader
no

VM
22%

Extensions: none

Also when trying to change the setting again.

That's the best I can do for August after other changes

I'm leaving the original issue unfixed/out-of-scope, unless there are more user requests to prevent settings in @modified from disappearing until the search query is changed. Currently, the setting is kicked off the list once reset, because after refreshing the tree, it does not match the filter anymore. I also notice there is a significant pause before the setting is kicked off the list, and that's being tracked at https://github.com/microsoft/vscode/issues/109064.
Verification steps:

Modify a single setting in the Settings editor
Search @modified in the Settings editor, or @modified [query], where [query] is a query that brings up the single modified setting.
Reset the modified setting.
Wait two seconds. The setting should disappear, and the Settings editor should show "No Settings Found".

It seems like the refresh is pretty much instant now. I would expect the setting to stick around until I change the query

That's the expected behaviour for now.
The setting not staying for longer is being tracked in https://github.com/microsoft/vscode/issues/139886.
Changing issue title to make things clearer.


Some blocks will be synchronized only after a restart！！！！

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/MinaProtocol/mina/issues
[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/MinaProtocol/mina/discussions

Description
I started the node through docker, and the data was synchronized for a day, but the state was still catchup. Nothing changes in the block. But when I restart the container there will be some increase in height
Steps to Reproduce
1.docker run  -d -p 9934:3085 -p 9935:3087 -p 10101:10101 -v=/data/blockdata/mina/data:/data:rw --name mina minaprotocol/mina-rosetta:1.3.1-3e3abec-focal
2.mina client status
Expected Result
Normal data synchronization
Actual Result
It's stuck. I don't know how long it takes
How frequently do you see this issue?
Always
What is the impact of this issue on your ability to run a node?
Blocker
Status
Global number of accounts:                     115178
Block height:                                  155693
Max observed block height:                     155943
Max observed unvalidated block height:         155944
Local uptime:                                  1d9h24s
Ledger Merkle root:                            jxtyFR4kSXKQZFh2LmtaaedYMSfGFfVtmrzLNeyVd2rv3xNPBt1
Protocol state hash:                           3NKDSwXf3DbLxWmEfNPxLaUb2xGk3QWW2UjdTayH16Pr3yZ6PMwN
Chain id:                                      5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1:                                     3e3abecd4fd197017321d61a65a25f0bbdc40f3a
Configuration directory:                       /data/.mina-config
Peers:                                         15
User_commands sent:                            0
SNARK worker:                                  None
SNARK work fee:                                100000000
Sync status:                                   Catchup
Catchup status:
	To build breadcrumb:           1
	To initial validate:           0
	Finished:                      42
	To download:                   0
	Waiting for parent to finish:  87
	To verify:                     163

Block producers running:                       0
Coinbase receiver:                             Block producer
Best tip consensus time:                       epoch=32, slot=1097
Best tip global slot (across all hard-forks):  229577
Consensus time now:                            epoch=32, slot=1482
Consensus mechanism:                           proof_of_stake
Consensus configuration:
	Delta:                     0
	k:                         290
	Slots per epoch:           7140
	Slot duration:             3m
	Epoch duration:            14d21h
	Chain start timestamp:     2021-03-17 00:00:00.000000Z
	Acceptable network delay:  3m

Additional information
No response

@leezijie Thanks for filing an issue.
I'd like to know more about it though because I can't reproduce it on GCP, Hetzner Cloud and running it locally (using steps mentioned in ticket).
With enough resources (I tried with 8xCPU cores, 16Gb of RAM) it gets into Synced state all the time in about 1-1.5 hrs.
Can you please share more info about any possible specifics of environment in use on your end? Maybe you even have logs available since the issue was spotted?
Thank you.

@leezijie Thanks for filing an issue. I'd like to know more about it though because I can't reproduce it on GCP, Hetzner Cloud and running it locally (using steps mentioned in ticket). With enough resources (I tried with 8xCPU cores, 16Gb of RAM) it gets into Synced state all the time in about 1-1.5 hrs. Can you please share more info about any possible specifics of environment in use on your end? Maybe you even have logs available since the issue was spotted? Thank you.

Yes, my machine is fully equipped.After I restarted the node numerous times, it finally synced to the latest block.

@leezijie thank you for reply.
Did you used any Cloud providers to run the server? Do you think there could have been the networking issues specific to environment in use?

Closing this issue because of being inactive for long time.
Please feel free to open another ticket should you experience any further issues.


Update for PoGo ?

Hello
Can you update your module with for the latest version of SafetyNet?
(for pokemon go to works with Xposed and Root)
Thx!

@pylerSM


bug 1950: fix the test of periodic interp, so fp is indeed periodic i…

…n the test.

Clean and simple, thanks @jeanlaroche


Make pipenv work with the venv install scheme if it is detected

The issue
Python 3.10 introduced sysconfig._get_preferred_schemes[1], a mechanism to allow downstream distributors to overwrite the default install scheme.
This is done to support downstream modifications where distributors change the installation layout (eg. different site-packages directory). So, distributors will change the default scheme to one that correctly represents their layout.
This presents an issue for projects/people that need to bootstrap virtual environments, like virtualenv (see [2]) and pipenv too. As distributors might now be customizing the default install scheme, there is no guarantee that the information returned by sysconfig.get_default_scheme/get_paths is correct for the virtual environment, the only guarantee we have is that it is correct for the current environment. When bootstrapping a virtual environment, we need to know its layout, so that we can place the files in the correct locations.
[1] https://docs.python.org/3/library/sysconfig.html#sysconfig._get_preferred_schemes
[2] https://github.com/pypa/virtualenv/issues/2208
The fix
To solve this issue, CPython upstream added in issue45413 [3] a new "venv" install scheme, for virtual environments. And this new install scheme has already been implemented in virtualenv [4] and the Python build frontend [5]. This PR is similar, it first checks if “venv” is among the available install schemes and uses it if it is. Otherwise it fallbacks to the standard nt or posix_prefix install schemes as before. This should produce no change for environments where default schemes were not changed.
[3] https://bugs.python.org/issue45413
[4] https://github.com/pypa/virtualenv/pull/2209
[5] https://github.com/pypa/build/pull/434
I’d like to deploy this fix in Fedora [6] and test it there, because Fedora changes the default install schemes and therefore pipenv fails there. But first I wanted to ask for feedback, if you see any obvious issues with the change. If not we’ll test it downstream, and then I’d like to ask you to merge it here as well.
[6] https://src.fedoraproject.org/rpms/pipenv/pull-request/53
The checklist

[x] Associated issue - #5109
[x] A news fragment in the news/ directory to describe this fix with the extension .bugfix, .feature, .behavior, .doc. .vendor. or .trivial (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.

@torsava this looks good -- can you add a news fragment please?

@torsava this looks good -- can you add a news fragment please?

Done, please take a look.

@torsava this looks good -- can you add a news fragment please?

Done, please take a look.

@torsava Looks pretty good but fails the lint check due to file name of news fragment.  If you rename it 5096.bugfix.rst then I can merge more easily.
NEWS fragment files must be named *.(feature|behavior|bugfix|vendor|doc|trivial|removal|process).rst
``

@torsava this looks good -- can you add a news fragment please?

Done, please take a look.

@torsava Looks pretty good but fails the lint check due to file name of news fragment. If you rename it 5096.bugfix.rst then I can merge more easily.
NEWS fragment files must be named *.(feature|behavior|bugfix|vendor|doc|trivial|removal|process).rst
``

Already fixed. :)

(Btw, the .rst bit is missing from the PR template, that's why I didn't add it at first.)

I am not sure what's going on here because it doesn't show an option to kick off the next job run and when I re-run the prior job it doesn't pick up the new change and re-fails the lint check.

@torsava Can you also delete this line so that the CI will run again?  https://github.com/pypa/pipenv/blob/main/.github/workflows/ci.yaml#L11

@torsava Can you also delete this line so that the CI will run again? https://github.com/pypa/pipenv/blob/main/.github/workflows/ci.yaml#L11

Done, let's see.

@torsava Thank you for your responsiveness, this is how it goes sometimes with pipenv.  Your news fragment any backquotes need to be double because that is rst standard, I learned this a few months back when I added linting.  Example: not `venv` but ``venv``

@torsava Thank you for your responsiveness, this is how it goes sometimes with pipenv. Your news fragment any backquotes need to be double because that is rst standard, I learned this a few months back when I added linting. Example: not venv but venv

Ah, of course, no problem. Fixed.

Thanks, @matteius !


Feature Request: Filament runout detection for Octoprint?

Is there any way to enable support for filament runout detection while printing via Octoprint?

Sorry I don't familiar with filament runout of OctoPrint. If someone can issue a PR or knowing how to, very appreciated.

@parachvte this is not something I know much about, but in a discussion on the FB group, someone seemed to know a bit about it
To quote:

Jeffrey Edgett
The firmware supports the host action commands, but they are not yet enabled.
Jade Wu, do you mind bringing this up with the devs? They just need to uncomment the define HOST_ACTION_COMMANDS line in Configuration_adv.h to allow the filament runout sensor, etc. to work with OctoPrint.

To be clear, this change would need to be made in the printers firmware — not the Cura plugin.
Is there a repo yet for the firmware?

To be clear, this change would need to be made in the printers firmware — not the Cura plugin.
Is there a repo yet for the firmware?

No there is not. @parachvte has said it is OK to post these issues here for now.
I made a request for the source code, and was told that they will release it, but are "working to make it more stable for public use", which is technically a violationof the GPL license, but I'll cut them a bit of slack for now.


Corrupted images on Vukan backend

I'm getting either corrupted or inconsistent images on Vulkan backend, for any resolution other than 512x512.
My system is a Linux PC with a Ryzen 3400G, almost-vanilla Debian 12 (using the distro graphic stack). All following tests with:
--type f16 --lora-model-dir ./LoRA --model ./SD/dreamshaper_8.safetensors --prompt 'a fantasy character, detailed background, colorful<lora:lcm-lora-sdv1-5:1>' --cfg-scale 1.0 --sampling-method lcm --steps 4 --rng cuda --seed 42 -b 1 --color
, and a script alternating resolution and compiled binary (Vulkan or CPU backend).
320x512:

Vulkan 1
Vulkan 2
CPU

Vulkan images look ok-ish (for such a small resolution anyway), but the same seed should produce the same image. And the CPU render looks quite different.
Second test, 384x384; similar behavior (changes between Vulkan 1 and 2 may not be apparent on the thumbnail):

Vulkan 1
Vulkan 2
CPU

The third test, 448x448, gets weird:

Vulkan 1
Vulkan 2
CPU

At first, I blamed my PC drivers. But then, the 512x512 test:

Vulkan 1
Vulkan 2
CPU

Looks absolutely fine, and identical between Vulkan and CPU.
In summary:

512x512 works fine;
any other resolution produces inconsistent images between runs;
some resolutions introduce artifacts

(related: #122 )

Good catch. Using the same prompt, i get a smilar behavior as you.
Though I don't get anything as dramatic as your 448x448 results. (I only get variations of your "Vulkan 1" images, no matter how many times I try).
I might try to investigate what's going on, but I'm not confident I'll figure it out.

@0cc4m Do you have a clue?

This also happens with images bigger than 512x512 if the resolution isn't a multiple of 128...

Thank you for the detailed report, I'll look into it when I find some time.

I used GGML_VULKAN_CHECK_RESULTS to narrow down that group_norm was failing, reproduced it with a backend test, and pushed a fix to https://github.com/ggerganov/llama.cpp/pull/10496.
BTW, GGML_VULKAN_CHECK_RESULTS is really helpful, but it looks like it may get harder to build with the recent backend split.

BTW, GGML_VULKAN_CHECK_RESULTS is really helpful, but it looks like it may get harder to build with the recent backend split.

Yeah, I built it to narrow down these kinds of model issues. I hope we can keep it around.

I manually applied 56d8a95 on a local build, and it seems to fix this issue. Thanks!


ext: simplelink: host driver: Enable only for networking

Only build the simplelink host driver if we have networking enabled.
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

Actually, this module has no dependency on, nor makes any calls into, the Zephyr networking stack.
If the goal is to avoid building these specific modules generally, then setting CONFIG_SIMPLELINK_HOST_DRIVER=n in boards/arm/cc3220sf_launchxl/cc3220sf_launchxl_defconfig would be the best option.   I set it to '=y' because it was easier during development than having to add it to the sample prj.conf files.
I can do a patch later today for that, if that's acceptable.
I can submit a patch later today.

@GAnthony does the driver make any sense if we don't have networking enabled?  I agree that it doesn't depend on it, but thinking that we should only enable it if networking is enabled.

This fixes issue #1092

Yes, the SimpleLink offload stack can be used by any CC3220SF application without having to pull in unneeded dependencies from Zephyr networking.
Testing with CONFIG_SIMPLELINK_HOST_DRIVER=n  also seems to fix issue #1092, and is a more narrow, exact solution.
I'll look into the json issue also, probably a header path ordering issue when HOST_DRIVER set to y, but strange it was never an issue building the cc3220sf samples.

This fixes issue #1092

How does it fix it? What if you have an application using Json on this board? this will collide still.


Sync with upstream v151

Tested here: https://fku-dummy-java.osc-st-fr1.apps.st-sc.fr/
Files have NOT been uploaded to ObjectStorage yet.

What do you mean exactly? :thinking:

Trying this new version with a couple of java app to be sure it works as expected.


Support MultiCommandCCCommandEncapsulation

Is your feature request related to a problem? Please describe.
Currently commands using MultiCommandCCCommandEncapsulation are not handled.
Describe the solution you'd like
Multiple commands combined via MultiCommandCCCommandEncapsulation should be supported.
Additional context
2022-12-21T07:17:40.048Z CNTRLR   [Node 104] [translateValueEvent: value updated]
                                    is root endpoint:        true
                                    is application CC:       true
                                    should hide root values: false
2022-12-21T07:17:40.051Z DRIVER « [Node 104] [REQ] [ApplicationCommand]
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 175
                                    │ extensions:
                                    │ · type: SPAN
                                    │   sender EI: 0x7a0df133621bad62beb810939cc886a8
                                    └─[MultiCommandCCCommandEncapsulation]
2022-12-21T07:17:40.054Z DRIVER   Received a command that contains multiple CommandClasses. This is not supporte
                                  d yet! Discarding the message...
2022-12-21T07:17:40.055Z CNTRLR « [Node 104] TODO: no handler for application command

Any chance you know what's supposed to be in that command?
"simple" encapsulated commands which just report a value are already supported. CCs that need special handling like Notification CC aren't at the moment.

I'll ask Sensative engineers. In theory, this should only be several reported sensor values combined (temp, humidity, lux, the device has an option to switch MultiCommandCC off and on), but I don't know how they are encoding it exactly.

I see. It might very well be that the log output is a red herring and everything is already working as expected.

I got a reply from Sensative:

MultiCmdEncapsulation (MLSRT + MLSRH): Used when Temperature + Humidity Reporting enabled
MultiCmdEncapsulation (CSN + MLSRT + NR): Used for Temperature Alarms (High\Low)
MultiCmdEncapsulation (MLSRT + NR): Temperature Alarms Clear (High\Low)

Abbreviations:

MLSR - MultiLevel Sensor Report
T - Temperature
H - Humidity
NR - Notification (Alarm) Report
CSN - Central Scene Notification

ok, Notification/Alarm and Central Scene must be handled specifically.


[Feedback] Experimental Fast Mode

New in fuzzy-finder v1.13.0: Experimental fast mode
New in v1.13.0, fuzzy finder offers to enable a new experimental fast mode when a large project is detected. Fast mode offers dramatic speed improvements:

Indexing is 5x to 14x faster for large projects (https://github.com/atom/fuzzy-finder/pull/369)
Filtering is 17x to 22x faster depending on project size (https://github.com/atom/fuzzy-finder/pull/374)

We think you're going to love these improvements.
How do I try it out?
These improvements are available in Atom 1.37, which is currently available in beta. When fuzzy finder detects a project with more than 10,000 files, it offers to enable experimental fast mode.
Having problems with experimental fast mode?
If you try out the new experimental fast mode and encounter any problems with it, please leave a comment below to let us know.

Tried the experimental mode for my Django project. Rather than having my custom made python file in the search suggestions, it pointed me to Django's internal project files. Somehow it gives them priority over my custom file? Love the concept, but didn't work for me.

Thanks for posting @visheshvvs ! We want to make the fast mode work for everybody, so this feedback is really appreciated.
Can you give me a bit more information about the text that you used for the search, some of the paths that appeared first and the paths that you expected to appear?
Even a couple of screenshots showing the fuzzy finder and its results with the fast mode enabled and disabled will do the trick 😃
Note: As a workaround, if you don't want any django file to appear in the fuzzy finder you can ignore the django folder from the fuzzy finder package settings:

@rafeca Thanks for that tip, added lib as an excluded directory and I'm no longer seeing those files.
Just FYI, here's the search results with the experimental mode on without the excluded directory.

Thanks for this improvement !
Though with my Atom v1.38.1 x64 on Windows 10, the fast mode of fuzzy finder does NOT seem to ignore VCS-ignored files even though I have the config setting to ignore them.
If I switch back to the previous mode (alternate), then they get ignored again (actually it needs reloading Atom, thus it seems that this behaviour is caused at package-loading time).
Is this behaviour intentional ??

Hmm, I'm unable to reproduce on Windows 10 with 1.38.1 @aviatesk.  Can you share a minimal example where you see this behavior?
I tested with a test repo with this .gitignore:
test.txt

And 2 files, test.txt and test2.txt.  With fast mode enabled, when I open fuzzy finder I see test2.txt and I don't see text.txt as expected.
Do you see the same behavior with this example ☝?

@rsese
Thanks for trying to reproduce my issue !
I missed to clarify what I meant by  VCS ignored. I confirmed .gitignored ones are surely ignored, but atst noticed the fast mode shows some files in .git directory like config and COMMIT_EDITMSG while alternate mode doesn't show those files.
I'm not sure about this is an intentional behaviour, but both modes are better to show the same files as possible for consistency.
P.S. I confirmed some files in .git like files in .git/objects/ are still not shown in fast mode.

@aviatesk tanks for the additional info! I've been able to reproduce your problem by removing the .git entry from the "Ignore names" core setting:

(by default, this setting has the .git folder as the list of ignored folders)
I've done some research and:

This happens only with the .git folder: other VCS-ignored folders are correctly ignored in the fast mode, no matter the "Ignore names" settings.
This is in fact a change of behaviour of the fast mode: previously, the .git folder was ignored when the "Exclude VCS ignore paths" was turned on, so having that folder on the "Ignore names" setting was not needed (even if it was added by default there).
This seems to be caused by ripgrep: I could reproduce this issue by executing the rg binary directly (by running rg --files --hidden).

To work around this issue, we could manually add the .git folder as the list of ignored globs to this logic:
if (this.ignoreVcsIgnores) {
  args.push('-g', '!.git')
  args.push('-g', '!.hg')
}

@aviatesk do you want to send a PR to fix this?

@rafeca
Thanks so much for investigating this issue and even proposing the workaround idea !
Yes, I tweaked "Ignored Names" settings as you found.

do you want to send a PR to fix this?

I really want to ! (I will just follow your ideas tho.)
Personally I've always wanted to contribute Atom's core and its packages, thus I really appreciate for you giving me the opportunity 😁

I've tested it a bit. I'm impressed by the speed, so kudos!
However it doesn't seem to find the same results as the alternate scoring system.
For example with the alternate system and fuzzy-finder:toggle-file-finder I could enter a PHP Classname fe. Magento\Catalog\Model\Product\Image and it could find me the correct file ([...]/magento/module-catalog/Model/Product/Image.php) based on those searched words, irrelevant of the separators / or \.
This doesn't work with the fast scoring system. It also doesn't with the standard system, so I suppose it is as expected?
But since the alternate one appears to be the default setting, I just thought I'd mention it though.
Cheers!

Thanks for the feedback @Songworks, this is a good catch!
I've just did some testing and you're right: on OSX/Linux you can search for folder/file.txt but not for folder\file.txt (interestingly, both searches work correctly on Windows 🙃).
It seems like the alternate mode was more permissive with the slash and backslash characters (e.g with alternate if you search for Dock/er/file it also matches a file called Dockerfile.
I think that the current behaviour is more correct, and the fact that PHP classnames worked on the previous implementation was just coincidental. Still, I don't have a strong opinion on that, so I wouldn't be opposed to a PR that makes things like Magento\Catalog\Model\Product\Image match the magento/module-catalog/Model/Product/Image.php file (as long as it does not break other things).

This mode is extremely fast in comparison to the current system. An issue I've come across is that files don't seem to be indexed when they're added by checking out a git branch. I'm finding it hard to keep using this mode with said issue.

@GarethWelch this is not an expected behaviour, can you provide more details about the issue? which platform are you using? how do you checkout branches? via command line? the standard mode and the fast mode should use the same watching behaviour so I'm wondering what could make you experience this issue...

in our code, a class is named like M_module_somefolder_MyClass . This file is stored in code_root/module/somefolder/MyClass.php
if I copy the classname and paste it in ctrl+p using the fastmode, it does not find the file.
I had to disable the experimental fast mode  to be able to quickly find and navigate files

Thanks for the feedback @fedexyz ! This is a very similar behaviour than the one described by @Songworks in his comment.
Since this seems to be quite standard (at least on PHP land) and the old fuzzy finder supported it, I've reconsider it and I'm gonna add support for things like M_module_somefolder_MyClass or M\\module\\somefolder\\MyClass to match a file M/module/somefolder/MyClass.php in the fast mode.

I'll add some feedback here. I use ruby on rails a lot, and a file I touch fairly regularly doesn't show up as I'd expect (only in fast mode, slow mode does the right thing).
I usually type appcon to go to app/controllers/application_controller.rb
In fast mode, this gives me
app/models/user_content_index.rb
app/controllers/joins_controller.rb
app/models/external_content_item.rb
app/controllers/feeds_controller.rb
Joins and feeds are the two shortest controller names in our application, so I understand how they got sorted toward the top (least space between app and con).


v5 DeleteMany(x=> ids.Contains(x.Id))

Hello,
I'm trying to delete many records like this:
var ids = new int[] {1,2,3};
col.DeleteMany(x=> ids.Contains(x.Id))
Result only deleted id=1 record.

Hi @zmrhi, thanks. I fixed this in master branch

Thanks!

Another bug when I trying to like this:
var list = new List() { 1, 2, 3 };
col.DeleteMany(x=> list.Contains(x.Id))
Then throw an exception of type 'System.ArgumentOutOfRangeException'

Hi @mbdavid Another bug when I trying to like this:
var list = new List() { 1, 2, 3 };
col.DeleteMany(x=> list.Contains(x.Id))
Then throw an exception of type 'System.ArgumentOutOfRangeException'

Hi @zmrhi, it's a complete different bug :smile:
Now, it's about how List<T> are converted into BsonExpression. Just fix it. Thanks!


[Runtime] temporary workaround for ptrauth failure in async endpoints…

During codegen, the compiler is signing async continuation functions with hardcoded discriminator for type TaskContinuationFunction. This leads to pointer authentication failures. This is a temporary workaround to fix the pointer auth failures until the pointer signing is fixed in the compiler.
Resolves rdar://103425363

@swift-ci test

I think it would probably be less disruptive to fix this in the compiler.


Add GPIO.setmode

Seems to me that we want to use GPIO.BOARD, but you used GPIO.BCM in some of your code. I'm not clear on what each does, though.

GPIO.BCM matches the numbers printed on the Raspberry Pi cobbler we use and in Fritzing.
I think the upside of GPIO.BOARD is that it will work across Raspberry Pi versions, but I'd rather sacrifice that to eliminate the confusion of having to keep looking at this diagram to map the board numbers to the board-independent numbers.


Tomcrypt version

What is the tomcrypt version? Is there a script to generate the amalgamation?

Seems to be 1.17, at least if the CRYPT 0x0117 refers to this.

What is the tomcrypt version?

looks like 1.17

Is there a script to generate the amalgamation?

There's the amalgamation branch of libtomcrypt, but it has not yet been merged.


Fix stake proposal submission

At the moment, only stake proposal type delegate can be submitted. A proposal with any other stake proposal type (delegate, redelegate, or claim) cannot be submitted. Attempting to click "Save & Next" does nothing.

Hey team! Please add your planning poker estimate with Zenhub @haveanicedavid @ryanchristo


cuda out of memory

Thanks for your code, it helps me a lot. And I try to write on my own but I meet some questions.
When I rewrite the loss function as follows:
`class Custom_Loss(nn.Module):
def init(self):
super(Custom_Loss, self).init()
def loss_function(self, data, labels):
    loss = Variable(torch.zeros(1))
    for d, l in zip(data, labels):
        loss -= torch.log(d[l]).cpu()
    loss /= data.size(0)
    return loss

def forward(self, p1, p2, S, E):
    """
    N for batch and T for length of context

    :param p1: A tensor (N,T) represents for possibility of  choosing each word as answer(start)
    :param p2: A tensor (N,T) represents for possibility of  choosing each word as answer(end)
    :param S: A tensor for each query's start position
    :param E: A tensor for each query's end position
    :return: Loss of the BiDAF model
    """

    l1 = self.loss_function(p1, S)
    l2 = self.loss_function(p2, E)
    loss=l1+l2
    return loss`

I meet the error: cuda out of memory, I check my code and could not find the reason, can you help me?

@wlhgtc Thank you for your report. I am not sure about this. But cuda out of memory is exactly the problem of your GPU memory. Is your GPU memory sufficient? If you sum up Variables directly, this problem will happen. If so, .detach or .data may be helpful.

@jojonki  Thanks for your reply. I debug my code the whole day. I test my model layer by layer(I comment out the backward step and optimizer step). The "out of memory error" occur when I compute the matrix S(S=W[H,U,HºU] ) with the batch size 60(according to the paper) . But I find you config is 20. The model goes well in 30 size.
Finally , I find a phenomenon in 30 size : the memory wen in 9G at first and went down for7.2G finally remain steady.  I don't know how you deal with the data. I use the torchtext package, for each batch, this package will padding the context according to the max length of context automatically . I think there are some context that are too long(in some batches) so that the memory run out!
So I wonder if you padding the context in batch the same as me. And why you set the batch size 20?
By the way ,I use GTX 1080Ti with Pytorch 0.3!

Is the memory increasing in your case? Mine runs out of memory in the middle of training.
[20180625-174613] Epoch 0 74.2%, loss_p1: 3.338, loss_p2: 2.325
p1 acc: 9.000% (6077/65000), p2 acc: 10.000% (6521/65000)
 75%|████████████████████████████████████████████▋               | 3266/4379 [07:33<02:34,  7.21it/s]THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1524590031827/work/aten/src/THC/generic/THCStorage.cu line=58 error=2 : out of memory
Traceback (most recent call last):
  File "main.py", line 237, in <module>
    train(model, train_data, optimizer, ema, start_epoch=args.start_epoch)
  File "main.py", line 153, in train
    (loss_p1+loss_p2).backward()
  File "/home/vimos/anaconda3/lib/python3.6/site-packages/torch/tensor.py", line 93, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "/home/vimos/anaconda3/lib/python3.6/site-packages/torch/autograd/__init__.py", line 89, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: cuda runtime error (2) : out of memory at /opt/conda/conda-bld/pytorch_1524590031827/work/aten/src/THC/generic/THCStorage.cu:58

@Vimos  There are some sentences with lenth>500. You'd better set them with a fixed length(for me 300)

@wlhgtc Thanks for the advice.
If I keep use the default value for length, I have to change to a smaller batch size of 10. This still require 7709MiB memory.

If the memory keeps steady, it's fine. It's a large model.


auth followed by any action requiring auth fails

I recently registered for hex.pm (I went through the web flow), and when I use rebar3 hex user auth it seems to work fine (I can see keys in hex.pm as well).  When I attempt to do rebar3 hex user whoami I get the first set of failures below and when I try to do rebar3 hex publish I get the second set of failures below.
rebar3 hex user whoami

output: https://gist.github.com/alunduil/6324c19e288f581610201b05d386c2cf
stack trace: https://gist.github.com/alunduil/f866b7868eb6c0053dc383339b125bfe

rebar3 hex publish

output: https://gist.github.com/alunduil/0beadea6aeb350d9c8749a091af309ac

So, I try to auth again thinking it didn't hold and it succeeds and I now have duplicate keys on hex for my machine.  Let me know what other information would be useful to discover why this isn't working as expected.

What version of rebar_hex are you using? I see the latest version of rebar3 in use, so I'm hoping it's just that you need to ensure you're using at least rebar3_hex 6.5.0

Sorry to disappoint: https://gist.github.com/alunduil/3f098145a9463bdbde9f5f0b0ccf40e7

n/p, lemme see if I can replicate

Alas I can not:
Username: ([])> starbelly
Account Password:
You have authenticated on Hex using your account password. However, Hex requires you to have a local password that applies only to this machine for security purposes. Please enter it.
Local Password:
Local Password (confirm):
Generating all keys...
 ~/d/e/jb_private123  rebar3 hex user whoami
starbelly<EMAIL_ADDRESS> ~/d/e/jb_private123 rebar3 hex publish -r hexpm:jellybeam
===> Verifying dependencies...
===> Using deprecated rebar_utils:vcs_vsn/3. Please upgrade your plugins.
Publishing jb_private123 0.1.0-rc322 to hexpm:jellybeam
  Description: An OTP library
  Dependencies:

  Included files:
    /Users/starbelly/devel/erlang/jb_private123/LICENSE
    /Users/starbelly/devel/erlang/jb_private123/README.md
    /Users/starbelly/devel/erlang/jb_private123/rebar.config
    /Users/starbelly/devel/erlang/jb_private123/rebar.lock
    /Users/starbelly/devel/erlang/jb_private123/src/ehttpd.erl
    /Users/starbelly/devel/erlang/jb_private123/src/jb_private123.erl
  Licenses: Apache 2.0
  Links:

  Build tools: rebar3
Before publishing, please read Hex CoC: https://hex.pm/policies/codeofconduct
Proceed? ("Y")> y
Local Password:
===> Published jb_private123 0.1.0-rc322

So things that could be potential problems on your end...

You have rebar3, hex_core, or rebar3_hex version cached somewhere that isn't in agreement and this could be for a variety of reasons. I do see that rebar3 isn't even able to make it to the point where it calls the provider (in this case rebar3_hex). Look in _builds or /path/to/rebar3. Sometimes it's easiest to back all this up, remove said files, and see if you can replicate by starting from scratch so to speak.

Your hex.config (~/.config/rebar3/hex.config) is not in line with changes introduced with the latest rebar3_hex. Perhaps try backing up this file, removing it, and re-authenticating.

There's something else causing this problem. I didn't ask what version of erlang you are using. If the above to possibilities do not pan, can you share that info and run rebar3 with debug on? env DEBUG=1 rebar3 hex user whoami

Hmm, I removed all local configuration and started from a clean build and ended with the same issue I saw before.
I'm running this erlang:
erl: Erlang/OTP 21 [erts-10.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]
DEBUG=1 rebar3 hex user whoami: https://gist.github.com/alunduil/12bd1d8a30c3a51bd032bc7d8d95343f
In case it makes a difference I am overriding the REBAR_CACHE_DIR and I don't have a ~/.config/rebar3 directory (I'm keeping everything local to this project with envrc).  I also install rebar3 into the project directly from a release; the one provided by NixOS is sandboxed too strictly right now.
I also grabbed a report in case that's helpful: https://gist.github.com/alunduil/882e21bd5b93edc9d34a1bf10ae3a22d
Thanks for helping me think through this one.

Ahh ha! That is the issue. Now, let me try to find a work-around/fix. I have a few changes in master that would make this a more pleasant experience in terms of error messages, but they don't solve the problem. I'm pretty sure the config file problem will have to be addressed in rebar3, but let me find the fix before I start going off in that direction.

@alunduil Ok, here is the work-around... rebar3 will assume that your hex.config is in $HOME/.config/rebar3... even if you are chrooted, etc. this should work, just tried on my machine.
So in a project I..

made a .config dir in the root of my project,
then rebar3 dir in that (or mkdir -p /path/to/project/.config/rebar3)
then moved my hex.config in there
finally I set $HOME to the root of the project.

Hopefully, that's doable for you, we may want to introduce a new variable for this in rebar3.. not sure.

Interesting.  I wonder why when I set REBAR_CACHE_DIR that it puts my hex.config in that directory rather than HOME if it's only going to read it from HOME.  That's highly counterintuitive.  I'll see about setting HOME to be my direnv but I'm not sure what else that's going to screw up.  It almost sounds like having an overloaded REBAR_CACHE_DIR is the antipattern here.  I'll try it without that first.

I agree, it should not put it into the cache dir. I'll look into this, discuss with some folks and do some PRs ASAP. Do let me know if this works for you 👍

That sounds good.  For now I'll drop my local REBAR_CACHE_DIR and see if I can get this working.  Thanks for helping me figure out what was going on.

@starbelly dropping the REBAR_CACHE_DIR worked like a charm.  Once I auth'ed again whoami and publish worked like a charm.  I'll keep my eye on this issue so I know when I can add back my local project cache.

@alunduil See https://github.com/erlang/rebar3/pull/2060 Apparently there was a project config option we could have used in your config global_rebar_config_dir. This was not available as env var however and the PR I linked to adds that.
If you feel good on those two options can you close this issue?

@starbelly that looks good to me, but I'm not clear on if I can set the global config dir separately from the cache dir.  I'll try to grab the latest version and see if the setup I usually go for works as expected.  Feel free to close this if you need to and haven't heard from me in a week though.

It should. I think I may have to do another patch for REBAR_CACHE_DIR but the REBAR_GLOBAL_CONFIG_DIR env is respected.

Excellent.  I'll close this issue and if I notice anything further open another.  Thanks for putting this fix together!


Link to the Steam store rather than to ModBot

http://www.neogaf.com/forum/showpost.php?p=230877232&postcount=8715

I could make the ModBot code clickable. Unfortunately, I have no idea how to auto-fill the PM with the ModBot code, 🤔
Regarding the redirection to the store page, I don't know what the simplest way to do it would be. Redirecting to the search page is easy, but getting the appId based on the appName requires some knowledge which I don't have... unless I make a request to steamDB or something. 😅

Actually the appIds are already fetched when the call is made to http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/
The response looks like this:
{
	"response": {
		"game_count": 1369,
		"games": [
			{
				"appid": 10,
				"name": "Counter-Strike",
				"playtime_forever": 153,
				"img_icon_url": "6b0312cda02f5f777efa2f3318c307ff9acafbb5",
				"img_logo_url": "af890f848dd606ac2fd4415de3c3f5e7a66fcb9f",
				"has_community_visible_stats": true
			},
			{
				"appid": 80,
				"name": "Counter-Strike: Condition Zero",
				"playtime_forever": 0,
				"img_icon_url": "077b050ef3e89cd84e2c5a575d78d53b54058236",
				"img_logo_url": "acdb28ba1b4c2fcc526332c1b63fc0f7533f087f"
			},
			{
				"appid": 100,
				"name": "Counter-Strike: Condition Zero Deleted Scenes",
				"playtime_forever": 0,
				"img_icon_url": "077b050ef3e89cd84e2c5a575d78d53b54058236",
				"img_logo_url": "acdb28ba1b4c2fcc526332c1b63fc0f7533f087f"
			},
                { ... }
         ]
}

We filter the list to just names in https://github.com/petetnt/neogaf-monkeybot/blob/master/neogaf-monkeybot.user.js#L102 but instead of returning just the names in the map call we could return a object of
{
  "appId",
  "sanitizedName"
}

and use those in the comparison part.

For the ModBot autofill, it works like this:

When you click the link, the script saves the code to localStorage as raffleLine
When you navigate to private messages, the checks if there's raffleLines and fills them into the fields:
https://github.com/petetnt/neogaf-monkeybot/blob/master/neogaf-monkeybot.user.js#L227

I remember that there's some bug in vbulletin that prevents the filling of the title field, but those can be handled in separate issue.

Alright, I made the ModBot code clickable and the ModBot autofill is working for me for some reason. However, I don't know how to remove the end of the line in the original post, so the ModBot code is repeated twice, one clickable and once not clickable.

For the map of game and appId, I get the idea but I don't know javascript so I'm really stuck.

Basically you need to modify this line:
https://github.com/petetnt/neogaf-monkeybot/blob/master/neogaf-monkeybot.user.js#L102
So it returns the name of the game and the appid:
    ownedGames = games.map(function map(game) {
        return {
           appid: game.appid,
           sanitizedName: sanitizeName(game.name),
       }
    });

Then you need to check where the ownedGames variable is used, for example in
https://github.com/petetnt/neogaf-monkeybot/blob/master/neogaf-monkeybot.user.js#L40
This needs to be modified so that instead of searching for the indexOf the name in the array we search for the name in the array of objects.
For example something like
function checkIfOwnedOnSteam(name, line) {
    return ownedGames.find(game => {
      return game.name === name;
    })  && !/uPlay|\(GoG\)|\(Origin\)|Desura/.test(line);
}

Now that because we need the appid, we can use the result of the checkIfOwnedOnSteam function here:
https://github.com/petetnt/neogaf-monkeybot/blob/master/neogaf-monkeybot.user.js#L68
Lets modify the checkIfOwnedOnSteam a bit more:
function getIfOwnedOnSteam(name, line) {
    if (!/uPlay|\(GoG\)|\(Origin\)|Desura/.test(line)) {
      return false;
    }

    return ownedGames.find(game => {
      return game.name === name;
    })
}

Now if the

Game is not a Steam game, it returns false
If the game is owned, it returns an object of { appid, sanitizedName }
If the game is not owned, it returns null

so we can use it on Line 68 like this:
var game = getIfOwnedOnSteam(name, line)

if (game) {
  /** inside this block we can access the appid of the game with game.appid **/

game.appid

}

Regarding modbot code autofill, I have figured out why it works for me now: I use left-click. Indeed, I used to middle-clicke the links, in which case it does not work.
Regarding the appid links, I get that it can only work for owned games. I will try to make it work using your help, but I think it is less useful than the link for games not yet owned: typically, one wants to check the store pages of games not yet owned to choose which giveaway to enter.

@woctezuma Haha, oh wow, sorry I am an idiot (or it was an early morning before coffee). I can see the difficulty of getting the ID from the ownedGames when you don't own the game 😹 😂
You could retrieve the whole game list from http://api.steampowered.com/ISteamApps/GetAppList/v0001/ and filter & cache those the same way the ownedGames list is.

Argh, not working! I don't know how to debug javascript, and it is failing at some point.
Cannot I parse JSON with a line such as:
parseAllGames(JSON.parse(response.responseText).applist.apps.app);

I think
JSON.parse(response.responseText).response.applist.apps.app

would give you the app list in json.
see: https://github.com/petetnt/neogaf-monkeybot/blob/master/neogaf-monkeybot.user.js#L197
For debugging console.log is a good start. Open your developer tools with F12 (or cmd-opt-j on OSX) and see the console.
Add some lines like console.log(JSON.parse(response.responseText)) and you should see the output in the console when you run the script. Debugging Greasemonkey scripts are bit a pain though.

I thought the response keyword was specific to the owned games.
For the owned game, the page looks like:
{ 	"response": { 		"game_count": 1719, 		"games": [ 			{ 				"appid": 1200, 				"name": "Red Orchestra: Ostfront 41-45", 				"playtime_forever": 0, 				"img_icon_url": "66519d69efc5b98bdafe61347db4ec8be01dff7b", 				"img_logo_url": "7c41b2bfa0952f44959e77b2650d09a7a22e633a", 				"has_community_visible_stats": true 			},
For the whole list of Steam games, the page looks like:
{ 	"applist": { 		"apps": { 			"app": [ 				{ 					"appid": 5, 					"name": "Dedicated Server"

Hmm, you are correct. What kinda error is your first line throwing? You should see it in the console too

I don't know, I have a weird message:
The Web Console logging API (console.log, console.info, console.warn, console.error) has been disabled by a script on this page.
Anyway, I think the problem is at the initialization. With your original script, the script asks for the API key. With mine, it does not. Plus local storage does not contain the new variables allGames, etc.

I can try and check it out tomorrow 👍

I have tested on a minimal example and it the JSON parsing works in both cases.
Interestingly, Firefox had trouble parsing the JSON for the whole Steam store with the link you provided, and I had to Alt+F4 it.

It looks like I did not commit to the right branch. I am doing it now.

The Modbot link and autofill works fine.
However, the code as is should be able to link to the Steam store and fails. It seems the reason why is that the appid is "undefined". So the current implementation defaults to using Steam search with the name of the game. If you could pinpoint where the use of the object pair fails, it would solve the problem.

Actually, it seems the problem arises from the result of getIfOnSteam(). When I try it by hand, it works. When the script runs, it does not return the right object.

Problem fixed. There was a wrong ! in the function getIfOwnedOnSteam you had given to me! Silly boy! 😝
Please accept the pull request! 👌

I have also fixed the treatment of games with special characters such as "Cosmic Dust & Rust" on the first line of this giveaway: http://www.neogaf.com/forum/showpost.php?p=231131849&postcount=10309

Is there a way to accept your changes or do I modify the code by hand?

You can just modify the code by hand and commit them, the comments that are fixed are marked as done.

I have done them all, I think. There might be some indentation (spaces vs tabs) issues. Is there a way to fix these automatically?

I have broken something.

There is a problem with this commit:
https://github.com/petetnt/neogaf-monkeybot/pull/6/commits/3ec80ff2772159605af6acc75e7153068e2946ca

@woctezuma whoops sorry, the correct format is
return allGames.find(function findGame(game) {

Alright. All done and working. I have tested here:
http://www.neogaf.com/forum/showpost.php?p=231131849&postcount=10309
and there:
http://www.neogaf.com/forum/showpost.php?p=231158649&postcount=10438

LGTM, thanks for this! I'll fix couple of small things later, bump the version and publish it 👍

Thanks, so I don't need to do anything? Right? You have the rights?


docs: add test status badge to README.md

Resolves https://github.com/mgroves/NoSqlMigrator/issues/15#issuecomment-1630929438

LGTM :shipit:


BDK_Flutter missing policy modules

In the flutter version of the BDK,
there seem to be missing the policy module to extract the policy tree from the wallet and the policy_path methods on transaction builder to provide paths when creating transactions.
When trying yo create a transaction with a descriptor that contains multisig and timelock rules, this error is being returned instead:
E/flutter (14275): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Exception: Error: SpendingPolicyRequiredException( Spending policy is not compatible with: KeychainKind.External )

Depends on https://github.com/bitcoindevkit/bdk-ffi/issues/605


tracetools_acceleration: 0.4.1-1 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository tracetools_acceleration to 0.4.1-1:

upstream repository: https://github.com/ros-acceleration/tracetools_acceleration.git
release repository: https://github.com/ros2-gbp/tracetools_acceleration-release.git
distro file: rolling/distribution.yaml
bloom version: 0.10.7
previous version for package: null

We should wait on this to retarget the source and doc branches to rolling!

I'm going to go ahead and merge this one as-is, and then you can do a follow-up to change the source and doc branches.


GitHub EMUs are no longer in beta, they are GA

Regarding this note on the page:

This provisioning connector is enabled only for Enterprise Managed Users beta participants.

Both SAML and OIDC flavors of EMUs, are GA. Here are the blog posts. https://github.blog/changelog/2021-09-30-enterprise-managed-users-are-now-generally-available/ and https://github.blog/changelog/2022-11-21-oidc-for-azure-ad-enterprise-managed-users-is-now-ga/
I am not sure if we just need to remove "beta" from that note or, do we need to remove the entire note.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6aada92a-f7b6-2e74-7a78-180f48d67450
Version Independent ID: 68697885-45d5-e8ff-f82e-984af113eb4f
Content: Tutorial: Configure GitHub Enterprise Managed User (OIDC) for automatic user provisioning with Azure Active Directory - Microsoft Entra
Content Source: articles/active-directory/saas-apps/github-enterprise-managed-user-oidc-provisioning-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @twimmers
Microsoft Alias: thwimmer

@DaveBurnisonMS
Thanks for your feedback! We will investigate and update as appropriate.

@DaveBurnisonMS
I'm going to assign this to the document author so they can take a look at it accordingly
@twimmers
Can you please check and add your comments on this doc update request as applicable.

#reassign:owinoakelo

This has been updated.

#please-close


examples: fix issues pointed by "go lint"

Changes:
1 - group imports into single import (...) clause
2 - stdlib imports go first, then empty line, then other packages
3 - for true {} should be written as for {}
4 - made L3Rules global unexported (go lint)
5 - cloneNumber += 1 replaced with cloneNumber++ (go lint)
6 - omit type for var that is inferred from RHS (go lint)
(1) and (3) should be performed by gofmt -s (simplify code), but they are not, yet.
goimports is also sometimes refuses to re-arrange imports in a proper way, until you manually swap some lines.
The last 3 types of changes are caught by go lint.
Note: I have not looked into examples/nat, because of reasons.

Approved, please merge.

@ifilippov, I am a little surprised if this is addressed to me, as I have no write access.

No problem. I merged it for you.


No display

Hello, i've only been messing around with Magic Mirror for about a week so i'm pretty new,
i made a module to send a notification ("SELFIE_SHOOT") at the start, but there's no feed.
checking the console i found the following error :
Uncaught (in promise) TypeError: Cannot read property 'classList' of null
at Class.shoot (MMM-Selfieshot.js:193)
at Class.notificationReceived (MMM-Selfieshot.js:177)
at sendNotification (main.js:96)
at Object.sendNotification (main.js:526)
at Class.sendNotification (module.js:367)
at Class.getDom (note.js:7)
at main.js:111
at new Promise (<anonymous>)
at updateDom (main.js:110)
at main.js:52

(i have tested the USB camera on the raspberry and it works fine outside magic mirror)
EDIT : I have tested the CURL method, and was able to take a selfie that's stored in the photos folder and the timer appears on screen, but i still want to use the notification method to make the display appear

Hmm. Curious. Could you please send me the portion of your config.js for MMM-Selfieshot? I want to try and duplicate your issue.

Yeah I found something. I'm on it.

It's entirely possible that you're attempting to trigger the selfie before the MagicMirror has finished laying out all of the modules. Looking at the code, that line is trying to find the DIV object with the SELFIE id value and it's coming up zilch.
The solution here is to delay your notification until after your module receives the DOM_OBJECTS_CREATED notification. Additionally, I'll put in some checks to make sure that it errors gracefully if it receives a notification too early.
Also, I found an error where if you include a location for the module but don't tell it to put the touch button in place, it crashes. Thanks for pointing me at that general area. Now I have to go fix that.

Example code:
notificationReceived: function(noti, payload, sender) { 		if (noti == "DOM_OBJECTS_CREATED") { 			this.sendNotification("SELFIE_SHOOT", {   option: {     shootCountdown: 1,     displayResult: false,     playShutter: false,     displayCountdown: false,   } ); 		} }

If you're still having problems, feel free to reopen the issue.


Minimizing Wallet IO

The wallet does a lot of IO once it starts to get big, because it writes the entire file every time. We need some way to minimize this, perhaps by using append. I was also thinking we could break it into many files and then occasionally pool them together into a larger file.
Not worth worrying about for now, but needs to be in the queue of stuff to look at. This is one of those things that's definitely a problem beyond 1000 keys, and 1000 keys is pretty reasonable considering we'll make a dozen or so new keys every time we upload a file.

Is there a need for the wallet to write to disk that often? If not, then its just a matter of storing the image in RAM, and if there is a need, then why is that? Can't the wallet just be regenerated from a seed of you loose it?

The wallet file is frequently written to disk as a safety precaution, to ensure that no keys are lost. If it were stored in RAM, an interrupt (or worse, a power failure) could prevent keys from being saved to disk. With the present scheme, this can still happen, but it will affect at most 1 key.
@DavidVorick can chime in on the subject of generation.

Right now we don't support HD wallets, which is what would allow you to generate a large number of wallets from a single seed. It's the type of thing that we could implement, but we have higher priorities for the moment.
Eventually, we will be using HD wallets.

It seems a weird design-choice not to just fork Bitcoin for the blockchain-stuff, so that the project can focus on the storage-proof part. Now all issue resolve around things Bitcoin already implemented years ago.

This is true. When we originally started, we were actually doing something very, very different from Bitcoin (and consequently, very insecure).
Forking the Bitcoin code meant inheriting something like 30k lines of C++ that neither of us would understand well, at least initially. It would mean needing to deal with a lot of the bugs that can't be fixed in Bitcoin (like the off-by-one error in the Multisig opcode). Right now, because we know our entire codebase, we've got a good idea when something's not working as to what the problem is. We also get the advantages of using a garbage collected language.
On the other hand, it also means we're less familiar with the solutions that Bitcoin has come up with, it makes it harder to ask for help when there's something we don't understand, and it also means that we're inherently contributing less back to Bitcoin, to whom we owe a significant portion of our existence. Any bugs that we found or features that we added we could have PR'd back to the Bitcoin repo, which is good for everyone.
At the same time, I don't think that bitcoin core uses HD wallets. Some of the problems that we're running into have been solved by bitcoin core, and some have not. But I also think that my mastery of cryptocurrencies would be substantially lower than it would be if I had just forked Bitcoin. Especially when designing the protocol, I got to revisit a lot of the design choices of Bitcoin and needed to reconsider all of the advantages and disadvantages, and was able to learn from the 4+ years of regrets and reassurances of Bitcoin. There are a lot of design choices that the bitcoin devs wish they could change. At the same time, there are a lot that seem to have been just right. Sia has hopefully kept all of the just-right choices while improving on the less great design choices.
What it comes down to though, is at this point I think it's easier to keep using our own codebase than it is to switch to using a fork of Bitcoin.

I'm in favor of a BoltDB that maps addresses to keys. We could optionally add an "export" button that converts it to a traditional wallet.dat, but both would essentially contain the same data.

I am assigning Luke this issue as he's going to be working on the other persist stuff. Seems like the decision we've made is to have a boltdb file that stores all of the addresses.

fixed


Object returned by fetch doesn't have the correct path

If a fullpath is provided to fetch, everything works correctly. If a directory is provided to fetch, the incoming.name isn't appended to the directory path.
Reproduce with:
import t4
pkg = t4.Package.browse("aics/pipeline_integrated_cell", registry="s3://quilt-aics")
file_obj = pkg["fov"]["f_6a23a87b0f4c467bb6c2380a00cf7a30.ome.tiff"]
file_obj = file_obj.fetch("~/Desktop/")

file_obj is now:
PackageEntry('file:///Users/jacksonb/Desktop/')
file_obj should be (at least imo):
PackageEntry('file:///Users/jacksonb/Desktop/f_6a23a87b0f4c467bb6c2380a00cf7a30.ome.tiff')

Also, I just found out that paths aren't being resolved.
~/Desktop/ currently results in files being stored at $cwd/~/Desktop/ instead of /Users/jacksonb/Desktop/
https://github.com/quiltdata/t4/blob/master/api/python/t4/packages.py#L460
Should probably be nice_dest = fix_url(str(pathlib.Path(dest).resolve())).rstrip('/')
Or something similar to handle path resolution.

[GH-482] resolved user paths but did not fix the fetch without providing a name issue.
Reproduce with current master branch:
import t4

pkg = t4.Package.browse("aics/pipeline_integrated_cell", registry="s3://quilt-aics")
file_obj = pkg["fov"]["f_6a23a87b0f4c467bb6c2380a00cf7a30.ome.tiff"]

# Replace the path provided to `fetch` with the path you want to store the file at
file_obj = file_obj.fetch("/Users/jacksonb/Desktop")

Traceback:
---------------------------------------------------------------------------
IsADirectoryError                         Traceback (most recent call last)
<ipython-input-1-2e10dce3c849> in <module>
      5
      6 # Replace the path provided to `fetch` with the path you want to store the file at
----> 7 file_obj = file_obj.fetch("/Users/jacksonb/Desktop")
      8 file_obj

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/site-packages/t4/packages.py in fetch(self, dest)
    225         physical_key = _to_singleton(self.physical_keys)
    226         dest = fix_url(dest)
--> 227         copy_file(physical_key, dest, self.meta)
    228
    229         # return a package reroot package physical keys after the copy operation succeeds

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/site-packages/t4/data_transfer.py in copy_file(src, dest, override_meta)
    524         url_list.append((src_url, dest_url, size, override_meta))
    525
--> 526     _copy_file_list_internal(url_list)
    527
    528

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/site-packages/t4/data_transfer.py in _copy_file_list_internal(file_list)
    335
    336         with ThreadPoolExecutor(s3_threads) as executor:
--> 337             results = list(executor.map(worker, file_list))
    338
    339     return results

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/concurrent/futures/_base.py in result_iterator()
    584                     # Careful not to keep a reference to the popped future
    585                     if timeout is None:
--> 586                         yield fs.pop().result()
    587                     else:
    588                         yield fs.pop().result(end_time - time.monotonic())

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/concurrent/futures/_base.py in result(self, timeout)
    430                 raise CancelledError()
    431             elif self._state == FINISHED:
--> 432                 return self.__get_result()
    433             else:
    434                 raise TimeoutError()

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/concurrent/futures/_base.py in __get_result(self)
    382     def __get_result(self):
    383         if self._exception:
--> 384             raise self._exception
    385         else:
    386             return self._result

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/concurrent/futures/thread.py in run(self)
     55
     56         try:
---> 57             result = self.fn(*self.args, **self.kwargs)
     58         except BaseException as exc:
     59             self.future.set_exception(exc)

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/site-packages/t4/data_transfer.py in worker(args)
    322                     dest_path = parse_file_url(dest_url)
    323                     pathlib.Path(dest_path).parent.mkdir(parents=True, exist_ok=True)
--> 324                     return _download_file(progress_callback, src_bucket, src_path, src_version_id, dest_path, override_meta)
    325                 elif dest_url.scheme == 's3':
    326                     dest_bucket, dest_path, dest_version_id = parse_s3_url(dest_url)

/usr/local/anaconda3/envs/aicsdatapackaging/lib/python3.7/site-packages/t4/data_transfer.py in _download_file(callback, src_bucket, src_key, src_version, dest_path, override_meta)
    180
    181     body = resp['Body']
--> 182     with open(dest_path, 'wb') as fd:
    183         while True:
    184             chunk = body.read(1024)

IsADirectoryError: [Errno 21] Is a directory: '/Users/jacksonb/Desktop'

Actually, [GH-482] doesn't seem to have expanded user for me either:
import t4

pkg = t4.Package.browse("aics/pipeline_integrated_cell", registry="s3://quilt-aics")
file_obj = pkg["fov"]["f_6a23a87b0f4c467bb6c2380a00cf7a30.ome.tiff"]

# Replace the path provided to `fetch` with the path you want to store the file at
file_obj = file_obj.fetch("~/Desktop")
file_obj

file_obj: PackageEntry('file:///Users/jacksonb/Desktop/active/cell/aicsdatapackaging/readmes/~/Desktop')

Closing this issue as It was resolved by gh-482


Support for Environment Variables

Like Jenkins:
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-JenkinsSetEnvironmentVariables
Gilab-CI is Perfect but my scripts need a variable for at least the git branch

+1 I'd like to export things like local mirrors / proxies for package managers, i.e:
npm_config_registry=http://apt.bla.com/npm

Thank you for your interest in improving GitLab. We don't use the issue tracker for feature requests. Things that are wrong but are not a regression compared to older versions of GitLab are considered feature requests and not issues. Please use the feature request forum for this purpose or create a merge request implementing this feature. Have a look at the contribution guidelines for more information.


Add a Makefile for the major local dev tasks

Also introduces local_dev/ dir with a readme and a couple of helper scripts.

I got my local dev setup working reliably. It took more time than I would have liked, but it's done and I've made some improvements which I think are worth both keeping and sharing. In particular, using helm install --atomic behaves much more consistently for me than a kubectl wait command.
I'm aware that there are several overlapping efforts on this front. This is therefore focused much more on scripting things out to codify a standard development workflow than it is on documentation. I hope that will keep the redundancy with others' work to a minimum.
There is an intentionally blank stub in the doc for minikube. I'd love to see that filled in by someone who is using minikube, but I'm not able to do so with confidence. (I think it's mostly doing a minikube env eval + a docker build?)
The Makefile might seem a little bit clumsy, with the submake invocations, but I wanted the ability to stop-and-start port forwarding independently from the cluster up/down status. This seemed like the simplest approach, but I'm open to alternatives.
I also considered a shell script, named something like ./run-local.sh, with case+shift for argument parsing and support for flags like --up, --down, --start-forwarding, etc, etc. It just seemed messy in comparison with a Makefile, but we can go that route if it's preferable.

Based on Josh's approval + Ben's comments, I'm going to go ahead and merge.
I think we benefit a lot on this front from getting something in and iterating on it.


Like Behavior

Are like and not like case sensitive or case-insensitive?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9762f1b7-0e3a-d58f-fd99-a27ad948907b
Version Independent ID: 89e28332-184e-ba84-df1f-e7698c5e0f7c
Content: Details of the policy definition structure - Azure Policy
Content Source: articles/governance/policy/concepts/definition-structure.md
Service: azure-policy
GitHub Login: @DCtheGeek
Microsoft Alias: dacoulte

#assign:DCtheGeek

@adewaleo Thanks for the question! All conditions other than match and notMatch that evaluate a string are case-insensitive.  I'll clarify this detail in the doc.  When I submit the PR, this issue will automatically be closed.  Thanks for pointing this out!
@MicrosoftDocs/azure-cxp-triage Please label 'doc-enhancement' and #in-progress.

Hey thanks for the clarification!

@DCtheGeek  Thank you for helping on this.


Add classes to the click infomation for better customisation

What feature do you want to see added?
There should be class names relating to the infomation shown on these elerments

Are there any alternatives?
No
Anything else?
No response

Can you elaborate on what you mean and what you try to achieve? The screenshot attached doesn't look like something PlotSquared generates.

When clicking on a plot in dynmap it displays infomation about it. The above screenshot is the HTML code for that. Since there is no class/id attached to it like  I can't change how it looks on dynmap.

That'd be a feature request for Plot2Dynmap then.

This is plot2Dynmap

Ah ok, my bad.


First version of the Cairo runner

Cairo works in two phases. First, it executes the program received as input/ in agreement with the verifier, in order to generate the witness of the computation. This part is called the Cairo runner. This witness is basically the full memory content after execution. The full memory is composed by: the compiled input program, a set of hints (I need to receive clarification from the Cairo guys for this part), cells that are allocated throughout execution, and finally the public outputs of the computation. The second part of Cairo is the one providing constraints that need to be satisfied by the witness. Starkware passes these constraints to a Stark prover, but we will be performing this step using a Kimchi-styled proof system. We refer to this second part as Turshi (an Egyptian pickled veggie, thanks @mimoo).
This pull request is for a first version of the Cairo runner. It contains three main modules:

word : defines a Cairo word, the native data that is handled by the Cairo runner. In this phase, this is represented as a u64 integer and a flag for negative numbers (useful when one gets negative offsets). For reference, Cairo instructions are represented as 64-bit words. In a future version, we will use field elements here, but for debugging purposes it was more intuitive to stick to u64 for now. From a CairoWord, one can access useful methods for decomposing the Cairo instruction: finding register offsets and flags. It comes with a simple test to decode offsets, and another one for decoding instruction flags.
bytecode: refers to the stack of bytecode instructions defining the input program (initially), and ends up adding more entries to the vector containing values computed throughout execution. A CairoBytecode can be read at a given position, can be assigned values at a given position, can be resized (enlarged) accordingly to fit new cells, and can be visualized. the same cell can be written many times in execution. But in the proving stage (Turshi), the memory will have to satisfy a write-once behavior. This is not a problem at this point, as obtaining the witness and proving it are two (related but) different tasks. CairoBytecode is a struct that contains the length of the compiled program (initial shared input with the verifier), and more importantly, a vector of Option. The reason that this is an optional type, is that we needed a way to differ between cells assigned with a zero value and non-written cells. If these are None, then they were not still initialized. This becomes more important in the execution. Comes with a unit test.
program:  it contains some structs that are useful throughout execution.

CairoRegisters: stores program counter, allocation pointer and frame pointer.

CairoVariables: stores auxiliary variables: content and address of destination, first operand and second operand, result of operation, and size of instruction (instructions with immediate values such as assignments have 2 words). For dst, op0 and op1 I chose an Option to represent the possibility that cells were unoccupied, and "negative" u64 elements (as opposed as if I had chosen u64 for the type directly).

CairoStep: defines a step of the computation. It contains a mutable reference to a CairoBytecode (the memory), current and next registers, and auxiliary variables. We have methods to compute each of the necessary values of computation for this struct. These are an "adapted" version (execution-wise, rather than checking-wise) of the state transition written in page 33 of the Cairo whitepaper. Comes with a unit test.

CairoProgram: defines a full program with a mutable reference to a CairoBytecode and the initial values of the registers. We have methods to execute a full program, that is formed by consecutive CairoSteps. It comes with two tests, one for a basic program and another one for a program including imports, outputs and builtins. There's still one issue pending from Cairo's response to understand one part of the non-deterministic execution of the Cairo runner.

Can you rebase or merge master into your branch :o? Also should I start reviewing this?

Thanks for pointing out @mimoo! I think master is merged now. I have included some constants for readability of the state transition function. I will be adding some suggestions from Joseph as well, but feel free to take a look into it when you can 👍

@imeckler sent me a pointer to what seems to be the field that the Cairo team is using here
It seems to be FIELD_PRIME = 2 ** 251 + 17 * 2 ** 192 + 1 that is written in hexadecimal as max = 0x800000000000011000000000000000000000000000000000000000000000001
I have been checking this against the Cairo playground to learn what is the largest available value it can represent, and it seems to be the case (that number, the modulus, goes back again to zero). Negative numbers also follow the same field (e.g., the number max-1 becomes -1).
This clarifies that when we represent ours with Pallas, whose sizes are larger, there shouldn't be any issues.

I don't think master is merge, Github seems to be pointing a lot of conflicting files


[Rework] (core-view-sync): Created internals implementations of view and sync. (win32)

This PR implements ninjasync Interface using Win32 api's.
Closes #3

Sample example output:


LSTMCell name is ignored in trainable_variables when wrapped in keras.layers.RNN

I created a model with several LSTMCell cells, wrapped in keras.layers.RNN.
When I print trainable_variables, cell names are ignored, which results into duplicate variable names (several same recurrent_kernel/etc), which confuses Tensorboard for example.
Collab notebook to reproduce: https://colab.research.google.com/drive/11W6ntLFGj4gqh5sS09CeVgb0LMNb_Fiu
Environment: tensorflow 2 release

Issue replicating for the given code - TF-2.0.

I would like to work on this one.

Thanks for reporting this issue. I think this is a historical issue since the we directly invoke cell.call() method rather than cell.call(). This cause the name scope in the call to be ignored, which result into the variable name doesn't have the prefix.
The fix might need some special care since it affects the existing saved model (since the variable name changed, as well as the ops under the cell, they will now have a prefix of the cell's name). For anyone who want to try a fix, I would suggest to make sure the save model and checkpoint is explicitly verified.

@qlzh727 thank you! Maybe you have an idea of a simple workaround (not sure if calling call explicitly for each cell would help) until the proper fix is done?

The weights of the layer is initialized in build(), so you have to build the layer first with proper input_shape, so that it can init the weights with proper shape. then set_weights() should work fine.

I tried to build each cell, but the names are still duplicated


How can I change the hostname?

I find that setting networking.hostName only works after sudo nixos-rebuild switch, and when I reboot the wsl with wsl --shutdown,  it turn back to the Windows hostname again.
So, am I expected to keep the hostname and not touching it ?

The hostname is set by WSL on boot. You can create a file /etc/wsl.conf with the following contents to set a custom hostname:
[network]
hostname = yournewname

It's not super well documented though, so I don't know if it has some other side-effects.
Maybe it makes sense to manage /etc/wsl.conf through NixOS-WSL after modularisation (#10 / #19) is done? :thinking:

This is now possible through wsl.wslConf.network.hostname

@Atry It is


MissingPluginException(No implementation found for method createNewNotification on channel awesome_notifications)

Hi, I followed your instruction about how to use this package.
So, I added initialize channel in my main.dart
Then I call create notification from the app, it's work
But, when i call it from background, push notification, i got the error mesage
Unable to handle incoming background message.
I/flutter (20190): MissingPluginException(No implementation found for method createNewNotification on channel awesome_notifications)

What's wrong?

How are you calling it from background? Paste here a code example

So I have my backgroundMessageHandler in main.dart
I have created channel basic_test in main.dart before runApp.
Future<dynamic> myBackgroundMessageHandler(Map<String, dynamic> message) async {
  if (message.containsKey('data')) {
    // Handle data message
    final dynamic data = message['data'];
    String title = data['nt']??data['title'];
    String body = data['nm']??data['body'];
    String imageUrl = data['wzrk_bp']??'';
    return title.isEmpty? null : showNotification(title, body, imageUrl);
  }
}

When onBackground triggered, i show notification by call showNotification() method above.
show_notifications.dart
class ShowNotifications{
//other method
showNotification(String title, String body, String image)async{
  await AwesomeNotifications().createNotification(
      content: NotificationContent(
          id: id,
          channelKey: 'basic_test',
          title: title',
          bigPicture:
              'https://i0.wp.com/www.jornadageek.com.br/wp-content/uploads/2018/06/Looney-tunes.png?resize=696%2C398&ssl=1',
          notificationLayout: NotificationLayout.BigPicture,
          payload: {'uuid': 'uuid-test'}));
}
}

Whenever I called showNotification from any screen, the notif is show. But, when onbackground notification triggered, the error happened.
Unable to handle incoming background message.
I/flutter (20190): MissingPluginException(No implementation found for method createNewNotification on channel awesome_notifications)

It seems like the plugin is not beeing initialized by Flutter on your background fetch. So there is no native handle registred to receive your background call.
Can you share with me your project on github to me reproduce this error?

I created mini example of how I user the package in https://github.com/bayuramadeza/Awesome-Notification-FCM,
I think this package should have something like :
FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin")) to add in Application.kt to handle this error.
Nope, I didn't use background_fetch

Im fixing your source.
First, you SHOULD NOT USE firebase classes on your project directly. You should strictly follow the steps to How to show Local Notifications and to use firebase messaging you should follow the steps to Using Firebase Services (Optional).
Do not do anything else than what is indicate on the documentation. All the firebase class to sendo FCM was already implemented, managed and installed inside the Awesome Notifications plugin. You dont need to do anything else.

Thanks!! It works now.
But, I still have some questions.

Can the notification show up like heads-up notification, like image below?

Can the notification handle onMessage notification like FCM? So it doesn't need to show in background, instead it pop in app screen.?
The problem I got is the marketing tools use their own data to handle notification, the notification structure is {"data" ; {"title" : title, "body": body}}, So, i can't customize it like the the structure specified in Awesome Structure

Sure. You can manipulate the entire notification to show as exactly as this example, changing title, body, showWhen, activating BigPicture layout with largeIcon and, for last, including the two actionButtons "Reply" and "Archive".

And also you can control if your notification will automatically shows on foreground or background, using the variables displayOnForeground and displayOnBackground. Its all up to you.

onMessage event is equivalent to displayedStream stream. You just need to listen this stream, as you do on actionStream. Youll always receive the event on displayedStream, even when your app is terminate. Sometimes the streams could not be delivered on exactly time when they happen, but they will be delivered as soon as possible to your Flutter app.

You can check all those combinations on our Notification Life Cycle and Flutter Streams topics.
Also, i do recommend you to watch this video about Dart Streams:

Can i put your example code on our README documentation? This will allow the others to use this example to learn how to use Awesome Notifications and Firebase Cloud Messaging more easly.
And, of course, I want to include your name as thanks for helping the community. Can i?

Okay, Thankyou so much for your explanation. I got it,
Sure, You can  put my example code in your README documentation. I'm pleasure to heard it

@rafaelsetragni
Hi you mentioned the displayOnBackground option. I did not see it in the documentation. How do I set it? Thanks

Hello,
I am having the same problem but with background task using Workmanager plug in. I have registered both workmanager and awesome-notifications plugins. This is my AppDelegate
`SwiftAwesomeNotificationsPlugin.setPluginRegistrantCallback { registry in
SwiftAwesomeNotificationsPlugin.register(
with: registry.registrar(forPlugin: "AwesomeNotificationsPlugin")!)
SharedPreferencesPlugin.register( // replace here
with: registry.registrar(forPlugin: "io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin")!)
}
// Register background tasks only if not already registered
if !AppDelegate.hasRegisteredBackgroundTask {
    WorkmanagerPlugin.registerBGProcessingTask(withIdentifier: "iOSBackgroundProcessing")

    // Register a periodic task in iOS 13+
    WorkmanagerPlugin.registerPeriodicTask(
        withIdentifier: "locationTracking",
        frequency: NSNumber(value: 15 * 60)
    )

    AppDelegate.hasRegisteredBackgroundTask = true
}

I have also add the necessary codes in my pod file. Workmanager is working because when I use 'Simulate Background Fetch' to manually perform background fetch from  Xcode, I got the notification that Background perform fetch is successful but I did not receive the notification I created in the callbackdispatcher function - I got the missing plugins error instead. This is how I am doing in in main.dart void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
AwesomeNotifications().initialize(
// set the icon to null if you want to use the default app icon
null,
[
NotificationChannel(
channelGroupKey: 'basic_channel_group',
channelKey: 'basic_channel',
channelName: 'Basic notifications',
channelDescription: 'Notification channel for basic tests',
defaultColor: Color(0xFF9D50DD),
ledColor: Colors.white)
],
// Channel groups are only visual and are not required
channelGroups: [
NotificationChannelGroup(
channelGroupKey: 'basic_channel_group',
channelGroupName: 'Basic group')
],
debug: true
);
// Only after at least the action method is set, the notification events are delivered
AwesomeNotifications().setListeners(
onActionReceivedMethod:         NotificationController.onActionReceivedMethod,
onNotificationCreatedMethod:    NotificationController.onNotificationCreatedMethod,
onNotificationDisplayedMethod:  NotificationController.onNotificationDisplayedMethod,
onDismissActionReceivedMethod:  NotificationController.onDismissActionReceivedMethod
);
await Workmanager().cancelAll();
await initializeWorkManager();
Workmanager().registerPeriodicTask(
"locationTracking", // Unique identifier for the task
locationTracking,
frequency: Duration(minutes: 15), // Task name
);
Workmanager().printScheduledTasks();
runApp(const MyApp());
}
Future initializeWorkManager() async {
await Workmanager().initialize(
callbackDispatcher,
isInDebugMode: true,
);
print("WorkManager initialization complete.");
}
@pragma('vm:entry-point')
void callbackDispatcher() {
print("Workmanager task started.");
Workmanager().executeTask((task, inputData) {
switch(task){
case locationTracking:
print("Task excecuted: $task");
AwesomeNotifications().createNotification(
content: NotificationContent(
id: 10,
channelKey: 'basic_channel',
title: "Hello from WorkManager!",
body: "This is a simple notification triggered by the WorkManager task.",
),
);
print("Notification sent.");
}
return Future.value(true);
});
}`
I have been at this for days. I am not sure what I am missing or doing wrong... Any help and suggestion is appreciated. Thank you!


Fix PR comments

Semver
This project uses semver, please check the scope of this PR:

[ ] #none#
[ ] #patch#
[ ] #minor#
[ ] #major#

Please add a description of your change below.
It will be automatically inserted into the CHANGELOG.md file.
The format is based on Keep a Changelog.
Please remove sections that doesn't apply to your change.
CHANGELOG
Fixed

PR comment posting for github vcs

Realized I can't get this to work w/o exposing a write-access token which doesn't seem like a good idea.


add tutorialonfly.com website in showcase

hi there, hugo is the best tool i have ever used, and i built my website upon hugo in one week, i'd appreciate to add my site in hugo's showcase, i figured out a way to use hugo and gitbook together, and it's very convinent to create big static website.
thanks!

Hello @callmelanmao,
thank you for adding your website to the showcase of Hugo. I've merged your contribution as fed5f20f89d32504bfe2dbe9ee30b72a30a2ba8b (master) and 338d0ed78ded1acf9cafe24efae240f47157c265 (v0.15.docs).
Cheers,
Digitalcraftsman


Add minimum spec to README

Would be a good bit to put a minimum spec ( hardware wise ) in the README.
I Tried to follow along with the guide and installations kept failing.
I'm running this against VMs in proxmox, and although k3s shows recommended spec for control to be 2 CPU 1G RAM link, these were not sufficient and it kept pinning the CPU of master node at 100% and the VIP kept disappearing from master but not going to another node.
After some trail and error, I found that 4 CPU / 2G RAM is enough to get things going fine but not much wiggle room after putting rancher on there for deploying anything else.
Hardware: 3x Beelink SER5 ( Ryzen 5 5500U 6c/12t 16G RAM )

Interesting! Typically min specs should be fine though etcd is sensitive to latency.  Could it have been that you were running other VMs on the shared disk at the time?

I had 1 other VM running on each node, but they are all on nvme local storage. I will do some more testing

our specs should be no different than k3s specs https://docs.k3s.io/installation/requirements


Support for admin Minter contract with mutable allowlist of admins

Create a Minter contract in which there's a specified admin and other administrators can be added via an allowlist.

Closed by #155


Fix README

All links provided in README.md are not accessible

As you can probably tell from the activity on this project, I don't maintain this project anymore.  All the stuff in the README can be readily googled and the rest of the README is still usable IMO.  If you care to find usable links and submit an MR in the hopes that it helps someone else, I'll merge it.


Fixing catastrophic bugs.

I overlooked a simple import, and it broke the whole system.
Yay.
Fixed that, fixed other bugs, good times.

good.


Issue in adding users to your project

The issue has already been resolved and is no longer relevant. Closing this as it has been completed. Please reopen if any further concerns arise.


add vm script hash allow list to get_metadata response

Motivation
VM script hash allow list is useful for client to understand what scripts are allowed by validators.
Get metadata returns allow list for client to check local scripts.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
Unit tests and Integration test
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/libra/developers.libra.org, and link to your PR here.)

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Chaning JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
Add/update type/method documentation under json-rpc/docs.

@bors-libra land


Add internet-identity to open-repositories.txt

Approval pending on https://dfinity.atlassian.net/browse/IC-1241


integration tests

I would like to add some integration tests.  Running them on all supported platforms (Win, Mac, Linux) will be a herculean task but we could start with Linux.
I am fluent in bats but maybe there are other options/preferences.
@germag @cgwalters WDYT?

have you seen the existing e2e tests? https://github.com/containers/podman-bootc/blob/main/test/e2e/e2e_test.go

have you seen the existing e2e tests? https://github.com/containers/podman-bootc/blob/main/test/e2e/e2e_test.go

Will take a closer look, thanks :)

Yeah, they do the trick. Thanks!


Fixes #23 pulldown-cmark unicode panic

Unicode chars outside the En / standard set caused panic crash in earlier versions of pulldown-cmark
Fixes #23

@euclio just a quick mention that I'm doing a hard fork of Aurelius to use with Markdown-soma (an Emacs equivalent of vim-markdown-preview)
The rationale is incompatible modification the .html and .js static files for the features I'm adding for the Emacs version.

What features are you adding? I'd prefer to find a way to incorporate them over forking.

On the preview html side I was thinking of adding user controlled throttling / debounce to help manage performance and lag.
I'd pass parameter(s) / value(s) from the EDITOR side as part of my hidden JSON header, as I did with scrollTo
This may be something you might be interested in too.  I didn't make a note about this here before but in my markdown-soma wrapper. I did away with the whole json-rpc thing and just feed the process stdin. It loops / re-renders on EOF.  I wanted to keep the process from having to know anything its data.

BTW, is anything that needs doing before merging this PR?  It's a pretty nasty bug for anyone who's not using straight ASCII.

scroll to the area you're editing.  I pass this in the HTML as a comment
with embedded JSON.  It's not working the way I would like, but getting a
1:1 positive match on browser and editor is an tough goal. (Impossible
probably)

This is something that I'd like to do as well, as long as it's configurable.

I depend on a different highlightsjs so that I have all the themes
available.

I just updated the highlight.js version in the latest release, this might not be necessary anymore?

was trying to integrate mermaid, on hold for now

Once I finish the async refactor I plan to factor out the rendering into a trait, so you can implement any rendering you like.

On the preview html side I was thinking of adding user controlled throttling / debounce to help manage performance and lag.

I'd like to add this as well, I have some client-side debouncing in the vim plugin but it would be better to add this upstream.

BTW I didn't make a note about this here before but in my markdown-soma wrapper. I did away with the whole json-rpc thing and just feed the process stdin. It loops / re-renders on EOF. I wanted to keep the process from having to know anything about its data. For example I don't want to maintain any structure info or handling on that end, just let the EDITOR and the Browser client work it out between them.

I'm planning to make a language-server-protocol implementation of aurelius (maybe even part of this repository) to make things editor agnostic.

Re the bump sure I'll take that out.
Good news on the other feature ideas.
I'm not really sure what benefit the lsp service would be though?
On Sun, 26 June 2022, 02:39 Andy Russell, @.***> wrote:

@.**** requested changes on this pull request.
In Cargo.toml
https://github.com/euclio/aurelius/pull/24#discussion_r906716959:

@@ -1,6 +1,6 @@
[package]
name = "aurelius"
-version = "0.7.4"
+version = "0.7.5"

Please don't bump the version in this PR, I'll do that when I release it.
—
Reply to this email directly, view it on GitHub
https://github.com/euclio/aurelius/pull/24#pullrequestreview-1019347195,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAARPI267LTSCICNFYHKNWLVQ5N5TANCNFSM5ZWXV25A
.
You are receiving this because you authored the thread.Message ID:
@.***>


Try not to show your own public iP address

It's ok because the port only open when the VM is running.


Uncaught TypeError: Cannot read property 'commander' of undefined

[Enter steps to reproduce below:]

...
...

Atom Version: 1.11.1
Electron Version: 0.37.8
System: Mac OS X 10.12
Thrown From: agda-mode package, v0.6.6
Stack Trace
Uncaught TypeError: Cannot read property 'commander' of undefined
At /Users/rogozindaniil/.atom/packages/agda-mode/lib/agda-mode.js:63

TypeError: Cannot read property 'commander' of undefined
    at atom-text-editor.<anonymous> (/Users/rogozindaniil/.atom/packages/agda-mode/lib/agda-mode.js:63:24)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/rogozindaniil/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Users/rogozindaniil/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Users/rogozindaniil/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Users/rogozindaniil/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Users/rogozindaniil/Downloads/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:114:36)
    at HTMLDocument.<anonymous> (/Users/rogozindaniil/Downloads/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands
     -0:13 grammar-selector:show (atom-text-editor.editor)
  3x -0:02.3.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:00.1.0 agda-mode:input-symbol (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "telemetryConsent": "limited"
  }
}

Installed Packages
# User
agda-mode, v0.6.6 (inactive)
autocomplete-haskell, v0.6.7 (inactive)
coq-grammar, v0.9.1 (active)
haskell-ghc-mod, v1.18.0 (inactive)
ide-haskell, v1.8.1 (inactive)
ide-haskell-cabal, v1.6.4 (inactive)
language-agda, v0.2.2 (active)
language-coq, v0.1.0 (active)
language-elm, v1.5.0 (active)
language-haskell, v1.9.9 (active)
language-latex, v1.0.0 (active)
latex, v0.38.0 (inactive)
latextools, v0.8.4 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.2.0 (inactive)
base16-tomorrow-light-theme, v1.2.0 (inactive)
one-dark-ui, v1.6.0 (active)
one-light-ui, v1.6.0 (inactive)
one-dark-syntax, v1.3.0 (active)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.7.0 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.201.1 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.59.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v1.0.0 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.68.2 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.101.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.209.3 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Thanks for reporting this, but I can't seem to reproduce it.
Judging from the stack trace thrown, I guess maybe it has something to do with jumping around some panes or tabs? Can you identify the minimal condition for reproduction?

I just encountered this error and the problem turned out to be that I accidentally named a file extension

.Agda

instead of

.agda

and upon correcting this I no longer received the error.

@subttle thanks for shedding some light on this mysterious issue. I will patch this once I got myself a laptop.


[zh] Sync contribution guidelines (2)

This PR is about the changes to reference generation.

/assign @SataQiu

@SataQiu All addressed. Thanks for the review.