Suggestion: "Khylid Drill" item

An item suggestion to improve design!

Description
The "Khylid Drill" item is a drill item that functions similarly to drills seen in Serpulo and can mine ground ores.
Unlocking
It can be unlocked after the Fors Crusher, costing 60 Khylid and 100 Fors to unlock.
Stats

Mining speeds
Fors: 0.75/sec
Khylid: 0.75/sec
Other
Build time: 0.5 secs
Cost: 25 Khylid, 30 Fors

Thanks! We're working on it now. Btw how do you think to get Khylid without Khylid?

Ah, should have thought of that. Maybe make it unlockable after obtaining Khylid?

I'll do something with it


Move to UnorderedFutures in cas_store.

Taking inspiration from the work in CacheLookupScheduler, modify the CasServer to use UnorderedFutures to perform batch operations.

This change is

cas/grpc_service/cas_server.rs line 90 at r1 (raw file):

                    Err(err) => return Some(Err(err)),
                };
                match store_pin.has(digest_info.clone()).await {

It's annoying that this clone() is required simply for the error message below...


[Bug] Button Update when icon empty goes brrrr

It seems that when I try to update a button's text when the icon is "" it will nono

ooh I think I found the issue
https://github.com/BTK-Development/BTKUILib/blob/c23f867d60a8b841de4b8ebd6eef06140efbfc1d/UIObjects/Components/Button.cs#L100
I think it's missing  + "-Image" apended to the this.ElementID on the icon update

This bug should be fixed in 1.2.0-preview1, give it a go in that version.


Open access links

Hi @spirosChv, this goes back to the issue I opened at #844. This PR adds MyST "substitutions" and open/closed access logos so that one can add {{ closed_access }} or {{ open_access }} to the markdown file, which then gets replaced by the respective logo. I also have a script that queries the Unpaywall API to get the information for each paper referenced by a DOI to annotate it with the respective information and adds a free preprint/postprint link if necessary (and if available). Before I propose the changes made by this script, I quickly wanted to get your feedback on the format. Currently, it would replace e.g. this
Bassett, D. S., Zurn, P., and Gold, J. I. (2018). On the nature and use of models in network neuroscience. Nature Reviews Neuroscience.  doi: 10.1038/s41583-018-0038-8
by (not the actual HTML, just for demonstration purpose):
Bassett, D. S., Zurn, P., and Gold, J. I. (2018). On the nature and use of models in network neuroscience. Nature Reviews Neuroscience.  doi: 10.1038/s41583-018-0038-8  (postprint )
but maybe it would be more in line with the other links if it would look e.g. like:
Bassett, D. S., Zurn, P., and Gold, J. I. (2018). On the nature and use of models in network neuroscience. Nature Reviews Neuroscience.  doi: 10.1038/s41583-018-0038-8  (postprint: europepmc.org/articles/pmc6466618 )
Any preference?

Hey @mstimberg ! I have no preference! I think the first option is more clear, but whatever I think will do the job! Should I proceed with the merge?

Hi again. I went ahead with the second option, I felt it was more in line with the rest.
Here's a screenshot of the suggested further reading for W1D1 with the changes in this PR:

I have no preference! I think the first option is more clear, but whatever I think will do the job! Should I proceed with the merge?

Our comments crossed. If you are happy with the way it looks above, please go ahead with the merge. Otherwise, I can easily adapt it.

I have no preference! I think the first option is more clear, but whatever I think will do the job! Should I proceed with the merge?

Our comments crossed. If you are happy with the way it looks above, please go ahead with the merge. Otherwise, I can easily adapt it.

If it is inline with nma style, I am more than happy! I think now the reference list are more clear and more helpful to our students


Cannot open SENSOR_COLOR on Embedded S

I can use https://github.com/orbbec/astra/tree/master/samples/sfml/MultiSensorViewer-SFML and see both camera and depth streams. But if I try https://github.com/orbbec/OpenNI2/blob/master/Samples/MultipleStreamRead/main.cpp then SENSOR_DEPTH works fine but SENSOR_COLOR fails to open.
OS: Ubuntu 19.10

I'm also having this problem. Switching to the Astra SDK would be a huge burden because it has no Python bindings.


RHIROS-402 | MOD - Move utilization logic from inventory processor to engine processor

Changes:

Engine consumer grabs performance_utilization from msg, creates performance profiles as well
Events consumer no longer creates performance profiles, calculation/aggregation scrapped
Updated process_archive.py with custom log parameters
Added an util function for validating booleans, validate_type

Reasons:

Avoiding duplication since rules are now available from engine topic :rabbit2:
Moved performance profile code to engine consumer, functions served no more purpose
Developer friendly logging :v:
Since our processing depends on a foreign service(advisor, puptoo) the backend needs to handle booleans smartly

Additional:

Sample producer with supreme omnipotent intelligence for testing here :wink:
Will need to do a pipenv install kafka-python though

Note: The engine msg that gets generated from the latest archive, new-metrics-test-archive.tar.xz shared with team
at 3:31 PM 1st Dec 2021 will not work since it has "_score" keys.
msg["results"]["system"]["metadata"]{
     ...
    "cpu_score": 1,
    "mem_score": 4,
    "io_score": 1,
    ...
}

I would request @r14chandra to test this change end to end once in her local and we can then merge this right away.

@kgaikwad Any additional comments from your side?

Merged, thanks @saltgen for the change and @r14chandra and @kgaikwad for reviewing thoroughly.


Usage confusing

Can someone help me with integrating this with my app?

Yeah me as well. I followed the usage but can't find the way to make it work.
Please help @RamotionRussell

Same here. It’s been hours now and I can’t get my head around it. This is a great project. However, the README file needs to be clearly written on how to install, setup, and use ExpandingCollection.

The documentation could be improved for sure. I found it helpful to download and follow the example in the source code. Check to make sure that all the IBOutlets are hooked up correctly and use the example in the source for reference. Also make sure that the constraints are for the front and back views are as per the documentation. That being said @RamotionRussell , could the README be updated please :)

For future reference, someone was good enough to make a Swift 3 Fork with a demo application here:
https://github.com/arch1t3ct/expanding-collection/tree/swift3

Is there any other tutorial or example that can help in better understanding of using the project?


v0.8.8_13: Manual sorting of group is not working

SEVERITY: Major
MODULE: Mountain Chart
Platform: MAC / Safari 9.0
RELEASE: v0.8.8
STEPS TO REPRODUCE:

Navigate URL: http://static.gapminderdev.org/vizabi/release/v0.8.8/preview/mountainchart.html
Mountain chart page will be loaded
Click “Stack”. A small pop up screen is displayed
Hold any group given on the pop up screen and try to sort it according to your will
Note that manual sorting of group is not working

ACTUAL RESULTS:
Manual sorting of group is not working
EXPECTED RESULTS:
Manual sorting of group should work
SCREENSHOT:

ok, now it does


Feature: SignalR on Pode

In one of my many projects using Pode, it would be a fantastic feature to use SignalR to talk back to a web client.
I think it will require Pode to work as a "Hub" to direct traffic to a specific url.
I know it is possible to do a  simple JavaScript loop to request the API, but it will result in a noisy client.

This is an interesting idea, I had to look into SignalR as well! 😂
From what I can gather, you'd have to run a SignalR hub, rather than a Pode one. Then your client/website connects to that using some JS library.
For your Pode server though, I'm guessing this is where we'd need to write the logic in so that your Pode server can connect to your SignalR hub? Allowing you to send messages for broadcasting to clients.
Is this roughly what you're thinking, @LLIT ?

For now I will just fix it with local Javascript...

It's no SignalR, but I've started implementing WebSocket support in #395

With Pode's WebSocket support, I'm closing this. If there's ever a need for SignalR, then it could be done as a Pode.SignalR extension module.


Probelm while analyzing an APK using Androguard GUI

Hi, I was trying to analyze an APK using Androguard GUI but I couldn't do due to the error given below. There is no wrong with the APK file
└─$ androguard gui -i 3c81c9df7ce0f94918cd0b833b070dfbbceacf8688824afbc6344e975edfeb24.apk                                                                                2 ⨯
[INFO    ] androguard.apk: Starting analysis on AndroidManifest.xml
[INFO    ] androguard.apk: APK file was successfully validated!
[INFO    ] androguard.analysis: Adding DEX file version 35
[INFO    ] androguard.analysis: Reading bytecode took : 0min 00s
[INFO    ] androguard.analysis: End of creating cross references (XREF) run time: 0min 00s
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/androguard/gui/mainwindow.py", line 186, in loadedFile
self.updateDockWithTree()
File "/usr/lib/python3/dist-packages/androguard/gui/mainwindow.py", line 340, in updateDockWithTree
self.tree.fill()
File "/usr/lib/python3/dist-packages/androguard/gui/treewindow.py", line 40, in fill
sig = Signature(c)
File "/usr/lib/python3/dist-packages/androguard/gui/helpers.py", line 8, in init
self.class_components = self.cls.name.strip('L').strip(';').split('/')
TypeError: a bytes-like object is required, not 'str'
zsh: abort      androguard gui -i

Androguard Version: 3.4.0a1
Python Version: Python 2.7.18
Operating System: Kali Linux

Given that the issue is old and the project is substantially different nowadays, I will be closing this.
Please feel free to reopen it in case it still stands.


[Translation zh-cn] Shared > Udacity > ud882.html

The translation is based on Udacity (Chinese) website
https://cn.udacity.com/course/responsive-images--ud882
Check out a review request at GitLocalize

@sotayamashita & @chikathreesix - would you please take a look!


⚠ ClamAV has degraded performance

In 8e4ba98, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 470 ms

Resolved: ClamAV performance has improved in 635da0d.


Release datahub-0.4.31 fails to deploy becaue of missing Docker Image tag

Describe the bug
When deploying datahub-0.4.31, the image acryldata/datahub-postgres-setup cannot be pulled, because the tag v0.14.1 is missing.
To Reproduce
Steps to reproduce the behavior:

Start Helm Deployment
Pull of image fails

Expected behavior
The image should be available

Got the same issue today, checked docker hub and indeed there is no v0.14.1 image.

The tag was pushed. The issue can be closed now.


[BUG/ISSUE] False Chocolatey updates if Internet unavailable

I have a few Chocolatey packages installed. If I disconnect the Internet and try to refresh the update list, all installed packages will appear as if they are out of date:

I must admit that this bug is funny 😄


[MXNET-106][ONNX-MXNET] Adding ONNX Model zoo tests.

Description
Add model tests from ONNX model zoo
Checklist
Essentials

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
[ ] For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] Adds the following tests for models from the ONNX model zoo -

alexnet
densenet121
resnet50
squeezenet
vgg16
vgg19
bvlc-googlenet
bvlc-caffenet
bvlc-rcnn-ilsvrc13

[x] Adds more tests coverage and fixes for the following operators - concat, pad, softmax, transpose, Conv, Pooling(Max and Avg), Relu, Batchnorm

@spidyDev Please update the name of the PR to something more relevant.

So the current onnx module doesn't even work for BatchNorm?
@nswamy Can we make sure onnx is tested for a comprehensive set of models before 1.2 code freeze?
Other wise we should revert it so that we don't ship broken code into release.

@piiswrong BatchNorm has been working, this is a code refactor.
@spidyDev @anirudhacharya  are currently testing all the models and will add them as integration tests.

@piiswrong We are in the process of adding more tests for models from the ONNX model zoo. The tests are here - https://github.com/onnx/onnx/tree/master/onnx/backend/test/data/model/real. This PR is tweaking a few things to get those model tests working.

@nswamy @piiswrong Please review this PR.

Thanks @anirudhacharya @spidyDev ! Overall LGTM.
Will approve the changes post UserWarning and code documentation discussed in the review.


Semicolon added after //odinfmt: enable on each format

If one of the lines inside //odinfmt: disable and //odinfmt: enable has a semicolon, the formatter will put a semicolon after //odinfmt: enable
package main

main :: proc() {
	//odinfmt: disable
	i:int;b:int
	//odinfmt: enable
}

After formatting five times
package main

main :: proc() {
	//odinfmt: disable
	i:int;b:int
	//odinfmt: enable;;;;;
}

Fixed.


"move if to guard" should work even if there's an else

This should suggest moving if conditon to the guard (duplicating the pattern). Relevant code:
https://github.com/rust-analyzer/rust-analyzer/blob/db2a7087b994e20f264f26ad6db75184282ad120/crates/ide_assists/src/handlers/move_guard.rs#L121-L123

I think this is a good issue to work on as my first contribution to rust-analyzer!


Issue with single-click to open items after scrolling

Describe the bug
When set to the default 'open items with single click' mode, when you click on a folder that you need to scroll to reach, and then you go 'back' and scroll down and click on that same folder again (which is already selected from the previous click event, it does not open it.
To Reproduce
Steps to reproduce the behavior:
In settings, enable the 'open items with single click' option
Go to any folder
Scroll down to show a sub-folder which is outside the visible view (i.e. can only be seen if you scroll down)
Single Click sub-folder to open it
Go back to the parent folder
Scroll down again and single-click on the same sub-folder as before (which should already be highlighted from previous click)
See error (does not open the folder)

Expected behavior
The folder should open
Additional context
This does not happen with folders which are visible without scrolling down. Those show the correct expected behaviour, even if you scroll.
Desktop (please complete the following information):
OS Version: Windows 10 Enterprise 20H2
App version: v1.1

@winston-de is this still an issue with the new details layout?


Editor Failing to Check for Updates

Hello,
Seeing issues with the iRule editor on newer versions of Windows 10. When it is searching for updates on launch a .NET Framework error pops up. Followed by a false reporting of a version update.

Error Details
`See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream.
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.ConnectStream.WriteHeaders(Boolean async)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetResponse()
at iRulerUpdater.MainForm.GetAvailableVersion()
at iRulerUpdater.MainForm.MainForm_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: <IP_ADDRESS>
Win32 Version: 2.0.50727.9136 (WinRelRS6.050727-9100)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
iRulerUpdater
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Program%20Files%20(x86)/F5%20Networks/F5%20iRule%20Editor/iRulerUpdater.exe
System.Windows.Forms
Assembly Version: <IP_ADDRESS>
Win32 Version: 2.0.50727.9136 (WinRelRS6.050727-9100)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
System
Assembly Version: <IP_ADDRESS>
Win32 Version: 2.0.50727.9136 (WinRelRS6.050727-9100)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/<IP_ADDRESS>__b77a5c561934e089/System.dll
System.Drawing
Assembly Version: <IP_ADDRESS>
Win32 Version: 2.0.50727.9136 (WinRelRS6.050727-9100)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
System.Configuration
Assembly Version: <IP_ADDRESS>
Win32 Version: 2.0.50727.9136 (WinRelRS6.050727-9100)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
System.Xml
Assembly Version: <IP_ADDRESS>
Win32 Version: 2.0.50727.9136 (WinRelRS6.050727-9100)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
`

Repository Archived

Repository Archived


Gradle

Hi - I would really like to try your project. Is it possible to import it using Gradle and if so, how?

Nevermind - found the declaration on the maven repo:
implementation 'com.github.monkeywie:proxyee:1.2.3'


[800] CI workflow for updating tedge reference docs

Proposed changes
To update tedge cli reference docs the script has to be run manually and create the PR manually.
This PR automates this process by adding a GH action workflow to run this script on the 1st of every month.
Also, this workflow can be triggered manually.
It creates the PR automatically and sends the PR review request.
Types of changes
What types of changes does your code introduce to thin-edge.io?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ x] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I have read the CONTRIBUTING doc
[ ] I have signed the CLA (in all commits with git commit -s)
[ ] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

May I ask why it is necessary to have the <command> --help output in the docs? If a user knows that a command can be called with --help, they receive the exact same output as the docs show... so where is the benefit of having of also having the --help-output in the docs? :thinking:

May I ask why it is necessary to have the  --help output in the docs?

Just to have this online. Nothing more than what we can have man online. Nothing fancy, I agree. But cheap.

I'm fine with it as long itsyitsy is the monthly reviewer :)


Replace \baselinestretch with \setstretch

This is not straightforward since \setstretch will break the text encoding as-is. It is possible that \setstretch defines a new local encoding. Probably need to look at the source code of setspace package.

No longer applied

No longer applied


FillField doesn't clear value before insert new

What are you trying to achieve?
Fills a text field or textarea, after clearing its value, with the given string by fillFiled function
What do you get instead?
instead I get value that already was in field + new value
I.fillField('surname', 'Федореев');

Details

CodeceptJS version: 2.4.3
NodeJS Version: 12.0
Operating System: macOS
puppeteer

@Elverslane
Looks like an application problem. I was not able to reproduce with default input.
You can try to call I.clearField before the fillField. By the code codeceptjs  relies on puppeteer "type" realization.

@monotonesol yes you are right. That's a problem in my app with focus on field. Sorry for fake report.

@monotonesol yes you are right. That's a problem in my app with focus on field. Sorry for fake report.

Hi, could you share what the problem with focus was, and what was the solution? I'm currently experiencing the same thing, though I'm using a .

@monotonesol yes you are right. That's a problem in my app with focus on field. Sorry for fake report.

Hi, could you share what the problem with focus was, and what was the solution? I'm currently experiencing the same thing, though I'm using a <div contenteditable="true">.

just use I.clearField() or I.click(); before fillFIeld


How to remove all Az modules?

Hello,
I'm facing some problems because of the module version and I would like to uninstall all modules and install again.
I don't know how the modules were installed, I looked in "Start> Settings> Apps" and I didn't find the MSI, so I tried to use the commands from the link: https://docs.microsoft.com/en-us/powershell/azure/uninstall-az-ps?view=azps-3.8.0

However, when I ran the command "Get-InstalledModule -Name Az -AllVersions" I received the error message below, I also tried to use the Uninstall-Module and it didn't work.

I can return the modules using the command "Get-Module -Listavailable Az* | Select-Object Name, Version", but I don't know how to remove them. Can someone help me please?

Best regards,
Cristina

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

ID: 94b73a5b-52d6-85c0-0587-250c732fee4f
Version Independent ID: b3ce94fa-6e76-4ffe-e70e-07f7a321fcd4
Content: Uninstall Azure PowerShell
Content Source: docs-conceptual/azps-3.8.0/uninstall-az-ps.md
GitHub Login: @sptramer
Microsoft Alias: sttramer

I ran the commands using version 5.1, I didn't understand why it was not possible in version 7.

@TravisCragg-MSFT Thanks for the update!

use this command to remove all AZ modules..............
Get-Module -ListAvailable Az* | foreach {
Uninstall-Module -Name $.Name -RequiredVersion $.Version
}


Add safe abstractions to CRC functions in ESP ROM

This is the safe CRC abstraction over the newly merged esp-rs/esp-idf-sys@4ffb8838c8bb9e76c43ca021fdb9b5050340d036
I created the rom module to put commonly available ROM libraries, such as CRC. MD5 could be next. Since these libraries rely on the bindings provided by esp-idf-sys but are only on ESP32 chips they belong here in esp-idf-hal and not esp-idf-svc.
Test code is below or at my repository
use esp_idf_sys as _; // For binstart

use esp_idf_hal::rom::crc;

fn main() {
    esp_idf_sys::link_patches();

    let data = "123456789";

    loop {
        let crc_hdlc = crc::crc32_le(!0xffffffff, data.as_ref());
        let crc_bzip2 = crc::crc32_be(!0xffffffff, data.as_ref());
        let crc_mpeg2 = !crc::crc32_be(!0xffffffff, data.as_ref());
        let crc_cksum = crc::crc32_be(!0, data.as_ref());
        let crc_kermit = !crc::crc16_le(!0, data.as_ref());
        let crc_genibus = crc::crc16_be(!0xffff, data.as_ref());
        let crc_rohc = !crc::crc8_le(!0xff, data.as_ref());
        let crc_smbus = !crc::crc8_be(!0, data.as_ref());

        assert_eq!(crc_hdlc, 0xcbf43926);
        assert_eq!(crc_bzip2, 0xfc891918);
        assert_eq!(crc_mpeg2, 0x0376e6e7);
        assert_eq!(crc_cksum, 0x765e7680);
        assert_eq!(crc_kermit, 0x2189);
        assert_eq!(crc_genibus, 0xd64e);
        assert_eq!(crc_rohc, 0xd0);
        assert_eq!(crc_smbus, 0xf4);

        println!("{:08x} {:08x} {:08x} {:08x} {:04x} {:04x} {:02x} {:02x}",
            crc_hdlc, crc_bzip2, crc_mpeg2, crc_cksum, crc_kermit, crc_genibus, crc_rohc, crc_smbus);

        std::thread::sleep(std::time::Duration::from_millis(5000));
    }
}

@jordanhalase Can you run cargo fmt on your PR and update? Also, please run cargo clippy as well, as that's the next step after fmt.

Ran cargo fmt and clippy :)


how to configure multiple sites with ssl certificate?

I just simply modify the conf file of Nginx by adding server tags and reload Nginx.
It works but when I add a new site I have to do the configuration work by hand again, since the fab deploy command will override the Nginx conf.
Is there a better way to set the servers information somewhere in setting files so that fabric can handle it by "fab deploy" command? It seems there is not much further information in mezzanine doc.

Hi @zzm88,
We use Github to track bug reports. For support questions you might prefer to post on the mailing list to reach a wider audience: https://groups.google.com/g/mezzanine-users


[Enhancement] Crafting sound based on the item produced

Right now it sounds like hammering, sawing, and sanding wood.  If a player were crafting a food  item it sounds out of place.  The idea is to have sounds that make sense given the material being used to construct.

I like that idea.  So if you make food, it should make the sound of mixing or chopping, like you'd hear in a kitchen.  For metal items (stuff involving iron/gold/mod metals like copper, tin, etc.), the hammering sound from Tinker's Construct would do great.  Leather armor could have a dull hammering sound, like hammering pins into leather, or a sewing machine sound.


Cannot access fetcherAuthorizer property on GIDAuthentication from swift

The fetcherAuthorizer method signature is not visible in swift generated interface of GIDAuthentication .
This prevent the use of this library to work with https://github.com/google/google-api-objectivec-client-for-rest from swift

@lilpit thanks for spotting this, we'll have a fix in the next release.


enhancement StreamUtil and bigger refactoring StreamUtilTests

Hi,
PR consists of :

small enhancements of class jodd.io.StreamUtil

update javadoc
usage of try-with-resources at 2 methods

huge refactoring of jodd.io.StreamUtilTest

new structure of tests -> tests are grouped in nested classes
usage of Parameterized Tests (needed new dependency org.junit.jupiter:junit-jupiter-params)

Regarding to #453 :
I have used public modifier to top level class and all test methods. The nested classes have package-private modifier - but a change to public is no problem ;-)
Additionally all test methods start with test prefix.
I look forward to comments and a review!
Bye,
Sascha

Awesome! Like the Junit5 style :)


chore(csi): update default images version

https://github.com/longhorn/longhorn/issues/7377
https://github.com/longhorn/longhorn/issues/7384
https://github.com/longhorn/longhorn/issues/6916

@mergify backport v1.5.x


Add options for job dependencies, configurations to Agent

Coverage decreased (-0.001%) to 91.645% when pulling b8c65104d2adf0b45951e83ae1277bbaa09d9d22 on mprimi:agent-job-dependencies into 4374fa1a095489e797dff526a9ab28353a07a1c2 on Netflix:master.


Removing AD Libertas

Originating forum post: http://forum.makerdao.com/t/libertas-ad-recognition-submission/20772/27

@VoteWizard pls review


Add higher institute of applied sciences and technologies

@aziz773 First stage of verification passed, official domain is issatm.rnu.tn as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: http://www.issatm.rnu.tn/upload/files/Candidatures LPI (Session Juillet 2021) ISSATM (1)(2).pdf

@aziz773 Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Fix some UI bugs in graph mode

Fixes part of #338
Description of the changes:

Removes style option when an equation has an error
Always displays red border when an equation has an error
Fixes alignment issues in KeyGraphFeatures panel
Makes all body text copyable in KeyGraphFeatures panel
Makes equation box background consistent in KeyGraphFeatures panel
Dot color when tracing an equation now matches the color of the line
Coordinates for trace pop-up rounds to 1 decimal for now
Fixes Graph control not getting focus on Active Trace button click
Removes tool tip from Active Trace Cursor when not near an equation line

How changes were validated:

Manual tests

Perfect!!!! Thanks!


1.1

1.1 version update

Codecov Report

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

@@           Coverage Diff           @@
##           master      #13   +/-   ##
=======================================
  Coverage   97.29%   97.29%
=======================================
  Files          30       30
  Lines        2994     2994
=======================================
  Hits         2913     2913
  Misses         59       59
  Partials       22       22

Continue to review full report at Codecov.

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


Fixes some issues but not all with the multigpu setup

Uses no_sync to speed stuff up
stops sharing the dataloader weirdly

 Troubleshoot load_data('openwebtext') as it's causing an OOM issue for the DDP process, let alone without DDP.


Scripts: move masternode.sh to separate repository

 Issue by AltcoinBaggins
Friday Feb 15, 2019 at 12:48 GMT
Originally opened as https://github.com/velesnetwork/veles-archive/pull/17

Masternode install / update script is now maintained in it's own repository at: https://github.com/velescore/veles-installer

AltcoinBaggins included the following code: https://github.com/velesnetwork/veles-archive/pull/17/commits

 Comment by velesnetwork
Friday Feb 15, 2019 at 21:29 GMT

Need to rebase first.


added qrcode scanning capability

The module is now able to scan qrcodes. Each of these commands accept either path to qrcode file(--use-qr) or path to qrcode link file (--use-qrl)
totp-cli add-token --use-qr (requires user input for namespace and password)
totp-cli add-token --use-qr --silq (doesn't require user input for namespace, account and token. just password)
top-cli add-token --use-qrl (link to qrcode link file e.g otpauth://totp/account?secret=asdfasdfasdfasdf&issuer=namespace)

you will also notice that there is an option for batch qrcode scanning (by passing directory paths), but that proved a little difficult because of the modularity of the library, and for now, even if a directory path is passed, only the first qrcode file is actually processed.
There is a possibility of batch processing functionality in the future, tho

Ok, I'm kinda lazy lol, I will just continue using my current qrcode scanning method locally, then if someone doesn't apply the method you suggested, I will redo it as you suggested

Closing this PR based on the discussion / suggestions above.


How to get output showing more than the highest unit in humanizer

Hello,
I have a use-case where I would like to see the number of seconds displayed in a humanised format, however I'd like to see it broken down by more than just one unit.
As an example:
11,234 Seconds = 3.1205 Hours = 3 Hours, 7 Minutes and 14 Seconds
At the moment, all I get returned is 3 hours, whereas I'd like to see the minutes and seconds as well.
Have I missed a setting somewhere?

Apologies, not sure why I didn't respond to this.
This is a duration rather than a date/time value. MomentJS does have durations but they are not currently exposed in this node.
However, good news is that you can do this with a Change node and JSONata which now has moment built in giving you full access.

Thanks!


Support cacerts rule

This is done not so cleanly but does not seem much worse than the rest - happy to improve if any further suggestions.

Friendly ping. I don't know enough about this to review it myself.


Remove moz-chunked-arraybuffer support, and related code, from src/display/network.js

The moz-chunked-arraybuffer responseType is a non-standard property, which has been subsumed by the Fetch API, and it's in the process of being removed from Firefox; please see https://bugzilla.mozilla.org/show_bug.cgi?id=1120171 and https://bugzilla.mozilla.org/show_bug.cgi?id=1411865
Please note: Rather than waiting for both Fetch and ReadableStream to be available in e.g. a Firefox ESR version (which is probably going to be 68 at the earliest), let's just decide that PDF.js release 2.1.266 will be the last one with moz-chunked-arraybuffer support and land this patch (since nothing should outright break without it anyway).

/botio test

[...] please see https://bugzilla.mozilla.org/show_bug.cgi?id=1120171 and https://bugzilla.mozilla.org/show_bug.cgi?id=1411865

Both of these have now landed, hence I believe that we should just move forward with this PR.

Very nice cleanup!


KAFKA-6622 - fix performance issue in parsing consumer offsets

batch.baseOffset is an expensive operation (even says so in its javadoc), and yet was called for every single record in the batch.
this means that for N records in a gzipped batch, the entire batch will be unzipped N times. we've seen this take up to 3 hours for relatively small clusters.
here's an example: https://ibb.co/b9eGq7

opened a JIRA for this - https://issues.apache.org/jira/browse/KAFKA-6622

extra unzip shaved off, variable defined to be an Optional to begin with to stop wrapping it in an Optional every iteration.

@hachikuji @ijuma @sutambe - i hope i've addressed your comments ?


Incorrect type shown in language server's hover over suffixed expressions

When hovering over the values in the file below the types shown are incorrect for everything in main, except for test2 and Stdin.line!
app [main] {
    pf: platform "https://github.com/roc-lang/basic-cli/releases/download/0.15.0/SlwdbJ-3GR7uBWQo6zlmYWNYOxnvo8r6YABXD-45UOw.tar.br",
}

import pf.Stdin

main =
    test1 = "testing"
    test2 = Stdin.line!
    test3 = 1_2_3
    Task.ok {}

Expected behavior
The types of the values when hovering should be
test1, "testing": Str
test2: Str
Stdin.line!: Task {} [...]
test3, 1_2_3: Num *
Task.ok: {} -> Task {} *
{}: {}
Actual behaviour
test2: Str
Stdin.line!: Task {} [...]
everything else in main: Str -> Task {} [...]
I believe the problem is in roc_can::traverse::TypeAtPositionVisitor and roc_can::traverse::find_closest_type_at which finds the type of the closure generated by the canonicalization of ! instead of the proper definition.
The same thing happens with ? suffix as well.

My guess is that we are messing up the regions with desugaring of the suffixes, and that is somehow related.

This is the ast from a .snap file generated by a new test in can/tests

snapshot
Defs {
    tags: [
        Index(2147483648),
    ],
    regions: [
        @0-85,
    ],
    space_before: [
        Slice(start = 0, length = 0),
    ],
    space_after: [
        Slice(start = 0, length = 1),
    ],
    spaces: [
        Newline,
    ],
    type_defs: [],
    value_defs: [
        Body(
            @0-4 Identifier {
                ident: "main",
            },
            @11-85 Defs(
                Defs {
                    tags: [
                        Index(2147483648),
                    ],
                    regions: [
                        @19-28,
                    ],
                    space_before: [
                        Slice(start = 0, length = 0),
                    ],
                    space_after: [
                        Slice(start = 0, length = 0),
                    ],
                    spaces: [],
                    type_defs: [],
                    value_defs: [
                        Body(
                            @11-16 Identifier {
                                ident: "test1",
                            },
                            @19-28 Str(
                                PlainLine(
                                    "testing",
                                ),
                            ),
                        ),
                    ],
                },
                @11-85 Apply(
                    @11-85 Var {
                        module_name: "Task",
                        ident: "await",
                    },
                    [
                        @41-52 Var {
                            module_name: "Stdin",
                            ident: "line",
                        },
                        @11-85 Closure(
                            [
                                @33-38 Identifier {
                                    ident: "test2",
                                },
                            ],
                            @41-52 Defs(
                                Defs {
                                    tags: [
                                        Index(2147483648),
                                    ],
                                    regions: [
                                        @65-70,
                                    ],
                                    space_before: [
                                        Slice(start = 0, length = 1),
                                    ],
                                    space_after: [
                                        Slice(start = 1, length = 0),
                                    ],
                                    spaces: [
                                        Newline,
                                    ],
                                    type_defs: [],
                                    value_defs: [
                                        Body(
                                            @57-62 Identifier {
                                                ident: "test3",
                                            },
                                            @65-70 Num(
                                                "1_2_3",
                                            ),
                                        ),
                                    ],
                                },
                                @75-85 Apply(
                                    @75-82 Var {
                                        module_name: "Task",
                                        ident: "ok",
                                    },
                                    [
                                        @83-85 Record(
                                            [],
                                        ),
                                    ],
                                    Space,
                                ),
                            ),
                        ),
                    ],
                    BangSuffix,
                ),
            ),
        ),
    ],
}

I'm not very familiar with this but it looks like the Defs node with test3 and Task.ok has the region @41-52 which explains hovering on test3 at 60 doesn't reach it. Is it supposed to be @57-85 instead? That would contain all the regions of the nodes inside it.
Also, is there a better way to print out parts of the ast than creating a snapshot file? I couldn't find anything

I think making a test is the easiest way. You could also add a test for the parser if you want the AST before it's been desugared which may help see the regions easier see crates/compiler/test_syntax/tests/snapshots for those.


Add logout button and restore error page content

Per comments in #4, splitting this commit out into a separate PR for clarity. This makes 2 changes:

Adds a Log Out button to the logged-in screens (not visible when not authenticated or authenticated with an unauthorized account). This makes testing user auth easier, and is also just a good thing to have.

Reverts an old change that unexpectedly hid error messages in order to save some vertical space on the home page. @clizzin, as you requested in the other PR, I restored the vertical gap on the main page to diverge less from upstream; let me know if you think the gap is too much and I can remove it again 😂.

I don't want to nitpick unnecessarily, but just to help me better understand what's going on... I am still confused about what the connection is between the changes related to .tagline and the addition of the logout link.
In the other PR, in the thread about whether some stuff might be out of scope, 3 changes were mentioned:

Adding the logout link in userTools.ejs
Removing a <div class="tagline"> element, in index.ejs
Removing a CSS rule that made the tagline div invisible, in _custom.scss

I understand the purpose of 1 - that wasn't what I was talking about and it's clearly relevant to the auth issue.
2 seemed like it was meant to accomplish the same thing as 3 without the CSS rule. But it looks to me like you did not carry that change over into this PR, and it's been reverted in the original PR, so now the tagline element will appear? In other words, this PR doesn't seem to quite match what you originally did. Was that intentional? Is there some mechanism I'm not seeing where the message about logging out is actually inside tagline?
I'm still missing how the tagline CSS class is relevant to the new element in userTools.ejs, which doesn't seem to be enclosed in anything with that class (looking at index.ejs, I see userTools.ejs being included within header.masthead > div.container).

I can answer this—if you search the code for other uses of the tagline class, you'll find it used in the layouts for 403 and 404 error pages. The CSS rule .tagline { display: none; } caused those error messages to be hidden, but we want to show them, hence we remove that rule.
The reason Derek didn't retain the 2nd change (removing the .tagline element in index.ejs) is because I told him to restore that element, to reduce divergence from upstream, and that I would just live with the fact that it creates some extra vertical space on the page.

Exactly - thanks Topher!


CUDA out of memery at start of DISTRIBUTED training and slow training speed

dataset: 118k coco2017 train
model: htc-res50
load_from: None
CUDA:10.2
pytorch:1.5
python:3.7
mmdetection: v2.4 (just git from open_mmlab)
issue1: I tried to train htc res50 on 3 different mechines and they got 2 GPUs, 4 gpus, 8 gpus respectively. For examlple, on 2 GPUs, I ran the command ./tools/dist_train.sh configs/htc/htc_r50_fpn_1x_coco.py   2  --work-dir /home/work_dir_01/, the config log of gpus_ids should be range(0,2).
But:
the log is like this
....
load_from = None
resume_from = None
workflow = [('train', 1)]
work_dir = '/home/work_dir_01/'
gpu_ids = range(0, 1).
AND, in another two mechines, when I ran  ./tools/dist_train.sh configs/htc/htc_r50_fpn_1x_coco.py   4  --work-dir /home/work_dir_01/   and   ./tools/dist_train.sh configs/htc/htc_r50_fpn_1x_coco.py   8  --work-dir /home/work_dir_01/ respectively, the gpu_ids is still range(0,1).  However, for 8 gpus mechines, this training is running and when I type nvidia-smi, the all the gpus are working!
But,for 2 and 4 gpus mechines, the training stuck at start stage of trainging, it both shows up CUDA out of memery.Tried to allocate 61.00 MiB (GPU 0; 10.76 GiB total capacity; and also when I type nvidia-smi, the all the gpus are working!
issue2: From the issue1, although 8 gpus mechine was runing train, but the speed is very slow, 50 batchs need over 8 mins.
The same thing happend on 4 gpus mechine:
command is ./tools/dist_train.sh configs/htc/htc_r50_fpn_1x_coco.py   4  --work-dir /home/work_dir_01/.
The config of gpu_ids  still showed range(0, 1).
The dataset is coco2017_val (only 5k images). cuda is NOT out of memery this time when using small dataset.
The speed of 50 batchs need over 5 mins.
So,

What's wroing with the config of  gpu_ids? why it always show  range(0, 1).
What's wrong with the speed of traing?  It seems like all gpus are cascaded but not parallelled.

Please help me.
Thank you.

The gpu_ids might have some issues, but the training process should be fine.
As for the training speed, we are not sure because we've successfully run HTC many times with normal speeds. It depends on your GPU.

Thank you. I'v succcessfully trained htc_r50_1e with 2 gpus. For the lr shedual, nothing has been changed but the lr rate decreased to 0.02/4.
However, even in the last epoch (12th epoch). the loss is still around 0.8. Is this normal?

Thank you. I'v succcessfully trained htc_r50_1e with 2 gpus. For the lr shedual, nothing has been changed but the lr rate decreased to 0.02/4.
However, even in the last epoch (12th epoch). the loss is still around 0.8. Is this normal?

Yes it is normal because there are many losses in the cascade methods. You can compare the loss scale to those in the model zoo as we provide logs here.


Get habitat build working with changes from #1654

The pwd for building changed with #1654. Hopefully
this makes it not matter
Signed-off-by: Jay Mundrawala<EMAIL_ADDRESS>

@tduffield is doing stuff to fix this


texttospeech: delete from ruby-docs-samples

samples moved to https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-text_to_speech/samples
documentation updated

@viacheslav-rostovtsev you will need to resolve the conflicts to merge.

@gguuss done. I don't have permissions to merge either this or https://github.com/GoogleCloudPlatform/ruby-docs-samples/pull/580

I'm in favor of force committing this, the fix for the presubmit failure is in my PR.

@tbpg do you have admin permissions on this repo? I'd like to merge this to unblock #578

Hiya, when you move samples that are actively being used in cloud.google.com documentation, please update the snippets includes internally. Otherwise the "view on GitHub" button breaks.

Mea culpa - I had assumed this was removed from the docs or migrated.


Update 02_clone/README.md

-Specify branch name for download

Download ZIP button

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

@nenaraab can you check current changes out?

@spuaa thanks for the corrections!
can you please sign the contributor licence agreement and try to merge?


Move Consul Configuration Parameters To Top-Level

This change moves the consul_key_location and consul_token configuration parameters from the job_scaling section to top-level configuration parameters.
Closes #92 and clears the way for #86, #83 and #32.

Once this is merged, the following Wiki updates will also be pushed:
Agent Configuration
The Replicator agent has various configuration options that can be specified via the command-line or via configuration files. All of the configuration options are completely optional and you can run Replicator with its default configuration. Defaults are specified with their descriptions.
Configuration precedence is evaluated in the following order:

Command line arguments
Configuration files

Command Line Flags

-aws-region The AWS region in which the cluster is running. If no region is specified, Replicator attempts to dynamically determine the region.

-cluster-autoscaling-group The name of the AWS autoscaling group that contains the worker nodes. This should be a separate ASG from the one containing the server nodes.

-cluster-identifier A human readable cluster name to allow operators to quickly identify which cluster is alerting.

-cluster-max-size Indicates the maximum number of worker nodes allowed in the cluster. The default is 10.

-cluster-min-size Indicates the minimum number of worker nodes allowed in the cluster. The default is 5.

-cluster-node-fault-tolerance The number of worker nodes the cluster can tolerate losing while still maintaining sufficient operation capacity. This is used by the scaling algorithm when calculating allowed capacity consumption. The default is 1.

-cluster-retry-threshold Replicator fully verifies cluster scale-out by confirming the node joins the cluster. If it does not join after a certain period the actioned is marked as failed. This retry is the number of times Replicator will attempt to scale the cluster with new instances.

-cluster-scaling-cool-down The number of seconds Replicator will wait between triggering cluster scaling actions. The default is 600.

-cluster-scaling-enabled Indicates whether the daemon should perform cluster scaling actions. If disabled, the actions that would have been taken will be reported in the logs but skipped.

-cluster-scaling-uid The cluster UID is an identifier which represents a run book entry which allows operators and support to quickly work through resolution steps.

-config The path to either a single config file or a directory of config files to use for configuring the Replicator agent. Replicator processes configuration files in lexicographic order.

-consul This is the address of the Consul agent. By default, this is localhost:8500, which is the default bind and port for a local Consul agent. It is not recommended that you communicate directly with a Consul server, and instead communicate with the local Consul agent. There are many reasons for this, most importantly the Consul agent is able to multiplex connections to the Consul server and reduce the number of open HTTP connections. Additionally, it provides a "well-known" IP address for which clients can connect.

-consul-key-location The Consul Key/Value Store location where Replicator will look for job scaling policies. By default, this is replicator/config/jobs.

-consul-token The Consul ACL token to use when communicating with an ACL protected Consul cluster.

-dev Start the Replicator agent in development mode. This runs the Replicator agent with a configuration which is ideal for development or local testing.

-job-scaling-enabled Indicates whether the daemon should perform job scaling actions. If disabled, the actions that would have been taken will be reported in the logs but skipped.

-log-level Specify the verbosity level of Replicator's logs. The default is INFO.

-nomad The address and port Replicator will use when making connections to the Nomad API. By default, this http://localhost:4646, which is the default bind and port for a local Nomad server.

-pagerduty-service-key The PagerDuty integration key which has been setup to allow replicator to send events.

-scaling-interval The time period in seconds between Replicator check runs. The default is 10.

-statsd-address Specifies the address of a StatsD server to forward metrics to and should include the port.

Configuration Files
Replicator uses the HashiCorp Configuration Language for configuration files. By proxy, this means the configuration is also JSON compatible. If a directory of configuration files is passed, Replicator will parse these in lexical order. Replicator can also reload its configuration when it receives the SIGHUP signal.
Configuration Key Reference

aws_region (string: "") The AWS region in which the cluster is running. If no region is specified, Replicator attempts to dynamically determine the region.

consul (string: "localhost:8500") This is the address of the Consul agent. By default, this is localhost:8500, which is the default bind and port for a local Consul agent. It is not recommended that you communicate directly with a Consul server, and instead communicate with the local Consul agent. There are many reasons for this, most importantly the Consul agent is able to multiplex connections to the Consul server and reduce the number of open HTTP connections. Additionally, it provides a "well-known" IP address for which clients can connect.

consul_key_location (string "replicator/config/jobs") The Consul Key/Value Store location where Replicator will look for job scaling policies.

consul_token (string "") The Consul ACL token to use when communicating with an ACL protected Consul cluster.

nomad (string "http://localhost:4646") The address and port Replicator will use when making connections to the Nomad API. Ideally in a full cluster setup this would be a DNS endpoint which load balances requests across the quorum servers.

log_level (string "debug") Specify the verbosity level of Replicator's logs.

scaling_interval (int 10) The time period in seconds between Replicator check runs.

cluster_scaling Configures Replicators cluster scaling ability and has the following keys:

autoscaling_group (string "") The name of the AWS autoscaling group that contains the worker nodes. This should be a separate ASG from the one containing the server nodes.
cool_down (int 600) The number of seconds Replicator will wait after a scaling action before allowing another.
enabled (bool false) Indicates whether the daemon should perform scaling actions. If disabled, the actions that would have been taken will be reported in the logs.
max_size (int 5) Indicates the maximum number of worker nodes allowed in the cluster.
min_size (int 3) Indicates the minimum number of worker nodes allowed in the cluster.
retry_threshold (int 2) Replicator fully verifies cluster scale-out by confirming the node joins the cluster. If it does not join after a certain period the actioned is marked as failed. This retry is the number of times Replicator will attempt to scale the cluster with new instances.

job_scaling

enabled (bool false) Indicates whether the daemon should perform job scaling actions. If disabled, the actions that would have been taken will be reported in the logs but skipped.

telemetry This is a nested object that configures where Replicator sends its runtime telemetry, and contains the following keys:

statsd_address (string "") Specifies the address of a StatsD server to forward metrics to and should include the port.

notification This configures Replicators notifications backends and has the following keys:

cluster_scaling_uid (string "") The cluster UID is an identifier which represents a run book entry which allows operators and support to quickly work through resolution steps.
cluster_identifier (string "") A human readable cluster name to allow operators to quickly identify which cluster is alerting.
pagerduty_service_key (string "") The PagerDuty integration key which has been setup to allow replicator to send events.

Examples Configuration File
consul              = "consul.systems"
consul_key_location = "core-engineering/replicator/config"
consul_token        = "278F9E37-8322-4EDC-AFDC-748D116B3DCE"
nomad               = "http://nomad.systems:4646"
aws_region          = "us-east-1"
log_level           = "info"
scaling_interval    = 10

cluster_scaling {
  enabled              = true
  max_size             = 100
  min_size             = 80
  cool_down            = 900
  node_fault_tolerance = 10
  autoscaling_group    = "container-agent-dev"
}

job_scaling {

  enabled             = true
}

telemetry {
  statsd_address = "<IP_ADDRESS>:8125"
}

notification {
  cluster_scaling_uid   = "els1"
  cluster_identifier    = "core-prod"
  pagerduty_service_key = "xxxxxxxx"
}

Tested and confirmed this works in the real world, all the tests have been updated and pass.
Merging this in as @jrasell is on holiday and this is blocking progress on other work.


[exploration] Detail page: start removing tabs and make form elements editable

Enhancement
Detail page: start removing tabs and put all information on one page

Example: http://localhost:3000/biblio/researcher/publications/detail/full-view--published-unsaved.html
Goals
There are some unknown unknowns about this enhancement. The goal is to explore the possibilities and find out along the way where we still need to make adjustments to make this work.

[ ] You can find all the different information panes on one page
You can keep the sequence and structure of the different information panes, we will need to discuss and test the sequence this further with our users.
[ ] You can edit the form fields directly in the page

The functionality of "adding" features like authors, editors, affiliations, projects, ... remain the same.
No need to adapt the layout of each form yet, you can reuse existing elements.

To figure out along the way

When people exit the page without saving, can they get a warning?
Do we have to think about autosave already in the future, or ?
... any other questions

Context

People don't see the tabs and forget about certain important information
We want to be able to highlight important information better
We want to be more consistent with required fields in the future

Later, together with Mini Biblio.


Reset pinocchio random seed in python

Any idea of how to reset Pinocchio (hence eigen) random seed from python?
for i in range(np.random.randint(1000)): pinocchio.SE3.Random()

There is no direct access to the seed of the std library used by Eigen for random sampling.
This feature should be added to EigenPy, not to Pinocchio.


Build failure at gcc level: blocksort.c not found

bzip2-sys seems to refuse to build due to missing blocksort.c (it is indeed not present in the related build directory).
   Compiling bzip2-sys v0.1.6
error: failed to run custom build command for `bzip2-sys v0.1.6`
process didn't exit successfully: `c:\Local\poligon\extract_blobs\target\release\build\bzip2-sys-9937a6f77c12f052\build-script-build` (exit code: 101)
--- stdout
TARGET = Some("x86_64-pc-windows-gnu")
OPT_LEVEL = Some("3")
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
TARGET = Some("x86_64-pc-windows-gnu")
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CC_x86_64-pc-windows-gnu = Some("C:\\Local\\poligon\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\bin\\gcc.exe")
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CFLAGS_x86_64-pc-windows-gnu = None
CFLAGS_x86_64_pc_windows_gnu = None
HOST_CFLAGS = None
CFLAGS = None
DEBUG = Some("false")
running: "C:\\Local\\poligon\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\bin\\gcc.exe" "-O3" "-ffunction-sections" "-fdata-sections" "-m64" "-I" "bzip2-1.0.6" "-D_WIN32" "-DBZ_EXPORT" "-DBZ_NO_STDIO" "-o" "c:\\Local\\poligon\\extract_blobs\\target\\release\\build\\bzip2-sys-f19fa19517d295e2\\out\\bzip2-1.0.6\\blocksort.o" "-c" "bzip2-1.0.6/blocksort.c"
cargo:warning=gcc.exe: error: CreateProcess: No such file or directory
exit code: 1

I'm using rustc 1.28.0-nightly-gnu-x64 with Win 7.

Thanks for the report! It looks like gcc.exe doesn't exist though or maybe a dll is missing?

GCC is there, it's the one bundled with x86_64-pc-windows-gnu; how can I determine which dll can be missing?

The gcc we ship that's bundled isn't able to compile C files, though, so you'll want to install a local gcc toolchain elsewehre

I've tried to find that piece of information in order to comment on it, but instead I found lots of other cases when people were surprised that the bundled gcc can't be used for compilation. It might be a good idea to make this more visible, e.g. even by adding a blank file named WARNING - THIS GCC CANNOT BE USED FOR COMPILATION.txt to Windows installations under \rustlib\*\bin (as this location is probably usually found by manual browsing).

Seems plausible to me!


Structured Logging

Hi,
Currently the lazo logger formats all log entries as a string, then passes the string value to each sink. Have you considered having the lazo logger structure each log entry as an object literal containing the log data, and then let each sink format the data as it requires?
Example:
var logEntry = {
    timestamp: '2015-01-01T00:00:00.000Z',
    level: 'DEBUG',
    requestId: '123',
    tags: [],
    message: 'This is a message',
    error: [Object object]
};

// Custom log entry
LAZO.logger.debug(logEntry);

// If the first argument passed in an instance of the Error class, it could be assigned to an error property
// to allow for custom handling in sinks.
LAZO.logger.error(err, 'This is a %s message', 'error');

This would allow developers to provide more to sinks in a structured manner so they they do not have to attempt to parse strings if they require the data in a different structure. Developers could also pass object literals directly to the lazo logger functions.
Maintaining backwards compatibility with the current logging format doesn't look like it would be a problem. Is this something you would accept in a PR?
Adam.

Yes please provided that backwards compatibility can be maintain as you noted. Thanks, Jason


Registration URLs for Lightning Talks

This PR adds the registration URL for the lightning talks.

LGTM, thanks @eileen-kuehn . If you are ok with this, go ahead and merge it please

LGTM, thanks @eileen-kuehn . If you are ok with this, go ahead and merge it please


Failed to run code

I ran your Python code according to your 'Readme' document and successfully ran 'quadtree_table. py' and save the pickle file. But when I run 'quad_plot.py' encountered the following problems.

How can I solve them？

It means, there are more lists stored within the pickle file than the 6 being shown.. ("quad_list_leaves", "quad_list_unit", etc)
You can try reading the pickle file to see what's inside..  and allocate variables..

  pickle.dump((quad_list_leaves, quad_list_unit, quad_list_index, quad_list_depth, uni_old, ind_file, trans, QuadTree.maxdepth), f )
these are the variables being stored in that pickle file, so you can try changing the line 22 to
quad_list_leaves, quad_list_unit, quad_list_index, quad_list_depth, uni_old, ind_file, trans, max_depth = pickle.load(f)


Image loaded but not animating

I programmatically added a gif in a stackview, however, the image is not animating
"display_url" = "pic.twitter.com/PD4fxB83OI";
"expanded_url" = "https://twitter.com/MarcAnthony/status/836026935813746688/photo/1";
"media_url" = "http://pbs.twimg.com/tweet_video_thumb/C5oqDsuXQAAEEcm.jpg";

hi, how did u solve it?


customize some information

Hi:
Just like the message below:
Misc Global Tracks
MemAvailable
MemFree
For easier analysis, we customize some information.
PD2339:/ #  cat /sys/rsc/system_heap/memory_info
NR_ION:            837660 KB
pool_free:         265240 KB
file_cache:        5910784 KB
defer list:        0 KB
How to add it to the trace?
Thanks.

The suggestion is to send a patch changing the Perfetto source code to collect these new events. We accept patches like this all the time.
For example recently we accepted https://r.android.com/c/3210391/6  for collecting /sys GPU frequency counters.
Please follow the process at https://perfetto.dev/docs/contributing/getting-started#contributing to do this.


changed 'Download File' to 'Select File'

File_selector allows the user to choose one or more files.
Changed Download File label to Select File

Thank you.
This must be ported into the develop branch as well. I am going to do it.


Feature/snoda sda

Description
Replace this text with a concise description of what was changed and why.

Testcase

Hi @sujayvkumar, looks like you merged master into eis-freshwater before making your commit adding the SNODAS feature which includes commits in the PR that we don't want landing in the eis-freshwater branch. I recommend making a fresh branch off of eis-freshwater and cherry-picking 6760752 onto it and opening a new pull request that includes only that commit.

I am closing this PR because a new one will be opened with these changes.


Voyager relationship with same table (BelongsToMany)

Laravel Version: 5.5.#
Voyager Version: 1.0.#
PHP Version: 7.2.1
Database Driver & Version:

Description:
I stuck on creating relationship in voyager for same table.
Need one field to belongs to many other from same table.
Here is my First table:
table:products
-id (auto_increment)
-name (text)
-other_products
-timestamps
table:products_pivot
-product_id (main row for choosing other products - like similar products)
-product_id (storing what i have chosen)
i can't have 2 columns with same name, but how to create this kind of relationship?
other_products must be multi-select pull down.
thanks.

I don't think this is a Voyager related question. You can use a parent_id in your table. Maybe try our Slack group or other forums for your issue.

@writeritykirpetrov, looks like you might need a better understanding of how many-to-many relationships work (or your explanation just wasn't adequate for me to understand).  In either case, this question would require too much dialogue, so I also recommend asking on Slack (ours or LaraChat), or in one of the many Laravel-focused forums


Cover Groupings.Service.js

Check for correct endpoint paths.
GROUPINGS-904

Looks good to me! Feel free to merge.


Sockets

UDP sockets are done. Will rework filesystem again and implement http.

Oh my god yissssss

Mind if I use the code for OGG streaming? Did you find an example somewhere?

Go ahead! It's open source 😉
I found the example from ctrulua, so I have them to thank for it :D


Neo Coolcam Motion Sensor configs don't comply with the style guide

Originally posted by @AlCalzone in https://github.com/zwave-js/node-zwave-js/issues/2821#issuecomment-858098251

fixed with the addition of eslint rules


cargo-workspaces: init at 0.2.35

Description of changes
Adds cargo-workspaces to nixpkgs.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

There is also https://github.com/NixOS/nixpkgs/pull/181792

any idea what it would take to get this merged? No rush-- just curious if I've missed anything. Thanks!

any idea what it would take to get this merged? No rush-- just curious if I've missed anything. Thanks!

Did you coordinate with @cjab for this PR as he put himself as a maintainer of this package?

@cjab want to be a maintainer on this?

No worries @macalinao it's all you! 😄 It looks like your package is a bit more robust than mine. I'll go ahead and close my PR.


Trying to open sqlite database

Hi.
I've tried to open sqlite database of tdlib in sqlite DB Browser (https://sqlitebrowser.org/dl/)
the app asks me for encryption password or encryption Raw key of the database.
Where can I find such a key?

TDLib doesn't provide a way to get it. Anyway, data stored in the database as binary blobs, which can be parsed only by TDLib itself, so it is useless.


Auto Action Mode not continuing after first action.

Just something I have experienced recently; whenever I am mass crafting, Auto Action Mode does the first action of a macro and then stops. I have to manually toggle AAM off and then back on to get it to continue the macro for the craft.
However if I leave it to use recommended actions or the new Expert Recipe Solver mode, it will work as intended. Just macros are bugging out AAM for me.

If your macro is using a specialist action, you will need to enable "Use Specialist Actions" under the standard solver settings. It's a bug I'm aware of and will be fixed shortly.

Appreciate the speedy response and everything you do <3


migrator.add_index fails with 'Relation ... already exists'

I am trying to add an index as follows:
migrator.add_index('structuresetstructure', 'structure', 'set', unique=True)

I get the following error:
[...]
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.5/pw_migrate", line 9, in <module>
    load_entry_point('peewee-migrate==0.5.10', 'console_scripts', 'pw_migrate')()
  File "/usr/lib64/python3.5/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib64/python3.5/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/lib64/python3.5/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib64/python3.5/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib64/python3.5/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib64/python3.5/site-packages/peewee_migrate/cli.py", line 57, in migrate
    migrations = router.run(name, fake=fake)
  File "/usr/lib64/python3.5/site-packages/peewee_migrate/router.py", line 156, in run
    self.run_one(mname, migrator, fake=fake, force=fake)
  File "/usr/lib64/python3.5/site-packages/peewee_migrate/router.py", line 128, in run_one
    migrator.run()
  File "/usr/lib64/python3.5/site-packages/peewee_migrate/migrator.py", line 107, in run
    opn.run()
  File "/usr/lib64/python3.5/site-packages/playhouse/migrate.py", line 144, in run
    getattr(self.migrator, self.method)(*self.args, **kwargs))
  File "/usr/lib64/python3.5/site-packages/playhouse/migrate.py", line 133, in _handle_result
    self.execute(result)
  File "/usr/lib64/python3.5/site-packages/playhouse/migrate.py", line 129, in execute
    self.migrator.database.execute_sql(sql, params)
  File "/usr/lib64/python3.5/site-packages/playhouse/postgres_ext.py", line 380, in execute_sql
    self.commit()
  File "/usr/lib64/python3.5/site-packages/peewee.py", line 3316, in __exit__
    reraise(new_type, new_type(*exc_args), traceback)
  File "/usr/lib64/python3.5/site-packages/peewee.py", line 127, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib64/python3.5/site-packages/playhouse/postgres_ext.py", line 373, in execute_sql
    cursor.execute(sql, params or ())
peewee.ProgrammingError: FEHLER:  Relation „structuresetstructure_structure_id_set_id“ existiert bereits

I have another add_index call for a different table in an earlier (already applied) migration file.

Hm, looks like you have this index already.

Kind of, yes. When I check the generated queries I see the query to add the index being generated twice. When I comment the migrator.add_index out, I don't get it at all.

I still experience this error in 1.0 and 0.14.0
It happens when I try to add an index on the field which was created in the same migration.
diff --git a/tests/migrations/002_test.py b/tests/migrations/002_test.py
index bf5791f..afa1740 100644
--- a/tests/migrations/002_test.py
+++ b/tests/migrations/002_test.py
@@ -29,4 +29,5 @@ def migrate(migrator, database, **kwargs):
     migrator.add_fields(
         'tag', created_at=pw.DateTimeField(null=True))

+    migrator.add_index('tag', 'created_at', unique=False)
     migrator.add_index('person', 'first_name', unique=True)

sqlite3.OperationalError: index tag_created_at already exists


Mob Spawner Config

The 1.20 version of the game appears to have no deadly module, it's been included in the adventure module instead. In the adventure module, there seems to be no way to adjust the frequency of rogue spawners generating in each chunk. I've been playing the game and it's impossible to go mining because there is literally 2-3 spawners in each chunk and I have to fight entire hoards of enemies just to travel a few blocks. am I missing something?

All configuration to worldgen must be done through a datapack now. See https://github.com/Shadows-of-Fire/Apotheosis/blob/1.20/src/main/resources/data/apotheosis/worldgen/placed_feature for the existing files. The thing you'll probably want to turn down is the count field.


add cupy.quantile

This is a simple PR to add cupy.quantile which is the same as cupy.percentile but with q in the range [0, 1] rather than [0, 100].
This just reuses the existing cupy.percentile implementation, so there is not much new to review. The test cases are also copies of the tests for percentile, but using floating point q in the range [0, 1].
numpy.quantile was introduced in NumPy 1.15 which I think CuPy now requires, so I didn't do any with_requires checks in the tests.
One area to consider
I added range checks on q as in NumPy, but these require device synchronization, so it may not be desirable. If we don't want this, I can just remove use of _quantile_is_valid and the two *_out_of_range_q tests.

pfnCI, test this please.

Jenkins CI test (for commit 64f8b683f813a252ecfe01ae9886b4fd91bbd483, target branch master) succeeded!


Unable to Evaluate Formula while referencing an external workbook

NPOI Version
2.7.1
File Type
XLSX
Issue Description
When I attempt to evaluate a formula using NPOI, I encounter the following error:
NPOI.Util.RuntimeException
  HResult=0x80131500
  Message=Could not resolve external workbook name 'FileName.xlsx'. Workbook environment has not been set up.
  Source=NPOI.Core
  StackTrace:
   at NPOI.SS.Formula.OperationEvaluationContext.CreateExternSheetRefEvaluator(ExternalSheet externalSheet)
   at NPOI.SS.Formula.OperationEvaluationContext.CreateExternSheetRefEvaluator(String firstSheetName, String lastSheetName, Int32 externalWorkbookNumber)
   at NPOI.SS.Formula.OperationEvaluationContext.GetRef3DEval(Ref3DPxg rptg)
   at NPOI.SS.Formula.WorkbookEvaluator.GetEvalForPtg(Ptg ptg, OperationEvaluationContext ec)
   at NPOI.SS.Formula.WorkbookEvaluator.EvaluateFormula(OperationEvaluationContext ec, Ptg[] ptgs)
   at NPOI.SS.Formula.WorkbookEvaluator.EvaluateAny(IEvaluationCell srcCell, Int32 sheetIndex, Int32 rowIndex, Int32 columnIndex, EvaluationTracker tracker)
   at NPOI.SS.Formula.WorkbookEvaluator.Evaluate(IEvaluationCell srcCell)
   at NPOI.XSSF.UserModel.BaseXSSFFormulaEvaluator.EvaluateFormulaCellValue(ICell cell)
   at NPOI.SS.Formula.BaseFormulaEvaluator.Evaluate(ICell cell)
   at Program.Main() in E:\EXPERIMENT\EditExcel\EditExcel\Program.cs:line 61

Inner Exception 1:
WorkbookNotFoundException: Could not resolve external workbook name 'FileName.xlsx'. Workbook environment has not been set up.

Formula
Formula as read by NPOI:
INDEX([1]Data!$A$2:'[1]Data'!$N$1494,MIN(IF([1]Data!$A$2:'[1]Data'!$N$1494=A2,ROW([1]Data!$A$2:'[1]Data'!$N$1494)-ROW([1]Data!$A$2)+1)),MATCH(A2,INDEX([1]Data!$A$2:'[1]Data'!$N$1494,MIN(IF([1]Data!$A$2:'[1]Data'!$N$1494=A2,ROW([1]Data!$A$2:'[1]Data'!$N$1494)-ROW([1]Data!$A$2)+1)),0),0)+2)

Formula as seen in the Excel UI:
=INDEX(Data!$A$2:Data!$N$1494,MIN(IF(Data!$A$2:Data!$N$1494=A876,ROW(Data!$A$2:Data!$N$1494)-ROW(Data!$A$2)+1)),MATCH(A876,INDEX(Data!$A$2:Data!$N$1494,MIN(IF(Data!$A$2:Data!$N$1494=A876,ROW(Data!$A$2:Data!$N$1494)-ROW(Data!$A$2)+1)),0),0)+3)

Steps to Reproduce

Open the workbook in NPOI.
Try to evaluate the formula using NPOI.

Expected Behavior
The formula should evaluate correctly without errors.
Actual Behavior
I get the following error message:
"Could not resolve external workbook name 'FileName.xlsx'. Workbook environment has not been set up."
Temporary Workaround
To remove the error, I manually remove [1] from the entire workbook using NPOI. However, after doing this, the formula no longer throws an error but also does not return any result in the cell.
Additional Notes

The formula evaluates correctly in Excel (using Introp).
The issue seems to be related to the handling of external references with NPOI (I am not using any external workbook, all the values and formula resides in the same workbook's different sheets).

m

What's FileName.xlsx here? Is it another Excel file?

Hey @tonyqus,
Thanks for your response!
Currently, I’m using a template with all the formulas built into it. I have another Excel file containing the data. First, I make a copy of the template, and then I paste the values into the copy to evaluate the results. However, it seems that Excel is referencing the other file (template) and giving me an error. As mentioned earlier, this doesn’t happen when we do the same thing with Microsoft.Office.Interop.Excel, possibly because Excel handles it automatically in that case

NPOI is NOT Microsoft Office. The formula engine is reimplement in C# (originally implemented in Aapche POI in Java).  And the logic of the embeded formula calculation engine is very complicated. We cannot guarantee all the behaviors are same.
If the formula is too complicated, it is possible that NPOI cannot parse or evaluate it.

But again, if you cannot provide the original Excel, I can't guess what's wrong.

I understand. I also find the formula quite confusing. I added a workaround by manually inserting the formula using the SetCellFormula method. This resolved the errors, but now it's showing #N/A, which suggests there might be an issue with the formula. I'll first try to simplify the formula on my own. If the issue persists, I'll reach out again with more details and the file.

#664


The referenced path does not exist in the schema: ["resource"]

Firstly, thank you so much for the library. I am really enjoying and what to introduce it as a custom linting tool at work (as well as Rust).
I have worked through the HN adapter and did manage to create a (somewhat limited) OpenAPI adapter. I am busy creating one for Terraform files. To make it easier, I am converting the files into the JSON equivalent. I used the BasicAdapter but when I query I get the following error
The referenced path does not exist in the schema: ["resource"]
I did get inspiration from https://github.com/felipesere/trustfall-serde-yaml for the implementation
The code for the adapter is:
use serde_json::Value;
use std::sync::Arc;
use trustfall::{
    provider::{AsVertex, BasicAdapter},
    FieldValue,
};

#[derive(Debug, Clone)]
pub struct HclVertex(Arc<Value>);

impl From<Value> for HclVertex {
    fn from(value: Value) -> Self {
        Self(Arc::new(value.clone()))
    }
}

impl From<&Value> for HclVertex {
    fn from(value: &Value) -> Self {
        Self(Arc::new(value.clone()))
    }
}

impl trustfall::provider::Typename for HclVertex {
    fn typename(&self) -> &'static str {
        match *self.0 {
            Value::Null => "null",
            Value::Bool(_) => "bool",
            Value::Number(_) => "number",
            Value::String(_) => "string",
            Value::Array(_) => "array",
            Value::Object(_) => "object",
        }
    }
}

pub struct JsonAdapter {
    root: Arc<Vec<Value>>,
}

impl JsonAdapter {
    pub fn new(json: Vec<Value>) -> Self {
        Self {
            root: Arc::new(json),
        }
    }

    fn get_value(&self, key: &str) -> Vec<Value> {
        let iter = self
            .root
            .iter()
            .filter_map(|file_value| file_value.get(key).clone().to_owned());
        iter.map(|x| x.to_owned()).collect()
    }
}

impl<'vertex> BasicAdapter<'vertex> for JsonAdapter {
    type Vertex = HclVertex;

    fn resolve_starting_vertices(
        &self,
        edge_name: &str,
        parameters: &trustfall::provider::EdgeParameters,
    ) -> trustfall::provider::VertexIterator<'vertex, Self::Vertex> {
        match edge_name.clone() {
            "Module" => {
                let items = self
                    .get_value("module")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            "Resource" => {
                println!("Search");
                let items = self
                    .get_value("resource")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            "Data" => {
                let items = self
                    .get_value("data")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            "Variable" => {
                let items = self
                    .get_value("variable")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            "Locals" => {
                let items = self
                    .get_value("locals")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            "Output" => {
                let items = self
                    .get_value("output")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            "Provider" => {
                let items = self
                    .get_value("provider")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            "Terraform" => {
                let items = self
                    .get_value("terraform")
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
            x => {
                let items = self
                    .get_value(x)
                    .into_iter()
                    .map(|x| HclVertex(Arc::new(x.clone())));
                Box::new(items)
            }
        }
    }

    fn resolve_property<V: trustfall::provider::AsVertex<Self::Vertex> + 'vertex>(
        &self,
        contexts: trustfall::provider::ContextIterator<'vertex, V>,
        type_name: &str,
        property_name: &str,
    ) -> trustfall::provider::ContextOutcomeIterator<'vertex, V, trustfall::FieldValue> {
        let property_name = property_name.to_string();
        let type_name = type_name.to_string();
        Box::new(contexts.filter_map(move |ctx| {
            let node = ctx.active_vertex().clone().unwrap();

            println!("Looking for {property_name} of type {type_name} on {node:?}:");
            node.0
                .get(&property_name)
                .and_then(|v| v.as_str())
                .map(|v| (ctx.clone(), FieldValue::from(v)))
        }))
    }

    fn resolve_neighbors<V: trustfall::provider::AsVertex<Self::Vertex> + 'vertex>(
        &self,
        contexts: trustfall::provider::ContextIterator<'vertex, V>,
        type_name: &str,
        edge_name: &str,
        parameters: &trustfall::provider::EdgeParameters,
    ) -> trustfall::provider::ContextOutcomeIterator<
        'vertex,
        V,
        trustfall::provider::VertexIterator<'vertex, Self::Vertex>,
    > {
        let edge_name = edge_name.to_string();
        Box::new(contexts.filter_map(move |context| {
            let edge_name = edge_name.clone();
            let active = context.active_vertex().unwrap().clone();

            if edge_name == "*" && active.0.is_array() {
                let children: Vec<_> = active
                    .0
                    .as_array()
                    .unwrap()
                    .into_iter()
                    .map(|v| HclVertex::from(v))
                    .collect();

                return Some((context, Box::new(children.into_iter()) as Box<_>));
            }

            if let Some(value) = active.0.get(edge_name) {
                return Some((
                    context.clone(),
                    Box::new(std::iter::once(HclVertex::from(value))) as Box<_>,
                ));
            }

            None
        }))
    }

    fn resolve_coercion<V: trustfall::provider::AsVertex<Self::Vertex> + 'vertex>(
        &self,
        contexts: trustfall::provider::ContextIterator<'vertex, V>,
        type_name: &str,
        coerce_to_type: &str,
    ) -> trustfall::provider::ContextOutcomeIterator<'vertex, V, bool> {
        todo!()
    }
}

The reason it accepts a Vec<serde_json::Value> is because the Terraform files gets converted into JSON for each file, and not merged.
The query used was
InputQuery (
    query: r#"
{
    resource {
        aws_api_gateway_stage {
            this {
                stage_name @output
            }
        }
    }
}"#,
    args: {},
)

The file used was
resource "aws_api_gateway_stage" "this" {
  stage_name    = var.stage_name
  description   = "${var.comment_prefix}${var.api_domain}"
  rest_api_id   = aws_api_gateway_rest_api.this.id
  deployment_id = aws_api_gateway_deployment.this.id
  tags          = var.tags
}
...

and the JSON equivalent is
{
  "resource": {
    "aws_api_gateway_stage": {
      "this": {
        "deployment_id": "${aws_api_gateway_deployment.this.id}",
        "description": "${var.comment_prefix}${var.api_domain}",
        "rest_api_id": "${aws_api_gateway_rest_api.this.id}",
        "stage_name": "${var.stage_name}",
        "tags": "${var.tags}"
      }
    },
...
}

Our error messages could use some work 😅 Thanks for powering through it.
All names in Trustfall schemas and queries are case-sensitive. This error intends to say that your query starts with { resource (meaning that it looks for an entry point called resource) but no such entry point exists — based on your resolve_starting_vertices() implementation it seems like it might be called Resource instead. Try capitalizing it in your query and the error should hopefully go away?
I'd love to hear about your work on the custom linter you're building — it sounds very cool!

I just realised the issue, because I was copying and pasting, I used the OpenAPI schema :rofl:
So the issue should be updated to, if I don't have a schema, how do I execute the query? Is it even possible to represent JSON in a GraphQL schema?
The linter is to check Terraform config files and OpenAPI docs to ensure that is correctly set up. I might extend it to Python.

The linter is to check Terraform config files and OpenAPI docs to ensure that is correctly set up and the cross file type config is correct. I might extend it to Python as well if using FastAPI.

Oooh this sounds very cool! I'd love to learn more — might you be up for a virtual coffee chat sometime next week?

Is it even possible to represent JSON in a GraphQL schema?

In principle, yes. In fact, in principle it's always possible to write a schema for any data source — even if it's just raw binary data. But depending on your exact use case, that schema might not be useful, ergonomic, sufficiently expressive, etc.
For example, here's one valid way to represent arbitrary JSON in a Trustfall schema:
type Json {
    """Contents of this JSON document, as a JSON serialized string."""
    contents: String!
}

Here's another one:
type Json {
    """Contents of this JSON document, as a JSON serialized string."""
    contents: String!

    """Any child elements contained inside this JSON document, in unspecified order."""
    child_elements: [Json!]
 But not all of them are good nor useful. Data modelling is hard, and writing high-quality Trustfall schemas is no different — it requires practice!
The best way to model your data is a function of how you intend to use it — what queries you need to run, which pieces of detail are crucial to expose vs safe to ignore, etc. So I usually recommend starting with the queries you want to run, setting up a minimal schema that would make those queries tidy and ergonomic, and then slowly working to expand that schema.
I wrote up a few more tips in a comment here.

Oooh this sounds very cool! I'd love to learn more — might you be up for a virtual coffee chat sometime next week?
Definitely keen for a virtual coffee

Thanks for the advice, will talk to my team about what we want to query in the Terraform files

Closing ticket since it is not a bug but an implementation issue from my end

Thanks for the advice, will talk to my team about what we want to query in the Terraform files

Would love to hear what they say! Thanks!

They loved the tool, they just want it to be a bit more extensible since I am the only one with knowledge of Rust currently. So want to see if I can have the adapters load as WASM plugins to allow it to be a lot more flexible


Expose ETCD API

Description

ETCD API is necessary for the following development about clustering, which will be used for election of shard leader across CeresDB instances.
Proposal
Just expose the api of ETCD service.

Additional context

CeresMeta does not require any special settings for etcd, which is currently exposed.


Enable Sandboxed JavaScript Injection Data Theorem finding

Hello,  we have a Data theorem finding for our app for Enable Sandboxed JavaScript Injection the following code:

-[_TtC18MedalliaDigitalSDK27LoadSingleResourceOperation start]
-[_TtC18MedalliaDigitalSDK27MDUIModalFormViewController .cxx_destruct]
-[_TtC18MedalliaDigitalSDK27MDUIModalFormViewController initWithCoder:]
<EMAIL_ADDRESS>@" getDeviceData was called "
@"NebulaForm.setDeviceData('"
-[_OBJC_CLASS_$_NSBundle mainBundle]
-[_OBJC_CLASS_$_NSBundle bundleIdentifier]
-[(id) evaluateJavaScript:completionHandler:]

We are using medallia-digital-ios-sdk (4.5.1)
Recommendation:
When injecting JavaScript into a web page, utilize the iOS 14 APIs that allow sandboxed JavaScript execution. To do so, pass a WKContentWorld instance for the App JavaScript to execute within, which ensures code isolation from third-party JavaScript.
I was wondering if this is something which could be fixed. Thank you.

Hi,
Please contact your Digital Expert with all the information including a video of the all the information you can share about this.
Once the Digital Expert raises a ticket, we'll be able to prioritize it for the team.
Thanks,
Ori

@OriMedallia Thank you for your comment. Would you happen to know whats the tech risk for this finding?

@OriMedallia True that. Thank you again. Let me see about ticket. Appreciate it.

@OriMedallia Also, would you happen to know how to raise a ticket?

@utsavDave97 Please contact your Medallia Digital Expert. He's your company's contact person.
Let me know the name of the company and the app you're working on and I'll try to help on my side as well.


Create Login Page

Issue: Create Login Page
Description:
The website currently lacks a dedicated login page, essential for user authentication and access to personalized content. This issue aims to initiate the creation of a login page to enhance the user experience and ensure secure access to restricted areas of the site.
Expected Benefits:

Improved user experience with a dedicated and user-friendly login process.
Enhanced security measures to protect user data.
Facilitated access to personalized content and features.

Please assign this to me.

Hi @i-am-SnehaChauhan ,
Thank you for your interest in this issue. Your input is greatly appreciated.
To address the needs of our users comprehensively, we will create both a Login and Logout page. This approach will ensure that users can securely log in and out as needed, providing a complete and user-friendly experience.
Your contribution to this initiative would be invaluable. Please feel free to start working on these pages or let us know if you have any questions or suggestions along the way.
Let's make the login and logout process as smooth and secure as possible!

Please assign this issue to me.
I'm a Full Stack Developer and an open source enthusiast with 1.5+ years of expertise in the field.  🚀 I'm eager to contribute to this project and make it dynamic, while also enhancing its security with JWT. 💼
📝 In addition to the technical improvements, I'd like to update both the readme.md and contribution.md files to provide comprehensive documentation for both the backend and frontend sections of the website. 📚
Let's collaborate and take this project to the next level! 🤝💪

Please assign this issue to me.
I'm a Full Stack Developer and an open source enthusiast with 1.5+ years of expertise in the field. 🚀 I'm eager to contribute to this project and make it dynamic, while also enhancing its security with JWT. 💼
📝 In addition to the technical improvements, I'd like to update both the readme.md and contribution.md files to provide comprehensive documentation for both the backend and frontend sections of the website. 📚
Let's collaborate and take this project to the next level! 🤝💪

Assignee: @harshalhonde21
Hi @harshalhonde21 ,
Thank you for your enthusiasm and willingness to contribute to our project! We're excited to have you on board.
I'm pleased to inform you that I have assigned the issue to you. You have the freedom to make the website more user-friendly and practical to use, as you mentioned. Your expertise as a Full Stack Developer and your dedication to enhancing both the technical aspects and documentation are highly valued.
If you plan to build the backend of the website, you can use Spring Boot, which is a great choice for creating robust and secure backend services.
Feel free to get started on the improvements, and if you have any questions, need assistance, or would like to discuss specific ideas or requirements, please don't hesitate to reach out. We look forward to collaborating with you and taking this project to the next level!

 Is it work for you?

@ajaynegi45 thanks for assigning the issue to me.
My expertise in the MERN stack can I do backend with the Express.js and Node.js and for secure login and logout the jwt best choice I will make this project very best.
And what suggestion that when the user login or signup then only the books route should access this feature can I add.

@i-am-SnehaChauhan ya you can but how much time you require to do the frontend part because i am doing the backend part now only and the major part is that fetching the API's and using jwt effecient is very necessary.

@harshalhonde21 Thanks, Actually, I am currently in the midst of my midterm exams. If you would like, I can create a basic page, and once I have some free time, I will enhance its design.

@i-am-SnehaChauhan I am creating the frontend part little bit only login of toggle and all as you say its your exam time you just add the good styling to look page attractive at 1.5 hours my whole backend and api intergration in frontend will happen I will raise the PR if @ajaynegi45  like it he will merge it then you should add all styling and what changes you want by raising your PR.

Hey!!! Can you please assign this issue to me. I would like to contribute.


Add features about Peer reivew comment

Show review comments in Task list
Send source codes contain review comments to Dexter server

All unit tests passed. :+1:


GH-39227: [C++][Parquet] new Boolean RecordReader geting raw LSB bitmap

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

GitHub Issue: #39227

@wgtmac @pitrou This is still wip. Do you think this interface is ok? If yes I'll continue it

It's not very pretty, but I think it's ok.


Add MIT license to repository and link to it in the README.md

Add the MIT license to the project, then link to it in the README.md
Acceptance Criteria:

MIT license exists in the project files
README links to the license

Task completed in PR #74. The After Merging instructions were unnecessary, because the repository automatically picked up the MIT license after adding the LICENSE file to the project root, as specified in the documentation. It is now linked in the UI on the Tamsui repository when viewing the root README.md:


Acceptable comment delimiters in javascript

is there a way to have the JS evaluator accept single line comments in the java script where the developer is using '//' to mark his/her comments? Thx.

Not sure I fully understand the question, but // and /* */ work just as they are supposed to.