Publish 03/30/2022, 10:30 AM

Docs Build status updates of commit 92cfad6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOMultiGeoCompanyAllowedDataLocation.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Contributors want to see template examples

Data contributors want to know what the templates look like before they have to fill them out. @ameliakallaher conversations with CLEAR-AD and ELITE

blank templates -- previews in google sheets? excel files you have to download? both?
should be automatically updated any time the data model is updated
need a user-friendly menu of options, easy to view, easy to check version

Templates should be versioned somehow

data contributors (Mayo) want to be able to look at the template they downloaded ahead of time and see if it has changed compared to the current version they will be validating against
highest priority is to prevent filling out a template or preparing metadata for a template that is outdated, then getting errors during DCA validation
potentially would get templates with very high version numbers very quickly -- e.g. adding new valid values for highly-edited columns -- need to think about versioning strategy. Semantic? major/minor? just always increasing?

Potential solution: something like the NF metadata dictionary, with template links/descriptions at the top and a searchable reactive table of the attributes (similar to current AD dictionary) under that: https://nf-osi.github.io/nf-metadata-dictionary/#Annotation_Templates
source code: https://github.com/nf-osi/nf-metadata-dictionary/blob/main/docs/index.Rmd
Deployed via: https://github.com/nf-osi/nf-metadata-dictionary/blob/main/.github/workflows/publish-docs.yml


Strange decimal literal behaviour

Describe the bug:
I'm seeing a weird representation of a _c literal decimal value such as 0.22_c. It seems turn into a massive value in the rep.
To Reproduce:
#include <cnl/all.h>
using namespace cnl::literals;
using fix24_8 = cnl::scaled_integer<int32_t, cnl::power<-8>>;

fix24_8 a = 0.22_c; // rep 4608
fix24_8 b = 0.22; // rep 56

Expected behavior:
Both reps should be 56.
Screenshots:
Double literal:
Custom literal:
Desktop (please complete the following information):

OS: Win 10
Compiler version GCC 9.3.1
Compiler flags used -DNDEBUG -std=c++17 -Iinclude
CNL version (or Git branch/SHA) https://github.com/maxgerhardt/cnl.git#v1.1.7-pio

Link to Compiler Explorer:
https://godbolt.org/z/vTjdz5sah

Unfortunately, the UDL, ""_c does not work with fractions. C++17 is only allowed to use integral NTTPs (non-type template parameters) and as 0.22 isn't even representable in binary floating-point, it's out of the running.
Sorry that it compiles at all! (It doesn't under v2 branch. Action: deprecate ""_c.)


how quickly can we label data?

I imagine this would have to be proportional to # of providers and # of captchas being completed per day or similar
#164

We're not labelling data right now, moving to Old


Improve typings for Container.addChild and Container.addChildAt

We're switching from Pixi4 to 5, and using the included typings instead of https://github.com/pixijs/pixi-typescript.
Container.addChild and Container.addChildAt are not generic (excerpt from pixi.d.ts included in Pixi5):
addChild(...child: PIXI.DisplayObject[]): PIXI.DisplayObject;
addChildAt(child: PIXI.DisplayObject, index: number): PIXI.DisplayObject;

Therefore,  code like this doesn't work:
const sprite = this.stage.addChild(new PIXI.Sprite(tex));
sprite.anchor.set(0.5);

In this example, sprite is inferred to be a PIXI.DisplayObject, so we get the following error:
Property 'anchor' does not exist on type 'DisplayObject'.
If we add generics to the code, the types are properly inferred and everything works as expected:
addChild<TChildren extends PIXI.DisplayObject[]>(...child: TChildren): TChildren[0];
addChildAt<T extends PIXI.DisplayObject>(child: T, index: number): T;

Right now we're using a custom version of pixi.d.ts with these changes, and everything works great.
The pixi4 typings has support for generics, so I think this may be an issue for any typescript users moving to Pixi5.
I attempted to put together a PR for this, but I saw that the typings are automatically generated from the JSDoc comments, and I'm unsure how (or if it's even possible) to type something like this.
If someone could point me in the right direction, I'd be more than happy to help out with a PR!

This is a good example of where our JSDoc -> typings solution starts to run out of steam. I doubt that @englercj could/should support generics in tsd-jsdoc (probably wouldn't be compatible with JSDoc).
The best long-term solution right now, which we are planning to do, is move the code base to TypeScript and then auto-generate types. Unfortunately, there's a lot of work to do there.
The short-term, hacky solution is to make a change to this script (https://github.com/pixijs/pixi.js/blob/dev/types/assemble.js). Simply replace the addChild addChildAt lines with something like you proposed. I'd probably accept this PR.

wow, i didnt even know it can work like that :) I like the idea!

Ok, great, I actually noticed that file when I was looking around, but wasn't sure if there was any other way to accomplish this.  I'll put together a PR on Monday.
I agree, adding support to tsd-jsdoc would be quite a task, but I was thinking it may be possible to add a custom attribute, like "@tstype" which would be a string that emitted to the d.ts file instead of using the jsdoc comments to figure out the type.  @englercj can let me know how crazy that idea is. :)

I think that's a great ideas @jmlee2k. JSDoc complains about tags it doesn't understand (unless parsing is set to being lenient), but maybe there's a paved-road for adding custom user-defined tags.

I doubt that @englercj could/should support generics in tsd-jsdoc (probably wouldn't be compatible with JSDoc).

tsd-jsdoc does support generics through the @template closure compiler tag. Recent versions of jsdoc support it as well, which actually broke tsd-jsdoc is recent jsdoc versions (because they removed it from the 'custom tags' list and put it elsewhere) so I have to fix that soon.

The best long-term solution right now, which we are planning to do, is move the code base to TypeScript and then auto-generate types.

Honestly this is the business, we should do this :)

@englercj can let me know how crazy that idea is. :)

Already supported. Example jsdoc markup, example dts output.


DEFAULT_TRANSACTION_TYPE Missing

Environment information

ape and plugin versions:

$ ape --version
# ...copy and paste result of above command here...
0.7.7

$ ape plugins list
# ...copy and paste result of above command here...
Installed Plugins
  alchemy      0.7.1
  etherscan    0.7.0
  foundry      0.7.1
  optimism     0.7.1
  safe         0.7.0b1.dev2+g5b61087
  solidity     0.7.1

Python Version: 3.9.0
OS: macOS/linux/win linux

What went wrong?
Please include information like:
When trying to withdraw eth having weth in a gnosis safe:
with networks.optimism.mainnet.use_default_provider():
    #fetch safe
    testSafe = "0xMYSAFE"
    accounts.containers["safe"].delete_account("test-safe")
    accounts.containers["safe"].save_account(address=testSafe,alias="test-safe")
    safe = accounts.load("test-safe")
    #fetch deployer
    deployer = accounts.load("test-deployer")
    deployer.set_autosign(True,passphrase=passphrase)
    #setup test tx
    txn = multisend.MultiSend()
    address = '0x4200000000000000000000000000000000000006'
    abi = '''[{"constant":false,"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]'''
    apeContract = Contract(address=address,abi=abi)
    txn.add(apeContract.withdraw,1000)
    txn(sender=safe,type=2,gas=0,submit=False)

I get the below error
runcell(0, '/home/thesis/repos/monitor_ape/utils/testkit.py')

runcell(1, '/home/thesis/repos/monitor_ape/utils/testkit.py')
WARNING: Danger! This account will now sign any transaction it's given.
Traceback (most recent call last):

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/utils/basemodel.py:302 in __getattr__
    res = super().__getattribute__(name)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_ethereum/ecosystem.py:337 in default_transaction_type
    ecosystem_default = network.config.DEFAULT_TRANSACTION_TYPE

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/api/config.py:58 in __getattr__
    return super().__getattribute__(attr_name)

AttributeError: 'OptimismConfig' object has no attribute 'DEFAULT_TRANSACTION_TYPE'

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

Traceback (most recent call last):

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/spyder_kernels/py3compat.py:356 in compat_exec
    exec(code, globals, locals)

  File ~/repos/monitor_ape/utils/testkit.py:277
    self.run_test_multisend()

  File ~/repos/monitor_ape/utils/testkit.py:270 in run_test_multisend
    txn(sender=safe,type=2,gas=0,submit=False)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_safe/multisend.py:220 in __call__
    return self.handler(b"".join(self.encoded_calls), **txn_kwargs)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/contracts/base.py:354 in __call__
    return contract_transaction(*args, **kwargs)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/contracts/base.py:288 in __call__
    return kwargs["sender"].call(txn, **kwargs)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/contextlib.py:79 in inner
    return func(*args, **kwds)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_safe/accounts.py:529 in call
    return super().call(txn, **call_kwargs)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/api/accounts.py:152 in call
    signed_txn = self.sign_transaction(txn, **signer_options)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_safe/accounts.py:657 in sign_transaction
    sigs_by_signer = self._all_approvals(safe_tx)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_safe/accounts.py:560 in _all_approvals
    approvals.update(self._contract_approvals(safe_tx))

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_safe/accounts.py:548 in _contract_approvals
    safe_tx_hash = self.contract.getTransactionHash(*safe_tx_exec_args)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/contracts/base.py:198 in __call__
    return ContractCall(

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/contracts/base.py:98 in __call__
    txn = self.serialize_transaction(*args, **kwargs)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/contracts/base.py:93 in serialize_transaction
    return self.provider.network.ecosystem.encode_transaction(

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_ethereum/ecosystem.py:721 in encode_transaction
    txn = self.create_transaction(receiver=address, **kwargs)

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape_ethereum/ecosystem.py:791 in create_transaction
    version = self.default_transaction_type

  File ~/miniconda3/envs/monitor_fix/lib/python3.9/site-packages/ape/utils/basemodel.py:335 in __getattr__
    raise attr_err from base_err

ApeAttributeError: 'OptimismConfig' object has no attribute 'DEFAULT_TRANSACTION_TYPE'

How can it be fixed?
Fill this in if you have ideas on how the bug could be fixed.
I am not sure i tried including type=2, still doesn't work, only happens when staging a transaction and committing to to the gnosis safe plugin
https://github.com/ApeWorX/ape-safe/pull/31

optimism     0.7.1

This was fixed in 0.7.2! :)

indeed, i tested out the multisend functionality with 0.7.2 and it works fine :pray:


Can I access and reconstruct all parsed information (including commends and whitespace)?

Toml representation in src/types.rs seems to be simplified and not enough to constuct a tree of toml objects that produces original toml document with original formatting.
Is tomllib a proper library for the following application idea:
Convert toml to line-based format and back, like xml2, but for TOML instead of XML. Something like in this imaginary session:
$ cat test.toml
[section1]
var1="qwe"

var2=456
# A comment
var3 = [ "qqq" ]

$ cat test.toml | toml2lines
/section1/var1="qwe
/section1/#=
/section1/var2=456
/section1/#=# A comment
/section1/var3/0=qqq

$ cat test.toml | toml2lines | lines2toml
[section1]
var1="qwe"

var2=456
# A comment
var3 = [ "qqq" ]

Maybe making all things in src/internals/ast reachable by Serde and/or making them public API should make it possible?

The internal AST has been abstracted away to provide a simpler and more stable interface. It currently only gives access to key/value pairs with no ordering. The idea is to eventually allow access to and modification of all parts of the document including whitespaces and comments.
So currently you can't do this:
$ cat test.toml | toml2lines
/section1/var1="qwe
/section1/#=
/section1/var2=456
/section1/#=# A comment
/section1/var3/0=qqq

$ cat test.toml | toml2lines | lines2toml
[section1]
var1="qwe"

var2=456
# A comment
var3 = [ "qqq" ]

because there's no API access to comments and whitespace, there's no concept of "lines" in the API and there's no order to keys/values, but want to eventually add all of this ability in. It will take some time though.

Maybe making all things in src/internals/ast reachable by Serde and/or making them public API should make it possible?

I don't want to allow access to the underlying AST because it is messy right now and very likely to change with every release. I don't know about Serde, can you tell me about it and/or how I could allow access to internals to Serde?

I hasn't tried Serde as well so far...
Do you think tools like toml2lines should use nom directly, as API surface between the tool and toml is too wide to make a good library?


Example to render multi fields?

How can one render multi fields? In my example, a "page" (Collection) consists of "name", "slug" and sections, where "section" is a multi field (eg markdown). The view (page.php) has page['section'], but that is an array (with unrendered markdown code).
index.php
$app->bind("/:slug", function($params) use($app) {
    $page = collection('page')->findOne(["slug"=>$params['slug']]);
    return $app->render('views/page.php', ['page' => $page]);
});

page.php

<?php echo $page['name'];?>

    <?php echo $page['section']; ?>

yes right. you have to loop:

<?php echo $page['name'];?>

<?php foreach($page['section'] as $section): ?>

    <?php

        switch($section['type']) {

            case 'markdown':

                echo markdown($section['value']);

                break;

            default:
                echo is_string($section['value']) ? $section['value'] : json_encode($section['value']);
        }

    ?>

<?php endforeach; ?>


nTooltip bug - world quests

Border bug - only if reward for world quest will be any item, not gold or resources.

Need to add Worldmap.backdrop to the list of tooltips I think to fix this @Grimsbain @renstrom ??

Looks like replacing WorldMapTooltip with WorldMapTooltip.BackdropFrame fixes this problem.

Fixed in https://github.com/renstrom/NeavUI/pull/211


Dev

Current coverage is 27.27% (diff: 27.27%)

Merging #13 into master will increase coverage by 27.27%

@@           master        #13   diff @@
========================================
  Files           1          3     +2
  Lines           4         33    +29
  Methods         0          0
  Messages        0          0
  Branches        0          4     +4
========================================
+ Hits            0          9     +9
- Misses          4         23    +19
- Partials        0          1     +1

Powered by Codecov. Last update d307e39...682a3e2


Add init subcommand

This adds an init-subcommand that is launched as a seperate process at the end of create. When the container is created, the runh create process exits and the init-process is reparented to the nearest subreaper (e. g. a containerd-shim). This PR also changes the internal oci-spec representation to use the oci-spec crate which also works with standard oci images that could not be parsed before.

bors try

bors retry

bors retry

@JTS22 Can you revise the code to pass the format check. Just call cargo fmt and check the results.

bors try

@JTS22 Can you revise the code to pass the format check. Just call cargo fmt and check the results.

I did that and pushed another two commits to my repo but for some reason it does not count as a fork of this repo anymore (maybe due to the visibility change?), so the changes are not showing up here. Guess I will re-fork and create a new PR...

Yes, this could be problem. I close this one and we work on #3.


App name mismatch in webpage and API.

Hello there, sorry to bother you again.
Recently I have requested the removal of the CTGP-7 installer app that was in titleDB. Today I have added it back as the new installer is fully functional now.
There is a problem tho, for some reason titleDB webpage is showing the proper app name: "CTGP-7" However, the API is showing the old app name "Custom Tracks Grand Prix - 7". This old name is being read by FBI and is installing the 3dsx to the wrong place, messing up the installation process.

https://3ds.titledb.com/v1/entry
id: 184
Not sure how it got that description or webpage :/

https://3ds.titledb.com/v1/cia
id: 1367 is a duplicate as I messed up with file naming, id: 1369 is the proper one.
id: 768 is a duplicate, id: 770 is the proper one.
Again, sorry for the inconvinence, first time I use titledb.

@mariohackandglitch First off, I highly recommend that you use some kind of "regular" file hosting service, instead of posting to a bulletin board, as using files attached to posts via titledb isn't well supported at all. It's very hacky and doesn't really follow releases as it would using a more normal host. If you could use GitHub via "releases" there is even better support for maintaining automatic versioning. Alternatively you could name the zip files with a version number such as CTGP-7_installer_1.0.0.zip or similar, incrementing on releases even while using dshack.org as the host and you would get a more functional entry.
Otherwise, can you tell me what you would like changed in here and I'll update it manually:
https://3ds.titledb.com/v1/entry/184
And in the full entry with files, you want CIA #1367 and TDSX #768 removed from this:
https://3ds.titledb.com/v1/entry/184?nested=true
Is that correct?

Now that you mention it, I have no idea why I'm not using github.
You can delete everything, and I'll resubmit it using the github link.
Just wondering, how can I edit the description, url, etc and which github url do I submit?

@mariohackandglitch The readme.md file is turned into the description, and the name, author, and headline are used from the GitHub project when an entry is first created. In this case, I think the easiest way to switch it over would be just to put up the files on GitHub and manually re-link the entry to the new source. If you want to make a project, and then upload the zip as a release for it, make sure it's a full release. If you flag it as "pre-release" then TitleDB will skip over it, which allows for public betas without TDB indexing them.
Once you have a release made, you can add it to TDB directly using the link to the .zip from the releases page, but you will still need to let me know the URL here on this issue ticket so I can update the backend to assign it the original entry ID. Otherwise it will be considered a conflicting ID since it comes from a different website than the previous versions and won't be publicly listed.
As I remember, the overall "entry" should update from GitHub automatically after it scans a version tracked release (so, the second release after I've updated the linking), but it is probably easier for me to just update it by hand to what you'd like for the mean-time since its a pre-existing project.

Here is the new link.
https://github.com/mariohackandglitch/CTGP-7_Launcher/releases/download/v1.0.0/CTGP-7_installer.zip
Could you set the name to "CTGP-7"? That way FBI will install the 3dsx to SD:/3ds/CTGP-7/CTGP-7.3dsx not SD:/3ds/CTGP-7_Launcher/CTGP-7_Launcher.3dsx"

Everything looks fine, except for the author, a lot of people made the mod,
people @ dshack.org or dshack.org is better.
Again, thanks a lot! ^^
El mié., 23 may. 2018 20:19, Ken Sanislo<EMAIL_ADDRESS>escribió:

@mariohackandglitch https://github.com/mariohackandglitch How does the
entry https://3ds.titledb.com/v1/entry/184 look for you now? Anything
else you'd like updated or changed in there?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ksanislo/TitleDB/issues/22#issuecomment-391448018,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKcIU-xfGZ_Iz8XEdZgyxNexwlcJfdjsks5t1agVgaJpZM4UG3_6
.

@mariohackandglitch No problem, updated to show dshack.org as the author on the entry. Sounds like we're fixed here now, and the site should properly track any new releases made via GitHub within about 15-30 minutes of their release. Let me know if you have any other troubles.


Refactored x86 instruction emulator

NOTE: This is not yet ready to be merged. It's work-in-progress, but given how how deep these changes will be, I'd like early feedback from other developers.
Last update: 2018-04-20.

I started rewriting the instruction emulator, as the current one is oversimplified to support a small subset of common instructions, but can't easily be extended to support others. This will fix issue #12 as well as many issues emulation-related in my guests.
Please let me know your thoughts/questions on the matter, and report any design issue, so that I can modify it in time. I'll keep updating this post as I progress with this task.
Design
The new emulator I'm working on is heavily inspired by KVM's x86 emulator [1], following these design choices (description is oversimplified but gives should give a rough idea):

Decoupled instruction decoder and instruction emulator. The decoder parses the instruction, storing the corresponding emulator handler and properties of destination/source operands in a context-like structure. The emulator uses this context to dispatch HAX_EXIT_FAST_MMIO to handle destination/source memory-operands and will execute the handler.

Emulator handlers will come in two flavors:

Most instructions, e.g. ALU-related, will be functions using inlined assembly (see remark 1) with just the emulated instruction where all operands have been replaced by fixed register-operands. These instructions are followed of additional code to save EFLAGS/RFLAGS.
Some instructions, e.g. branching-related, will be handled by custom functions specifically written for that particular instruction.

As expected, this emulator will be decoupled from vcpu.c into its own file emulate.c.

A high-level overview+comparison of the proposed changes can be found below (apologies for the bad handwriting but that was faster to sketch everything):

HAXM (old):
HAXM (new):

Remarks

MSVC doesn't support inlined assembly on x64, and (correct me if I'm mistaken) Xcode/LLVM doesn't support MASM syntax that we could use as alternative. This leaves us with two choices:

Duplicate the code for macOS and Windows driver-specific code, and let the linker solve the issue. This will be around 400 lines of code of otherwise unnecessary platform-specific code.
Write the assembly emulator handlers in (say) NASM, and configure Windows/macOS projects to use this external tool. This will add an extra dependency, but the code will be cleaner.

As far as I've analyzed the situation, none of these changes will require changes to the API that might break clients like QEMU.

As to where to put the new assembly code, I'd prefer the second solution which avoids code duplication. [...] What do you think?

Completely agreed. I will do that then.

Your Orbital project looks very interesting. Is HAXM relevant to you for both Windows and macOS?

Thank you. For now, my project is Windows/Linux-only for technical reasons unrelated to HAXM. Nevertheless, I'll make sure my emulator redesign doesn't break macOS (or anything else).

To test the decoder/emulator, I'm planning to use Microsoft's Native Unit Test Framework [1] since it's integrated nicely into Visual Studio, but I'm open to any suggestions. If you prefer another framework or want the tests to run in macOS too, let me know.

The idea is mapping each instruction to a single TEST_METHOD where every instruction variant will be tested, e.g. and reg,mem, and mem,reg, and reg,imm, etc. In every variant, we will specify the initial state, the instruction will be assembled (using Keystone), then decoded+execute by the HAXM emulator and the output state will be verified.
An example of similar unit tests I've written to test emulators can be found here: https://github.com/AlexAltea/nucleus/blob/master/tests/cpu/ppc/ppc_integer.cpp.
Let me know if you agree with the overall design.

I really like the idea of using a unit testing framework! It would surely benefit not only the new instruction emulator component, but the entire HAXM project :)
I've never used the Microsoft Unit Testing Framework. Here are my questions (some may be dumb):

Can we really run all tests in user space? That would be so cool, but I think most existing HAXM headers include hax_types_windows.h or hax_types_mac.h, which, in turn, includes headers from Windows DDK or Apple I/O Kit, so would there be a problem if you had to include such a header in your unit test .cpp (e.g. when you needed some data structures like vcpu_t)?
Is it possible to run these unit tests outside Visual Studio, so that they can be automated?
According to this article, Visual Studio 2017 also supports other unit testing frameworks like Google Test. I wonder if switching to Google Test now would make it easier to port the unit tests to Mac later (as well as to automate them)?

The idea of using an assembler API like Keystone is also brilliant. But does that mean we'll add a build-time dependency on Keystone (although only for the unit tests)? According to their GitHub page, Keystone is licensed under GPLv2, so I'm not sure if we have a license issue here...

I forgot to mention your sketch of the MMIO workflow - that's very nice! One of the biggest changes introduced by the new design is the "re-entry" arrow, so I'd like to understand it better. Basically, what is it about? What about the three small, black arrows?
I like the fact that the new design handles both vcpu_setup_fastmmio() and handle_mmio_post() in em_emulate_insn(), which is more consistent, probably because you now have a better per-vcpu emulation context.

Can we really run all tests in user space?

Yes, the emulator is completely isolated from the rest of the driver thanks to a very simple API [1] to perform simple tasks like reading/writing registers, memory, etc. The only external dependency would be some helper types. With few preprocessor lines we can alternate between hax_types* headers for kernel drivers and just a regular <stdint.h> typedef's. These are the only lines that we need in emulate.h to do this:
#ifdef HAX_TESTS
#include <stdint.h>
#else
#include "../include/hax_types.h"
#endif

Is it possible to run these unit tests outside Visual Studio, so that they can be automated?

Good point. It might require plenty of manual work to do so (I haven't found any article on the matter), so maybe using Google Test might be more convenient. I will look into it. :-)

But does that mean we'll add a build-time dependency on Keystone (although only for the unit tests)?

Yes, I'd recommend using vcpkg, so all you need to do is to run vcpkg install keystone and you should be ready to build the tests without polluting the solution/project.

Keystone is licensed under GPLv2, so I'm not sure if we have a license issue here...

Apparently, they explicitly allowed compatibility with BSD licenses:
https://github.com/keystone-engine/keystone/blob/master/EXCEPTIONS-CLIENT

One of the biggest changes introduced by the new design is the "re-entry" arrow, so I'd like to understand it better. Basically, what is it about? What about the three small, black arrows?

Every instruction might require multiple reads/writes, which cannot be handled in a single request to QEMU. For instance, after decoding neg [addr], the emulator needs to: (1) read addr, (2) negate the value and (3) write it back to addr.
When some the emulator needs to do a special operation, e.g. read/write MMIO, an "emulator exit" return code will signal every function in the driver call stack to return immediately (that's the small black arrows), until we are back in userland/QEMU to handle that request.
Then, once we return to the driver, specifically in vcpu_execute, we will check if the emulator had pending work, so we can continue with it. This process will repeat as many times as necessary. This is possible with relatively low overhead since the emulator context stores the decoded instruction, and other intermediates.

I finished removing all Microsoft-specific code and using instead Google Test and NASM. The current revision builds now on Windows and macOS (of course, it's unusable at the current state since the decoder/emulator isn't finished yet).

I now understand the arrows in the illustration, thanks!
Glad to know that Keystone is compatible with our license. vcpkg seems to be a good way to add Keystone to Windows build, although it means we are using more than one tool for dependency management (GTest seems to be managed by NuGet). That's not a big issue, especially if getting rid of NuGet would break the integration of GTest with VS2017. On Mac, I assume we could just install the Homebrew package for Keystone.

Sorry for the long wait!

No worries, I also went away last week to take a small break. I've addressed the issues you mentioned. Emulator functions, in particular em_emulate_insn return EM_CONTINUE (= 0) on success, EM_EXIT* (> 0) when QEMU handling is required, EM_ERROR* (< 0) on errors. Therefore I've mapped:

EM_CONTINUE: Maps to HAX_EXIT, except when it's being called inside vcpu_execute as it means emulation is finished and we can continue executing the VM.
EM_EXIT* (> 0): Maps to HAX_EXIT.
EM_ERROR* (< 0): Maps to HAX_RESUME.

So the last patch of this series has enabled the new instruction emulator, but have you run an integration test?

Not yet, and I'm not sure what would be the best way to make integration tests to test all of HAXM at once. Is it alright if I simply try to launch Debian (as shown in [1]) and Android image?
[1] https://www.qemu.org/2017/11/22/haxm-usage-windows/

Ok. Thanks for your help, I've addressed all your comments.

How much gap, in terms of functionality, is there between the old decoder/emulator and the new framework?

I've finished porting missing features today, including support for REP* prefixes. Now we should have the same functionality as the old emulator (plus a couple of new instructions). Regarding features, this PR can be considered "finished".
Now I'm testing Debian, but I'm still stuck at the BIOS stage: the OS freezes immediately after starting the QEMU and is followed by a Blue Screen. There might be other issues like this, so I'm going to test and fix them all. I will let you know once I consider this PR to be "ready to merge".

Getting there... :-)

Another, question: do you want me to squash all commits into a single one, or are you fine with keeping the Git history as-is in this pull request? Do you need any special Signed-off-by: ... message?

Getting there... :-)

Awesome, congrats!!

While I can successfully build HAXM on a macOS VM, I can't/won't test it.

No problem. You probably don't have the environment to test the 32-bit Windows driver either, so we'll run tests on these hosts.
I was trying to build this PR and ran into issues on both Windows and Mac. I'll describe them in a separate post.

Is there any alternative to test Android?

Hmm, you could install the stock HAXM first, and then unload it before loading the test-signed driver: sc stop intelhaxm. Alternatively, it's possible to run Android Emulator from the command line without installing the Android Studio IDE:

Download Android SDK tools from here (under Command line tools only)
Unzip the package.
Use sdkmanager (in %ANDROID_SDK_ROOT%\tools\bin\) to install emulator and at least one Android system image, e.g. system-images;android-27;google_apis_playstore;x86. (I don't think either of these would result in the force installation of stock HAXM.)
Use avdmanager (in %ANDROID_SDK_ROOT%\tools\bin\) to create an AVD (VM) configuration.
cd emulator\
List all AVD configurations: emulator -list-avds
Launch the AVD: emulator -avd <avd_name> -verbose

Do you need any special Signed-off-by: ... message?

Probably not this time, since we haven't defined our sign-off policy yet. But thanks for your consideration!

do you want me to squash all commits into a single one, or are you fine with keeping the Git history as-is in this pull request?

This is a great question. On one hand, having 20 commits for a big PR like this is better than having one huge commit. On the other hand, there's probably a better way to split the PR, so that each commit is self-contained and does not break the build. I'm thinking about squashing and re-splitting the PR into maybe 3 commits:
a) Upgrade the project to VS2017 format.
b) Implement the new instruction emulator.
c) Enable the new instruction emulator.
But I'm not sure if this idea is feasible, since I haven't given it much thought. E.g. should the emulator-vcpu interface go to b or c? (I guess the former.) I'm open to suggestions, and I'm happy to help you with the rebasing and re-splitting. Bottom line: the code itself (and the feature it enables) is more important than the look of the git history. We can make a reasonable effort to improve the git history, but at the end of the day, as long as the code works well, we'll accept it :)

On Mac I have just one issue, so let me describe that first.

These symbols don't really exist in the code. Apparently they are derived from the NASM routines (defined in core/emulate_ops.asm, e.g. em_add) by adding the _ prefix. It seems only the routines referenced by core/emulate.c have this problem. Any idea how to fix this?
You may not be able to reproduce the above error with an unsigned kext. But you can try this:
$ kextlibs -undef-symbols /path/to/intelhaxm.kext
For all architectures:
    com.apple.kpi.bsd = 17.5
    com.apple.kpi.iokit = 17.5
    com.apple.kpi.libkern = 17.5
    com.apple.kpi.mach = 17.5

For x86_64:
    17 symbols not found in any library kext:
        _em_add
        _em_xor
        _em_and
        _real_ncpus
        _em_test
        _em_neg
        _em_sbb
        _em_not
        _fastop_dispatch
        _em_dec
        _em_inc
        _em_or
        _em_cmp
        _cpu_number
        _em_sub
        _em_adc
        _mp_rendezvous_no_intrs

Note that a few symbols listed in this output (e.g. _mp_rendezvous_no_intrs) actually exist in the macOS kernel and can be ignored (they have nothing to do with this PR).
One more experiment:
$ nm -a build/intelhaxm.build/Release/intelhaxm.build/DerivedSources/emulate_ops.o
0000000000000180 T em_adc
0000000000000100 T em_add
0000000000000200 T em_and
0000000000000780 T em_andn
0000000000000740 T em_bextr
...
0000000000000280 T em_xor
00000000000007b6 T fastop_dispatch

(only original symbol names)
whereas:
$ nm -a build/intelhaxm.build/Release/intelhaxm.build/Objects-normal/x86_64/ia32.o
00000000000001ef T ___fls
00000000000001c5 T ___handle_cpuid
00000000000001e7 T ___nmi
000000000000015a T _btr
000000000000016d T _bts
0000000000000180 T _cpu_has_emt64_support
00000000000001ae T _cpu_has_nx_support
0000000000000197 T _cpu_has_vmx_support
0000000000000151 T _fxrstor
0000000000000148 T _fxsave
0000000000000000 T _get_cr0
0000000000000009 T _get_cr2
0000000000000012 T _get_cr4
...
00000000000000a2 T _set_dr7
00000000000000ef T _set_kernel_ds
00000000000000f7 T _set_kernel_es
00000000000000ff T _set_kernel_fs
00000000000000e7 T _set_kernel_gs

(only mangled symbol names)
So it seems we need to make NASM add the _ prefix?

I just tested this PR on Windows 10 x64. It seems there's still some debugging work to do ;-)

I also see the Debian boot menu as in your screenshot, but after I make a selection, the guest is stuck and never boots to shell or GUI.
The boot ROM test (qemu-system-x86_64 -accel hax) fails: the QEMU VGA screen stays black.
Android Emulator also boots to a hang (black screen).

Sorry about the macOS issue: I'm unfamiliar with that system, so I blindly followed README.md and thought a successful build was enough. Thanks for helping me with this one!
Also, I'll try to come up with the following way of splitting commits. If you agree I'll rewrite the Git history for my fork (after fixing all remaining issues):
a) Update to VS2017
b) Replace old emulator with new one
c) Add tests
I'll tackle the Debian/BootROM/Android issues. Not sure how long it will take, since I'm busy with other ongoing projects at the moment, but I'll comment again at this pull request once its done.

Thanks for helping me with this one!

I just dotted the i's and crossed the t's ;-) The portable NASM code you wrote was the key.

If you agree I'll rewrite the Git history for this PR (after fixing all remaining issues):

Update to VS2017
Add new emulator
Remove old emulator and implement interface to the new one.
Add tests

I absolutely agree. This is better than my proposal :-)

I'll tackle the Debian/BootROM/Android issues. Not sure how long it will take, since I'm currently busy with other ongoing projects, but I'll comment again at this PR once its done.

Sure. Meanwhile I'll review the existing code more carefully and see if I can spot any bug.

The latest couple of patches have fixed the hang (black screen) issue, thanks :-) Some guests (such as debian_squeeze_i386_desktop.qcow2) even boot to GUI now - that's massive progress in a day!
At least two issues remain:

Some guests still won't boot up. E.g. debian_wheezy_amd64_standard.qcow2 seems to run into a disk error.
Text output to the QEMU VGA display is not fully correct. E.g. the line that is supposed to print the SeaBIOS version (SeaBIOS (version XXX)) only prints S.

My guess is that there's still a bug in either the decoding or emulation of some 16-bit (real mode) instruction.

Some guests still won't boot up. E.g. debian_wheezy_amd64_standard.qcow2 seems to run into a disk error.

I'm stuck with this last issue, it's hard to grasp what's wrong and I barely have time these days, so it might take few extra days.
I'm curious about debugging: So far I've just put hax_warning's and logged messages with DebugView. However these hax_* logging functions are implemented in Windows relying on vDbgPrintExWithPrefix which is limited to a 512 byte buffer, so I frequently lose logs if I generate lots of messages. So far, I've worked around the issue inserting extra delays after every message, but that's suboptimal. Do you guys use any other approach? Probably I should use WinDbg to get what's going on...
I've

All the changes made by the latest patch look good, but for some reason there's a regression: the boot ROM test now hangs at Booting from floppy.
I was able to spot and fix a bug in the SIB decoding logic. Now the debian_wheezy_amd64_standard.qcow2 test is passing, but the regression is still there.
I also debug HAXM by inserting hax_warning(), etc. and capturing logs with DbgView, but I've never had the buffer overflow problem. There's a "Log to file" option in DbgView - maybe you could try that? Anyway, according to MSDN, the 512-byte buffer is for each message:

Any single call to DbgPrint, DbgPrintEx, vDbgPrintEx, vDbgPrintExWithPrefix, KdPrint, or KdPrintEx transmits only 512 bytes of information. Any output longer than the 512 bytes is lost.

So you could always split a long message into several print calls. There's another 4KB buffer that may limit the rate at which DbgPrint can be called, but it seems adjustable:

The DbgPrint buffer itself can hold up to 4 KB of data on a free build of Windows, and up to 32 KB of data on a checked build of Windows. On Windows Server 2003 and later versions of Windows, you can use the KDbgCtrl tool to alter the size of the DbgPrint buffer. This tool is part of Debugging Tools for Windows.

I forgot to mention that, despite all my effort so far to fix the Win32 build, it's still failing :-(
(In EWDK 10 build environment)
> msbuild HaxmDriver.sln /p:Configuration="Win7 Debug" /p:Platform="Win32"
...
  haxlib.lib(emulate.obj) : error LNK2001: unresolved external symbol _em_not@0 [<redacted>\windows\IntelHaxm.vcxproj]
  haxlib.lib(emulate.obj) : error LNK2001: unresolved external symbol _em_neg@0 [<redacted>\windows\IntelHaxm.vcxproj]
  ...
  haxlib.lib(emulate.obj) : error LNK2019: unresolved external symbol _fastop_dispatch@20 referenced in function _em_emulate_insn@4 [<redacted>\windows\IntelHaxm.vcxproj]

dumpbin /symbols core\Win7Debug\x86\emulate_ops.obj clearly shows that the generated symbols have the correct prefix (_). But apparently the linker is also looking for a certain suffix, e.g. @0 or @20. Any idea what that is about?

This looks like some sort of C++ name mangling? I'll investigate it.
Also, my latest commit (I force-pushed it 5 min ago solves the Floopy thing but Debian is still broken)

Good news: debian_wheezy_amd64_standard.qcow2 boots a little further, although there's still some timeout issues are still printed to screen during initialization, and eventually gets stuck at Starting MTA: exim4.
As for the Win32 linking issues, some of them are fixed, but the tests still complain on em_decode_insn, em_emulate_insn. If I'm understanding this correctly, it seems that haxlib uses stdcall by default, while tests use cdecl by default. Changing either setting causes problems. :-/
I'll investigate both issues further.

For Android, I've tried both an x86 (32-bit) AVD, system-images;android-P;google_apis;x86, and an x86_64 AVD, system-images;android-P;google_apis;x86_64. I launch Android Emulator from the command line:
> cd %ANDROID_SDK_ROOT%\emulator\
> emulator -avd <avd_name> -verbose -show-kernel -no-snapshot -memory 1536

The -no-snapshot flag disables AVD snapshot saving/loading (we can re-enable that later to test quickboot after we get cold boot working). The -memory flag is necessary if the AVD was created using the command-line tool avdmanager, which does not specify a RAM size, and the default RAM size (1024MB) is not enough for recent versions of Android.
The x86 AVD boots up to home screen, but is not really usable, because it doesn't seem to know where my mouse cursor is (the cursor position is crucial for touch screen emulation).
The x86_64 AVD hangs at the Android boot animation, which seems to run at an incredibly slow speed.

One thing we should investigate in advance is whether NASM supports VMX instructions, e.g. VMLAUNCH, INVEPT, etc.,

Yes, they are supported by NASM: https://www.nasm.us/xdoc/2.13.03/html/nasmdocb.html#section-B.1.13

Yes, they are supported by NASM: https://www.nasm.us/xdoc/2.13.03/html/nasmdocb.html#section-B.1.13

Great! Currently, INVEPT is not implemented for Win32, since it is not supported by Win32 MASM. So rewriting the existing assembly code in NASM has the extra benefit of getting that fixed :-)

As of 8acf0a6, NASM is a NuGet dependency. Meaning that as soon as you press "Build solution", Visual Studio will download and add build customizations automatically

This works perfectly, thanks! Previously, I had some trouble with the VSNASM installation script, and had to resort to manual installation.

Not sure how NuGet works with EWDK (I've never used it).

Once I've resolved the NuGet dependencies in VS2017, I can also build the solution with EWDK, so it was really easy. It seems possible to manually install a NuGet dependency from outside VS2017 as well, using the NuGet CLI tool, and I'll give it a try. Either way, if we leave aside the optional tests project, where the Keystone dependency is yet to be converted to NuGet, setting up the build environment for this PR is a smooth process now.

I've published a Keystone package at NuGet: https://www.nuget.org/packages/keystoneengine/.
Now building on Windows, including tests, is completely straightforward.
Regarding your earlier comment: While it's true that we have Configurations that don't match naming conventions expected by vcpkg.targets, the project tests.vcxproj (which is the only consumer of Keystone) only uses Debug and Release configurations, so we are good.

Now building on Windows, including tests, is completely straightforward.

Indeed, thanks! This time I didn't rely on VS2017 to resolve the new NuGet dependency. It's very simple:

Download nuget.exe from https://www.nuget.org/downloads (no installation required).
Run \path\to\nuget.exe restore from the root of the HAXM source tree.

The new patch looks good, thanks! The only remaining issue is the Clang warning about __stdcall being ignored for Mac (x86_64) build. I've suggested a possible fix:
https://github.com/intel/haxm/pull/42#discussion_r189856377
Could you take care of it? Then we can go ahead with the Git history revamp.

It turns out there are 2 more warnings, due to the use of __stdcall in emulate.c

Actually, there's no need to fix this now if you've already started cleaning up the history. Please feel free to address it in one of the final commits.

@raphaelning Done! :-)
I've checked that every commit along the way builds successfully on 32-bit and 64-bit mode (under Windows), so that we don't break git bisect or anything.

Thank you so much! The final patches look great, and there's no warning from the macOS build. I'll proceed with the merge.


Modes and Environment Variables don't work when I use the command vue-cli-service build --mode xxx

Version
4.5.8
Reproduction link
https://github.com/wangxiaocuo/bugs-colllection/tree/master/vue-cli3-build-mode
Environment info
Environment Info:

  System:
    OS: macOS 11.2
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Binaries:
    Node: 12.18.4 - /usr/local/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.14.6 - /usr/local/bin/npm
  Browsers:
    Chrome: 88.0.4324.150
    Edge: Not Found
    Firefox: 70.0.1
    Safari: 14.0.3
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.2.1
    @vue/babel-helper-vue-transform-on:  1.0.2
    @vue/babel-plugin-jsx:  1.0.3
    @vue/babel-plugin-transform-vue-jsx:  1.2.1
    @vue/babel-preset-app:  4.5.11
    @vue/babel-preset-jsx:  1.2.4
    @vue/babel-sugar-composition-api-inject-h:  1.2.1
    @vue/babel-sugar-composition-api-render-instance:  1.2.4
    @vue/babel-sugar-functional-vue:  1.2.2
    @vue/babel-sugar-inject-h:  1.2.2
    @vue/babel-sugar-v-model:  1.2.3
    @vue/babel-sugar-v-on:  1.2.3
    @vue/cli-overlay:  4.5.11
    @vue/cli-plugin-babel: ~4.5.0 => 4.5.11
    @vue/cli-plugin-eslint: ~4.5.0 => 4.5.11
    @vue/cli-plugin-router:  4.5.11
    @vue/cli-plugin-vuex:  4.5.11
    @vue/cli-service: ~4.5.0 => 4.5.11
    @vue/cli-shared-utils:  4.5.11
    @vue/component-compiler-utils:  3.2.0
    @vue/preload-webpack-plugin:  1.1.2
    @vue/web-component-wrapper:  1.3.0
    eslint-plugin-vue: ^6.2.2 => 6.2.2
    vue: ^2.6.11 => 2.6.12
    vue-eslint-parser:  7.5.0
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.9.6 (16.1.2)
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.11 => 2.6.12
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: 4.5.8

Steps to reproduce
Run command npm run build:uat or vue-cli-service build --mode uat
What is expected?
Alert outputs the variable of the production environment
What is actually happening?
Alert outputs the variable of the uat environment

Can't reproduce with the given reproduction:

Maybe it's caused by browser cache?

Sorry, misunderstood the issue. Please ignore the previous comment.

I think it's the expected behavior.
.env.uat should be used when --mode uat is specified. That's what the documentation says.

I think it's the expected behavior.
.env.uat should be used when --mode uat is specified. That's what the documentation says.

It's so strange that I did a good job after updating the node version v14.15.5, but there was something wrong with the old node version v12.18.4

After repeated testing, I mistakenly thought that the reason for the bug was the browser cache of the development environment.


[Table] Phase 1 Feature - Conditional Headers

Read through:

If-Match header in

https://docs.microsoft.com/en-us/rest/api/storageservices/update-entity2
https://docs.microsoft.com/en-us/rest/api/storageservices/merge-entity
https://docs.microsoft.com/en-us/rest/api/storageservices/delete-entity1

Azurite V3 Table wiki

Implement following parts:

[ ] Update merge/update/delete entity implementations in  LokiTableMetadataStore.ts
[ ] Add test cases

@Guilhermeslucas Sure! Sent you an invitation to join Azurite project thus I can assign this to you.

Already implemented.


Refactor get topics api calls

From @yfzwinnie on September 11, 2018 16:31
Currently, we are making a call to get a list of topics everytime we navigate to the topics page, guided assistant page, and home page. Need to refactor so we're only making that call once and again when location changes.
Copied from original issue: Microsoft/Access2Justice#457

@svasylenko Please confirm that this is complete.


[Bug] Allow user to select multiple times the same pivot

after fix this reported issue 5635
this feature stopped working
Allow user to select multiple times the same pivot

Hello @rezahmady thanks for the report.
Can you provide some reproduction steps ? (ideally a simple repository we can clone to test your code with only the relevant model/migrations and crud controllers to reproduce this scenario).
We have some tests in place, and they are passing https://github.com/Laravel-Backpack/CRUD/blob/dee2eeca96190ade092bc2777c95275ec3d4130c/tests/Unit/CrudPanel/CrudPanelCreateTest.php#L795
Cheers

my relation in Video model:
public function crew_people(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
    {
        return $this->belongsToMany(CrewPeople::class,'crew_people_video', 'video_id', 'crew_people_id')
            ->withPivot(['crew_role_id', 'id', 'star']);
    }

this is my field

[
                [
                    'name'          => 'crew_people',
                    'type'          => "relationship",
                    'label' => '',
                    'allow_duplicate_pivots' => true,
                    'new_item_label'  => trans('crew::lang.add_crew_people'),
                    'tab' => trans('crew::lang.crew_people_plural'),
                    'subfields'   => [
                        [
                            'name' => 'crew_role_id',
                            'label' => trans('crew::lang.crew_role_singular'),
                            'type' => "select2_from_array",
                            'options' => CrewRole::pluck('name', 'id')->toArray(),
                            'wrapper' => [
                                'class' => 'form-group col-md-4',
                            ],
                            'placeholder' => trans('crew::lang.crew_role_plural_placeholder'),
                        ],
                        [
                            'name' => 'star',
                            'label' => trans('crew::lang.crew_star'),
                            'type' => "switch",
                            'wrapper' => [
                                'class' => 'form-group col-md-2 pt-5',
                            ],
                        ]
                    ],
                    'pivotSelect'=> [
                        // 'attribute' => "title", // attribute on model that is shown to user
                        'label' => trans('crew::lang.crew_people_singular'),
                        'placeholder' => trans('crew::lang.crew_placeholder'),
                        'wrapper' => [
                            'class' => 'col-md-6',
                        ],
                        'inline_create' => true,
                        // note that just like any other select, enabling ajax will require you to provide an url for the field
                        // to fetch available options. You can use the FetchOperation or manually create the enpoint.
                        'ajax' => true,
                        'minimum_input_length'    => 0,
                        'data_source' => url('/api/crew/people'),
                    ],
                ]
            ]

but result

I can't choose Eddie (first item) twice
whene i remove this line in field properties is correct
'inline_create' => true,

the main problem is inline create

Thanks @rezahmady I was able to reproduce and fix the issue.
I've just released backpack/pro 2.2.28 with the fix. Please allow a few moments for our private repository to pick up the changes and you should be able to get the fixed version 👍
Let us know if you are still experiencing issues.
Cheers

@pxpm I've the latest version of backpack and now I'm getting this: jQuery.Deferred exception: $allowDuplicatePivots is not defined ReferenceError: $allowDuplicatePivots is not defined
The structure is the following:
CRUD::field([
    'name' => 'paths',
    'label' => __('backend/museum.info.paths'),
    'type' => 'relationship',
    'entity' => 'paths',
    'attribute' => 'name',
    'pivot' => true,
    'multiple' => true,
    'model' => 'App\Models\MuseumPath',
    'inline_create' => ['entity' => 'museum-path'],
    'wrapper' => [
        'class' => 'form-group col-md-12'
    ],
    'subfields' => [],
    'pivotSelect' => [
        'label' =>  __('backend/museum.paths.select_path'),
        'inline_create' => [
            'entity' => 'museum-path',
            'modal_route' => route('museum-path-inline-create'),
        ],
        'data_source' => route('museum.fetchMuseumPaths'),
    ],
    'tab' => $paths_tab,
]);

public function paths()
{
    return $this->belongsToMany(MuseumPath::class, 'museum_museum_path');
}


⚠ Bofrost.at has degraded performance

In 2a56a6c, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1014 ms

Resolved: Bofrost.at performance has improved in 17a199c.


imap variant doesn't work

Platform
OS: macOS Catalina 10.15.4
Running PHP: 7.3.11 (system PHP)
Installing PHP: 5.6.40 and 7.4.4
The "imap" variant specifies only the --with-imap-ssl flag, but this is incomplete and PHP is not compiled with IMAP support. The variant should be specifying both --with-imap[=DIR] and --with-imap-ssl[=DIR]. --with-imap-ssl does not imply --with-imap. PHP's IMAP documentation confirms this:

To get these functions to work, you have to compile PHP with --with-imap[=DIR], where DIR is the c-client install prefix.
...
Note: Depending on how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/openssl/ and/or --with-kerberos=/path/to/kerberos to the PHP configure line.

I prepare the fresh and clean Ubuntu 18.04 to try to reproduce the issue.
Here are commands I run:

Install the required package for compiling the PHP with default extensions via the phpbrew.
Installing the latest stable PHPBrew version.
Running the sudo apt-get install libc-client-dev libkrb5-dev to compile the IMAP extension.
Running  the  ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a to let PHP configuring know where the IMAP library is.
Running the phpbrew install 7.0 +default +imap command to install/build the latest PHP 7.0 version.
After compiling the PHP 7.0 version, running the phpbrew switch php-7.0.33 command to switch current installed version.
Running the php -i to look at the related Configure Command message. And the message is as follows:

'./configure'  '--cache-file=/root/.phpbrew/cache/config.cache' '--prefix=/root/.phpbrew/php/php-7.0.33' '--with-config-file-path=/root/.phpbrew/php/php-7.0.33/etc' '--with-config-file-scan-dir=/root/.phpbrew/php/php-7.0.33/var/db' '--disable-all' '--enable-phar' '--enable-session' '--enable-short-tags' '--enable-tokenizer' '--with-pcre-regex' '--with-zlib=/usr' '--with-libdir=lib/x86_64-linux-gnu' '--enable-cgi' '--with-imap' '--with-kerberos' '--with-imap-ssl=/usr' '--enable-dom' '--enable-libxml' '--with-libxml-dir=/usr' '--enable-simplexml' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' '--with-xsl' '--enable-opcache'

As we can see the above outputs, the '--with-imap-ssl=/usr' is added correctly.
I think the issue can be closed.


scDEED with a matrix

The manual page claims that:

input_data: a Seurat object or a count matrix with rows as the genes

But it doesn't seem to work for a count matrix.
The data object below is a Seurat object, created following the code shown in the README:
> data
An object of class Seurat
33391 features across 10000 samples within 1 assay
Active assay: RNA (33391 features, 2000 variable features)
 3 layers present: counts, data, scale.data
 2 dimensional reductions calculated: pca, tsne
> m <- data<EMAIL_ADDRESS>> class(m)
[1] "matrix" "array"
> dim(m)
[1] 33391 10000
> scDEED(m, K = 8, reduction.method = 'tsne', perplexity = 40)
[1] "Permuting data"
  |==========                                                                                |  10%Error in UseMethod(generic = "DefaultAssay<-", object = object) :
  no applicable method for 'DefaultAssay<-' applied to an object of class "c('matrix', 'array', 'double', 'numeric')"

Session information
> sessionInfo()
R version 4.3.3 Patched (2024-02-29 r86264)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Manjaro Linux

Matrix products: default
BLAS:   /usr/lib/libblas.so.3.12.0
LAPACK: /usr/lib/liblapack.so.3.12.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

time zone: Europe/Brussels
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] Seurat_5.0.3       SeuratObject_5.0.1 sp_2.1-3           scDEED_0.1.0

loaded via a namespace (and not attached):
  [1] deldir_2.0-4           pbapply_1.7-2          gridExtra_2.3          rlang_1.1.3
  [5] magrittr_2.0.3         RcppAnnoy_0.0.22       spatstat.geom_3.2-9    matrixStats_1.2.0
  [9] ggridges_0.5.6         compiler_4.3.3         png_0.1-8              vctrs_0.6.5
 [13] reshape2_1.4.4         stringr_1.5.1          pkgconfig_2.0.3        crayon_1.5.2
 [17] fastmap_1.1.1          labeling_0.4.3         utf8_1.2.4             promises_1.3.0
 [21] purrr_1.0.2            jsonlite_1.8.8         goftest_1.2-3          later_1.3.2
 [25] spatstat.utils_3.0-4   irlba_<IP_ADDRESS>          parallel_4.3.3         cluster_2.1.6
 [29] R6_2.5.1               ica_1.0-3              stringi_1.8.3          RColorBrewer_1.1-3
 [33] spatstat.data_3.0-4    reticulate_1.35.0      parallelly_1.37.1      lmtest_0.9-40
 [37] scattermore_1.2        Rcpp_1.0.12            tensor_1.5             future.apply_1.11.2
 [41] zoo_1.8-12             fortunes_1.5-4         sctransform_0.4.1      httpuv_1.6.15
 [45] Matrix_1.6-5           splines_4.3.3          igraph_2.0.3           tidyselect_1.2.1
 [49] abind_1.4-5            spatstat.random_3.2-3  codetools_0.2-20       miniUI_<IP_ADDRESS>
 [53] spatstat.explore_3.2-7 listenv_0.9.1          lattice_0.22-6         tibble_3.2.1
 [57] plyr_1.8.9             withr_3.0.0            shiny_<IP_ADDRESS>          ROCR_1.0-11
 [61] Rtsne_0.17             future_1.33.2          fastDummies_1.7.3      survival_3.5-8
 [65] polyclip_1.10-6        fitdistrplus_1.1-11    pillar_1.9.0           KernSmooth_2.23-22
 [69] plotly_4.10.4          generics_0.1.3         RcppHNSW_0.6.0         ggplot2_3.5.0
 [73] munsell_0.5.1          scales_1.3.0           globals_0.16.3         xtable_1.8-4
 [77] glue_1.7.0             lazyeval_0.2.2         tools_4.3.3            data.table_1.15.4
 [81] RSpectra_0.16-1        RANN_2.6.1             leiden_<IP_ADDRESS>         dotCall64_1.1-1
 [85] cowplot_1.1.3          grid_4.3.3             tidyr_1.3.1            colorspace_2.1-0
 [89] nlme_3.1-164           patchwork_1.2.0        cli_3.6.2              spatstat.sparse_3.0-3
 [93] spam_2.10-0            fansi_1.0.6            viridisLite_0.4.2      dplyr_1.1.4
 [97] uwot_0.1.16            praise_1.0.0           gtable_0.3.4           rmsfact_0.0.3
 [ reached getOption("max.print") -- omitted 11 entries ]

Hi,
Apologies, the manual page was incorrect. I overlooked the manual page while doing the update. It is updated now. Please re-install the package to the latest version.
input_data must be a Seurat object. Previously, if a count matrix was input, it would internally be turned into a Seurat object. We have removed this for greater user flexibility with pre-processing.
Best,
Christy

OK, thank you.
I would have found it useful to be able to work some a matrix, which would have allowed more easily to step away from Seurat.

We wanted the package to be compatible with popular, existing pipelines like Seurat, and we also used Seurat for many of the functions. Unfortunately, the package is dependent on Seurat. If you would like to move away from Seurat in your analysis, I would suggest temporarily using Seurat for scDEED, extracting the optimized embeddings, and then continuing analysis without Seurat.


Not able to do maths on the query expression

Hey!
I tested to improve the default dashboard by customized prometheus query and I'm surprised that it does not work with the ArgoCD extension while it works directly with Prometheus.
sum(rate(container_memory_usage_bytes{pod=~\"{{ "{{" }}.name{{ "}}" }}\", container!=\"POD\", image!=\"\", container!=\"\", container_name!=\"POD\"}[5m])) by (pod)/1000/1000"

For instance, I want to display the memory usage in megabytes (so we divide by 10^6). However, it continues to display the metrics in bytes in argoCD
Could you help me to know why it does not work?
Thank you!

Hey!
Try this
round(sum(container_memory_usage_bytes{pod=~\"{{.name}}\", container!=\"POD\", image!=\"\", container!=\"\", container_name!=\"POD\"}) by (pod) / 1024 / 1024, 0.01)


Discussion | Support ZK-STARKs

Goal: Implement and Support ZK-STARKs in AnonCoin
Description: Let's consider how to integrate and use ZK-STARKs, possibly leveraging the work upstream.
Why?: To make transactions full anonymous and verifiable.

Want to support this issue? Post a bounty on it! We accept bounties via BountySource.

Hay ghbjklhv,
ya I'm open to working on code again, including ZK integration for
AnonCoin, if that is what the community wants, it could mean allot to the
project.  Early on, this was a main focus, allot has been learned about
ZeroKnowledge since then, allot has been done to address this Item: 'assume
that when using a ZK-SNARK system, the trusted setup phase is secure'
So maybe your call to implement that now, is the right time. Just saying....
Fact is I've been out of the loop since '14-15, and allot has changed in
the Crypto world, plus Meeh is back & may have goals I can only guess at.
Have not had any contact with him or the Dev Team until now, so do not know
anymore than the rest of you.
On Wed, Jun 12, 2019 at 4:59 PM ghbjklhv<EMAIL_ADDRESS>wrote:

Goal: Implement and Support ZK-STARKs
https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d
in AnonCoin
Description: Let's consider how to integrate and use ZK-STARKs,
possibly leveraging the work upstream.
Want to support this issue? Post a bounty on it! We accept bounties via
BountySource https://www.wikipedia.org/wiki/Bountysource.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Anoncoin/anoncoin/issues/29?email_source=notifications&email_token=AB7JI73RMPKK3M3AO3RDZILP2F5VRA5CNFSM4HXT36S2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GZFYZXQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB7JI7YM2JG472KFKHGU5L3P2F5VRANCNFSM4HXT36SQ
.

ghbjklhv - I'm going to close this topic as an issue for now.  We are all aware of the need and desire to move toward solutions like Zero Knowledge can provide. Its a large and complex topic.
Getting a new road map together, where this may or may not be included depends allot on manpower and what Meeh wants us to focus on, after all, we are fortunate to still have the coin's Inventor alive and involved in the project.  How many coins can you say that for? Not many.  This topic is important ghbjklhv, it will not be forgotten...
GR


IE11: Layout problems in detail view in

Headline below header bar
Back button misses arrow icon

Cannot replicate your bug - but I fixed list item heights in stream view by converting list to table


Fix an array parse error

When parse an array with config keep_arrays_single_line = true, output_json.replace(m, replacement) will replace more than once if another array is a subset of current.
Example:
{"a": [1],"b": [2,3,1]}
should be parsed like:
{
    "a": [1],
    "b": [2, 3, 1]
}

but actually got
{
  "a": [1],
  "b": [
    2,
    3,1]
}

thank you!


chore: upgrade charts

updated chart jx3/lighthouse from 1.1.3 to 1.1.5
updated chart jx3/local-external-secrets from 0.0.6 to 0.0.13

/retest

/retest


[QUESTION] How to build the following with 3.x

Prerequisites

[X] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[X] Able to reproduce the behaviour outside of your code, the problem is isolated to Laravel Excel.
[X] Checked that your issue isn't already filed.
[X] Checked if no PR was submitted that fixes this problem.
[X] Filled in the entire issue template

Versions

PHP version: PHP 7.2.19 (cli) (built: Jun 28 2019 03:30:15) ( NTS )
Laravel version: v6.1.0
Package version: 3.1.17

Description
Hi,
I saw, that the Load function got replaced by the Import function with version 3.x.
With the old version i simply used the Load function, got the number of rows, imported them and fired the progress back to my Vue.js client after each imported line.
Was working perfect. Now iam using the new Import function with a separate GuestsImport class, and i don't know, how to get the number of rows within and how to fire my event there. Any ideas?
Steps to Reproduce
Expected behavior:
Was working perfect. Now iam using the new Import function with a separate GuestsImport class, and i don't know, how to get the number of rows within and how to fire my event there. Any ideas?
`
Excel::load($request->file('file')->path(), function($reader) use ($request) {
if ($arrSheet = $reader->get()) {
    $intRows = count($arrSheet);

    foreach ($arrSheet as $key => $row) {

        $model = Guest::where('event_id', $this->eventId)->where('email', $row->email)->first();
        $model = $model ?: new Guest;
        $model->fill($row->toArray());
        $model->event_id = $this->eventId;
        $model->save();
        event(new GuestImportProgress($intRows, $key+1));
    }
};

});
`

Our reader class has a getTotalRows() method. You can call that within one of our import events listeners.


Use System.Buffers Nuget package

Please describe why this is necessary for you.  I think I did it my way because of platform targeting issues

@adamhathcock what issues? I did this because it's best practice not to include libs in source control, but via a package manager (i.e Nuget)

That’s great and all but the older platforms didn’t like the multi-targeting.  Build isn’t passing anyway.
If I go netstandard only then this will be a thing to do.  I didn’t take it lightly then choosing to absorbing code instead of a reference

@adamhathcock Fixed the build


Start-Transcript in Powershell .NET Interactive notebook hides future output

PowerShellTranscriptFailure.zip
Once Start-Transcript appears on a PowerShell notebook, any attempt to output to the notebook fails.
See attached notebook for a repro.

I can repro this and as a user that has transcription enabled by default on every execution of PowerShell this is a pain point for making use of Jupyter Notebooks going forward.

However that being said there is an Output-Display command (which technically isn't needed) you may be able to make use of as a bad & unneccessary workaround @gauravjag

I'm not familiar with the Start-Transcript implementation but I would venture a guess that it's interfering with .NET Interactive's console output redirection.
@daxian-dbw Any ideas?

It's not clear to me why it would interfere with the console output redirection. It looks like the powershell kernel doesn't write to console anymore after enabling transcription. I will need to attach a debugger to further investigate this.

This is because PowerShell automatically adds 'Out-Default -Transcript' to the end of pipeline when it's transcribing and invoked via API. When -Transcript is specified, objects passed through are transcribed but are not passed ahead to the host.
The PowerShell sub-kernel actually already adds Out-Default to pass output to host, however, we have to use Out-Default2 as the name due to a limitation in the native command processor. Since we are using Out-Default2, PowerShell believes it doesn't have the Out-Default command at the end, and thus adds Out-Default -Transcript automatically, which prevents sending anything to the host and hence you don't see output when the transcription is turned on.
This needs to be fixed in PowerShell code, at here, to not just check for the Out-Default name, but also check whether the ImplementingType is typeof(OutDefaultCommand). I will open an issue in PowerShell repo and get it fixed there.

Thanks, @daxian-dbw!
I'm going to leave this open for tracking purposes until we pull the bug fix into .NET Interactive.


nm.team: Check if "device" exists before delete it

If a team interface with options is set using nmcli then "device" is not
found in the team JSON configuration because is optional.
Signed-off-by: Fernando Fernandez Mancera<EMAIL_ADDRESS>

Coverage remained the same at ?% when pulling 869aa7203253bda81cfc16ab8af1146f3562ecc1 on ffmancera:team_popdevice into da707f31370a5fd2951e72fb585aedd31d9cfc60 on nmstate:master.

Coverage remained the same at ?% when pulling 869aa7203253bda81cfc16ab8af1146f3562ecc1 on ffmancera:team_popdevice into da707f31370a5fd2951e72fb585aedd31d9cfc60 on nmstate:master.


Stable merge for week 4 of 2024

New Packages

move-logs-to-opt - 0.0.1-1 (#821)

Move log files to /opt to avoid filling up the root partition.

oxide-extra and liboxide-dev - 2.7-3 (#760)

Updated Packages

folly - 0.0.1-4 (#823)
koreader - 2024.01-1 (#826)
linux-stracciatella - <IP_ADDRESS>-1 (#808)
oxide,  oxide-utils, inject_evdev, and liboxide - 2.7-3 (#760)
puzzles - 0.2.4-4 (#785)
rm2-suspend-fix - 0.0.0-3 (#821)
genie - 0.1.7-1 (#825)
harmony - 0.2.3-1 (#825)
iago - 0.1.2-1 (#825)
remux - 0.3.0-1 (#825)
simple - 0.2.1-1 (#825)
tilem - 0.1.1-1 (#764)
toltec-base - 1.3-1 (#806)
yaft - 0.1.1 (#763)
zoneinfo-utils - 2023c-1 (#702)
rmfakecloud-proxy - 0.0.3-5 (#757 #831)

Packages removed

erode, tarnish, decay, and corrupt

Replaced by oxide

fret, and anxiety

Replaced by oxide-extra

rot

Replaced by oxide-utils

This needs #831 in order to merge to stable

Device: rM1
Version: <IP_ADDRESS>6
I am not sure if this is an issue with zoneinfo-utils or timedatectl but I am not able to set the timezone.

I also tried America/Bahia to no avail. Will try v2.15 soon.

Device: rM1 Version: <IP_ADDRESS>6
I am not sure if this is an issue with zoneinfo-utils or timedatectl but I am not able to set the timezone.  I also tried America/Bahia to no avail. Will try v2.15 soon.

Could you double-check to make sure that the bind mount is active?
https://github.com/toltec-dev/toltec/blob/2cad2a2a5443c9d3bf9593d36320d214eadf8c61/package/zoneinfo-utils/package#L71-L72
Timedatectl will list the full list, even if they aren't available. That said, installing this will make more available. By default, it'll just install zoneinfo-core, so you may need to also install one of the other zoneinfo-*packages.

Looks like it is. I will look further into it.

It set Europe/London fine so no worries.

Device: rM1
Version: <IP_ADDRESS>6
Genie does not seem to be able to load the config at /opt/etc/genie.conf

I also tried ~/.config/genie/genie.conf to no avail.

Device: rM1 Version: <IP_ADDRESS>6
Genie does not seem to be able to load the config at /opt/etc/genie.conf
I also tried ~/.config/genie/genie.conf to no avail.

Have you put config in /opt/etc/genie.conf yet? The package only creates /opt/etc/genie.example.conf, and assumes that the user will create a configuration file.

Yeah you can see the contents in the screenshot

Yeah you can see the contents in the screenshot

Apologies, it's late. Have you tried running the genie service instead of running it by hand?

That works just fine, looks like the config path needs to follow the command if it is not in the current directory.
Via genie.service ExecStart=/opt/bin/genie /opt/etc/genie.conf

Oxide seems to be failing while upgrading do to fret. I did a fresh install of oxide 2.6-3 from the stable toltec repo and had it working fine. Then I added the testing packages to a local repo. When installing oxide 2.7-3, it seems to have an issue with fret.
I will also mention I installed the .ipk from .cache before configuring the local repo and in that case I had issues with fret as well.

Oxide seems to be failing while upgrading due to fret. I did a fresh install of oxide 2.6-3 from the stable toltec repo and had it working fine. Then I added the testing packages to a local repo. When installing oxide 2.7-3, it seems to have an issue with fret.
I will also mention I installed the .ipk from .cache before configuring the local repo and in that case I had issues with fret as well, where I had to remove it manually.

Oxide still seems to work fine and then I can remove fret no problem.

I see that you are "upgrading" by telling it to install the oxide package. Could you try this test by doing the recommended full system upgrade, so that all package updates can be processed at once? https://remarkable.guide/guide/software/toltec.html#updating-your-installation

Here is the output from an upgrade, still seem to be catching some error with fret.
reMarkable: ~/ opkg upgrade
Upgrading genie on root from 0.1.6-3 to 0.1.7-1...
Downloading file:///home/root/packages/local/rmall/genie_0.1.7-1_rmall.ipk
Upgrading oxide-utils on root from 2.6-3 to 2.7-3...
Downloading file:///home/root/packages/local/rmall/oxide-utils_2.7-3_rmall.ipk
Installing libpython3 (3.11.7-1) to root...
...
Installing reboot-guard (1.0.1-8) to root...
Downloading https://toltec-dev.org/stable/rmall/reboot-guard_1.0.1-8_rmall.ipk
Upgrading liboxide on root from 2.6-3 to 2.7-3...
Downloading file:///home/root/packages/local/rmall/liboxide_2.7-3_rmall.ipk
Removing obsolete file /opt/lib/libliboxide.so.2.6.0.
Removing obsolete file /opt/lib/libliboxide.so.2.6.
Upgrading oxide-utils on root from 2.6-3 to 2.7-3...
Removing package rot from root...
Upgrading oxide on root from 2.6-3 to 2.7-3...
Downloading file:///home/root/packages/local/rmall/oxide_2.7-3_rmall.ipk
Removing package decay from root...
Reloading Oxide applications: Done!
Removing package tarnish from root...
Stopping tarnish.service
Disabling tarnish.service
Removed /etc/systemd/system/multi-user.target.wants/tarnish.service.
Removed /etc/systemd/system/launcher.service.
Removing package erode from root...
Upgrading zoneinfo-utils on root from 2021a-2 to 2023c-1...
Downloading file:///home/root/packages/local/rmall/zoneinfo-utils_2023c-1_rmall.ipk
Upgrading oxide-extra (2.7-3) to root...
Downloading file:///home/root/packages/local/rmall/oxide-extra_2.7-3_rmall.ipk
Removing package fret from root...
oxide (2.7-3) already install on root.
Upgrading iago on root from 0.1.1-2 to 0.1.2-1...
Downloading file:///home/root/packages/local/rmall/iago_0.1.2-1_rmall.ipk
Upgrading rmfakecloud-proxy on root from 0.0.3-4 to 0.0.3-5...
Downloading file:///home/root/packages/local/rmall/rmfakecloud-proxy_0.0.3-5_rmall.ipk
Upgrading koreader on root from 2023.10-2 to 2024.01-1...
Downloading file:///home/root/packages/local/rmall/koreader_2024.01-1_rmall.ipk
Removing obsolete file /opt/koreader/libs/libutf8proc.so.2.
Removing obsolete file /opt/koreader/libs/libcrengine.so.
Removing obsolete file /opt/koreader/libs/libglib-2.0.so.0.
Upgrading simple on root from 0.2.0-2 to 0.2.1-1...
Downloading file:///home/root/packages/local/rmall/simple_0.2.1-1_rmall.ipk
Upgrading linux-stracciatella on root from 5.4.70-3 to <IP_ADDRESS>-1...
Downloading file:///home/root/packages/local/rm1/linux-stracciatella_<IP_ADDRESS>-1_rm1.ipk
Removing obsolete file /opt/usr/share/kernelctl/stracciatella-5.4.70.tar.bz2.
Upgrading harmony on root from 0.2.2-2 to 0.2.3-1...
Downloading file:///home/root/packages/local/rmall/harmony_0.2.3-1_rmall.ipk
oxide-utils (2.7-3) already install on root.
oxide (2.7-3) already install on root.
oxide (2.7-3) already install on root.
liboxide (2.7-3) already install on root.
Upgrading remux on root from 0.2.4-2 to 0.3.0-1...
Downloading file:///home/root/packages/local/rmall/remux_0.3.0-1_rmall.ipk
Upgrading toltec-base on root from 1.2-3 to 1.3-1...
Downloading file:///home/root/packages/local/rm1/toltec-base_1.3-1_rm1.ipk
Upgrading tilem on root from 0.0.7-3 to 0.1.1-1...
Downloading file:///home/root/packages/local/rmall/tilem_0.1.1-1_rmall.ipk
Upgrading yaft on root from 0.0.10-2 to 0.1.1-1...
Downloading file:///home/root/packages/local/rmall/yaft_0.1.1-1_rmall.ipk
oxide (2.7-3) already install on root.
Configuring toltec-base.
Disabling automatic update
Disabling usb1 network device to avoid long boots
Created symlink<EMAIL_ADDRESS>→ /dev/null.
Configuring genie.
Run 'systemctl enable genie --now' to enable genie
Configuring libpython3.
Configuring python3-base.
Configuring libbz2.
Configuring python3-light.
Configuring python3-asyncio.
Configuring python3-email.
Configuring python3-cgi.
Configuring python3-pydoc.
Configuring python3-cgitb.
Configuring python3-codecs.
Configuring libffi.
Configuring python3-ctypes.
Configuring libgdbm.
Configuring python3-dbm.
Configuring python3-decimal.
Configuring python3-distutils.
Configuring python3-logging.
Configuring liblzma.
Configuring python3-lzma.
Configuring python3-multiprocessing.
Configuring python3-ncurses.
Configuring python3-openssl.
Configuring libreadline.
Configuring python3-readline.
Configuring libsqlite3.
Configuring python3-sqlite3.
Configuring python3-unittest.
Configuring python3-urllib.
Configuring libuuid.
Configuring python3-uuid.
Configuring python3-xml.
Configuring python3.
Configuring reboot-guard.
Configuring liboxide.
Configuring oxide.

Run the following command(s) to use oxide as your launcher
$ systemctl enable --now tarnish

Configuring oxide-utils.
Configuring zoneinfo-utils.
Bind mount configuration for '/usr/share/zoneinfo' already exists, updating
Configuring oxide-extra.
Configuring iago.
Configuring rmfakecloud-proxy.
Status: disabled (inactive)
Upstream server: (not set)
Run `rmfakecloudctl enable` to enable rmfakecloud-proxy.
Run `rmfakecloudctl set-upstream https://<server>` to set the upstream server.
Configuring koreader.

Run the following command(s) to use koreader as your launcher
$ systemctl enable --now koreader

Configuring simple.
Configuring linux-stracciatella.
The new kernel files have been copied, but not installed.
Please use kernelctl to select the kernel to boot.
Configuring harmony.
Configuring remux.

Run the following command(s) to use remux as your launcher
$ systemctl enable --now remux

Configuring tilem.
Configuring yaft.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency fret (= 2.6-3) for oxide
reMarkable: ~/

This is very odd as the oxide package no longer depends on fret. It's been removed and replaced with oxide-extra, as expected.
What does opkg info oxide output? As well as, does opkg configure fail with the dependency issue again?

No errors on opkg configure.
reMarkable: ~/ opkg info oxide
Package: oxide
Version: 2.6-3
Depends: erode (= 2.6-3), rot (= 2.6-3), liboxide (= 2.6-3), fret (= 2.6-3), decay (= 2.6-3), libsentry (= 0.5.0), tarnish (= 2.6-3), rm2fb-client, oxide-utils (= 2.6-3)
Status: unknown ok not-installed
Section: launchers
Architecture: rmall
Maintainer: Eeems<EMAIL_ADDRESS>Size: 1122731
Filename: oxide_2.6-3_rmall.ipk
Description: Launcher application

Package: oxide
Version: 2.7-3
Depends: libsentry (= 0.5.0), reboot-guard, liboxide (= 2.7-3), oxide-utils (= 2.7-3), rm2fb-client
Replaces: decay, tarnish, erode, corrupt
Conflicts: decay, tarnish, erode, corrupt
Status: install user installed
Section: launchers
Architecture: rmall
Maintainer: Eeems<EMAIL_ADDRESS>Size: 2452843
Filename: oxide_2.7-3_rmall.ipk
Description: Launcher application
Installed-Time:<PHONE_NUMBER>

reMarkable: ~/ opkg configure
reMarkable: ~/

So there are two oxide entires, likely one for each repo. The one that's marked as installed doesn't depend on fret though. This may be an opkg bug that wont be an issue when there is only one source for oxide. I'm suprised this is the first time we've encountered this. Could you try commenting out the toltec repos from your opkg.conf.d entry, then rebuild the opkg.conf and try again to see if it's because of the dual entries?

I commented out the toltec repos and no longer see the error, that seemed to work.

I commented out the toltec repos and no longer see the error, that seemed to work.

Alright, so users will not encounter this. It's rather annoying to properly test this kind of thing though. I may have to take some time to document how to get a full copy of the local repo setup on a host machine to test with, instead of copying just the changed files to the tablet and using a localrepo there.

I've gone through a fresh install of 2.15 and toltec on my rM2 and then ran through an update and double-checked rm2-suspend-fix and rmfakecloud-proxy. This should be good to merge.


Unknown attribute u'samaccountname' after drop of attributes parameter in 4.2

Unknown attribute u'samaccountname' after drop of attributes parameter in 4.2
With release 4.2 the attributes parameter was dropped from the ldap part of the configuration. Here this results in in critical Unknown attribute u'samaccountname' errors directly after the ldap search.
4.1 log
Doing: ldapsearch -x -D cn=mybinduser,ou=Functional Users,ou=Users,ou=IDIV,dc=idiv,dc=de -W -b ou=AAI,dc=idiv,dc=de -s sub '(memberOf:1.2.840.1135<IP_ADDRESS>1:=cn=g_r_postgres01-KREINITZ_rw,ou=FunctionalGroups,ou=Groups,ou=IDIV,dc=idiv,dc=de)' sAMAccountName

Got 3 entries from LDAP.
Found role redac t. ed from CN=redac ted,OU=German Centre for Integrative Biodiversity Research,OU=Mitarbeiter,OU=AAI,DC=idiv,DC=de sAMAccountName.
[…]
Found ACL item ddl on KREINITZ.* for * to kreinitz_owner (granted) in LDAP.
[…]

4.2 log
Doing: ldapsearch -x -D cn=mybinduser,ou=Functional Users,ou=Users,ou=IDIV,dc=idiv,dc=de -W -b ou=AAI,dc=idiv,dc=de -s sub '(memberOf:1.2.840.1135<IP_ADDRESS>1:=cn=g_r_postgres01-KREINITZ_rw,ou=FunctionalGroups,ou=Groups,ou=IDIV,dc=idiv,dc=de)' sAMAccountName
[ldap2pg.manager     DEBUG] Got 3 entries from LDAP.
[ldap2pg.script   CRITICAL] Failed to process CN=redac t. ed,OU=German Centre for Integra: Unknown attribute u'samaccountname'

It might(!) be related to the base search string. The users are in …,ou=AAI,dc… while the groups are in …,ou=IDIV,dc…. Using the dc… as base search string does work for ldapsearch but for some reason not via ldap2pg. With ldapsearch you actually need to omit the ou as it would not find the users which are in the ou=AAI,dc… if the base search string points to ou=IDIV,dc…
[ldap2pg.script   CRITICAL] Failed to query LDAP: {'info': '000004DC: LdapErr: DSID-0C09079A, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v23f0', 'desc': 'Operations error'}.

@bersace the release on PyPI is still 4.10, not 4.3.1.

forget it, I misread 4.10 as 4.1.0 :-q


Consider EKON

Why not XXX?

if you know a better format, tell me!

Checkout EKON. Its the "The End" to markup languages. By the way, nice work!

Thank you for filing! Here is my first reaction.
Objects are nice.
Strings without quotes are concerning, even if it's just for simple strings. Too easy to mistake a string for an identifier this way. You already have to have the "reserved words" just to disambiguate some of these cases.

Backwards Compatibility with JSON

So it's either suffering from the same problems as JSON, or from the blownup scope and identity, like YAML.
Overall, amazing work, and thank you for sharing!

EKON doesn't have identifiers. Only literals. null, true, false and numbers. KISS principle there.
Strings without quotes makes up for the readability part. There are reserved characters and words.
JSON has its fair share of problems. Readability being one.  My aim was to target programmers and non-programmers alike. So that config files are super-easy to write.
Ron is an interesting format and a great work by the way. I like the fact that it supports serde out of the box. Good work!


Go+ Community MVP Planning

Task Owner

[ ] Account & User @wu-jj
[ ] Article @Baihhh
[ ] Markdown support @nnnnn319
[ ] Translation @IRONICBo
[ ] Media @XhyQAQ
[ ] UI @Kasey0727
[ ] Httptest classfile @liuscraft
[ ] Go+ debugger @liuscraft

Three Scenarios for Go+ Debugger:

Pure Go/Go+ Code Debug
Mixture Go & Go+ Code Debug
Debug into Go+ Module package

1.15-1.19 项目时间表: #38

About peer review: issue #45

Go+ debugger：
https://github.com/goplus/delve/pull/13
https://github.com/goplus/gop/issues/1632

Go+ classfile:

gop classfile example and tutorial

httptest:

gop-httptest
httptest programming paradigm

Issue: https://github.com/goplus/community/issues/38#issuecomment-1896050645


Create openvpn_sample.ovpn

safer connection

Hi there. I agree on the choice of the cipher, but not on the auth hash. I'd personally like to have SHA256 as the default auth because it is more standard and offers almost same speed.
Also could you please resolve the conflict in the pull request?

Hi @Hope4hope could you please update your PR according to:
https://github.com/SoftEtherVPN/SoftEtherVPN/pull/330#issuecomment-339487751

@Hope4hope Ping!!!

@Hope4hope , are you here ?

Closing for lack of activity, feel free to reopen.


Remove schools from community engagement

Create cut of data excluding schools engagement, and present separately.
Tabbed view

Could you review https://data.leeds2023.co.uk/dashboard/community/ @ODILMichelle

Love that when you have no schools engagement all schools related figures are removed e.g. in the top visualisation, in the tables, and in the ward focussed initiatives.
Not completely sure that the text change alone makes it obvious what has happened. I don't know if there is a way to e.g. have a toggle within the map itself that allows you to turn on/off schools engagement. Alternatively, if that takes significant time we might want to change the way the second paragraph is presented (line starting "This version of the dashboard includes schools data.."
This might be making it bold, it might be adding a box and colour to that section to make it stand out - otherwise given the same content at the top of the page it is easy for it to blur into one.
We may also want to change the names of the hexmaps in each instance e.g. 'Count of activities by residents in each ward' and 'Count of activities by residents in each ward, including schools engagement' (or similar).

Was just mulling, another way of signally clearly that something has changed might be to change the colour pallet of the hexmap itself - for instance to pink which we use elsewhere.

I'll change the colour and chart titles. Think the text might be useful as well.

Thanks for this, will discuss with Fiona today

Fiona is happy with this. A few other questions about layout and styling but will be added as separate tickets


Support for Inidian market

Hi Team, Currently QLib supports only two regions datasets. Any tentative dates when India region shall be supported and If I have to define India region on my own how to customize the data collector any high level pointers shall be helpful
thanks

Hi
@jaydotkay
Qlib doesn't limit the region of the datasets.
You can send PR to create a data collector to crawl data from india market.
To support data from different market, you should implement data collector for them and convert them to qlib format
Your PR is highly welcome!
Thanks


autopep8 Error Message (Errorno2)

VSCode Version: version 1.49
OS Version: Windows 10 Home x64

Steps to Reproduce:

Can't install autopep8
No such file or directory [Errno2], when using pip install -U autopep8 --user

Does this issue occur when all extensions are disabled?: Yes

Please file the issue against the extension:
https://marketplace.visualstudio.com/items?itemName=himanoa.Python-autopep8&ssr=false#review-details


Developer Documentation

Add docs directory for developer documentation and start a developer readme.
We stick pretty closely to the standard operator-sdk practices right now but it should still be useful to have included especially if/when things start to diverge

/assign

#107

Going to close this for now, as this was addressed by #107. We can add further issues as needed to expand on what we have now.


Deserialization of polymorphic relationships

Could you please support having polymorphic relationships deserializable properly.
Example:
public class PolymorphicRelationEntity  {
  @JsonApiId
  public override lateinit var id: String

  @JsonApiType
  public override var _type: String? = null

  @JsonApiRelationships("superEntities")
  public var relation: List<SuperEntity>? = null

}

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "_type")
@JsonSubTypes({
    @JsonSubTypes.Type(value = SuperEChild.class, name = "superEChild")
    @JsonSubTypes.Type(value = SuperEChild2.class, name = "superEChild2")
})
public interface SuperEntity

public class SuperEChild : SuperEntity {
  @JsonApiId
  public override lateinit var id: String

  @JsonApiType
  public override var _type: String? = null
  }

public class SuperEChild2 : SuperEntity {
  @JsonApiId
  public override lateinit var id: String

  @JsonApiType
  public override var _type: String? = null
  }

Should be possible to deserialize from:
{
   "data":{
      "id":"poly123",
      "type":"polymorphicRelationEntity",
      "relationships":{
         "superEntities":{
            "data":[
               {
                  "id":"456",
                  "type":"superEChild"
               },
               {
                  "id":"789",
                  "type":"superEChild2"
               }
            ]
         }
      }
   }
}

Currently, it seems @JsonSubtypes is completely ignored for relationships.

Thanks for reporting this. I'll take a look at it when I find the time...

Implemented it in the current snapshot. During implementation, I found a hen/egg problem: During deserialization, the Jackson subtype resolution expects the exact property (in the JSON source) to be in the class to be deserialized. So, a restriction is that you have to use type instead of _type.
If the interface looks like:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({
        @JsonSubTypes.Type(value = SuperEChild.class, name = "superEChild"),
        @JsonSubTypes.Type(value = SuperEChild2.class, name = "superEChild2")
})
public interface SuperEntity {}

and a child like:
@NoArgsConstructor
public class SuperEChild implements SuperEntity {
    @JsonApiId
    private String id;

    @JsonApiType
    private String type = null;
}

Then a JSON like:
{
  "data": {
    "id": "poly123",
    "type": "polymorphicRelationEntity",
    "relationships": {
      "superEntities": {
        "data": [
          {
            "id": "456",
            "type": "superEChild"
          },
          {
            "id": "789",
            "type": "superEChild2"
          }
        ]
      }
    }
  }
}

is deserialized correctly, the 2 relationships will be of Java class SuperEChild and SuperEChild2.

Thanks for quick implemntation - I will try to use  it ASAP to give you feedback. But in theory - why the name of the property matters?


add cloud-native

[Insert URL to the list here]
[Explain what this list is about and why it should be included here]
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either fullwidth or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
WTFPL and Unlicense are not acceptable licenses.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Drop all the A / An prefixes in the descriptions.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Thanks for making an Awesome list! 🙌
It looks like you didn't read the guidelines closely enough. I noticed multiple things that are not followed. Try going through the list point for point to ensure you follow it. I spent a lot of time creating the guidelines so I wouldn't have to comment on common mistakes, and rather spend my time improving Awesome.

Hey, sorry for the lack of response, please see #1363.

this is an PR review
great list, some minor issues

some descriotions dont in with a dot

atlassian - Review, test, & manage your code
Joyent Cloud - Your Cloud, Your Way
Swift - OpenStack Storage (Swift)
Redis Desktop Manager - Cross-platform open source Redis DB management tool

very detailed and long, consider showing only popular / leading tools (in the "curated" format)

please review
https://github.com/sindresorhus/awesome/pull/1331

Closing for lack of response.


[cosmosdb] Migrate to Samples Workflow V2

This issue is part of the Azure SDK for JavaScript sample quality effort.
The new sample tool (dev-tool samples publish) has been made available to all package maintainers, and we would like to migrate all packages to the new system.
What do I need to do?
This issue is to track migrating all packages within the cosmosdb folder to the new layout:

[ ] cosmos

There are a few things to do to resolve this issue:

Attempt to follow the steps in the migration guide for each of the packages. Any problems can be reported to me, and I'll be available to assist in getting everything moved over.
Look at https://github.com/Azure/azure-sdk-for-js/issues/14180, the main tracking issue for this work, and see if your package has any problems listed in the issue description. We would like to fix all of these issues that we are able to fix as we are migrating samples to the new system.

If for any reason you think that this issue should not apply to this service/package, please get in touch with me so that we can discuss the package's needs.
Thank you!

This is done with #18623
Thanks @sajeetharan!


Sign user out when github app auth expires

There is a condition that the github app auth expires within 24 hours.
But the auth for the users lasts longer than that; so we need to check if the github app is expired, and if so, sign the user out so we can reauthenticate

@ajhenry is this still needed with the other auth-related changes?

It is, I need a better way to do this check though

Closing this out as migration to app directory will address in a better way