Feature Request: Handle the Firefox masterkey in the same way as initializing chromium.

Feature Description
// GetMasterKey returns the master key of the Firefox browser.
func (f *Firefox) GetMasterKey() ([]byte, error) {
	return f.masterKey, nil
}

In fact, the master key used by Firefox for encryption and decryption is stored in the key4.db file. It can be initialized using the same method instead of initializing it when exporting passwords.
Why is this feature needed?
Enhance code consistency and readability.
Checklist

[ ] I have checked the existing issues for similar problems.

Screenshots/Videos
If applicable, add screenshots or videos to help explain your proposal.
Additional Context
Add any other context or screenshots about the feature request here.

Closed

https://github.com/moonD4rk/HackBrowserData/pull/300


build(deps): upgrade to TS 4.4 test-api-client

There are no try-catch, .message or .stack to alter within this package. There is nothing to change for this issue!

@Leeyoungone Got it, thank you! Closing as no-op.


I want use python 3.8.9

How can i use python3.8.9?

Custom Python version is unsupported, unfortunately. Code app ships with Python 3.9.2.


add auto.register.schemas to all producer and consumer config

 add auto.register.schemas to all producer and consumer config kafka-sidecar master


Gradle or Maven?

Sorry,  right now you may include only as library project. You may see how in example here: https://github.com/recoilme/android-DisplayingBitmaps


Add note to README about testing.

Explicit note that helps folks making pull request know how to test their contributions before sending out the PR.

Thanks!


paymentSheet.present is not a function

Describe the bug
Not able to present card action sheet in my ionic app  when implementing Payment Sheet part:
I am getting this error:
TypeError: _this3.paymentSheet.present is not a function
at web.ts:74
at Generator.next ()
at asyncGeneratorStep (asyncToGenerator.js:3)
at _next (asyncToGenerator.js:25)
at asyncToGenerator.js:32
at new ZoneAwarePromise (zone.js:1340)
at asyncToGenerator.js:21
at StripeWeb.presentPaymentSheet (web.ts:67)
at index.js:196
at ZoneDelegate.invoke (zone.js:400)
on this function
export async function present(): Promise<void> {
  const result = await Stripe.presentPaymentSheet();
}

screenshot

Hi,
I experienced the same issue and solved upgrading stripe elements package to 1.0.0
    "@capacitor-community/stripe": "^3.4.2", "@stripe-elements/stripe-elements": "1.0.0",
Hope it helps

Please console.log(this.paymentSheet); This may not be plugin issue.

Is this issue resolved? This don't has any update, so will close. If be update, please re-open.
Thanks.

@zulkarnainfaizan @mengoni Did you adapt this plugin for production? If yes, please tell us what app. Please help us to develop this plugin in 2022.
https://github.com/capacitor-community/stripe/issues/145
Thanks.

I am getting the same issue in version 4.0.0? is there any approach to solve it?

me too

Any update for this issue? I'm trying to integrate it in ionic capacitor.

any news about this issue?


cyclic symlinks put dependency check into a loop.

Stumbled upon an issue with cyclic symlink which puts dependency check into a loop
Scanning /usr/local/apache which has the following inside
/usr/local/apache/lib_php/
/usr/local/apache/lib_php/php -> ../lib_php
My command line looks like this
./bin/dependencycheck-cli.sh -a MyPrj -s /usr/local/apache/ -l MyPrj.log
Once it hits the "lib_php" it goes into a loop, writing continuously to the log file something like
"FINE: Path passed to scanFile(File) is not a file: /usr/local/apache/lib_php/php/lib_php/php......"
if I change the scan path to "/usr/local/apache/**/*.jar" it stops writing to the log file but instead writes to the terminal: "Skipping symbolic link /usr/local/apache/lib_php/php/lib_php/php......" eventually running out of memory here DirectoryScanner.java:notFollowedSymlinks.add(file.getAbsolutePath());
I know killing the horse does not fix the leg but could there be a way to detect cyclic symlinks? or ignore symlinks all together? or have an ignore list where I can specify a path to ignore for during recursive scans?

I added an option to the CLI 1.2.12-SNAPSHOT so that you can specify the depth that symbolic links will be followed. Currently, the default value is 0 indicating symbolic links will not be followed.
More testing of this patch are needed before I will close this issue.
--Jeremy

Thank you. I'll test it tomorrow and update with results.
Quick thing I noticed while scanning the code:
throw new ParseException("Symbolic Link Depth (symLink) must be greater then zero.");  <= "than zero"?

Manually merged the changes from 5b8d3de,  7b092f7.
"--symLink" appears in the list of options, passed 0 to it to ignore symlinks.
When I pass the files as "-s /my/path/**/*.jar".  In the console I get
"Skipping symbolic link.. " but no issues, no more OOM even on large directory structures.
When I pass the files as "-s /my/path/**"  or "-s /my/path/"  it seems to go into the loop again, continuously writing to the log file "FINE: Path passed to scanFile(File) is not a file: /usr/local/apache/lib_php/php/lib_php/php......"

Realized my mistake in the first patch; this should be fixed now. I'll test on my linux box in the next day or two.

Thanks for reporting the bug. I have made one final tweak to the patch and have tested the patch.
--Jeremy


When welcomeDialog is set to false do not create command file and do not check for welcomeBannerImage

As one of the people who turns off the Welcome dialog by setting welcomeDialog="${6:-"false"}" I noticed that the command file /var/tmp/dialogCommandFileWelcome.XXX is still created, a minor issue.
More important is that welcomeBannerImage is checked and the default downloaded and cached. From the debug output
2023-08-22 11:24:52 - WELCOME DIALOG: welcomeBannerImage is not available, using a default image
2023-08-22 11:24:52 - WELCOME DIALOG: Auto-caching hosted 'yellow-watercolor-paper_95678-448.jpg' …
2023-08-22 11:25:52 - WELCOME DIALOG: bannerImage is not available, using alternative image

This one actually takes some time. It's not a lot but it is a delay. Could those lines be wrapped in an if [[ ! welcomeDialog = "false" or some such.

Thanks, @Honestpuck!
brandingBanner is used in both the so-called "Welcome" dialog, as well as the main SYM dialog.


V2 Bugfix

make vbox run as lazy mode for 'run' and 'start' command
for other hypervisors, they will not run as lazy mode

update .gitignore and remove generated binary files

add untacked dependency 'gosnappy' package

LGTM

LGTM


amtool: error: strconv.ParseBool: parsing "0.20.0": invalid syntax

What did you do?
/workdir # amtool check-config /tmp/am-check.yaml
amtool: error: strconv.ParseBool: parsing "0.20.0": invalid syntax

/workdir # amtool check-config
amtool: error: strconv.ParseBool: parsing "0.20.0": invalid syntax

/workdir # cat /tmp/am-check.yaml | grep "0.20.0"
/workdir #

/workdir # amtool check-config this-file-does-not-exist.yaml
amtool: error: strconv.ParseBool: parsing "0.20.0": invalid syntax

What did you expect to see?
If my AM config is valid or not
What did you see instead? Under which circumstances?
An error message saying that it could not parse a bool. Most likely it tries to parse the version number as bool. But A quick reading of the code and i could not find the faulty code.
Environment

System information:
Linux 4.9.184-linuxkit x86_64

Alertmanager version:

/workdir # amtool --version
amtool, version 0.20.0 (branch: HEAD, revision: f74be0400a6243d10bb53812d6fa408ad71ff32d)
  build user:       root@00c3106655f8
  build date:       20191211-14:13:14
  go version:       go1.13.5

Hi, I tested it on the exact revision and everything seems to be working fine.
Do you happen to use the amtool config? Anything in $HOME/.config/amtool/config.yml or /etc/amtool/config.yml files?

@FUSAKLA
/ # ls $HOME/.config/amtool/config.yml
ls: cannot access '/root/.config/amtool/config.yml': No such file or directory
/ # ls /etc/amtool/config.yml
ls: cannot access '/etc/amtool/config.yml': No such file or directory
/ #

/ # cat /proc/version
Linux version 4.9.184-linuxkit (root@a8c33e955a82) (gcc version 8.3.0 (Alpine 8.3.0) ) #1 SMP Tue Jul 2 22:58:16 UTC 2019
/ #

The base image of this docker container is google/cloud-sdk:alpine
The way amtool is then installed:
/ # export AMTOOL_VERSION=0.20.0
/ # curl -fsSLo alertmanager.tar.gz https://github.com/prometheus/alertmanager/releases/download/v$AMTOOL_VERSION/alertmanager-$AMTOOL_VERSION.linux-amd64.tar.gz && \
        tar -xvf alertmanager.tar.gz alertmanager-$AMTOOL_VERSION.linux-amd64/amtool && \
        mv alertmanager-$AMTOOL_VERSION.linux-amd64/amtool /usr/local/bin/ && \
        rm -rf alertmanager.tar.gz alertmanager-$AMTOOL_VERSION.linux-amd64 && \
        chown root:root /usr/local/bin/amtool && \
        chmod 0755 /usr/local/bin/amtool && \
        amtool --version

and then
/ # amtool check-config
amtool: error: strconv.ParseBool: parsing "0.20.0": invalid syntax

Hmm ok it does not happen with amtool in the official docker image nor with own built amtool.
But it happens with every prebuilt binary from releases assets not just with the 0.20.0
Interesting, I wonder how the build differs. Will take a look.

This is a side-effect of setting the AMTOOL_VERSION environment variable. kingpin (the CLI library) sees the variable and understands it as --version 0.20.0. If you unset AMTOOL_VERSION, it should work.

Can we disable all of that? We should be consistent with this in all binaries.

I wanted to dig into the history why it's this way but yes I also think that it should be removed.

@simonpasquier nice find! I can confirm 😊.
I scrolled through the code again to see how AM uses kinpin but i could not quickly see how/where kingpin reads this env var. Mind pointing out the faulty code?
https://github.com/alecthomas/kingpin/blob/58b63589c076f22b08ef3aee66e730e382321278/app.go#L263-L272
Seems to be where version gets parsed as a bool which is weird, but still dont see a mention of env vars 🤔

The call is here:
https://github.com/prometheus/alertmanager/blob/04ca50712575584666754d2245f70a66e2009ccd/cli/root.go#L92

Yea was about to comment that. Ran the debugger and found it indeed. This leads to
func envarTransform(name string) string {
	return strings.ToUpper(envarTransformRegexp.ReplaceAllString(name, "_"))
}

getting callend in kingpin which results in AMTOOL_VERSION

Ah i understand tho whole problem now 😅  its being parsed as bool because a bool flag is the nicest way to get --version to work as a flag without having to specify anything explicit. Interesting approach with an interesting side affect.

Cool, I wasn't aware of that function of kingpin either TIL :)


Changing labels in design toolkit bug template

Description

Adding in some labels to make the triage of design toolkit issues easier.

/azp run


[apm-server] run as non root user

This commit update APM server pod to run with UID 1000 instead of 0 (root).
Note that GID 0 is still required due to apm-server binary default files
permissions.
Fix #785

It looks like all the apm-server tests had an issue.

It looks like all the apm-server tests had an issue.

jenkins test this please

jenkins test this please

jenkins test this please

jenkins test this please

unrelated transient issue, @Conky5 PTAL

unrelated transient issue, @Conky5 PTAL

jenkins test this please

jenkins test this please


Corrected mistake in docker-etcd.rst

Line 12
mutli-host -> multi-host

@piersbarrios thanks a lot.


Custom timing-function

Thank you guys for awesome package. All is perfect but I miss the last piece - custom timing function. Is it possible to overwrite it somehow, or may be it's even possible to add it as modifier?

You can override the "transition" property
https://github.com/PygmySlowLoris/vue-ripple-directive/blob/master/src/ripple.js#L49
in your options passed or globally to your Ripple instance.


Update select2.js

Adding ending statement at the start of the code as absence of that causes console error while concatenating files.
This pull request includes a

Bug fix

The following changes were made

Added semi column at the starting of the code to avoid concatenation issue with Grunt

If this is related to an existing ticket, include a link to it as well. - NO

Just FYI, this change needs to be made in src/, not in dist/.  Please review https://github.com/select2/select2/blob/master/.github/CONTRIBUTING.md#contributing-to-select2 to see how Select2 is built - thanks!

Merged into develop for 4.0.6 release.

Thanks :)


Display previous and upcoming songs (Issue #15)

Added functionality for displaying previous and upcoming songs in the home page player.
Also added event listeners, so users can also select the previous/next song directly as well.
Please review, and I hope it is fit to be marked as a hacktoberfest pr.
(Preview image):

Nice one !!
You have to first raised an issue then mention the issue no here.

Thank you!
I actually had raised the issue a while back.
#15 is the issue number.


tests: Reorganize stubs and test measurements

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Move test protos and codegen from tests.assets to tests.utilities.stubs.
Move test measurements from tests.utilities to tests.utilities.measurements.
Uniquify test proto gRPC package names and rename the last element of the Python package name to match.
Rename test measurement configurations and outputs to Configurations and Outputs when possible.
Why should this Pull Request be merged?
Fixes #495
Follows package naming guidelines more closely
What testing has been done?
poetry run pytest -v

@bkeryan waiting for conflict resolution. PIng me when it's up-to-date.


docs: fix typo

Proposed Changes

@NOBLES5E Thank you for sending the PR ❤
Before we can merge, please accept our CLA
Read the CLA at
https://www.ockam.io/learn/how-to-guides/contributing/cla/
To accept the CLA please send a different PR to our contributors repo indicating that you accept the CLA by adding your Git/Github details in a row at the end of the CONTRIBUTORS.csv file:
https://github.com/ockam-network/contributors/blob/master/CONTRIBUTORS.csv
Looking forward to merging your first contribution!!

@NOBLES5E Merged, Thank you for making our docs better 🙏


Making compiler output more clean on terminal

It solves two aesthetic problems.
1. Its cleaner when compiles since it hides the compilation command:
Before:

After:

2. It looks better to recompile without close the terminal from the last compile
Before:

After:

 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.


[SPARK-49422][CONNECT][SQL] Add groupByKey to sql/api

What changes were proposed in this pull request?
This PR adds Dataset.groupByKey(..) to the shared interface. I forgot to add in the previous PR.
Why are the changes needed?
The shared interface needs to support all functionality.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Existing tests.
Was this patch authored or co-authored using generative AI tooling?
No.

Merging to master.

This one broke master...

Reverted it 👍


Grey Map but api key is set up how adviced

I'm submitting a ...  (check one with "x")

[ ] question
[x ] any problem or bug report

OS:  (check one with "x")

[ x] Android
[ ] iOS
[ ] Browser

cordova information:  (run $> cordova plugin list)
cordova-plugin-googlemaps 2.7.1 "cordova-plugin-googlemaps"
cordova-plugin-whitelist 1.3.4 "Whitelist"

Current behavior:

First I have created a google maps api key. I didn´t restrict the key.
Then I created a completely new cordova project and exactly followed the "Hello World" guide. The only thing I did additionally was adding:  to my config file because else the project wouldn´t run. When I run the program only a grey map shows with the google logo at the bottom. In the logcat it said it was an authorization failure. I know that the problem has something to do with my api key but I can´t figure out what. The weird thing: if I generate a google maps project with android studio my key works and the map shows. But with cordova and this plugin it doesn´t work.
What I already did:
I enabled "maps sdk for android" and "maps sdk for ios"
I created the key after enabling the api and I have already regenerated my key multiple times
I tried to run it with a restricted key instead of an unrestricted one. I used the right fingerprint but it also didn´t work
I normally try to run the project on an emulator (which has google play activated) but I also tried to run it on a real device with the same result
I searched the web for hours now but I can´t find a solution. I would be very thankful if anybody could help me.
Expected behavior:
The plugin should work and show a map
Screen capture or video record:

https://github.com/BTW18/test.git
I have never shared a project. Is this the right link?

Support this plugin activity
I appreicate if you give me a beer :beer: from here

<widget ...>
  <preference name="GOOGLE_MAPS_ANDROID_API_KEY" value="(api key)" />
  <preference name="GOOGLE_MAPS_IOS_API_KEY" value="(api key)" />
</widget>

Did you include this in config.xml?

I can't believe it. I spent hours on this. I tried everything. But I always set the key within the "()".  It works now. Thank you very much. I will give you a beer.

I can't believe it. I spent hours on this. I tried everything. But I always set the key within the "()".  It works now. Thank you very much. I will give you a beer.

No worries. We all do that sometimes :)


run the task_wdt on the nucleo stm32f0  target

Adjust the APB1 frequency to clock the Window watchdog so that the samples/subsys/task_wdt can run on the nucleo_f091rc target board

west build -p always -b nucleo_f091rc samples/subsys/task_wdt/  ; west flash

*** Booting Zephyr OS build v3.7.0-rc2-457-g4a8ca3a735f5 ***
Task watchdog sample application.
[00:00:00.008,000] <dbg> wdt_wwdg_stm32: wwdg_stm32_install_timeout: prescaler: 8
[00:00:00.016,000] <dbg> wdt_wwdg_stm32: wwdg_stm32_install_timeout: Desired WDT: 600000 us
[00:00:00.025,000] <dbg> wdt_wwdg_stm32: wwdg_stm32_install_timeout: Set WDT:     600746 us
Main thread still alive...
Control thread started.
Main thread still alive...
Main thread still alive...
Main thread still alive...
Control thread getting stuck...
Task watchdog channel 1 callback, thread: control
Resetting device...


[AIRFLOW-2240] [dask] Added TLS/SSL support for the dask-distributed scheduler.

As of 0.17.0 dask distributed has support for TLS/SSL.

Codecov Report

Merging #2683 into master will decrease coverage by <.01%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master    #2683      +/-   ##
==========================================
- Coverage   71.68%   71.68%   -0.01%
==========================================
  Files         154      154
  Lines       11814    11821       +7
==========================================
+ Hits         8469     8474       +5
- Misses       3345     3347       +2

Impacted Files
Coverage Δ

airflow/executors/dask_executor.py
80% <75%> (-1.4%)
:arrow_down:

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 9f2c16a...38e38a0. Read the comment docs.

ping @bolkedebruin

Checking in here.  Is there anything blocking this PR?

@mariusvniekerk LGTM, a test would be nice though.
Could you also change your commit to mention the JIRA number associated with it?

Updated title

@mariusvniekerk Dask has some testing infrastructure to set up a local cluster with TLS active.  See example here: https://github.com/dask/distributed/blob/master/distributed/tests/test_tls_functional.py#L23

@artwr ping

LGTM, thank you!


Reverted "Fixed #33213 -- Doc'd testing code coverage in parallel and used it."

This reverts commit 69352d85fa8412865db9e0c7f177b333c0eac3e2.
Test coverage for async methods is no longer calculated with this change, see logs.

Did you find the upstream coverage issue?

Did you find the upstream coverage issue?

No, I created a new bug report, https://github.com/nedbat/coveragepy/issues/1585.

@felixxm @adamchainz  Setting concurrency = multiprocessing,thread will restore the missing lines in the coverage report.
Added a note in https://github.com/nedbat/coveragepy/issues/1585

@marcgibbons Thanks for the investigation :detective: Would you like to prepare a patch? (restore 78da5ca0c1f2ab3201f8f6cd629e80d805ea023d with a different concurrency)

@felixxm sure :)


Update puppet-agent to 5.5.0-1

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Running script.sh...

>>> brew cask _audit_modified_casks c249a7282d5dc7efb00dd362a3f1212ee2e90103...75fb0c273fa0356e6dfb3ef43583200970f9d71e
==> 1 modified cask: puppet-agent
==> Downloading https://downloads.puppetlabs.com/mac/puppet/10.12/x86_64/puppet-agent-5.5.0-1.osx10.12.dmg
==> Verifying checksum for Cask puppet-agent
audit for puppet-agent: passed

>>> brew cask style Casks/puppet-agent.rb

1 file inspected, no offenses detected

>>> brew cask reinstall --verbose Casks/puppet-agent.rb
==> Satisfying dependencies
==> Downloading https://downloads.puppetlabs.com/mac/puppet/10.12/x86_64/puppet-agent-5.5.0-1.osx10.12.dmg
Already downloaded: /Users/travis/Library/Caches/Homebrew/Cask/puppet-agent--5.5.0-1.dmg
==> Verifying checksum for Cask puppet-agent
==> Installing Cask puppet-agent
==> Running installer for puppet-agent; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is puppet-agent
==> installer: Installing at base path /
==> installer:PHASE:Preparing for installation…
==> installer:PHASE:Preparing the disk…
==> installer:PHASE:Preparing puppet-agent…
==> installer:PHASE:Waiting for other installations to complete…
==> installer:PHASE:Configuring the installation…
==> installer:STATUS:
==> installer:%8.708816
==> installer:PHASE:Writing files…
==> installer:%17.023428
==> installer:PHASE:Writing files…
==> installer:%22.566503
==> installer:PHASE:Writing files…
==> installer:%25.338041
==> installer:PHASE:Writing files…
==> installer:PHASE:Writing files…
==> installer:%28.109578
==> installer:PHASE:Writing files…
==> installer:PHASE:Writing files…
==> installer:PHASE:Writing files…
==> installer:%30.881116
==> installer:PHASE:Writing files…
==> installer:PHASE:Writing files…
==> installer:%83.645945
==> installer:PHASE:Writing package receipts…
==> installer:PHASE:Validating packages…
==> installer:%97.750000
==> installer:STATUS:Running installer actions…
==> installer:STATUS:
==> installer:PHASE:Finishing the Installation…
==> installer:STATUS:
==> installer:%100.000000
==> installer:PHASE:The software was successfully installed.
==> installer: The install was successful.
🍺  puppet-agent was successfully installed!

>>> brew cask zap --verbose Casks/puppet-agent.rb
==> Implied "brew cask uninstall puppet-agent"
==> Running uninstall process for puppet-agent; your password may be necessary
==> Removing launchctl service puppet
==> Removing launchctl service pxp-agent
==> Removing launchctl service mcollective
==> Uninstalling packages:
com.puppetlabs.puppet-agent
==> Dispatching zap stanza
==> Running zap process for puppet-agent; your password may be necessary
==> Trashing files:
~/.puppetlabs
/etc/puppetlabs
==> 175:193:
==> execution error: Finder got an error: AppleEvent timed out. (-1712)
Error: Command failed to execute!

==> Failed command:
/usr/bin/osascript -e on run argv
  repeat with i from 1 to (count argv)
    set item i of argv to (item i of argv as POSIX file)
  end repeat

  tell application "Finder"
    set trashedItems to (move argv to trash)
    set output to ""

    repeat with i from 1 to (count trashedItems)
      set trashedItem to POSIX path of (item i of trashedItems as string)
      set output to output & trashedItem
      if i < count trashedItems then
        set output to output & character id 0
      end if
    end repeat

    return output
  end tell
end run
 /etc/puppetlabs

==> Standard Output of failed command:

==> Standard Error of failed command:
175:193: execution error: Finder got an error: AppleEvent timed out. (-1712)

==> Exit status of failed command:
#<Process::Status: pid 10282 exit 1>
Error: Kernel.exit


test_xio.cpp: build failure fedora 28

Building the tests leads to errors in the file(test_xio.cpp). Logfile is attached.
Commenting out the testcase "TEST(xio, xdynamic_view)" solves the problems.
Used commands:
cmake -DCMAKE_INSTALL_PREFIX=/opt/xtensor-git  -DBUILD_TESTS=ON ../
make
Environment:
Fedora release 28 (Twenty Eight)
g++ (GCC) 8.2.1 20181105 (Red Hat 8.2.1-5)
xtensor_build.log

I can reproduce this issue with Fedora 29 and the same GCC version.

A quick and ugly fix would probably be to specialize has_data_interface. I don't understand why the SFINAE stuff doesn't work with the explicitly deleted functions.

I've got a fix for this (\cc @JohanMabille)
Need to add ifdef's around it ...
    template <class CT, class S, layout_type L, class FST>
    struct xiterable_inner_types<xdynamic_view<CT, S, L, FST>>
    {
        using inner_shape_type = S;
        using inner_strides_type = inner_shape_type;
        using inner_backstrides_type = inner_shape_type;

        constexpr static auto random_instantiation_var_for_gcc8_data_iface = has_data_interface<xdynamic_view<CT, S, L, FST>>::value;
        constexpr static auto random_instantiation_var_for_gcc8_has_strides = has_strides<xdynamic_view<CT, S, L, FST>>::value;

        // TODO: implement efficient stepper specific to the dynamic_view
        using const_stepper = xindexed_stepper<const xdynamic_view<CT, S, L, FST>, true>;
        using stepper = xindexed_stepper<xdynamic_view<CT, S, L, FST>, false>;
    };

Fixed in #1289


Issue regarding gcp co-ordinate system

I debugged a code, and printed gcp errors individually, i want to know the unit of these errors.
GCP 0 - RMSE_X: 0.213748803, RMSE_Y: 0.285612156, RMSE_Z: 0.000000000
GCP 1 - RMSE_X: 0.672572103, RMSE_Y: 0.653956691, RMSE_Z: 0.000000000
GCP 2 - RMSE_X: 0.649858466, RMSE_Y: 0.552218275, RMSE_Z: 0.000000000
GCP 3 - RMSE_X: 0.223301913, RMSE_Y: 0.362567542, RMSE_Z: 0.000000000
I think these are in pixels, if so how to convert them in meters.Also i want the results in UTM co-ordinate system only.

Hi,
can you please specify what code printed these values?


Turning on MSBuildTreatWarningsAsErrors breaks mbsuild

From this PR: https://devdiv.visualstudio.com/DevDiv/_git/MLS-Orchestrator/pullrequest/95212
we turned on
    <MSBuildTreatWarningsAsErrors> true </MSBuildTreatWarningsAsErrors>

and now MSBuild crashes (only on the build server though)
2017-11-21T19:19:06.2462650Z ci-test-languageserver_1       | MSBUILD : error MSB1025: An internal failure occurred while running MSBuild.
2017-11-21T19:19:06.3123150Z ci-test-languageserver_1       | System.ArgumentException: The key already existed in the dictionary.
2017-11-21T19:19:06.3154500Z ci-test-languageserver_1       |    at System.Collections.Concurrent.ConcurrentDictionary`2.System.Collections.Generic.IDictionary<TKey,TValue>.Add(TKey key, TValue value)
2017-11-21T19:19:06.3428330Z ci-test-languageserver_1       |    at Microsoft.Build.BackEnd.Logging.LoggingService.AddWarningsAsErrors(Int32 projectInstanceId, ISet`1 codes)
2017-11-21T19:19:06.3546630Z ci-test-languageserver_1       |    at Microsoft.Build.BackEnd.RequestBuilder.ConfigureWarningsAsErrorsAndMessages()
2017-11-21T19:19:06.3666580Z ci-test-languageserver_1       |    at Microsoft.Build.BackEnd.RequestBuilder.<BuildProject>d__57.MoveNext()
2017-11-21T19:19:06.3821860Z ci-test-languageserver_1       | --- End of stack trace from previous location where exception was thrown ---
2017-11-21T19:19:06.4168330Z ci-test-languageserver_1       |    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
2017-11-21T19:19:06.4226170Z ci-test-languageserver_1       |    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
2017-11-21T19:19:06.4240770Z ci-test-languageserver_1       |    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
2017-11-21T19:19:06.4255200Z ci-test-languageserver_1       |    at Microsoft.Build.BackEnd.RequestBuilder.<BuildAndReport>d__49.MoveNext()

Fixed in #2671, duplicate of #2667. Will ship with 15.5. Reactivate if you see in latest preview of 15.5.


Are there cases where the labels structure needs to address internationalization?

Looking at:
https://github.com/c2pa-org/specifications/blob/153a62110fa0f6a61d4b960509fc50a645c6c2e1/build/site/specifications/2.1/specs/C2PA_Specification.html#L1700-L1728
it occurs to me that there should probably be additional information if the standard wants to support internationalized domain names.  It seems like the assumption is that they will have the Punycode representation?  It might be good to be explicit.  I don't know if other labels will be using characters outside of ASCII, in which case it might be good to explicitly state how that would work.
Internationalized code will make processing and reading the metadata more difficult, so this seems like one of those things that doesn't have a great single answer.

With the new ABNF, it should be clear what range of characters (aka Unicode code point values) are permitted in a label.  While you are correct that means that a label cannot contain an "internationalized domain name" - we don't consider that an issue for this particular use case.  Our international membership approved this change without concern.
If you have a specific use case for them, we would welcome additional input.


Information for hardware and software requirements

Mising information for hardware and software requirements in readme file or on site of Gminer. Which ports and ip ranges should be open for proper work of Gminer? Miners need them to know which of them to be allowed. Some miners have issues because of blocked ports and ip's for developer fee or something else. Security software blocks part of them and maybe all of them. List them in readme file or another visible place for good of miners.

Since this is a community maintained Docker image, everything specific to GMiner isn't our goal of the project (including hardware requirement and developer fee, etc). This is because those information is maintained by GMiner and we can't control on impact anything about that. Our project is simply a Docker wraper of GMiner release. For more information, you should head on to GMiner's offical page or their GitHub release page.


Install cosign for get-script CI step

What type of PR is this?
/kind ci
What this PR does / why we need it:
This allows us verifying that the signature actually exist.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

CI is green:
Welcome to the conmon-rs install script!
Checking if all commands are available: curl
Found cosign, verifying binary signature
tlog entry verified with uuid: b08323e5bd0dc2728ada31ea13aea8e86af525ab[9](https://github.com/containers/conmon-rs/runs/6863802856?check_suite_focus=true#step:4:10)08c53c19249dfc864e4b[10](https://github.com/containers/conmon-rs/runs/6863802856?check_suite_focus=true#step:4:11)b index: 2646964
Verified OK
Installed binary into: conmonrs
version: 0.1.0-dev
tag: none
commit: b26e0fd34b84d4c184b229b12df[11](https://github.com/containers/conmon-rs/runs/6863802856?check_suite_focus=true#step:4:12)3915fcc28ca
build: 2022-06-[13](https://github.com/containers/conmon-rs/runs/6863802856?check_suite_focus=true#step:4:14) [14](https://github.com/containers/conmon-rs/runs/6863802856?check_suite_focus=true#step:4:15):49:36 +00:00
rustc 1.61.0 (fe5b13d68 2022-05-[18](https://github.com/containers/conmon-rs/runs/6863802856?check_suite_focus=true#step:4:19))

/lgtm

Tide is gone, merging manually.


Use isfile and realpath in load_stims to integrate with DataLad

#236
For DataLad AutoMagicIO to work with unavailable remote files in load_stims
Changes exists to isfile (to trigger download) and then uses realpath (which is probably a good thing to do anyways).
Note, isfile must be called on symlink, which is file why I only use realpath in load_file not earlier.
Another gotcha is that AutoMagicIO must be activated before load_stims is imported.

Coverage decreased (-12.9%) to 79.724% when pulling 7a2d17674ebc57149bcd1cf812036979b516533b on adelavega:master into 8dae7ecdd94c7af41d2b3a60e141ff3a5a7cc07f on tyarkoni:master.

Thanks!


fix the kpng kube-proxy connectivity by mounting the kubelet host

iterating, this gets us over the apiserver hump....

approving but it seem to be more and more KinD specific ;)
/lgtm
/approve


special character in google drive

What is the problem you are having with rclone?
I have two directory, one named '123' under the root, another named '.' under '123'
Then I list it from root with 'lsf' command.
I think it will show '123/' and '123/./', but it shows error
Here is my command:
rclone lsf --format sp -R remote:  --no-check-certificate --exclude="[\\／:*?"<>|]" --exclude=".*{/**,}"
console:
-1;123/
2019/04/01 18:04:13 ERROR : 123: Entry doesn't belong in directory "123" (too short) - ignoring
What is your rclone version (output from rclone version)
1.45
Which OS you are using and how many bits (eg Windows 7, 64 bit)
linux 64 bit
Which cloud storage system are you using? (eg Google Drive)
Google Drive
The command you were trying to run (eg rclone copy /tmp remote:tmp)
lsf
A log from the command with the -vv flag (eg output from rclone -vv copy /tmp remote:tmp)
2019/04/01 18:11:39 DEBUG : ": Excluded
2019/04/01 18:11:39 DEBUG : >: Excluded
2019/04/01 18:11:39 DEBUG : <: Excluded
2019/04/01 18:11:39 DEBUG : :: Excluded
2019/04/01 18:11:39 DEBUG : ?: Excluded
2019/04/01 18:11:39 DEBUG : .: Excluded
2019/04/01 18:11:39 DEBUG : : Excluded
2019/04/01 18:11:39 DEBUG : : Excluded
2019/04/01 18:11:39 DEBUG : |: Excluded
2019/04/01 18:11:39 DEBUG : ／: Excluded
-1;123/
2019/04/01 18:11:39 ERROR : 123: Entry doesn't belong in directory "123" (too short) - ignoring
2019/04/01 18:11:39 DEBUG : 5 go routines active
2019/04/01 18:11:39 DEBUG : rclone: Version "v1.45" finishing with parameters ["rclone" "lsf" "--format" "sp" "-R" "remote:" "--no-check-certificate" "--exclude=**[\\／:\\?"<>|]" "--exclude=.*{/,}" "-vv"]

I made a directory structure as you suggested.
I can replicate this with v1.45 and v1.46 but not with the latest beta - that has a different problem.
$ rclone lsf --format sp -R drive:test/issue-3083/
-1;123/
-1;123/

This change was introduced in d5f2df2f3d1b9708d07b5a29876fde96ab2df392 where we switched from using List to ListR so running this disabling ListR gives the same problem
$ rclone lsf --disable ListR --format sp -R drive:test/issue-3083/
-1;123/
2019/04/01 18:14:20 ERROR : 123: Entry doesn't belong in directory "123" (too short) - ignoring

So the underlying problem is still present.
The problem seems to be that we use path.Join throughout the drive backend which will join "123" and "." to get "123"...
@B4dM4n any thoughts?

There are various uses of path.Join and path.Clean throughout the rclone source. As far as I can tell most backends treat paths like Posix paths, inheriting the special meaning of . and ...
We could stop using path.Join and use a custom implementation to avoid the special treatment of . and .. in some backends, but this could yield varying results when using the same path on different backends and result in files not being copyable between backends that treat them differently.
Another solution could be using the filename encoding of #3148 and replace . and .. with ． and ．．. I already added this for testing purposes and it worked great in my tests.
This way a folder named gdrive:123/. would be listed as gdrive:123/． and can be copied with this name to a backend other than Google Drive.
% mkdir -p 123/．
% date > 123/．/file.txt
% rclone copy 123 TestDrive:123
% rclone tree TestDrive:123
/
└── ．
    └── file.txt

1 directories, 1 files

The downside is that writing such a name on the command line requires to use Unicode in the terminal as all special paths in #3148.

I've merged the fix for this to master now which means it is in the latest beta and will be released in v1.50


CHI PARMS issues

I have started on the CHI PARMS. I need to restructure them.
I wish to establish the structure
District - Channel Islands
Piece - Island
Civil Parish - Civil Parish.
That is for 2 reasons. It aligns with our 3 levels in the Chapman Codes but more importantly it is the researchers three most obvious search paramenters. (If they are not in the parish, look on the Island. If they are not on the Islands look at all teh Islands).
To do this I need to do it in steps
Change all the Districts to Channel Islands (Chapman Code CHI) - Rhoda I have sent the spreadsheet to you for these changes. That fixes the District level.
Allow the Chapman Codes of ALD, GSY, JSY and SRK to be visible from the CHI Chapman Code. Then I can link Alderney for instance to Alderney. In most years it is stuck in with the Guernsey pieces. Kirk - This is similar to the HAM / IOW problem that is holding up HAM PARMS.
Once this is done I can link the Pieces correctly and then the Civil Parishes correctly.
Geoff

Hi Geoff,
Just an update.
We only have the 1861 & 1891 for CHI.
1861  : JSY x 3 to PR  and 5 to validate 1 to transcribe and GSY  is all
complete.
1891 :  JSY x 5 to PR  : 3 to Validate  3 to transcribe
1891   : GSY x 3 to Validate.
Sark and Alderney images are either none or were lost at the time as per NA.
We have no helpers at all for the CHI at the moment.
Therefore no movement.
IOM :  very similar but also no helpers
1851 : 4 to PR but no images. Donated CSV
1861 : 1 to Validate. 17 pieces but no images.
1891 : 11 pieces all the images on microfiche for Helen to digitise when
needed.
Cheers. Brenda
On Sun, 14 Mar 2021 at 08:55, geoffj-FUG @.***> wrote:

I have started on the CHI PARMS. I need to restructure them.
I wish to establish the structure
District - Channel Islands
Piece - Island
Civil Parish - Civil Parish.
That is for 2 reasons. It aligns with our 3 levels in the Chapman Codes
but more importantly it is the researchers three most obvious search
paramenters. (If they are not in the parish, look on the Island. If they
are not on the Islands look at all teh Islands).
To do this I need to do it in steps
Change all the Districts to Channel Islands (Chapman Code CHI) - Rhoda I
have sent the spreadsheet to you for these changes. That fixes the District
level.
Allow the Chapman Codes of ALD, GSY, JSY and SRK to be visible from the
CHI Chapman Code. Then I can link Alderney for instance to Alderney. In
most years it is stuck in with the Guernsey pieces. Kirk - This is similar
to the HAM / IOW problem that is holding up HAM PARMS.
Once this is done I can link the Pieces correctly and then the Civil
Parishes correctly.
Geoff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FreeUKGen/FreeCENMigration/issues/1180, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADIL3VVOX6DUB6DWSLZSO4DTDR2Y3ANCNFSM4ZEYCW3Q
.

Thanks Brenda
The FC2 PARMS has to be done whether we have images or not. Then the researchers searches will work properly.
Geoff
From: Brenda @.>
Sent: Sunday, March 14, 2021 9:03 PM
To: FreeUKGen/FreeCENMigration @.>
Cc: geoffj-FUG @.>; Assign @.>
Subject: Re: [FreeUKGen/FreeCENMigration] CHI PARMS issues (#1180)
Hi Geoff,
Just an update.
We only have the 1861 & 1891 for CHI.
1861 : JSY x 3 to PR and 5 to validate 1 to transcribe and GSY is all
complete.
1891 : JSY x 5 to PR : 3 to Validate 3 to transcribe
1891 : GSY x 3 to Validate.
Sark and Alderney images are either none or were lost at the time as per NA.
We have no helpers at all for the CHI at the moment.
Therefore no movement.
IOM : very similar but also no helpers
1851 : 4 to PR but no images. Donated CSV
1861 : 1 to Validate. 17 pieces but no images.
1891 : 11 pieces all the images on microfiche for Helen to digitise when
needed.
Cheers. Brenda
On Sun, 14 Mar 2021 at 08:55, geoffj-FUG @.***<EMAIL_ADDRESS>> wrote:

I have started on the CHI PARMS. I need to restructure them.
I wish to establish the structure
District - Channel Islands
Piece - Island
Civil Parish - Civil Parish.
That is for 2 reasons. It aligns with our 3 levels in the Chapman Codes
but more importantly it is the researchers three most obvious search
paramenters. (If they are not in the parish, look on the Island. If they
are not on the Islands look at all teh Islands).
To do this I need to do it in steps
Change all the Districts to Channel Islands (Chapman Code CHI) - Rhoda I
have sent the spreadsheet to you for these changes. That fixes the District
level.
Allow the Chapman Codes of ALD, GSY, JSY and SRK to be visible from the
CHI Chapman Code. Then I can link Alderney for instance to Alderney. In
most years it is stuck in with the Guernsey pieces. Kirk - This is similar
to the HAM / IOW problem that is holding up HAM PARMS.
Once this is done I can link the Pieces correctly and then the Civil
Parishes correctly.
Geoff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FreeUKGen/FreeCENMigration/issues/1180, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADIL3VVOX6DUB6DWSLZSO4DTDR2Y3ANCNFSM4ZEYCW3Q
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub https://github.com/FreeUKGen/FreeCENMigration/issues/1180#issuecomment-798887140 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCPIFIWINUDYEDKY32AVZ3TDSJUNANCNFSM4ZEYCW3Q .  https://github.com/notifications/beacon/AKCPIFI4F47QY5FRPETGMGDTDSJUNA5CNFSM4ZEYCW32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF6PAZZA.gif

Step 1 done by Rhoda
Geoff

@geoffj-FUG I am totally and utterly confused about what is happening with CHI.
Last week I was asked to remove the 1841 IOM , Guernsey and Jersey parms and put them in their respective counties. Story 1178. In 1841 IOM , Guernsey and Jersey are located in the Channel Islands. This I did as an urgent action
On on the 14th it appears that you want to move JSY and GSY back into CHI for all years and that @rhodamackenzie has done that.
There are no Freecen2Places for CHI they are with JSY GSY and ALD.
Talk about confused.

I too am confused.
All the Alderney, Jersey and Guernsey so far in FC1 are all in CHI.
I am having validated the last few and they will all get uploaded in FC1
the same in CHI.
When I do the next FC1 upload at the end of the month and I do manage to
get any CHI  Validated  VLD’s uploaded, when Vino does the FC2 upload for
us from FC1 where will the CHI VLD’s go to in FC2, or will they end up in
the FreeCEN Two error folder till FC2 is sorted out.
So can someone decide where the current CHI in FC1 will go in FC2 and also
those I have left to upload in the future.
Just confused.
We only have the PARMS in FC1 under CHI and do not use JSY  nor  GSY etc.
So will  they fit into FC2 now CHI has been taken out.
Brenda
On Tue, 16 Mar 2021 at 01:01, Kirk Dawson @.***> wrote:

@geoffj-FUG https://github.com/geoffj-FUG I am totally and utterly
confused about what is happening with CHI.
Last week I was asked to remove the 1841 IOM , Guernsey and Jersey parms
and put them in their respective counties. Story 1178. In 1841 IOM ,
Guernsey and Jersey are located in the Channel Islands. This I did as an
urgent action
On on the 14th it appears that you want to move JSY and GSY back into CHI
for all years and that @rhodamackenzie https://github.com/rhodamackenzie
has done that.
There are no Freecen2Places for CHI they are with JSY GSY and ALD.
Talk about confused.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/FreeUKGen/FreeCENMigration/issues/1180#issuecomment-799864654,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADIL3VWKUW2BMV3MWZXDSJDTD2UYFANCNFSM4ZEYCW3Q
.

Brenda
Not sure where your confusion really comes from.
Anything coming into Freecen2 from FC1 knows nothing about CSVProc or the
Freecen2 Districts/Pieces or Civil Parishes.
What happens to files from FC1 is based solely on your traditional Parms.
Just as it has been for the past 3 years. Nothing has changed. So you have
nothing to be concerned about at this time.
Kirk Dawson
Fairmont, B.C. Canada

Kirk
The TNA index treats the Channel Islands in different ways in different years. My first attempt was aimed at linking as is. This meant that when they changed their model our PARMS would not be consistent across the years. That means the our researcher searching would not be consistent.
It struck me that to get consistent search results we would need to have all of the Channel Islands under one County Code - CHI. This is level 1 in the hierarchy that we have established for Chapman Codes. It is also the structure that was used in FC1.
So I am going to establish one District – Channel Islands
At the sub-District level I can establish an island basis for the PARMS. This is also a good search level for researchers.
At the third level will be the civil-parishes as is standard throughout.
This model is consistent with the model within Counties, except that Counties have several RDs.
I know I changed but it was during linking that I discovered that TNA sometimes had Islands as a civil parish and sometimes as a piece or as an RD.
I am just trying to establish a consistent model.
It means that the CHI Coordinator must be able to see the parishes within the ALD, GSY, JSY and SRK Chapman Codes.
Geoff
From: Kirk Dawson @.>
Sent: Tuesday, March 16, 2021 11:02 AM
To: FreeUKGen/FreeCENMigration @.>
Cc: geoffj-FUG @.>; Mention @.>
Subject: Re: [FreeUKGen/FreeCENMigration] CHI PARMS issues (#1180)
@geoffj-FUG https://github.com/geoffj-FUG  I am totally and utterly confused about what is happening with CHI.
Last week I was asked to remove the 1841 IOM , Guernsey and Jersey parms and put them in their respective counties. Story 1178. In 1841 IOM , Guernsey and Jersey are located in the Channel Islands. This I did as an urgent action
On on the 14th it appears that you want to move JSY and GSY back into CHI for all years and that @rhodamackenzie https://github.com/rhodamackenzie  has done that.
There are no Freecen2Places for CHI they are with JSY GSY and ALD.
Talk about confused.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/FreeUKGen/FreeCENMigration/issues/1180#issuecomment-799864654 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCPIFL2RFHFDNPAWACEMK3TD2UYFANCNFSM4ZEYCW3Q .  https://github.com/notifications/beacon/AKCPIFIETV2WE6H3H5ITCKLTD2UYFA5CNFSM4ZEYCW32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF6WPOTQ.gif

Thanks Geoff,
That makes sense.
Brenda
On Tue, 16 Mar 2021 at 07:14, geoffj-FUG @.***> wrote:

Kirk
The TNA index treats the Channel Islands in different ways in different
years. My first attempt was aimed at linking as is. This meant that when
they changed their model our PARMS would not be consistent across the
years. That means the our researcher searching would not be consistent.
It struck me that to get consistent search results we would need to have
all of the Channel Islands under one County Code - CHI. This is level 1 in
the hierarchy that we have established for Chapman Codes. It is also the
structure that was used in FC1.
So I am going to establish one District – Channel Islands
At the sub-District level I can establish an island basis for the PARMS.
This is also a good search level for researchers.
At the third level will be the civil-parishes as is standard throughout.
This model is consistent with the model within Counties, except that
Counties have several RDs.
I know I changed but it was during linking that I discovered that TNA
sometimes had Islands as a civil parish and sometimes as a piece or as an
RD.
I am just trying to establish a consistent model.
It means that the CHI Coordinator must be able to see the parishes within
the ALD, GSY, JSY and SRK Chapman Codes.
Geoff
From: Kirk Dawson @.>
Sent: Tuesday, March 16, 2021 11:02 AM
To: FreeUKGen/FreeCENMigration @.>
Cc: geoffj-FUG @.>; Mention @.>
Subject: Re: [FreeUKGen/FreeCENMigration] CHI PARMS issues (#1180)
@geoffj-FUG https://github.com/geoffj-FUG I am totally and utterly
confused about what is happening with CHI.
Last week I was asked to remove the 1841 IOM , Guernsey and Jersey parms
and put them in their respective counties. Story 1178. In 1841 IOM ,
Guernsey and Jersey are located in the Channel Islands. This I did as an
urgent action
On on the 14th it appears that you want to move JSY and GSY back into CHI
for all years and that @rhodamackenzie https://github.com/rhodamackenzie
has done that.
There are no Freecen2Places for CHI they are with JSY GSY and ALD.
Talk about confused.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <
https://github.com/FreeUKGen/FreeCENMigration/issues/1180#issuecomment-799864654>
, or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AKCPIFL2RFHFDNPAWACEMK3TD2UYFANCNFSM4ZEYCW3Q>
. <
https://github.com/notifications/beacon/AKCPIFIETV2WE6H3H5ITCKLTD2UYFA5CNFSM4ZEYCW32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF6WPOTQ.gif>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/FreeUKGen/FreeCENMigration/issues/1180#issuecomment-800015729,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADIL3VTUBBKVPNJWBOHIZ63TD4AM7ANCNFSM4ZEYCW3Q
.

Thank you @geoffj-FUG
I agree that TNA catalogues that are the basis for our fleshing out our many of our collections change according to the census year.
For 1841-1861 TNA uses in essence the Channel Islands. I say in essence because IOM is included in the Channel Islands in 1841. For 1871 onwards they Islands are treated separately.
However whatever we do has to consistently fit within our data model. Our data model is Country/County/Place/District/Sub District (piece)/Civil Parish. Almost all of this come from TNA except Place which comes from our own collection perhaps I should call it our gazetteer.
In the initial setup we viewed the channel Islands as separate counties and set up the Gazetteer that way. In that set up the Channel Islands does not exist from a data perspective. Although it can be constructed by a merge of the counties in the the Channel Islands. We placed 1851 and 1861 into this structure as well leaving 1841 in the Channel Islands. We also have county and syndicates set up for the various island counties.
In this set up FC2 would be different from FC1 which only deals with The Channel Islands. Other search engines use the Channel Islands.
A factor to remember is that the Channel Islands only had a population of 100,000 up to and including 1911.
Last week I made the 1841 census fit within that that structure and at that point we were fully consistent with the individual island counties and nothing in the Channel Islands (CHI)
Based on your comments of this past weekend and the movement of all the Islands into the Channel Islands you wish to revert to to a Channel Islands structure. I have no opinion either way.
What I do have is a very strong interest in ensuring our data model remains consistent. To complete the change we should integrate the individual islands into the Channel Islands for our Gazetteer. Since there is currently no such county
We should also remove the individual islands from the counties and syndicates lists.
With respect to naming
I believe the District name should remain the Island name as it is now i.e. Jersey etc
The sub district is more difficult as here TNA was really inconsistent. Over the years they changed from the island name, to A B C etc in 881 and 1891, then back again to the island name in 1901 and in 1911 they left it blank so we inserted the island name. I believe the sub District name should be the Island name. This makes for a bit of handful for 1911 since there is a piece for every ED
The civil parish names are fine as is. (Although the full list crashes likely due to the method of creation. Story #1183 raised and will be dealt with once an agreed path forward exists)
How do you wish to proceed? It will take a couple of hrs to restructure the gazetteer and then I can leave the rest to you and @rhodamackenzie to edit names and make the links. Alternatively in addition I can take a few hours and tweak the original xml input to fit what we want in naming and replace the CHI collections. Doing so would make the place name linkages at the time of creation.

Kirk
I have had a long think about this. I have now looked at the problem from a different perspective. I previously only considered it from a search results perspective.
Channel Islands is a level 1 Chapman Code in the FC2 table of Chapman Codes. Under normal circumstances we do not attach place names to a level 1 code. It equates with ENG, SCT and IRL. We have identified the Codes of JSY, GSY, ALD and SRK as the level 3 Chapman Codes to attach places to.
This principle is based on making validation work. In validation we force the Island name to be entered as the alternative County when the County Chapman Code has been entered as CHI. Integrating the Islands into CHI would stop auto-validation. So that options is not practical.
The Gazetteer has to align with the model or validation of POBs will not work.
So I have to agree that I erred and the District name and the County Name should be the Island, but I suggest that they be limited to GSY and JSY (the Bailliwicks). TNA seem to have used the Bailliwick model in most of their years.
Wikipedia tells us that
“Alderney (/ˈɔːldərni/; French: Aurigny [oʁiɲi]; Auregnais: Aoeur'gny) is the northernmost of the inhabited Channel Islands. It is part of the Bailiwick of Guernsey,”
Sark – “It is a royal  https://en.wikipedia.org/wiki/Fief fief, which forms part of the  https://en.wikipedia.org/wiki/Bailiwick_of_Guernsey Bailiwick of Guernsey, “
That means that the Island name (including Alderney, Herm etc where applicable) will often be the piece name and the civil parish the civil parish name.
What is the impact of this model please?
Geoff
From: Kirk Dawson @.>
Sent: Wednesday, March 17, 2021 4:03 AM
To: FreeUKGen/FreeCENMigration @.>
Cc: geoffj-FUG @.>; Mention @.>
Subject: Re: [FreeUKGen/FreeCENMigration] CHI PARMS issues (#1180)
Thank you @geoffj-FUG https://github.com/geoffj-FUG
I agree that TNA catalogues that are the basis for our fleshing out our many of our collections change according to the census year.
For 1841-1861 TNA uses in essence the Channel Islands. I say in essence because IOM is included in the Channel Islands in 1841. For 1871 onwards they Islands are treated separately.
However whatever we do has to consistently fit within our data model. Our data model is Country/County/Place/District/Sub District (piece)/Civil Parish. Almost all of this come from TNA except Place which comes from our own collection perhaps I should call it our gazetteer.
In the initial setup we viewed the channel Islands as separate counties and set up the Gazetteer that way. In that set up the Channel Islands does not exist from a data perspective. Although it can be constructed by a merge of the counties in the the Channel Islands. We placed 1851 and 1861 into this structure as well leaving 1841 in the Channel Islands. We also have county and syndicates set up for the various island counties.
In this set up FC2 would be different from FC1 which only deals with The Channel Islands. Other search engines use the Channel Islands.
A factor to remember is that the Channel Islands only had a population of 100,000 up to and including 1911.
Last week I made the 1841 census fit within that that structure and at that point we were fully consistent with the individual island counties and nothing in the Channel Islands (CHI)
Based on your comments of this past weekend and the movement of all the Islands into the Channel Islands you wish to revert to to a Channel Islands structure. I have no opinion either way.
What I do have is a very strong interest in ensuring our data model remains consistent. To complete the change we should integrate the individual islands into the Channel Islands for our Gazetteer. Since there is currently no such county
We should also remove the individual islands from the counties and syndicates lists.
With respect to naming
I believe the District name should remain the Island name as it is now i.e. Jersey etc
The sub district is more difficult as here TNA was really inconsistent. Over the years they changed from the island name, to A B C etc in 881 and 1891, then back again to the island name in 1901 and in 1911 they left it blank so we inserted the island name. I believe the sub District name should be the Island name. This makes for a bit of handful for 1911 since there is a piece for every ED
The civil parish names are fine as is. (Although the full list crashes likely due to the method of creation. Story #1183 https://github.com/FreeUKGen/FreeCENMigration/issues/1183  raised and will be dealt with once an agreed path forward exists)
How do you wish to proceed? It will take a couple of hrs to restructure the gazetteer and then I can leave the rest to you and @rhodamackenzie https://github.com/rhodamackenzie  to edit names and make the links. Alternatively in addition I can take a few hours and tweak the original xml input to fit what we want in naming and replace the CHI collections. Doing so would make the place name linkages at the time of creation.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/FreeUKGen/FreeCENMigration/issues/1180#issuecomment-800487116 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCPIFJJTNH3NNLPVJ3PYVTTD6MMBANCNFSM4ZEYCW3Q .  https://github.com/notifications/beacon/AKCPIFIW7HBSBRVG3VELVX3TD6MMBA5CNFSM4ZEYCW32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF63HNTA.gif

In my opinion we should, under the Channel Islands, have 2 districts  Jersey and Guernsey ( The 2 bailiwicks). Within those districts we have pieces for the parts of the specific bailiwicks all of which fall within Guernsey  since I understand there are no inhabited islands within the  bailiwick of Jersey.
All of the place names are to become part of the Channel Islands
With respect to validation we can adopt the following the County of Birth can be CHI, GSY, JSY, ALD, SRK. Any place will be validated against the place name contents of CHI

@geoffj-FUG If this is the way you wish to go it will take a day to restructure the place names and upload the new structure for CHI

Kirk
I can run with that.
It is the same model as we are using for IOW and the Ridings.
Geoff
From: Kirk Dawson @.>
Sent: Saturday, March 20, 2021 6:27 AM
To: FreeUKGen/FreeCENMigration @.>
Cc: geoffj-FUG @.>; Mention @.>
Subject: Re: [FreeUKGen/FreeCENMigration] CHI PARMS issues (#1180)
In my opinion we should, under the Channel Islands, have 2 districts Jersey and Guernsey ( The 2 bailiwicks). Within those districts we have pieces for the parts of the specific bailiwicks all of which fall within Guernsey since I understand there are no inhabited islands within the bailiwick of Jersey.
All of the place names are to become part of the Channel Islands
With respect to validation we can adopt the following the County of Birth can be CHI, GSY, JSY, ALD, SRK. Any place will be validated against the place name contents of CHI
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/FreeUKGen/FreeCENMigration/issues/1180#issuecomment-803104354 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCPIFLSC2TT7TBCTJMAELLTEOXQNANCNFSM4ZEYCW3Q .  https://github.com/notifications/beacon/AKCPIFJR7A3DBJNZG372MDLTEOXQNA5CNFSM4ZEYCW32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF7PGMYQ.gif

Actions needed:
Copy places for ALD (1), GSY, FSY, SRK to CHI on both test3 and production
Modify/Create xml for ALD, GSY, FSY, SRK and CHI to create Districts and pieces with appropriate names for each census year in CHI
Remove districts/piece and parishes from CHI. (There are none for ALD, GSY JSY) on test3
Upload and process CHI xml for each year on test3.
Remove districts/piece and parishes from CHI. (There are none for ALD, GSY JSY) on production
Upload and process CHI xml for each year on production.

Codes all written and tested. Production cleaned up and ready for creation of CHI tomorrow

@geoffj-FUG @rhodamackenzie
CHI recreated according to the agreed design

Thanks Kirk
Linking almost completed. This story can be closed.
Geoff


Environment variables and bindings on env

Next.js has it's own API design for getServerSideProps() and the Edge API Routes and Middleware take only the NextRequest object as its single parameter. This means that passing Workers' env object which contains environment variables and bindings isn't immediately obvious.
One idea is to 'pollute' the global space and access things by request. This has the advantage of being similar to how it works today, but might be too far into the uncanny valley.
For example:
import type { NextRequest } from 'next/server'

export const config = {
  runtime: 'experimental-edge'
}

export default async function(req: NextRequest) {
  const value = process.env[req].MY_ENV_VAR
}

Another might be to use the @cloudflare/next-on-pages package as a runtime library which is different enough to be intentional, but still fundamentally works the same way:
import type { NextRequest } from 'next/server'
import { env } from '@cloudflare/next-on-pages'

export const config = {
  runtime: 'experimental-edge'
}

export default async function(req: NextRequest) {
  const value = env(req, 'MY_ENV_VAR')
}

What do y'all think? Any preferences? Any other ideas?

Why not extend NextRequest?
Next ignores the properties added to the object. So we can add what we want to the Request object. Then we just have to provide a type CfNextRequest = NextRequest & { env: Record<string, unknown> } via the @cloudflare/next-on-pages lib.
export default {
  async fetch(request, env, context) {
    const { pathname } = new URL(request.url);
    const routes = routesMatcher({ request }, __CONFIG__.routes);

   // link env to request object
   request.env = env;

    for (const route of routes) {
      if ("middlewarePath" in route && route.middlewarePath in __MIDDLEWARE__) {
        return await __MIDDLEWARE__[route.middlewarePath].entrypoint.default(
          request,
          context
        );
      }
    }

    for (const { matchers, entrypoint } of Object.values(__FUNCTIONS__)) {
      let found = false;
      for (const matcher of matchers) {
        if (matcher.regexp) {
          if (pathname.match(new RegExp(matcher?.regexp))) {
            found = true;
            break;
          }
        }
      }

      if (found) {
        return entrypoint.default(request, context);
      }
    }

    return env.ASSETS.fetch(request);
  },
} as ExportedHandler<{ ASSETS: Fetcher }>;```

and we have
```ts
import { CfNextRequest } from '@cloudflare/next-on-pages'

export const config = {
  runtime: 'experimental-edge'
}

export default async function(req: CfNextRequest) {
  const value = req.env.MY_ENV_VAR
}

Apply please!!

Any plans to add env to this package soon or are pull request along the lines of @bluebeel's suggestion welcome? This is a pretty critical feature in my opinion.

For the life of me I cannot figure out how to get geo info (req.cf in the worker API). I wonder if this is related?

What is the current way in which you access ENV variables in a NextJS experimental-edge app on Cloudflare? I can't seem to figure this out...

@mrkstwrt I see you made a fork with that change. Did it work for you? It doesn't seem to do anything for me...

@GregBrimble this is super frustrating. Just wasted a few hours trying to get this to work as it makes Functions basically useless to me. Is there any workaround at the moment?

Hi @Hades32,
I just stumbled across the same issue but I've found a workaround.
If you adjust your next.config.js like in the following example, you can use process.env.API_KEY and process.env.OTHER_SECRET in your edge api routes.
const { EnvironmentPlugin } = require('webpack');

/** @type {import('next').NextConfig} */
const nextConfig = {
    // ...
    webpack(config) {
        config.plugins.push(new EnvironmentPlugin(['API_KEY', 'OTHER_SECRET']));

        return config;
    },
};

Hi @Hades32,
I just stumbled across the same issue but I've found a workaround.
If you adjust your next.config.js like in the following example, you can use process.env.API_KEY and process.env.OTHER_SECRET in your edge api routes.
const { EnvironmentPlugin } = require('webpack');

/** @type {import('next').NextConfig} */
const nextConfig = {
    // ...
    webpack(config) {
        config.plugins.push(new EnvironmentPlugin(['API_KEY', 'OTHER_SECRET']));

        return config;
    },
};

Isn't that the same as using the env config and will expose all the provided secrets in the frontend bundle too?

@mrkstwrt Thanks for the hint! To be honest, I didn't think of that 😅 But I just checked, as long as you don't put process.env.API_KEY in any of your client components, it won't be included in the client bundle. So I'll continue to use it, but I totally agree that there should be a better solution for this.

@luca-rath thanks, but does that really work for binding, too? That's the real issue I'm facing

I am very much looking forward to this.

Wow, have been waiting for this since Next 13 release. Thanks @luca-rath and you all. 🚀

For me still doesn't work for binding... 😢

Here's the changes needed. Hopefully this person makes a PR, this is very valuable. https://github.com/cloudflare/next-on-pages/compare/main...YuheiNakasaka:next-on-pages:feature/add-env-to-functions

Yeah apparently this doesn't work -spoke with the author on Twitter. Excited about next-on-pages supporting this. Until then I'm hosting trpc server on Cloudflare and next on vercel. Monorepo.

Super frustrating that this isn't included. I would expect all my defined environment variables to be available in process.env

@GregBrimble please tell me key value is implemented or not and geo location or req.body.cf implemented or not

Hey folks! 👋
We've just merged a PR (#58) which will add the ability to access environment variables and bindings from within your SSR pages/API handlers. This will be available with the next release (@cloudflare/next-on-pages@0.3.0). We expect this to be released by the end of the week. You can be notified by subscribing to this PR: #60.
Apologies for it taking so long! We know it was a point of frustration for a lot of people. It doesn't quite make up for that, but here's part of the reason why:
1. Putting the Cloudflare Workers environment on process.env
Where normally within a Worker, you'd access your environment like so:
export default {
  async fetch(request, env, ctx) {
    // `env` is an object with your bindings

    // To access simple environment variables/secrets
    console.log(env.MY_ENV_VAR)

    // To access the value of `my-key` in the `MY_KV_NAMESPACE_BINDING` KV namespace
    console.log(await env.MY_KV_NAMESPACE_BINDING.get('my-key'))

    // etc.
  }
}

Next.js does not have a built-in way to pass this env object to the various module functions (unlike other frameworks such as Remix and Qwik). Instead, since Next.js started as a project for Node.js, it relies on Node.js' process.env global.
export async function getServerSideProps() {

  // `process.env` is an `Record<string, string>` object with the system environment variables loaded on it.
  console.log(process.env.MY_ENV_VAR)

  // etc.
}

Naturally, this process.env object doesn't usually have special bindings to things like KV namespaces on it. However, that's what we've done here, to make the bridge between Next.js and the Cloudflare Workers/Pages platform as familiar as possible to both sides.
export async function getServerSideProps() {
  // `process.env` is now just that `env` you'd typically get in the `fetch(request, env, ctx)` handler of a Worker.
  // So, as above...

  // To access simple environment variables/secrets
  console.log(process.env.MY_ENV_VAR)

  // To access the value of `my-key` in the `MY_KV_NAMESPACE_BINDING` KV namespace
  console.log(await process.env.MY_KV_NAMESPACE_BINDING.get('my-key'))

  // etc.
}

We were hesitant to add this on day 1 because we re-use isolates as a performance optimization wherever possible. This means that as we process one request with set of environment bindings, another request also start to be processed, potentially with a different set of environment bindings. In the typical Cloudflare Worker written in ESM format, this isn't an issue since the request and env come in together. However, if you were to access the environment from a global scope like Next.js does, there's a risk that the new set of environment bindings will override the previous set as that previous request is still processing.
To be clear, we do not share isolates across accounts (or even, across different Workers), so there's never as risk of your environment leaking across accounts or projects. Instead, if you updated your environment variables of your project as it served live traffic, we were concerned that potentially some requests would be 'polluted' with the newer set of environment variables as they were still being processed.
It turns out, that after some investigation, the way that Pages does deployments means that this won't happen anyway. It took us some time to confirm this, but we're now confident that there will be no accidental 'leakage' of environment bindings across deployments.
However, if you choose to set things on the process.env object from within the code of your Next.js project, you may see this 'leak' into other requests. This is true for any values you set in the global scope of any Cloudflare Worker. The isolate will eventually be evicted and those values will eventually be lost, but they may persist while the isolate remains live. For example:
export async function getServerSideProps() {
  // The very first time the isolate processes traffic, this would be empty (assuming I don't have any environment variables configured on my project)
  console.log(process.env.MY_TEMPORARY_VARIABLE)

  // If I then set some value on it though...
  process.env.MY_TEMPORARY_VARIABLE = 'test'

  // This will be available to the rest of my application as I process this request
  console.log(process.env.MY_TEMPORARY_VARIABLE) // 'test'

  // But also, if this isolate is re-used for a second request, the first `console.log` _may_ now print 'test'.
  // This is possible if the request hits the same Cloudflare location, but is in no way guaranteed.
  // The same is true if I set a value like so:

  globalThis.OTHER_TEMPORARY_VARIABLE = 'test'
}

You can test this behavior for yourself in the Cloudflare Workers playground. Generally, abusing the global scope like this is an anti-pattern. It will cause bugs in your apps unless you really understand what this means and so, generally, you should try and stay away from putting temporary values in the global scope whenever possible.
2. Bundling
Today, this @cloudflare/next-on-pages adaptor produces an "Advanced Mode" _worker.js. This Worker doesn't currently support bundling or any other sort of processing by Wrangler, which is needed for D1 support while it's in open alpha. D1 works today by shimming in some JavaScript to make the binding API work seamlessly over what is otherwise a .fetch() contract. If you're interested in the nitty gritty, you can see the facade in the Wrangler 2 codebase. We're not quite there yet with this, but you can expect D1 bindings to work soon. We need to make some changes in Wrangler, release those (which will make it work in wrangler pages dev and for any Direct Upload projects using wrangler pages publish) and then update our internal version of Wrangler which we use in the CI builders for any git-connected projects (GitHub/GitLab). I'll update #61 as we proceed with this work.
3. AsyncLocalStorage
Node.js support is coming to Cloudflare Workers. We are actively building out some of the Node.js APIs, and some of them are available already if you're using workerd directly. You can enable them with --experimental and the nodejs_compat compatibility flag. It's not yet available in production, but once we figure out how best to offer this opt-in, it will be.
Specifically, the AsyncLocalStorage API from node:async_hooks is interesting for this @cloudflare/next-on-pages project, and it's one of the first that has been completed by this compatibility effort. Next.js have already started exploring use of the AsyncLocalStorage API directly in their framework, and it's possible that we may be able to do this process.env implementation "properly" without leakage with these new APIs once they're available.
4. Pages Functions GA and other work
The Pages team was very busy at the end of last year getting Pages Functions ready for general availability. We'd love to give 100% to every project all the time, but hopefully it is understandable that sometimes we have to prioritize some projects while others take a bit of a backseat. However, we appreciate that @cloudflare/next-on-pages was a particular frustration and we'll endeavor to be more regular in our updates here going forward. Please remember that ultimately, we love building useful products and features for the community — that's what we spend practically every day thinking about! Please continue to create issues in relevant GitHub repos, vote on them, and to post in our Discord. We do see your feedback and we absolutely do consider it when planning our roadmap.
I hope this is all makes sense.

So, to summarize here:

<EMAIL_ADDRESS>will be released soon — follow along here: #60.
process.env will contain the environment object you're used to seeing in Cloudflare Workers, populated with the bindings of your project.
D1 bindings won't work immediately, but you can expect them to follow soon.
Node.js compatibility, including async_hooks's AsyncLocalStorage can tested in workerd today, and it will be coming to Cloudflare Workers.

This is fantastic to hear, thanks @GregBrimble. 🎉
One of the other largest blockers from people in my experience is the output size, as documented at https://github.com/cloudflare/next-on-pages/issues/47. It's regularly reported in the Discord too, and also contributes to issues like https://github.com/cloudflare/next-on-pages/issues/54. Seeing some movement on these in the near future would be awesome.

Thanks @GregBrimble.

Just saw that v0.3.0 was released. I've just re-built and deployed my project that was using process.env to get some key/secrets and confirm that it works. Bug #1 is fixed 🎉. Thanks @GregBrimble !

I have tested and can confirm env vars are working as expected.

Hey guys seems bindings work fine after you deploy.
Anyone know how to get them to work locally?

Anyone know how to get them to work locally?

They need to be in your environment/session firstly, then you can call wrangler pages dev with the "binding" parameter like --binding VAR_1=$VAR_1 VAR_2=$VAR_2 etc.

▲  Error occurred prerendering page "/api/hello". Read more: https://nextjs.org/docs/messages/prerender-error
▲  TypeError: Cannot read properties of undefined (reading 'get')
▲  at GET (/Users/v0/Projects/willin/free-domain/.next/server/app/api/hello/route.js:71:32)

import { KVNamespace } from '@cloudflare/workers-types';
import { NextResponse } from 'next/server';

export async function GET(request: Request) {
  const { DOMAINS } = process.env as any as { DOMAINS: KVNamespace };
  const data = await DOMAINS.get('test'); // throw error when build
  return NextResponse.json({ data });
}

import { KVNamespace } from '@cloudflare/workers-types';
import { NextResponse } from 'next/server';

export async function GET(request: Request) {
  const { DOMAINS } = process.env as any as { DOMAINS: KVNamespace };
  await DOMAINS?.put('test', 'value');

  const data = await DOMAINS?.get('test');
  return NextResponse.json({ data });
}

codes above can be built. but got: {}
run cmd: npx wrangler@3 pages dev .vercel/output/static --kv=DOMAINS --compatibility-flag=nodejs_compat

@willin I think that process.env for KVs works just fine 🤔
I just created this app to test it out: kv-app-dir-13.4.4
I run it locally with the pages:dev script
and everything seems to be working as expected:

So I am not sure what issues you're encountering, could you provide more details? if you could provide a minimal reproduction please do so as that would really help 🙂
(also if you want feel free to open a new issue as conversations in closed issues are easy to get lost/forgotten)


Addition of rdf as resource format

This issue aims to add the rdf format to other already available when adding a new resource for a dataset.

solved


Preferred Address Compile/Runtime Error

Hi,
if I compile lsquic with the -DLSQUIC_PREFERRED_ADDR=1 flag, I encounter some issues
First, it seems in the lsquic_enc_sess_ietf.c there is a context missing for the function call of enp_generate_scid(...). Currently the function that generates the SCIDs requires one argument more.

Second, it seems during runtime (if I fix the first issue manually), if a connection is incoming, the example echo server crashes. I start the server with
env LSQUIC_PREFERRED_ADDR4=<IP_ADDRESS>:9001 ./echo_server -c www.example.com,ca.pem,ca.key

The following error is thrown.
echo_server: /lsquic/bin/test_common.c:1533: find_sport: Assertion `0' failed.
Aborted (core dumped)

Would love some input about how to temporarily fix the second error until the code gets fixed/updated.
Thx!

Once you set LSQUIC_PREFERRED_ADDR4, all clients must connect to that address, using other server address will cause the assert failure.


Simplify src/config/dune, dune files

Simplify src/config/dune with use of built-in dune function. Plus minor change for root-based dune file
Explain how you tested your changes:

[x] Application builds

Checklist:

[x] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[x] Modified the current draft of release notes with details on what is completed or incomplete within this project
[x] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[x] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[x] All tests pass (CI will check this if you didn't)
[x] Serialized types are in stable-versioned modules
[x] Does this close issues? None

!ci-build-me


Add project feeds to RSS-Bridge

One thing that has clearly been missing in RSS-Bridge are... you guessed it... feeds!
This PR adds feeds to the meta data on the main page (to be detected by browsers) as well as to the footer (visible to users). Two feeds are currently included:

https://github.com/RSS-Bridge/rss-bridge/releases.atom
https://github.com/RSS-Bridge/rss-bridge/commits/master.atom

The feed icons are from http://www.feedicons.com. Unless I'm mistaken, these icons don't require any attribution, which makes this super simple.
I opened this PR instead of pushing directly to master so we can discuss this idea and implementation. If there are no objections in the next few days, this can be merged.
Let me know what you think!

https://github.com/RSS-Bridge/rss-bridge/releases.atom
https://github.com/RSS-Bridge/rss-bridge/commits/master.atom

Bridge instance can be outdated while feed shows latest releases.

Those feeds still unrelated to outdated bridge instance. Also, if user wants those feeds - he/she can enter the github link.

Those feeds still unrelated to outdated bridge instance.

Again, this is why the feeds are named that way - to make it clear to the user that it isn't related to the (possibly) outdated instance.

Also, if user wants those feeds - he/she can enter the github link.

Hmm... Maybe I'm looking at it too much from a developers point of view.
As a user I would probably expect the feed to relate to the current site (i.e. GitHub provides feeds for GitHub, https://bridge.suumitsu.eu provides feeds for https://bridge.suumitsu.eu, and so forth). That is actually a good argument against this PR.

Closing this PR for reasons mentioned above. Thanks for looking into this :+1:


Add support for rmdir

It seems that there was a previous attempt at #1271, but it was dismissed because it didn't provide any advantage over the standard library (#1269). However, since I need access specifically to the syscall for pjdfstest, is it possible to add it to nix? We would just have to merge the work of @dkder3k.

Unless it's very important that rmdir be able to work with anything that implements Nixpath, I suggest you either use the standard library's function, or use libc::rmdir directly.

Alright, I will just write a wrapper tolibc::rmdir then.


Modules

Renamed properties
Remove unnecessary lines

Coverage remained the same at 90.909% when pulling 042fbed57de465430a4edfd7ff826227e4755610 on modules into bf9c51074168670b8ce3962ae5cce60c1751f7fe on master.


Documentation: performance

Using the following yields around 30% better performance on my systems.
fp = io.StringIO()
with VCDWriter(fp, timescale=(10, 'ns'), date='today') as writer:
    counter_var = writer.register_var('a.b.c', 'counter', 'integer',
                                      size=8)
    for i in range(1000, 30000000, 300):
        for timestamp, value in enumerate(range(10, 200, 2)):
            writer.change(counter_var, i + timestamp, value)
with open('test3.vcd', 'w+') as fd:
    fp.seek(0)
    shutil.copyfileobj(fp, fd)
fp.close()

Hi @kown7. Thanks for this observation.
I was able to get a similar result when comparing to using a regular buffered file io (i.e. open('test3.vcd', 'w').
My strong suspicion is that the performance difference comes from more efficient encoding from Python's internal representation to ascii/utf-8 when encoding the entire StringIO buffer in one-shot versus encoding each time more data is written in the buffered file io case.
A potential enhancement to pyvcd would be to be more explicitly ascii/bytes oriented such that encoding costs can be minimized. Also, pyvcd is currently exposed to outputting non-ascii characters since it uses the encoding of whatever file object is passed-in and will accept strings containing non-ascii characters for timescale, date, scope, var name, etc.

Hi @jpgrayson
Apologies for not posting the entire performance measuring script. I haven't looked into the code, but I stumbled over the print print statements while trying the above improvements before.
Here's a hypothesis: it's the printstatements a. Run this on your own to verify:
timeit.timeit('print(\"Hello world\", file=fd)', setup='import sys; fd=open(\"test2.vcd\", mode=\"w\")', number=100_000_00)
timeit.timeit('fd.write(\"Hello world\\n\")', setup='import sys; fd=open(\"test.vcd\", mode=\"w\")', number=100_000_00)

Print comes out about a factor >4 slower.

PS: using io.StringIO and write() doesn't make a difference compared to using write() directly on a file.

Verified that using write() instead of print() nets ~20% performance improvement in my environment which is on par with the StringIO method above.
I will push a change that switches pyvcd to use write() and cut a release.
This is a really nice improvement. Thanks for your help identifying the issue!


Array Binding Support

Is it possible to perform Array Binding?
http://www.oracle.com/technetwork/issue-archive/2009/09-sep/o59odpnet-085168.html
http://docs.oracle.com/html/B14164_01/featOraCommand.htm#i1007888

Sure. Just use ses.PrepAndExeP or stmt.ExeP.

Thanks, I'll take a look.


Ensure element is attached to DOM when destroying igZoombar

Closes #268

Coverage increased (+0.007%) to 96.716% when pulling 64fde086c6e95a9e029b481ae60fd86b9e45e8d3 on dkamburov/fix-268 into 63872bdf4841de7c338bee0bb68b34cd713541bd on master.

There is an error when running the  #268 code sample. This is the error message in PowerShell:

This is the error in the browser:


textarea line brakes

Description of problem

Hitting "enter" for a new line in a textarea field could also reflect an actual line break "<br "
How can this be achieved?

Lines breaks are saved in the database.
To view them, try this:
{!! nl2br(e($string)) !!}

Thank you very much!!


Functionalities needed for cyclic MPC formulations

This PR proposes to use boost::circular_buffer to store action models and datas in the shooting problem class. It simplifies the cyclic MPC formulation when the user might need to update the first action model and move on the remaining models. It could be easily do it through a push_back method implementing in this PR as well (i.e. pushBackRunningNode). I have bench the use of boost::circular_buffer against std::vectors, and the computation time remains the same.
Additionally, this PR includes the updateNode function and extra constructor that allows user to pass the datas. It is quite useful since users can have the control of data allocation. Again it is very important for any MPC application.
Finally, the PR includes a checkData method for all action models (and diff-action models) to allow the shooting problem does data checking which protects us against user mistakes. These new functionality is tested in our unittest!
Important note
I want to include few other things here:

a pushBackRunningModel function similar to pushBackRunningNode but we internal data allocation.
doxygen documentation of all the shooting-problem methods.

However, I wanted to share the code for discussion: @proyan and @nmansard.

I have benched the computation time of using std::vector against boost::circular_buffer. For the following test, I have defined 108 nodes using the quadrupedal action models. These are the results:

std::vector: 4.7865 usecs
boost::circular_buffer: 0.6916 usecs

Clearly, the boost::circular_buffer is better since there is no needed extra copy of the action model items, and there is no memory overhead.
On the other hand, boost::circular_buffer introduces an API change, which it is not hard to deal for the users. The question is "is this result significance for making an API change?" @proyan, @nmansard and @jcarpent.
If you want to inspect the details of the std::vector approach, please see this code: https://github.com/cmastalli/crocoddyl/blob/topic/shooting-extra/include/crocoddyl/core/optctrl/shooting.hxx#L175

@cmastalli Can you please add some detail on the test that these numbers are represented? E.g. is this using a reserve with the vector, what is the change that is timed - pop_front and push_back - or something else? It is really unclear what the timed code is.

@cmastalli Can you please add some detail on the test that these numbers are represented? E.g. is this using a reserve with the vector, what is the change that is timed - pop_front and push_back - or something else? It is really unclear what the timed code is.

It doesn't use reserve, it uses push_back plus copying data. See more details: https://github.com/loco-3d/crocoddyl/pull/772#issuecomment-629380073.
I also though to use insert and then pop_front. Do you think is this better approach? I could bench it as well.

@wxmerkt or do you have a better way to code it? I could bench it as well.

I have benched the computation time of using std::vector against boost::circular_buffer. For the following test, I have defined 108 nodes using the quadrupedal action models.

Could you provide the bench you did?

I assume most of the time is due to allocating copy_models and copy_data. I don't think you actually need the copy: At i=0, you are assigning 1 to location 0, at i=1, you are assigning 2 to 1... why do you need a copy for that? As long as this for-loop is sequential and not parallel, you don't need copy_data, copy_model at all. Another variant would be to switch vector to deque.
On another node, it wasn't immediately obvious to me from the name pushBackRunningNode that it uses a fixed size, drops the first, and pushes back at the end (as in MPC). The name could also suggest that the vector is appended by one. Alas, I don't have a suggestion for a better name right now.

Could you provide the bench you did?

I run the quadrupedal_gait problem, and then I run the following script:
import time
problem = ddp[0].problem
model = problem.runningModels[0]
data = problem.runningDatas[0]
start = time.time()
T = int(1e5)
for i in range(T):
  problem.pushBackRunningNode(model, data)
end = time.time()
print 1e3 * (end - start) / T

I also have a much better PC that the ones that we could get on a robot.

I assume most of the time is due to allocating copy_models and copy_data. I don't think you actually need the copy: At i=0, you are assigning 1 to location 0, at i=1, you are assigning 2 to 1... why do you need a copy for that? As long as this for-loop is sequential and not parallel, you don't need copy_data, copy_model at all. Another variant would be to switch vector to deque.
On another node, it wasn't immediately obvious to me from the name pushBackRunningNode that it uses a fixed size, drops the first, and pushes back at the end (as in MPC). The name could also suggest that the vector is appended by one. Alas, I don't have a suggestion for a better name right now.
Edit: So my suggestion is this:
template <typename Scalar>
void ShootingProblemTpl<Scalar>::pushBackRunningNode(boost::shared_ptr<ActionModelAbstract> model,
                                                     boost::shared_ptr<ActionDataAbstract> data) {
  if (!model->checkData(data)) {
    throw_pretty("Invalid argument: "
                 << "action data is not consistent with the action model")
  }

  for (std::size_t i = 0; i < T_ - 1; ++i) {
    running_models_[i] = running_models[i + 1];
    running_datas_[i] = running_datas[i + 1];
  }
  running_models_[T_ - 1] = model;
  running_datas_[T_ - 1] = data;
}

Could you perhaps test that as well please?

@wxmerkt thank you for noting an obvious unnecessary copy.
I have benched your suggested code. The computation time is 2.6238 usecs.
I agree with you that the function name is terrible, it used to have more sense with boost::circular_buffer. Do you have any naming suggestion?

Hi @cmastalli,
One iteration of the solver, for 100 nodes and 4dof robot, takes about 400us on my system. I don't think we should change the API for an advantage of 2us.

Thanks for the quick test :-). The other option is deque where it would be pop_front(), followed by insert/push_back. I am not sure how much that affects memory locality in practice.
Regarding naming perhaps something with "cycleAndAppend" (but that isn't great either) - unfortunately I don't have a good suggestion for naming if the buffer size isn't fixed.

Hi @cmastalli,
One iteration of the solver, for 100 nodes and 4dof robot, takes about 400us on my system. I don't think we should change the API for an advantage of 2us.

Yes, it could be an undesired optimization. @wxmerkt, @jcarpent and @nmansard.
Do you agree with this?

Thanks for the quick test :-). The other option is deque where it would be pop_front(), followed by insert/push_back. I am not sure how much that affects memory locality in practice.
Regarding naming perhaps something with "cycleAndAppend" (but that isn't great either) - unfortunately I don't have a good suggestion for naming if the buffer size isn't fixed.

Deque is worse than boost circular buffer. It doesn't have a constant complexity for accessing data. Boost circular buffer is indeed designed as std vectors but with deque functionalities.

Rohan's point regarding the comparatively minimal advantage of 2us in the grand scheme of things is important: These 2us - in relative terms - will be even less for higher dimensional systems (at the moment 0.5% of iteration time; likely much less for >4 DoF).
As thus, I don't think the change to circular buffer gives us enough benefit to deviate from a standard STL container. The STL container also has the benefit that when not used in MPC it change size. As thus, I vote for maintaining vector.
[I follow the theory behind deque, but we haven't benchmarked those implications here in practice, I assume]

@wxmerkt and @proyan. I also agree with you, and thank you for your feedback.
I will create another PR with that approach.
__