Overhauled project

I was bored.
The original project had multiple issues, most importantly being it's massive RAM consumption.
I tested this project when cracking a PDF file where the password was some colombian/whatever SSN. My math indicates that would've used about 80 terabytes of RAM since the list of password was generated first. This overhaul ensures all passwords are produced on the fly for all of the previously existing password generators, i.e. what used to be called "parsers".
Additionally the code could be cleaned up for some major gains in readability, maintainability and modularity.

Engine was rewritten to utilize dependency injection patterns to improve code reuse and reduce if-cases.
Argument parsing was overhauled to use a more modern version of Clap, additionally it now ensures one cannot run an invalid set of arguments.
Dependency versions were bumped since I might aswell after rewriting so much code. Perhaps this adds support for more cryptos as requested in #3?
Probably more small things that I cannot think of for now.

Oh and I replaced the DIY logging library with the log crate along with pretty_env_logger as a backend.

Thank you, this is exactly how I wanted this project to be structured. I wrote this for my own need, also when I was bored so didn’t necessarily care much about constraints.
The DIY logging implementation wasn’t exactly for logging, it was just status indicators and I wanted it to look cool so I made my own format but proper logging fits better so that’s fine.
I am merging this and I want to rewrite the parser part to utilize Regex when I get some time. And the code comments as well, which are funny so I will keep them in the meantime.


re-work the entire docs directory

make it look more like https://github.com/kubernetes/helm/blob/master/docs/index.md
Make the flow of the docs more coherent from an end user perspective. How do you get from zero to draft

I've started taking a stab at this at https://github.com/bacongobbler/draft/tree/docs-makeover and will hopefully have something to show for it by the end of the day, if not by end of next week :)


nixos/redis: enable sandbox mode

Motivation for this change
Enable sandbox mode.
Result:
systemd-analyze security redis
...
→ Overall exposure level for redis.service: 1.3 OK 🙂

Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

cc @aanderse @Mic92 @dasJ

@GrahamcOfBorg test redis

I don't see any other potential issues except for the resource ones above with these settings.


patched rmt_storage for snapdragon 845 Android 11

Hello Denys, do you have any patched rm_storage for snapdragon 845? i need for my Google Pixel 3 on android 11 stock, that keeps replacing my modded 00028874. Thank you

Hello there!
Unfortunately I don't have it, but you might take it from LineageOS repos if I'm not mistaken :)

Thanks for your answer Denys.. so do you think that simply replacing the original one with the lineage one should work?

i can't find any repos about the lineage os rmt_storage.. any advice?

Thanks for your answer Denys.. so do you think that simply replacing the original one with the lineage one should work?

Yes, exactly :)


tests: Add B frame number setting. Add idrinterval for yamitranscode.

Also change the "keyperiod" name to "intraperiod" in yamitranscoder to be consistent with its feature.

lgtm, +1

merged as 324b4a2e8151ae5f33ecf4e17947d79fb55c8127


Consider updating 'coverage' to address CI failures

While looking at the test failures for #1283, I came across this issue in pytest coveragepy which seems like it could be applicable.
A fix was committed in pytest 6.4; might be worth bumping the dependency to see if it improves the reliability of the CI builds.

Hi @eddyg, perhaps you meant coverage v6.4+, right? pytest v6 does not exist. The CI builds in this repo can sometimes be unstable due to the following reasons:

Unstable behaviors of GitHub Actions containers
The load tests for SocketModeClient tend to fail

I am unsure if we should upgrade coverage package for it but we are always happy to upgrade the packages for tests at any time.

@eddyg Thanks for your reply! I've improved the load test for SocketModeClient yesterday. The tests still sometimes fail but I believe that the frequency was much improved. We will continue improving the stability of tests. Let me close this issue now.


This seems to be working only when using your example epub file only

Hey there,
We have been trying to use your lib for our project but this seems to be working only when we use your example epub only, for all other epub files no functionality is working. Please help us solve this, we are ready ti pay for this.

same problem been hacking itfor hours but still cannot fix!

@vamsijanaki I managed to hack it to open my own epubs, message me if u need it.

Yes i do need, please let me know


FAB went to the wrong place when open the bottom bar

hey man
I think there is a bug .when click the fab open the bottom bar ,then scroll the recyclerview ,the FAB will go to a wrong place .
also ,sometimes the FAB can't show icon~ how to post a picture?

Hi, there's another issue still open that refers to this. #6
I'm going to close this one in favor of the old one. I'm currently busy and didn't have time to fix this yet.
Regarding the FAB icon, please create a new issue.
You can attach files by dragging and dropping or selecting them.


Error while running tests: TypeError: Cannot read property 'testsuites' of null

Issue Type: Bug

Behaviour
I've read through the various issues but am seeing the given problem again that when looking at the consoles - the discovery works  Running test with arguments: --rootdir /Users/wkerzend/python/tardis --override-ini junit_family=xunit1 --junit-xml=/var/folders/d8/0jgrxkjs4yj6qpzvv22rdtsr0000gn/T/tmp-65044gldRayuo7omi.xml --tardis-refdata=/Users/wkerzend/python/tardis-refdata
but then
Run completed, parsing output
Error while running tests: tardis
TypeError: Cannot read property 'testsuites' of null

Expected vs. Actual Behaviour
I'm trying to get the xml files to look at them with an editor.
Steps to reproduce:
Getting tests setup for the open source project github.com/tardis-sn/tardis
Diagnostic data

Python version (& distribution if applicable, e.g. Anaconda): 3.7.12
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Conda
Value of the python.languageServer setting: Pylance

User Settings

defaultLS: {"defaultLSType":"Pylance"}

downloadLanguageServer: true

envFile: "<placeholder>"

venvPath: "<placeholder>"

venvFolders: "<placeholder>"

condaPath: "<placeholder>"

pipenvPath: "<placeholder>"

poetryPath: "<placeholder>"

languageServer: "Pylance"

linting
• enabled: true
• cwd: "<placeholder>"
• Flake8Args: "<placeholder>"
• flake8Enabled: false
• flake8Path: "<placeholder>"
• lintOnSave: true
• banditArgs: "<placeholder>"
• banditEnabled: false
• banditPath: "<placeholder>"
• mypyArgs: "<placeholder>"
• mypyEnabled: false
• mypyPath: "<placeholder>"
• pycodestyleArgs: "<placeholder>"
• pycodestyleEnabled: false
• pycodestylePath: "<placeholder>"
• prospectorArgs: "<placeholder>"
• prospectorEnabled: false
• prospectorPath: "<placeholder>"
• pydocstyleArgs: "<placeholder>"
• pydocstyleEnabled: false
• pydocstylePath: "<placeholder>"
• pylamaArgs: "<placeholder>"
• pylamaEnabled: false
• pylamaPath: "<placeholder>"
• pylintArgs: "<placeholder>"
• pylintPath: "<placeholder>"

sortImports
• args: "<placeholder>"
• path: "<placeholder>"

formatting
• autopep8Args: "<placeholder>"
• autopep8Path: "<placeholder>"
• provider: "black"
• blackArgs: "<placeholder>"
• blackPath: "<placeholder>"
• yapfArgs: "<placeholder>"
• yapfPath: "<placeholder>"

testing
• cwd: "<placeholder>"
• debugPort: 3000
• nosetestArgs: "<placeholder>"
• nosetestsEnabled: undefined
• nosetestPath: "<placeholder>"
• promptToConfigure: true
• pytestArgs: "<placeholder>"
• pytestEnabled: true
• pytestPath: "<placeholder>"
• unittestArgs: "<placeholder>"
• unittestEnabled: false
• autoTestDiscoverOnSaveEnabled: true

terminal
• activateEnvironment: true
• executeInFileDir: "<placeholder>"
• launchArgs: "<placeholder>"

experiments
• enabled: true
• optInto: []
• optOutFrom: []

insidersChannel: "off"

tensorBoard
• logDirectory: "<placeholder>"

Extension version: 2021.12.1559732655
VS Code version: Code 1.63.2 (899d46d82c4c95423fb7e10e68eba52050e30ba3, 2021-12-15T09:37:28.172Z)
OS version: Darwin x64 20.6.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz (12 x 2900)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
7, 6, 6

Memory (System)
32.00GB (1.16GB free)

Process Argv
--crash-reporter-id 2477d69f-b676-416f-92af-923d0fb7d793

Screen Reader
no

VM
0%

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyl392:30425749
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscorecescf:30429732
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30428979
pythonvs932:30410667
vscop804cf:30404767
vscop453:30404998
vsrem710cf:30416617

In output python - I see that it is calling ~/miniconda/envs/tardis-devel/bin/python -m pytest --rootdir ~/python/tardis --override-ini junit_family=xunit1 --junit-xml=/var/folders/d8/0jgrxkjs4yj6qpzvv22rdtsr0000gn/T/tmp-68113nKam1JOrYDMz.xml --tardis-refdata=/Users/wkerzend/python/tardis-refdata which is missing what folder it should run on
~/miniconda/envs/tardis-devel/bin/python -m pytest --rootdir ~/python/tardis --override-ini junit_family=xunit1 --junit-xml=/var/folders/d8/0jgrxkjs4yj6qpzvv22rdtsr0000gn/T/tmp-68113nKam1JOrYDMz.xml --tardis-refdata=/Users/wkerzend/python/tardis-refdata tardis works

tmp-69895toGxmaN6Q10d.xml.please_remove_extension.zip
^^ it has troubles with this XML file (actual XML file and not zip - just rename)

Hi @wkerzendorf, thank you for reaching out.
What is the content of your python.testing.pytestArgs workspace setting?

Run completed, parsing output
Error while running tests: tardis
TypeError: Cannot read property 'testsuites' of null

Where is that output from?
Do you also have a minimal example I could use to try and replicate the issue?

tardis copy.code-workspace.rename_removezip.zip

I also have some questions about the settings. There are user setting which are presumable stored somewhere in the home dir. Then there are workspace setting which are stored in the given file. Then there are folder settings for multiroot workspaces - I don't see where they are stored.

@kimadeline
"python.testing.pytestArgs": [
			"--tardis-refdata=/Users/wkerzend/python/tardis-refdata",
			"--no-cov",
			"tardis"
		],
		"python.testing.pytestEnabled": true,
		"python.testing.cwd": "/Users/wkerzend/python/tardis",

Then there are folder settings for multiroot workspaces - I don't see where they are stored.

They are stored in the .vscode/settings.json for each folder.
If you don't have a minimal example I could use to try and replicate the issue, could you paste here the entirety of the output in the Python output  when you try running the tests?
Thanks!

We are the tardis code at github.com/tardis-sn/tardis. In there is a tardis_env3.yml that contains the environment (as a conda environment).
> ~/miniconda/envs/tardis-devel/bin/python -c "import sys;print(sys.executable)"
> conda info --json
> ". /Users/wkerzend/miniconda/bin/activate && conda activate tardis-devel && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python /Users/wkerzend/.vscode/extensions/ms-python.python-2021.12.1559732655/pythonFiles/printEnvVariables.py"
> ". /Users/wkerzend/miniconda/bin/activate && conda activate starkit && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python /Users/wkerzend/.vscode/extensions/ms-python.python-2021.12.1559732655/pythonFiles/printEnvVariables.py"
> ~/miniconda/envs/starkit/bin/python ~/.vscode/extensions/ms-python.python-2021.12.1559732655/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir ~/python/tardis -s --cache-clear --tardis-refdata=/Users/wkerzend/python/tardis-refdata --no-cov tardis
cwd: ~/python/tardis
> ~/miniconda/envs/tardis-devel/bin/python ~/.vscode/extensions/ms-python.python-2021.12.1559732655/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir ~/python/tardis -s --cache-clear --tardis-refdata=/Users/wkerzend/python/tardis-refdata --no-cov tardis
cwd: ~/python/tardis
[ERROR 2022-1-2 21:36:45.49]: Error discovering pytest tests:
 [SyntaxError: Unexpected end of JSON input
	at JSON.parse (<anonymous>)
	at a.runTestDiscovery (/Users/wkerzend/.vscode/extensions/ms-python.python-2021.12.1559732655/out/client/extension.js:74:83854)
	at runMicrotasks (<anonymous>)
	at processTicksAndRejections (internal/process/task_queues.js:93:5)
	at async Promise.all (index 0)
	at async E.refreshTestData (/Users/wkerzend/.vscode/extensions/ms-python.python-2021.12.1559732655/out/client/extension.js:74:95452)
	at async v.refreshTestDataInternal (/Users/wkerzend/.vscode/extensions/ms-python.python-2021.12.1559732655/out/client/extension.js:74:86846)
	at async Promise.all (index 1)
	at async v.resolveChildren (/Users/wkerzend/.vscode/extensions/ms-python.python-2021.12.1559732655/out/client/extension.js:74:88181)] {
  stdout: ''
}

What is shown in the terminal if you run ~/miniconda/envs/tardis-devel/bin/python ~/.vscode/extensions/ms-python.python-2021.12.1559732655/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir ~/python/tardis -s --cache-clear --tardis-refdata=/Users/wkerzend/python/tardis-refdata --no-cov tardis in the terminal?

excerpt
widgets/tests/test_shell_info.py:88", "markers": [], "parentid": "./tardis/visualization/widgets/tests/test_shell_info.py::TestHDFShellInfo::test_level_count_data"}, {"id": "./tardis/visualization/widgets/tests/test_shell_info.py::TestShellInfoWidget::test_selection_on_shells_table", "name": "test_selection_on_shells_table", "source": "./tardis/visualization/widgets/tests/test_shell_info.py:146", "markers": [], "parentid": "./tardis/visualization/widgets/tests/test_shell_info.py::TestShellInfoWidget"}, {"id": "./tardis/visualization/widgets/tests/test_shell_info.py::TestShellInfoWidget::test_selection_on_element_count_table", "name": "test_selection_on_element_count_table", "source": "./tardis/visualization/widgets/tests/test_shell_info.py:174", "markers": [], "parentid": "./tardis/visualization/widgets/tests/test_shell_info.py::TestShellInfoWidget"}, {"id": "./tardis/visualization/widgets/tests/test_shell_info.py::TestShellInfoWidget::test_selection_on_ion_count_table", "name": "test_selection_on_ion_count_table", "source": "./tardis/visualization/widgets/tests/test_shell_info.py:197", "markers": [], "parentid": "./tardis/visualization/widgets/tests/test_shell_info.py::TestShellInfoWidget"}]}]

tmp.zip
I piped it into the tmp.zip (not a real zip 😉 )

@kimadeline let me know if I can help more

I cloned the repos at https://github.com/tardis-sn/tardis and https://github.com/tardis-sn/tardis-refdata to try and pinpoint the issue.
I did not get the TypeError: Cannot read property 'testsuites' of null error you initially encountered, however the fact that the last tardis argument was being truncated was probably causing issues.
It is done on this line:
https://github.com/microsoft/vscode-python/blob/3b114e31dd992a72e3cd71b0876b05466228e75a/src/client/testing/testController/pytest/runner.ts#L80
Where we remove certain types of arguments (you can see the function that does it here).
Long story short, if you update your code to use something like --dir=tardis instead of just tardis we won't truncate it, and treat it as an argument to forward to the testing script.
Let me know if this workaround works for now.

I will work on this in the next days as I just migrated laptops and need to finish a proposal 😄

[ERROR 2022-1-10 18:28:53.524]: Error discovering pytest tests:
 [r [Error]: ERROR: usage: run_adapter.py [options] [file_or_dir] [file_or_dir] [...]
run_adapter.py: error: unrecognized arguments: --tardis-refdata=/Users/wkerzend/python/tardis-refdata --dir=tardis
  inifile: /Users/wkerzend/python/tardis/setup.cfg
  rootdir: /Users/wkerzend/python/tardis

@kimadeline it doesn't like it for the run_adapter script

seems to be a known problem : https://github.com/microsoft/vscode-python/issues/11736

Hi there, sorry for the delay!
Is the --tardis-refdata argument still in python.testing.pytestArgs?

uhm - haven't checked in a while.

Is the issue still happening? Or did you find a workaround?

Because we have not heard back with the information we requested, we are closing this issue for now. If you are able to provide the info later on then we will be happy to re-open this issue to pick up where we left off.


feat: collaborative revert dlc channels

resolves #1809
Tested manually.
https://drive.google.com/file/d/1798JHsB6gIOfUsmmcBNE8cpCVdoBIPrP/view?usp=sharing
@luckysori : how far are you with https://github.com/get10101/10101/issues/1798? I thought I'd wait for your changes to add an e2e test for this feature.

@holzeis : please rereview


Version 1.0 or 2.1?

Should this package start at version 1.0.0 or should the version somehow indicate that it's compatible with EF Core 2.1+

I feel it would make more sense for a package version of 2.1 to be in line with EF Core
It's one less bit of mental gymnastics to have to do when looking at versions, especially in the future when upgrading to 2.2 and beyond

Agree we should go with aligning to EF since this package will likely need to change with every new EF release.


write_table: add --max_edge_page_size flag to limit memory usage [phab:D475]

Created by schroederc at 2015-08-28 16:32:11:
--max_edge_page_size controls the maximum size of the PagedEdgeSets and
EdgePages written to the resulting serving table.  This consequently
limits the memory usage of both write_table and http_server.

zarko accepted this revision at 2015-08-28 21:43:16

schroederc closed via commit 9fdce59240889e9fcdb853de6c76d64c8534d3d5 at 2015-08-28 21:48:33


Git OMRSE back in Ontobee

I actually noticed that it wasn't in the list of ontologies a few weeks ago; however, the ontology itself is still in Ontobee so I just assumed it was a glitch in their system. Nonetheless, I'm not entirely sure that they're aware of it.
http://www.ontobee.org/ontology/OMRSE

Emailed Oliver He.


java.lang.NullPointerException  at ml.dmlc.mxnet.spark.MXNet.fit(MXNet.scala:108)

Hi,
I am getting the error
java.lang.NullPointerException
at scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:192)
at scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:192)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at ml.dmlc.mxnet.spark.MXNet.fit(MXNet.scala:108)
at com.yash.mxnet.app.ClassificationExample$.main(ClassificationExample.scala:71)
at com.yash.mxnet.app.ClassificationExample.main(ClassificationExample.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Code I am running is ClassificationExample.scala ( available  @ https://github.com/dmlc/mxnet/tree/master/scala-package/spark/src/main/scala/ml/dmlc/mxnet/spark/example)
    **var mxnet = new MXNet()
    .setBatchSize(128)
    .setLabelName("softmax_label")
    .setContext(devs)
    .setDimension(dimension)
    .setNetwork(network)
    .setNumEpoch(cmdLine.numEpoch)
    .setNumServer(cmdLine.numServer)
    .setNumWorker(cmdLine.numWorker)
    //.setExecutorJars(cmdLine.jars)
    .setJava(cmdLine.java)

 var model = mxnet.fit(trainData)**

@ mxnet.fit(trainData) I am facing Null pointer execption. I am able to set all objects received in var mxnet correctly.
Help me solve this issue

I've had this problem, too.Have you solved the problem?

Hi @tianhai123 ,
We were not able to solve the issue neither did anyone responded on the same
Sryy but wont be able to help in this case..!!
If you find any solution do let us know.
Thanks
Aman

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!
Also, do please check out our forum (and Chinese version) for general "how-to" questions.


[EN Number] "between" should include boundaries

"between four and seven" => "(4,7)" meaning 4 and 7 are not included.
My understanding of between is that boundaries are included to the interval

Including boundaries should be the default behavior. A flexible option would be to support "exclusive" or "inclusive" suffix to remove any uncertainty.

Maybe "from ... to ..." ranges should include end bound as well.

Hi @RomainWilbert, thanks for bringing this up. We're doing issue triage and I'll update this issue later.

For consistency, all ranges include the start and don't include the end.  Additional modifiers (MOD attribute) currently give further insight on what extra interpretation should be applied to the provided resolutions.
This makes sure the recognizers are backwards compatible, provides a stable platform, and also let's consumers decide how to interpret in their particular scenarios (devs have better domain knowledge of their usage cases and no solution fits all).
If you find cases that deviate from the design, please open issues for them. They'd be very helpful.
Thanks for all the feedback!


[BUG]: on mobile mode gradient is not showing

Description 📝
when switching to mobile mode then user cannot see gradient they made
Link 🔗
No response
Screenshots 📸

#269


Is Dispatching domain events after savechanges always a good idea?

I hope you don't mind i'm asking a question here. If so, apologies and simply disregard the question.
I saw that you dispatch the domain events after you execute savechanges.
That would be ok for me, for types of actions that should not rollback the current 'transaction'.
.e.g, after placing and order we send as domain event an email. When that email fails the original place order transaction should not be rollbacked.
On the other hand, there could be domain events which are logically part of the current transaction. So, if they fail, the whole transaction should fail as a whole.
So, I would foresee an event dispatcher before save changes and one after.
What is your view on this?
Thanks.

I think it is most important to note, that an event is typically considered a fact that has already happened in the past (refer to e.g. http://blog.leifbattermann.de/2017/04/21/12-things-you-should-know-about-event-sourcing/).
Therefore in your example, if an order has been placed, an event OrderPlaced (past tense) would be stored. This is the fact. If, in reaction to that event, an email should be sent out, another aggregate could react to that event  and trigger an appropriate command e.g. SendOrderNotification (imperative). Placing this command expresses the intent of an action to be done. Executing the command could just work fine or fail. If sending the email fails, it would probably be the aggregate responsible for sending notifications to deal with this situation, e.g. retry or use a different channel to confirm the order to the customer.
As by the blue book, an aggregate is considered a transaction boundary. This means that either everything considered as part of an atomic operation can be safely fulfilled within a single aggregate, or the invariants - as often expressed in the requirement - have to be challenged. The third option would be to enter the world of eventual consistency.

This solution doesn't go into event sourcing (see @paulroho comment above), but I do distinguish between pre- and post-persistence events. Pre-persistence events fire immediately when the event is raised, while post-persistence events are queued and then dispatched once persistence is successful. The reason for the distinction is primarily a practical one - you don't want to send an email thanking a customer for an order only to find that it doesn't get saved and so you have no record of it. Obviously, you could try to design your system so that it can recover from any error and no order is ever lost, but in my experience most applications lack this capability, so it's easier to avoid the problem. You avoid it by only dispatching events that have side effects outside of the system after persistence has succeeded.
I discuss this distinction more here:
http://www.weeklydevtips.com/022
and
http://www.weeklydevtips.com/023
For pre-persistence events, you can use something like Udi Dahan's static DomainEvents class
or MediatR.


Support preview GraphQL API v4 Node IDs in REST API v3 resources

GitHub Developer API announcement:
https://developer.github.com/changes/2017-12-19-graphql-node-id/
To complete this issue:

a new media type (application/vnd.github.jean-grey-preview+json) must be added to github.go,
this media type must be added to the header of calls to all affected endpoints (see announcement),
a new node_id field must be added to the appropriate responses structs that are returned.

This issue presents a great learning opportunity for a new contributor to participate and interact with this community of passionate and enthusiastic Go developers. Any and all contributions are greatly appreciated!
If you would like to work on this issue, please comment below and our team will send you an invite so we can assign the issue to you. Make sure to check out the CONTRIBUTING.md documentation for help on getting started. Thank you!

@gmlewis Can I take this up?

Definitely!  Thank you, @anubhakushwaha!  I sent you an invite.

node_id's are also present in webhook payloads, e.g. the push event has a repository.node_id, sender.node_id, etc.

Hey @gmlewis I see that the following resources were not covered by the PR #817
Projects
Pull Requests
Reactions
Releases
Repositories
Statuses
Teams
Users
I would like to take this up to complete the rest of the work :smile:

@gmlewis Since @palash25 haven't sent PR, I would love to add resources mentioned by him.

Let's give @palash25 a day or two to respond and afterward you can take this, @vaibhavsingh97.

@gmlewis I am busy preparing for gsoc currently so @vaibhavsingh97 can take this up

Good luck with Google Summer of Code, @palash25!
OK, this is yours, @vaibhavsingh97.

@gmlewis I checked all the mentioned resources mentioned in https://developer.github.com/changes/2017-12-19-graphql-node-id/ and maximum resources contains node ID in the response.
I had sent PR #1149 to add missing Node IDs in response of some resources


Fix Problem with English

When users use other languages which do not have translations. It will use English normally

Cherry picked the changes! Thanks!


How to Lazy Load w/ Deep Links

I made a mobile app with ionic2
and my owner said we need the same mobile web site.
I already done with deeplink.
the only problem is the first page is loading to long.
the javascript file main.js is more than 1500kb.
so how can I build the project to lazy load?
like split main.js to chunk.0.js chunk.1.js and more.
angular-cli is already automatic.

Stay tuned 😸 . It's a WIP right now.
We'll have more to share on this story very soon. This is our #1 priority right now. We're figuring out the tooling behind it to make it simple/trivial to implement.
Thanks,
Dan

@danbucholtz
wish you goal it as soon as posible
BTW ionic 2 stable is release.

I can see @danbucholtz working day and night on this. @yozman Just look into following few branches he is working on
https://github.com/driftyco/ionic-app-scripts/branches
https://github.com/driftyco/ionic-closure/branches
he is even dreaming about it 😛
https://twitter.com/danbucholtz/status/824617478747676675

@aggarwalankush, LOL!!!!!

@aggarwalankush @danbucholtz
amazing 👍

@danbucholtz Great work.
we are also using the scripts for building pure angular 2 web applications and would like to use the lazy load functionality of submodules using loadChildren: 'modulePath#ModuleName' in the routing.
Will this be support in this change?
Thanks a lot.

@timowolf
maybe not.
ionic2 nav system is different from angular router

@timowolf, to be totally honest, I doubt it. Our deep linking system is simpler than Angular's router. We are also looking to use an ID or a name for a router instead of using paths. We can figure out the paths at build time.
We are making progress on this issue. Nothing to share yet. Stay tuned though. We know how important this is.
Thanks,
Dan

everybody can try the feature
use ionic_experimental_parse_deeplinks
for config in package.json

@danbucholtz
will this feature work will ionic2 or 3.x?

@yozman  Do you have any example for deeplinks and lazyloading?
I tryging, but not effect
{ loadChildren: './settings.module#SettingsModule', name: 'Settings' },         { component: SettingsPage, name: 'Settings', segment: 'settings' },
@NgModule({
  declarations: [
    SettingsPage,
    SettingsSubpage,
  ],
  imports: [
    IonicModule.forRoot(SettingsPage),
  ],
  entryComponents: [
    SettingsPage,
    SettingsSubpage

  ]
})
export class SettingsModule { }

I usage ionic serve --experimentalParseDeepLinks

@kwarpechowski
u can check this out https://github.com/driftyco/lazy-loading-poc

@yozman. Yes, but this example was written in v3.
v2 not have IonicModule.forChild method.
https://github.com/driftyco/lazy-loading-poc/blob/master/src/pages/page-one/page-one.module.ts
Do you have any example written in current stable version?

@kwarpechowski
I think it will come up with v3

@yozman Thank you for response. I tried make a extension IonicModule (implement forChild and other references), but I not have positive effect. I showed commit logs v3 branch. New version has many new code dependencies.
@danbucholtz Do you have plan for release lazy loading feature in v2 ? I think that many developers need this feature in current stable version. Do you need any help ?

@danbucholtz @kwarpechowski
by the way I think forChild isn't a good way to lazyloading.
I think everything is automatic using webpack.
ionic user just need to config deeplink to set the page and route.
the lazyloading is split route to do that.

@danbucholtz
I check the branch v3.
and found lazy load.
but I don't think it's easy to use.
if I have to use module,
why don't use angular-router?
I suggest lazy load can be an feature easy to use without use module.

@yozman was you able to get work DeepLink with Module? My pages are all modules so how we have to do for that? Can you help?

The implementation within app-scripts is done and published in 1.2.0. We will be publishing a beta of Ionic 3 on Monday or Tuesday along with instructions. Please follow our twitter account or our Ionic forum for more details.
Thanks,
Dan

@danbucholtz
amazing,
thanks for your work
rifle

hi, everybody
u can taste this feature with ionic3.0.0-beta.3
this is the example repo
https://github.com/fundo90/ionic2-starter-mobile

Any update on this ? Still can't get it to work


JSONExpression have excessive quoting after safe in DB

What steps will reproduce the problem?
Create JSON(B) field in Postgres table
Insert data in array
What is the expected result?
Have stored array in way: ["car_repair","restaurant"]
What do you get instead?
Data stored with excessive quotes: "["car_repair","restaurant"]"
Additional info

Q
A

Yii version
2.0.14

PHP version
5.6.32

Operating system
OS X

Sorry, my misconfiguration


Radio button not handled correctly

pdf-test.pdf
I tried the PDF above, and the radio buttons are not recognized. When debugging into pdfform.js, I noticed that n.map.Opt doesn't exist, thus radio button logic was not executed.

Same issue. Does anyone have a fix for this?

I have the same issue. I was able to fix the runtime excpetion by parsing the name from the childs of the radiobox parent. However even when providing a correct Opt array the produced pdf is incorrect. In Chrome the selected checkbox is greyed out but not otherwise marked. In Adobe Reader the selected checkbox cant be identified at all.

Same problem here. Is anyone still maintaining this project?


cacher fails when using -image

We're calling the lifecycle directly to build images in a cloud environment. When using docker images for the layer cache, the cacher fails. I'm able to reproduce this with v0.4.0 and also with master.
===> CACHE
[cache] Caching layer 'io.greenhouse.lifecycle-cache-error:cacheme' with SHA sha256:ccade4c63d9f7fcf221a489e5b291308b81b0ec3397d1ad036720c1dc8f89456
[cache] Error: failed to cache: saving image 'lifecycle-cache-error/layers-cache': failed to write image to the following tags: [lifecycle-cache-error/layers-cache]

I've whipped up a test case in this repo https://github.com/danajp/lifecycle-cache-error
which includes a single buildpack that creates a cached layer, a sample "app" to build and a Makefile. The Makefile has targets to create a builder image using pack and for building the app.
This builds using a docker image as the layer cache, which fails:
PACK=/path/to/your/cli/pack make test-cache-image

This builds using a volume as the layer cache, which succeeds:
PACK=/path/to/your/cli/pack make test-cache-volume

Here's a sample failing build:
$ PACK=/usr/local/bin/pack make test-cache-image
../dajoku-packs/images/builder/pack create-builder --builder-config builder.toml lifecycle-cache-error/builder
Pulling image cnbs/build:bionic
bionic: Pulling from cnbs/build
Digest: sha256:3d91ccde9f3c9b1df2c65ccef7086290bc620dee5ffa72f0061eaf4c4887d73d
Status: Image is up to date for cnbs/build:bionic
Creating builder lifecycle-cache-error/builder from build-image cnbs/build:bionic
Using cached version of https://github.com/buildpack/lifecycle/releases/download/v0.4.0/lifecycle-v0.4.0+linux.x86-64.tgz
Successfully created builder image lifecycle-cache-error/builder
Tip: Run pack build <image-name> --builder lifecycle-cache-error/builder to use this builder
CACHE_METHOD=image ./build.sh ./app app lifecycle-cache-error/app
bionic: Pulling from cnbs/run
Digest: sha256:0729b553a14b98bc4f1f0a0875351cd3fdc5ea17512722e19a0fab696a42da54
Status: Image is up to date for cnbs/run:bionic
docker.io/cnbs/run:bionic
===> DETECT
[detect] ======== Results ========
[detect] pass<EMAIL_ADDRESS>[detect] Resolving plan... (try #1)
[detect] Success! (1)
===> RESTORE
[restore] Cache 'lifecycle-cache-error/layers-cache': metadata not found, nothing to restore
===> ANALYZE
[analyze] Analyzing image 'cae9cc7b9b481144bf538f6b1487ff1c877be8fb05df98a1c4f0e9a1a5025eab'
===> BUILD
===> EXPORT
[export] Reusing layers from image with id 'cae9cc7b9b481144bf538f6b1487ff1c877be8fb05df98a1c4f0e9a1a5025eab'
[export] Reusing layer 'app' with SHA sha256:2dab9e9735972fc83dff74316c3a32dbe293295638df88a3af6f3cc0813501d1
[export] Reusing layer 'config' with SHA sha256:9df2c3db9e657b34cf240b6de205701e70ad00d6653379c2640b366e85d206ca
[export] Reusing layer 'launcher' with SHA sha256:ef2cd5869b4d3995edbba8144c8c448f864f3895ea264967701a9a97547d6087
[export] *** Images:
[export]       lifecycle-cache-error/app - succeeded
[export]
[export] *** Image ID: f73c2315f4f7beb8135ed193fec64c4f40216f39b4c41285573dd927cb271082
===> CACHE
[cache] Caching layer 'io.greenhouse.lifecycle-cache-error:cacheme' with SHA sha256:ccade4c63d9f7fcf221a489e5b291308b81b0ec3397d1ad036720c1dc8f89456
[cache] Error: failed to cache: saving image 'lifecycle-cache-error/layers-cache': failed to write image to the following tags: [lifecycle-cache-error/layers-c
ache]
===> CLEANUP
[cleanup] lifecycle-app
[cleanup] lifecycle-layers
make: *** [Makefile:6: test-cache-image] Error 1

Let me know if you need any more information. I'm happy to help fix this, but I'm not much of a golang developer and I didn't see any obvious way of getting the cacher to tell me what the real error was.

@danajp It looks like you are trying to create a cache image against the docker daemon. The -image flag on cacher only works against a registry.
Image operations against the docker daemon are quite slow, so we support local volume caching (the fastest option), or registry image caching (for certain use cases that require distribution).
We previously supported daemon image caching but removed support in the last release: https://github.com/buildpack/lifecycle/pull/158

Ah! Thanks @ekcasey. I've confirmed it works with the registry.


DS-R: 3.1.DOC Data & Packages - Introducing Data

Description 📜
In this issue, you need to work on the documentation efforts in the "Data & Packages" section under the "Introducing Data" subsection. Please ensure that you document in detail.

Domain of Contribution 📊

[x] Datascience with R

Instructions ✔

Kindly make a README going over the subtopic.
Changes should be made under Datascience_With_R branch only and push your PR to the same.
This issue is for GWOC'21 contributors only.
You need to push in a single commit. If there exists more than one commit then you need to squash your commits into one commit.

i would like to be assigned for this issue
batch no.=01
serial no.=186
issue number=#1076
format=video

Hey @ShreytaSingh, its amazing that you would like to work on this but we are currently only doing Documentation, Audio/Video will follow when a subsections' documentation is complete. Would you like to work on the documentation?

/assign

Hi @akshara20! What is the progress here so far?

Hi @akshara20! What is the progress here so far?

I'm facing an error while cloning the repo. Can you help me? Meanwhile, I'll make the .md file

Hi @akshara20! What is the progress here so far?

I'm facing an error while cloning the repo. Can you help me? Meanwhile, I'll make the .md file

ya sure, what's the problem?

Hi @akshara20! What is the progress here so far?

I'm facing an error while cloning the repo. Can you help me? Meanwhile, I'll make the .md file

ya sure, what's the problem?

When I'm cloning the repo, its showing some checkout error. So I'm not able to proceed. The cloning is successful but its not able to checkout.

What error are you facing?


Story: View unit fuels and controls

User Story
As a user I want to view production monitoring plan data so that I can look at real time data.
Acceptance Criteria
Given a user access the page
When the Unit (fuels and controls) data is displayed
Then the data is pulled from Cloud.gov ECMPS Schema (not the same endpoints as FACT API)
Given data is returned
When the data is displayed
Then it is displayed in accordance with the business glossary (Unit information) and the wireframes (ADD LINK)
Dependency: data contract
Testing
Test Case:
Tester: @mosesdeeCVP

Prerequisite:
Need data contracts for Fuel/MP data completed, in progress in sprint 2.1
Wireframes, expected completion in 2.1

Duplicate of #458?

Duplicate of #458?


Load animation too long

new file with lower animation times to be made

Will be left open until fix is pushed


Chartjs Plugin Streaming does not have callback function to append array of data into chart

When using websocket or other forms of data streaming, chart should be refreshed with sampled data periodically. In this case we need two dimensional array (e.g. 2DArray=[{time, A1,A2,A3,...}) and push it to the chart.
It seems chartjs-plugin does not accept array (chart.data.datasets[j].data.push(data[i][j]);)
Your help greatly appreciated for a working example.
Thanks

My code is like this but after few seconds chart clearing all the data.
var timestamps = []; // timestamp array
var Chart1data =[];
var cursor = 0; // next refreshing row
var length = 0;
var Counter=0;
var TMPdata1 = 0;
var dataview = new Float32Array(3);
connection.onmessage = function(message)
{
var buffer = new Uint8Array(message.data);
TMPdata1 =((buffer[7]<<24)+(buffer[6]<<16)+(buffer[5]<<8)+buffer[4]);
dataview[0] = Bytes2Float32(TMPdata1);
timestamps.push(moment());
Chart1data.push([dataview[0]]);
}
function onRefresh (){
length =Chart1data.length;
//messageWindow.value=length;//rows
Array.prototype.push.apply(
GYR_config.data.labels, timestamps.slice(cursor, length)
);
for (var i = cursor; i < length; i++) {
for (var j = 0; j < Chart1data[i].length; j++) {
GYR_config.data.datasets[j].data.push(Chart1data[i][j]);
}
}
cursor = length;
}

Use the chart reference that is passed as an argument of the onRefresh function.
function onRefresh (chart) {
  length = Chart1data.length;
  //messageWindow.value=length;//rows

  Array.prototype.push.apply(
    chart.data.labels, timestamps.slice(cursor, length)
  );
  for (var i = cursor; i < length; i++) {
    for (var j = 0; j < Chart1data[i].length; j++) {
      chart.data.datasets[j].data.push(Chart1data[i][j]);
    }
  }
  cursor = length;
}

See the working code: https://jsfiddle.net/nagix/6fdLohyu/


Registration part

It's great project which make our development more easier on Login part.
However, is it possible to handle the registration part as well? For instance, click on the Register link on the Login page will open the Register page, and will redirect to the app with token assigned if the register was successful.
A default implementation, let says, based on ASP.NET Identity should be fantastic.

It is just controllers and views - feel free to add it yourself.
A "default" registration does not exist - everybody does it differently. Maybe this is more for a sample.


openssl issues when running from jenkins on systemd

Description
This is a weird case, so I'm not sure if here is the right place...
Anyway, I have a Jenkins instance which runs several jobs (yeah, I know that the start of this story is already bad), some of them call chef, berks and etc.
We already had a very weird issue a few months ago related to kitchen docker driver and the container naming, which we worked around without finding out what's happening. +info
If we start jenkins using its provided init script (service jenkins start -> systemd calls the sysvinit script underneath and start it up), we get errors like Unsupported digest algorithm (MD5) on berks vendor and also on kitchen test.
If I copy the java -jar cmd line and start it manually, everything works.
ChefDK Version
# chef --version
Chef Development Kit Version: 3.6.57
chef-client version: 14.8.12
delivery version: master (5fb4908da53579c9dcf4894d4acf94d2d9ee6475)
berks version: 7.0.7
kitchen version: 1.24.0
inspec version: 3.2.6

Platform Version
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"

Replication Case
That's the problem, I don't have one.
Stacktrace
An error occurred while reading the Berksfile:

  Unsupported digest algorithm (MD5).
	/opt/chefdk/embedded/lib/ruby/2.5.0/openssl/digest.rb:40:in `initialize'
	/opt/chefdk/embedded/lib/ruby/2.5.0/openssl/digest.rb:40:in `block (3 levels) in <class:Digest>'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/digester.rb:53:in `new'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/digester.rb:53:in `generate_md5_checksum_for_file'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/digester.rb:49:in `generate_md5_checksum_for_file'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_version.rb:80:in `checksum_cookbook_file'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_manifest.rb:307:in `checksum_cookbook_file'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_manifest.rb:238:in `block in generate_manifest'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_manifest.rb:233:in `each'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_manifest.rb:233:in `generate_manifest'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_manifest.rb:104:in `manifest'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_manifest.rb:175:in `files_for'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_version.rb:177:in `fully_qualified_recipe_names'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook/metadata.rb:374:in `recipes_from_cookbook_version'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook_version.rb:154:in `metadata='
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook/cookbook_version_loader.rb:100:in `block in cookbook_version'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook/cookbook_version_loader.rb:98:in `tap'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/chef-14.8.12/lib/chef/cookbook/cookbook_version_loader.rb:98:in `cookbook_version'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/lib/berkshelf/berksfile.rb:183:in `metadata'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/cleanroom-1.0.0/lib/cleanroom.rb:130:in `public_send'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/cleanroom-1.0.0/lib/cleanroom.rb:130:in `block (3 levels) in cleanroom'
	/var/lib/jenkins/workspace/KitchenTest_builds/cookbooks/labs_dependencies/Berksfile:28:in `evaluate'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/cleanroom-1.0.0/lib/cleanroom.rb:70:in `instance_eval'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/cleanroom-1.0.0/lib/cleanroom.rb:70:in `evaluate'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/cleanroom-1.0.0/lib/cleanroom.rb:56:in `evaluate_file'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/cleanroom-1.0.0/lib/cleanroom.rb:173:in `evaluate_file'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/lib/berkshelf/berksfile.rb:27:in `from_file'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/lib/berkshelf/berksfile.rb:16:in `from_options'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/lib/berkshelf/cli.rb:375:in `vendor'
	/root/.chefdk/gem/ruby/2.5.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
	/root/.chefdk/gem/ruby/2.5.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
	/root/.chefdk/gem/ruby/2.5.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/lib/berkshelf/cli.rb:47:in `dispatch'
	/root/.chefdk/gem/ruby/2.5.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/lib/berkshelf/cli.rb:23:in `execute!'
	/opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/bin/berks:5:in `<top (required)>'
	/opt/chefdk/bin/berks:306:in `load'
	/opt/chefdk/bin/berks:306:in `<main>'
Makefile:4: recipe for target 'vendor' failed

I also did check, running from jenkins:
+ openssl version
OpenSSL 1.0.2q  20 Nov 2018
[Pipeline] sh
+ ruby -ropenssl -e p OpenSSL::OPENSSL_VERSION
"OpenSSL 1.0.2q  20 Nov 2018"
[Pipeline] sh
+ ruby -ropenssl -e p OpenSSL::X509::DEFAULT_CERT_FILE
"/opt/chefdk/embedded/ssl/cert.pem"

Seems like the correct version of openssl and all.
Before this berks issue started, we were running chefdk 3.1.0. Back then, the only issue we had was the kitchen name thing. When we upgraded, we started to see the berks issue too.
I'm happy to provide any more info you think is relevant... I've looked at so many things I'm not sure what really matters and what doesn't. Let me know!
Thanks

Are you on a system with FIPS enabled?

Are you on a system with FIPS enabled?

AFAIK no, how can I double check?

@caarlos0 Check for the existence of /proc/sys/crypto/fips_enabled and if it exists whether it contains a 1. Lack of existence or a 0 in that file mean the system is not running in FIPS mode.
We ask because the OpenSSL FIPS module does not support MD5. Otherwise it is weird to see that not being supported. Lets check that first and if that is not the issue we will keep troubleshooting.


[WFLY-15832] Ability to create ConfigSource root directory in MP Config subsystem.

…mallrye
Enhance tests to illustrate that if a directory for a config-source or a
config-source-root does not exist, the config is still valid and will
not give errors.
https://issues.redhat.com/browse/WFLY-15832 / https://github.com/wildfly/wildfly-proposals/pull/450
Needs a core release with https://github.com/wildfly/wildfly-core/pull/4899

this PR can be retested after #15035(that incorporates wildfly/wildfly-core#4899 is merged)

Thanks @kabir


Emoji issue with characters in Scheme

Information:

Prism version: Demo at https://prismjs.com/test.html#language=scheme

Description
Characters in Scheme are single character but it's problematic. I'm not sure if it's easy to solve by regex maybe it will require to update the core of the library.
The problem is character that is single emoji (or any Unicode character that have more then one code point):
Example
#\💩

Copy this into editor and try to copy the result you will get #\� because even that emoji looks good in output it's splitted into two html element. It's not single span with the token.
The problem is probably only in Scheme or maybe other language that can have single character tokens that can be any Unicode characters.
Note: that copy/paste works fine on GitHub (try to paste into address bar).
I've found bug in my Scheme implementation and I've solved it by using punycode to test how many characters it have. Maybe you can use that as well since it will work with any versions. Just copy paste the function: ucs2decode from https://github.com/bestiejs/punycode.js/blob/master/punycode.js it probably don't change in the future or make punycode as dependency.
I'm not sure if there are any new Unicode regex features that can check for single character.

I'm not sure if it's easy to solve by regex maybe it will require to update the core of the library.

It's easy. What you describe is what the RegExp unicode (u) flags does. Unfortunately, we can't use that flag because of browser support (maybe in the future).
The reason why 💩 is problematic is that it takes 2 UTF16 characters to represent its Unicode code point. Our regex (/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|\S)/) uses \S to handle single-character (UTF16) Scheme chars.
The fix is to replace \S without something that respects surrogate pairs. We essentially have to emulate the behaviour of /\S/u. Fortunately, that's easy. While the exact transpilation is quite complex, in our case, /[\uD800-\uDBFF][\uDC00-\uDFFF]|\S/ will be sufficient.
I'll make a PR.

I'm not sure if it's easy to solve by regex maybe it will require to update the core of the library.

It's easy. What you describe is what the RegExp unicode (u) flags does. Unfortunately, we can't use that flag because of browser support (maybe in the future).
The reason why 💩 is problematic is that it takes 2 UTF16 characters to represent its Unicode code point. Our regex (/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|\S)/) uses \S to handle single-character (UTF16) Scheme chars.
The fix is to replace \S without something that respects surrogate pairs. We essentially have to emulate the behaviour of /\S/u. Fortunately, that's easy. While the exact transpilation is quite complex, in our case, /[\uD800-\uDBFF][\uDC00-\uDFFF]|\S/ will be sufficient.
I'll make a PR.


Pex 2.0 Suggestion!

When you connect PEX with MySQL you can set the Server. so what i mean is if you got multiple server you can set that permission for that group on that server. Like Bugeeperms https://www.spigotmc.org/resources/bungeeperms.25/ (Inactive)
That would be very helpful

In PEX 2 it is possible to set per-server permissions with the server-tags context. The documentation is currently WIP -- currently here, so let me know if that's too confusing and I'll try to expand on it more.


Remove bundle command

bundle command was never really used and since now there is an init command, reimplementing it it's straightforward using a regular shell script:
$ changelog init -o CHANGELOG.md --compare-url https://example.com/abcdef...HEAD
$ changelog added 'Your message here'
$ # ...

Pull Request Test Coverage Report for Build 283

0 of 4 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+8.8%) to 91.296%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmd/root.go
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

cmd/root.go
1
36.54%

Totals

Change from base Build 275:
8.8%

Covered Lines:
472

Relevant Lines:
517

💛  - Coveralls


implement memory usage option

Codecov Report

Merging #6 (21b3fee) into master (3310019) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #6   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         3    +1
  Lines           96       146   +50
=========================================
+ Hits            96       146   +50

Impacted Files
Coverage Δ

src/vizplugins/MonitorProcess.py
100.00% <100.00%> (ø)

src/vizplugins/__init__.py
100.00% <100.00%> (ø)

src/vizplugins/cpu_usage.py
100.00% <100.00%> (ø)

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 3310019...21b3fee. Read the comment docs.

Codecov Report

Merging #6 (21b3fee) into master (3310019) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #6   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         3    +1
  Lines           96       146   +50
=========================================
+ Hits            96       146   +50

Impacted Files
Coverage Δ

src/vizplugins/MonitorProcess.py
100.00% <100.00%> (ø)

src/vizplugins/__init__.py
100.00% <100.00%> (ø)

src/vizplugins/cpu_usage.py
100.00% <100.00%> (ø)

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 3310019...21b3fee. Read the comment docs.


feat: multi-arch images to support x86 and arm nodes

ARM images will allow to run pipeline tasks on ARM nodes.
Related to https://github.com/3scale/platform/issues/1433
/assign
/kind feature
/priority important-longterm
/size m

Implemented in https://github.com/3scale-ops/soyuz/commit/b05f3bd6c7092f754e4d7f252342a06afe49f6ba
/close


GH-41609: [Java] Initialize non empty offset buffer for variable-size layout before exporting

Rationale for this change

This is a follow up of https://github.com/apache/arrow/issues/40038. In https://github.com/apache/arrow/issues/40038, we fixed null offset buffer issue for BaseVariableWidthVector. For empty vector, instead of a empty offset buffer which turns to be a null buffer through C Data Interface, we export a non-empty offset which is supposed to contain zero value.
But the initialization code has a bug in the PR https://github.com/apache/arrow/pull/40043, so the offset buffer is not initialized. Note that this is not a regression because the exported vector never works due to null offset buffer.
What changes are included in this PR?

Fixed the uninitialized offset buffer of empty BaseVariableWidthVector.
Are these changes tested?

Added test cases.
Are there any user-facing changes?

No

GitHub Issue: #41609

Marked it as a draft and will make it ready for review once I submit the fix.

@viirya just to make sure I understand the change here. Are we introducing the required change in this PR itself right?
And these test cases supposed to fail without that fix?

@vibhatha I have some fix locally but I am unable to run the C module tests locally on a Mac. I am trying to write these tests that are supposed to fail in CI to verify that.
Once the tests are verified and the fix are submitted, I will make this ready for review.

Thanks for explaining @viirya . If you need help please let me know.

Thank you @vibhatha

Hmm, I think I know why the tests are not failed in Java Arrow.  This is how Java Arrow imports an Utf8 array:
try (ArrowBuf offsets = importOffsets(type, VarCharVector.OFFSET_WIDTH)) {
      final int start = offsets.getInt(0);
      final int end = offsets.getInt(fieldNode.getLength() * (long) VarCharVector.OFFSET_WIDTH);
      final int len = end - start;
      ...
}

So even the offset buffer is not initialized, for empty array with one element offset buffer, end - start is always 0 that is the length of data buffer. That is why the added roundtrip tests are passed.
But in arrow-rs, it takes the last value of the offset buffer as the length of data buffer, i.e., end. If the value is not initialized to zero, the computed length of data buffer is incorrect.
That is what I found for the first offset value from the spec:
Generally the first slot in the offsets array is 0, and the last slot is the length of the values array.
When serializing this layout, we recommend normalizing the offsets to start at 0.

It looks like the first value doesn't have to be 0, although generally it is. So seems Java Arrow's approach is correct without issue?

Let me open an issue at arrow-rs and see if it makes more sense to fix it there.

@viirya just for my curiosity, so the error you experience comes when Arrow Java vector is imported in Rust?

@viirya just for my curiosity, so the error you experience comes when Arrow Java vector is imported in Rust?

Yes

I fixed the issue at arrow-rs by https://github.com/apache/arrow-rs/issues/5756. So I am closing this.
Thanks @vibhatha for review.


Remove AggregateException wrapping in Async CE for extension and prevent threadpool transition

At present the current impl of for within async { expressions raises two concerns for me:

AwaitTaskCorrect semantics would be preferable to promulgating usage of Async.AwaitTask in a place that most people will not necessarily even infer that it's in play.
AIUI Async.StartAsTask includes an unnecessary transition to the Thread Pool (with a potential context switch?) which could instead safely be replaced with Async.StartImmediateAsTask in this context
the starting of the child Async does not propagate then continuation token (not surewhether fixing that is possible/required)

Fringe ramblings which you may consider related: I tend to have an Async.startImmediateAsTask helper that I try to route the starting of child Tasks through within async {s :-
module private Async =

    let startImmediateAsTask ct computation = Async.StartImmediateAsTask(computation, cancellationToken = ct)

Aside: the term Immediate never really spoke to me; I tended to quickly discount it from consideration. I assume that naming is probably intentional. While I doubt aliasing an established name is likely to pass any scrutiny, perhaps naming such a helper something like Async.executeTask might express the intention better? (I'd call it Async.runAsTask, but for me the use of Run connotes Task.Run, i.e. implies an invocation via the Thread Pool)
Related: Potentially would advocate for inclusion of any startImmediateAsTask helper in a shims lib alongside #128

Yes, before I wrote this, I wasn't aware of the issues with Async.AwaitTask. This can clearly be improved. I'll probably need a test that showcases how this goes off the rails, to ensure the implementation of AwaitTaskCorrect (by whatever other name) is, well, correct.
As with #128, we should consider placing these in a separate library. Though for the sake of this one being a no-dependency library by choice, for now we'll just implement it here (and/or copy or link it from whatever other library we conceive).

This can clearly be improved. I'll probably need a test that showcases how this goes off the rails, to ensure the implementation of AwaitTaskCorrect (by whatever other name) is, well, correct.

Yes, the honoring of Async.CancellationToken aspect to terminate the wait is notably subtle to me and makes covering it well worthwhile.
But by the time you've done that, the canonical impl will likely see some change (and I bet the perf can be improved)

Though for the sake of this one being a no-dependency library by choice

I'm in a similar quandary with Equinox - the core lib is tiny and making it depend on another lib only for AwaitTaskCorrect feels like jumping the shark and going leftpadesque. There are 5 other libs that need both TaskSeq and AwaitTaskCorrect. But the bottom line is that having a separate lib, no matter how small, is simply the right thing to do. UNLESS/until it goes into FSharp.Core.... (see conclusion below)
FsKafka is another case where the lib is a 400 line slab that has a stupid other file that dilutes that simplicity and directness thanks to AwaitTaskCorrect
FSharp.AWS.DynamoDB has a copy too, and I really would like for the world to have a way of knowing that a given exe has only one set of AwaitTask semantics in play when reasoning about stack traces and the inevitably hairy cancellation and/or hang issues (see https://github.com/dotnet/fsharp/issues/13165 - a large part of whittling that down was doing stupid busywork diffing to rule that sort of stuff out). (for that lib, the larger issue is that it should probably present a Task layer, and then layer its current Async API over that - atm Equinox is having to do a redundant layer of Task over Async which then immediately drops to Task in the underlying impl within FSAWSDDB)
Having said all that, I respect the value of not having a package dependency and will likely distribute a copy of the final AwaitTaskCorrect into FSharo.AWS.DynamoDB, FsKafka, Equinox and Propulsion if that's what TaskSeq does (and will argue against making TaskSeq's version public to avoid people havign to self-discipline to not take a depedency on TaskSeq only for AwaitTaskCorrect). But I think I am saying I'm voting for *.ignore and Async.toTask to go in a single nuget until they can go into FSharp.Core where they should really be for everyone's sake.

Related: Potentially would advocate for inclusion of any startImmediateAsTask helper in a shims lib alongside #128
Addendum to this re https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/74#issuecomment-1042465992

An (Async|Task).parallelThrottled would go well with Async.runAsTask and/or (Async|Task|ValueTask).ignore (forcing specification of a cancellationtoken and a degree of parallelism to be considered when going parallel). At present I have some ugly cases where I am abusing Async.Parallel within code that's Task-based. It might be a stretch for them to go into FSharp.Core for reasons of redundancy as per Don's comments, but having a clear surface area that makes one consider cancellation in all cases, and degreeOfParallelism in cases of going parallel would help in general IMO
are iterParallel(Async)? and mapParallel(Async)? missing from the roadmap?
could consider the notion of a generic Async.throttle as a way to constrain parallelism vs having a degreeOfParallism aspect, though a) that's likely less optimal and b) arguably that is less likely to have users end up in good designs
as it stands I will cart likely cart around a mapAsyncParallelThrottled helper as per https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/74#issuecomment-1034872069 until such time as either that becomes directly available, or there's a mapAsyncParallel that I then constrain via having an Async.Throttle and/or Task-awaitable lightweight semaphore wrapper

Thanks for all the input, some work is cut out for me :).

But I think I am saying I'm voting for *.ignore and Async.toTask to go in a single nuget until they can go into FSharp.Core where they should really be for everyone's sake.

Alternatively: we can take a source dependency instead. That way it can be internal.

Ah, I missed the mention of the fact that parallelism is off the table for now in https://github.com/fsprojects/FSharp.Control.TaskSeq#further-reading-iasyncenumerable - focusing on getting stuff mapped out in the core feature set absolutely makes sense, especially given the non-trivial nature of the ancillary aspects as highlighted by this very issue.

Just FYI: the StartAsTask and StartImmediateAsTask points that you brought up here escaped my attention somehow. They're now separately under the umbrella of #135.
This thread can then solely focus on the issues around AggregateException and AwaitTaskCorrect (needs a better name).

👍 Apologies for mixing the concerns in the first instance. Putting this here as this thread has already run amok; not sure if it's really TaskSeq business but it would be good to see it result in either an agreed set of helpers, or a summary document somewhere. Some of this is covered in https://github.com/fsprojects/FSharp.Control.TaskSeq/issues/128, but I'd like to explore the surface area a tiny bit more here first before this reverts to being a simple issue about the for impl being corrected...
TL;DR there needs to be a canonical set of helpers somewhere that emphasize:

not being painful to use with piping
with good names

TaskSeq currently
a) uses/should use the bulk of these
b) exposes some of the others
Below the fold, I have itemised the APIs I believe should be considered for wrapping.
My hope is that we can:
a) converge on what APIs go into the TaskEx signature set so it can go into a fresh issue
b) Close #128 as it is currently confusing about whether it is trying to address ignore, awaitTask, or the whole lib, pointing to ☝
c) Close this in favour of a fresh issue that links to AwaitTaskCorrect and https://github.com/fsprojects/FSharp.Control.TaskSeq/issues/135

ignore
(Bear with me, making an overall point)
Async.Ignore has always been ugly and undiscoverable. While I tend to do let! _ = <async stuff I want to ignore result of>, it's commonly the last expression in a function, and having to do let! _ = <thing I'm wrapping> in () is too much.
=> As appears to the be direction taken in this PR, any given construct should have a correct ignore impl, that corrects observes exceptions etc
module Async =
    let inline ignore (a : Async<'t>) = Async.Ignore
module Task =
    let inline ignore
module ValueTask =
    let inline ignore

StartAsTask / Start

Start normally doesn't confuse people - It's clear it's in the thread pool, and cancellation can normally be swept under the rug.
StartAsTask has signature computation * ?taskCreationOptions *. ?cancellationToken

passing a cancellation token requires Async.StartAsTask (computation, ?cancellationToken = ct)
the name does not scream thread hop/thread pool
passing a cancellation token should not be glossed over, ever; Async being replaced with Task everywhere does not change the importance of treating the correct propagation of cancellation token as a first class concern that should always be on the table

Common helper:
module Async =
    let inline runAsTask ct (a : Async<'t>) = Async.StartAsTask(a, cancellationToken = ct)

StartImmediateAsTask
As noted, this should be the default way in which Asyncs are started.

Because it is not starting a thread, it does not have a taskCreationOptions arg so it happens one can use it directly for piping.
The immmediate bit does not align with anything I'm aware of, although that also means it's meaning, once understood, is not ambiguous. I'd be suggesting execute as a verb to imply "do it here and now" alongside run as a better name igf the precedent had not been established.

My best suggestion is thus to have:
module Async =
    let inline startImmediateAsTask ct (a : Async<'t>) = Async.StartImmediateAsTask(a, cancellationToken = ct)
   // MAYBE
    let inline execute ct (a : Async<'t>) = Async.StartImmediateAsTask(a, cancellationToken = ct)

AwaitTask
The default impl is baked and wrong, but adding an overload is both desirable and questionable

this lib has Async.toTask and Task.ofAsync

module Async =
    let inline ofTask (t : Task<'t>) : Async<'t> = AwaitTaskCorrect t
module Task =
    let inline toAsync (t : Task<'t>) : Async<'t> = Async.ofTask t

Async.Parallel
The degree of parallelism parameter was added late in the game, but is critical - adding an arbitrary number of items to the threadpool should be a very questionable act.

pipelining is painful
having Throttled in the name is pretty well established https://www.compositional-it.com/news-blog/improved-asynchronous-support-in-f-4-7
before v FSharp.Core v 6.0.6, [there was a stack overflow bug that can tear down the process](// https://github.com/dotnet/fsharp/issues/13165) if >1200 items are started with a throttle and cancellation is triggered quickly

module Async =
    let parallelThrottled dop computations =
        Async.Parallel(computations, maxDegreeOfParallelism = dop)

Further puzzlers in this space (which probably mean this should be excluded from the surface area of any set of helpers):

A common case is to use this to run but await failure of multiple Async<unit> tasks, having to do an Async.Ignore<unit[]> is ugly for that
How do you swap back/forth from that to Task, considering cancellation tokens and unwrapping AggregateException

Maybe you can copy that whole text as a new issue? It feels like it actually belongs in #128, no? Basically the whole idea of agreeing on a surface area for Task/Async, likely in its own repo and package.
Maybe I should just setting one up and we can continue there?


Update README.md

Updated the get game log section containing information about special event games

Let me know if my formatting is a bit off

This is great, thank you! Apologies for the late review, been busy with some personal life matters that came up.

Do you have a reference or something for this?
It looks like this endpoint now doesn't have gameType 1 at all anymore (example: https://api-web.nhle.com/v1/player/8471675/game-log/20232024/1 - Sidney Crosby gameType 1, it shows available gameTypes for each season as always 2 or 2 and 3).
This also means the regular season is gameType 2, and playoffs are gameType 3. The Penguins didn't make it to the playoffs the last two years, but did in 2021, which has gameType 3 available.

This could well be deprecated by now, they have been changing this api quite a bit recently, I will have a look on Monday regarding the World Series and similar special events and update when I have a chance.


[PSM Interop] Legacy test builds always pull the driver from master

Similar to grpc/grpc-java#8982.
All other languages already to this.
Needed for easier deployment of #33685.
ref b/274944592

[ ] grpc/core/v1.49.x/branch/linux/grpc_xds_v3
[ ] grpc/core/v1.49.x/branch/linux/grpc_xds_v3_python
[ ] grpc/core/v1.49.x/branch/linux/grpc_xds
[ ] grpc/core/v1.49.x/branch/linux/grpc_xds_python


feat(NODE-4234): get aws kms providers from env

Description
What is changing?
Is there new documentation needed for these changes?
What is the motivation for this change?

Double check the following

[ ] Ran npm run check:lint script
[ ] Self-review completed using the steps outlined here
[ ] PR title follows the correct format: <type>(NODE-xxxx)<!>: <description>
[ ] Changes are covered by tests
[ ] New TODOs have a related JIRA ticket

Patch for AWS changes: https://spruce.mongodb.com/version/631f12e70305b92ba80e795e/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC


show several webpage into my window page using streamlit

Hello Sven,
I am a new on Streamlit and try to learn it at your youtube channel. I had some problem when I need to grab 2 or 3 website name, such as www.google.com and facebook.com and put into my new webpage. BUT in this case I only using 1 webpage, after running streamlit it shown some message "www.google.com refused to connect."
this is my pyhton code:
import streamlit as st
def main():
st.title("Embedding External Website")
st.markdown('<iframe src="https://www.google.com" width="600" height="400"></iframe>', unsafe_allow_html=True)

if name == "main":
main()
i'm using streamlit version= 1.22.0
and also I tried to set Streamlit by used this port, but still failed
streamlit run my_app.py --server.port=80
Kindly please need you help and advise.
Danke.
:)

@devilution1979 Thank you for reaching out. However, this issue doesn't seem related to the codebase of this repository. If you have questions or issues specifically related to the project, please feel free to open a new one. Closing this for now.
Thanks for your understanding.


Cleaned up the sftp parsing logic.

Simplified and cleaned up the sftp parsing logic. Added support to path.Clean the directory. Added additional tests.

Hey, thanks for the contribution! Looks really good already, just a small nitpick: Could you correct the comment?

I corrected the comment and added a sentence about how to pass an absolute
directory since that is not completely obvious.
On Sun, Feb 21, 2016 at 10:20 AM, Alexander Neumann <
<EMAIL_ADDRESS>wrote:

Hey, thanks for the contribution! Looks really good already, just a small
nitpick: Could you correct the comment?
—
Reply to this email directly or view it on GitHub
https://github.com/restic/restic/pull/466#issuecomment-186879212.


Remove invalid line in ZSape constructor

@ss4774
This is a minor correction to your comment in #16
Thanks for the review!

I am glad I could help!


Merge Before Transfer

Merging without a real PR review.
mgmonteleone will be the new maintainer and this repo will moved in his github account


199 test helpers for assering value reading and configuration

This is to fix #199 and possibly #206
This is not quite ready yet, I still have to do docs and raising issue in dodal, but I really could do with some feedback to see if I am kind of done it correctly and put everything in the correct place.
Acceptance Criteria

[x]  Functions in ophyd-async
[x]  Tests provided
[x]    Docs provided where appropriate
[x]    Issues raised in dodal to replace verefy() and any other old functions that can be superseded

Please could you also add to the "writing tests for devices" doc the information on how to use assert_emitted from https://github.com/bluesky/ophyd-async/issues/206

I think I got everything, but please have a quick check if it all make sense and I have covered everything.


Tests for ru_RU

Hi!
I've tried to supply tests for Russian, there are some issues, though.
Frankly, I am not sure in ordinal/cardinal rules. Table http://www.unicode.org/cldr/charts/29/supplemental/language_plural_rules.html seems OK, but tests, I created, fails. Not sure, that I got it right.
Date formats: there should be space between year number and abbreviation and there should be no quotation marks.
Currency formats: fails due of unnecessary extra space after currency name.
Format with percents: traditionally, we do not insert space between number and percent sign. Wikipedia says, that such a standard was issued in 80th, but it was not largely spread. Most books, banking and accounting software, even government web sites do not use space between number and percent sign. See https://ru.wikipedia.org/wiki/Википедия:Отбивка_знака_процента_от_предшествующей_цифры.

--- FAIL: TestCardinalPlurals (0.00s)
	ru_RU_test.go:268: Expected 'Few' Got 'Other'
	ru_RU_test.go:268: Expected 'Few' Got 'Other'
	ru_RU_test.go:268: Expected 'Few' Got 'Other'
	ru_RU_test.go:268: Expected 'Few' Got 'Other'
--- FAIL: TestFmtDateFull (0.00s)
	ru_RU_test.go:844: Expected 'среда, 3 февраля 2016 г.' Got 'среда, 3 февраля 2016'г'.'
--- FAIL: TestFmtDateLong (0.00s)
	ru_RU_test.go:866: Expected '3 февраля 2016 г.' Got '3 февраля 2016'г'.'
--- FAIL: TestFmtDateMedium (0.00s)
	ru_RU_test.go:888: Expected '3 февр. 2016 г.' Got '3 февр. 2016'г'.'
--- FAIL: TestFmtCurrency (0.00s)
	ru_RU_test.go:1047: Expected '1 123 456,56 USD' Got '1 123 456,56 USD '
	ru_RU_test.go:1047: Expected '1 123 456,60 USD' Got '1 123 456,60 USD '
	ru_RU_test.go:1047: Expected '221 123 456,564 USD' Got '221 123 456,564 USD '
	ru_RU_test.go:1047: Expected '-221 123 456,564 USD' Got '-221 123 456,564 USD '
	ru_RU_test.go:1047: Expected '-221 123 456,564 CAD' Got '-221 123 456,564 CAD '
	ru_RU_test.go:1047: Expected '0,00 USD' Got '0,00 USD '
	ru_RU_test.go:1047: Expected '0,00 USD' Got '0,00 USD '
	ru_RU_test.go:1047: Expected '0,00 CAD' Got '0,00 CAD '
	ru_RU_test.go:1047: Expected '1,00 USD' Got '1,00 USD '
--- FAIL: TestFmtAccounting (0.00s)
	ru_RU_test.go:1115: Expected '1 123 456,56 USD' Got '1 123 456,56 USD '
	ru_RU_test.go:1115: Expected '1 123 456,60 USD' Got '1 123 456,60 USD '
	ru_RU_test.go:1115: Expected '221 123 456,564 USD' Got '221 123 456,564 USD '
	ru_RU_test.go:1115: Expected '-221 123 456,564 USD' Got '-221 123 456,564 USD '
	ru_RU_test.go:1115: Expected '-221 123 456,564 CAD' Got '-221 123 456,564 CAD '
	ru_RU_test.go:1115: Expected '0,00 USD' Got '0,00 USD '
	ru_RU_test.go:1115: Expected '0,00 CAD' Got '0,00 CAD '
	ru_RU_test.go:1115: Expected '1,00 USD' Got '1,00 USD '
--- FAIL: TestFmtPercent (0.00s)
	ru_RU_test.go:1159: Expected '15%' Got '15 %'
	ru_RU_test.go:1159: Expected '15,00%' Got '15,00 %'
	ru_RU_test.go:1159: Expected '434%' Got '434 %'
	ru_RU_test.go:1159: Expected '34,40%' Got '34,40 %'
	ru_RU_test.go:1159: Expected '-34%' Got '-34 %'
FAIL
exit status 1
FAIL	github.com/go-playground/locales/ru_RU	0.004s

Thanks @nikolay-turpitko 👍 I will definitely look into the space between the number and percent sign, hopefully I can lean on you for any other information as I correct this :smile:
Some of the plural rules might be the CLDR rules being incorrect or incomplete, or I may have a bug in my generation code.
I'm out of town for a couple days and will take a look when I get back.

Hey @nikolay-turpitko
I'm nearly done fixing these few issues, just had a couple of questions just to confirm:
for percents the CLDR percent format is showing #,##0 % but tests assume #,##0%, just to confirm, should there be a space?
P.S. I have pulled your changes locally onto my PC and will merge them into master then push, so don't be alarmed if when complete I close instead of merging; your contributions will be preserved.

@joeybloggs
Dean, I cannot say for all Russians, but percent format without space seems more natural for me. As I said earlier, wiki article mentions some industrial standard for this format, it actually contains space between number and percent sign. But it seems, that nobody actually adopted this standard, not even government or scientific periodic. Personally I am might not be that credible in the matter, though I learned in Russian school and university and had several engineering jobs. But I've never thought about this little formatting thing, reading the books or articles. So, I may be wrong at my feeling. But I tried to investigate this issue with Goggle, and it seems for me, that format without space is more popular. So, I'm afraid, this is all you going to have about this issue. This is not a yes/no question, but fuzzy one, related to personal preference.
May be, as with other preference issues, it's worth to have a flag in the library settings? Or, better, a way to supply custom formatting strings for locale? For example, some kind of locale object builder. I'm only speculating here, Java or ICU has huge libs and it's for sure a tremendous and time-consuming task to get all this little things configurable...
For example (https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html) Java has a setting to customize decimal delimiter. Cannot find a way to customize a space in percent format in Java, though.
BTW, decimal delimiter is another similar issue. Though it's accustomed that Russians should use comma as a decimal delimiter, but many of us have to fight with software to use dot instead. Again, my personal preference is a dot and I always change settings of OS to make it default. But here I am sure that comma is a standard. Funny, that when I worked on banking project, they explicitly asked us to print all reports for government regulators with dot delimiter...
Speaking of Java and percent format, I created a simple gist: https://gist.github.com/anonymous/d22e9c08de7dc2c9297323895f8b1dc0, it can be executed with https://www.compilejava.net/. And it prints "75%   ru_RU" - without space.

@nikolay-turpitko
Will keep the no space percent, see issue #4 I touch on the rest and thanks again.


Get length of serialized Vec<T>

Hey,
Is there a way to get the length of a Vec<T> without deserializing back to Vec<T> and doing Vec::len()? I notice they serialize with 8 bytes padding. I assume that represents the length. If I knew the scheme I could handle myself.

Yes, Vec<T>s are prefixed with their length encoded as a u64. The specifics of how the u64 are encoded (fixint/varint, bigendian/littleendian) are determined by the bincode settings.


Replace Karma (now deprecated) with a new test runner

React Modal uses Karma as its test runner. Karma, however, was deprecated in April 2023.
It looks like the recommended migration is to Jest and Web Test Runner as described here.
@diasbruno noted some caveats specific to React Modal over in https://github.com/reactjs/react-modal/issues/1036:

I thought of moving the test system to jest, but we need to run on the browser as we have a few trick bits to have more reliable tests (to detect hidden node and other things).

If we do move to SWC (as proposed in https://github.com/reactjs/react-modal/issues/1036) and Jest, it's worth noting that SWC has a drop-in replacement that's supposedly much faster than Jest. Given that this repo is fairly small, it may not be super relevant to us... but good to know nonetheless!

Another thing worth mentioning is that Assitiv Labs, which offers comprehensive and accessibility-focused end-to-end testing, is free for open source projects. I've had really good experiences working with them. :)

jsdom (used by jest) is ok for basic simulations of DOM and rendering, but it's better to use a real browser.
I guess any test runner that can run on the browser is fine.

@diasbruno it looks like Web Test Runner, which is recommended for migration off of Karma (along with Jest for unit tests, presumably), supports real browsers: https://modern-web.dev/docs/test-runner/browser-launchers/overview/

I was trying to get "jasmine-browser-runner" to work, but I was also giving up on it.
I'll check it out.

@diasbruno let me know if I can do anything to be helpful! ☺

Before we tackle this, we (I mean I) need to finish the build system.
I did some progress on that, only need to build  the pre-compiled lib and the examples.


Collaboration short tokens

Description
Generate short tokens to be used as access tokens for WOPI.
Currently, the access tokens being used might be too long. In particular, Office Online complains about the URL (which contains the access token) is too long and refuses to work.
A new config option COLLABORATION_WOPI_SHORTTOKENS has been added in order to overcome that limitation. Note that this option can be used with any WOPI application (Collabora, OnlyOffice, etc)
In order to use this option, you must configure a store so OCIS can store the access tokens.
By default, the store will be configured to connect to "<IP_ADDRESS>:9233", which is where the nats service should be listening. If you have the collaboration in a different container, you probably want to connect to a different container such as "ocis:9233".
In addition, the TTL is configured to 30 minutes. You can rise the value if needed, but lowering it will likely cause problems because valid tokens will be deleted prematurely.
To sum up, if you enable the COLLABORATION_WOPI_SHORTTOKENS, make sure either OCIS_PERSISTENT_STORE_NODES or COLLABORATION_STORE_NODES are configured properly to store the tokens.
Related Issue
https://github.com/owncloud/enterprise/issues/6790
Motivation and Context
The URL is too long with the access token and we need to make it shorter.
How Has This Been Tested?
Manually tested with Collabora. The access token has around 48 chars.
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[x] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

@jvillafanez
Thanks for the improvement.
I tested it in a test environment with MS365 and MSOO. It works perfectly fine.
With this improvement, the online WOPI validator is running also.
I could find a small bug in PutRelative. Will issue a new PR.

After reading the whole code, i have one basic question.
In the proxy, we are also using nats to cache the access tokens for OIDC. There we are using a go micro cache, not a store.
IMHO when running on a single node, we should use the memory.
@rhafer @kobergj do you agree?

After reading the whole code, i have one basic question.
In the proxy, we are also using nats to cache the access tokens for OIDC. There we are using a go micro cache, not a store.
IMHO when running on a single node, we should use the memory.
@rhafer @kobergj do you agree?

Clarified after re-thinking:
@jvillafanez your implementation is correct, the store needs to be persistent to survive a reboot.

If you add a store for the collaboration service, please update readme like we have in https://github.com/owncloud/ocis/tree/master/services/postprocessing#storing-postprocessing-data
When adding a cache, see: https://github.com/owncloud/ocis/tree/master/services/settings#caching

@jvillafanez I need to insist asking if COLLABORATION_WOPI_SHORTTOKENS is boolean and if it defaults to false. If yes, nothing need to be done. If not, we need a default and an explanation which setting to take.

@jp, @micbar I have added some content to the collaboration readme via a commit.
In prep, I have done the same already to the admin docs (waiting for this PR to get merged).

Looks good to me. @mmattel if there is no additional typo, you can change the PR to ready to review.

There is no changelog, I will add one.


Refactor package structures

There are a number of packages that are more like libraries, they would be better extracted.
Perhaps it's a good thing to extract these into their own repos. The CLI command can then vendor each of those repos. Most of them are stable at this point.
specs, jsonreference, jsonpointer, scan, swag and the httpkit

Would love to see this happen, and help out where I can.  We use go-swagger currently at http://stoplight.io/, and when I was evaluating it, I almost passed it up because we were looking for a way to just parse and load a swagger file.
If everything were to be broken up into libraries, I feel like it would be a lot more approachable.  Go-Swagger can do a lot of cool things, and navigating the source code was daunting.  One day Stoplight might do code generation, for apis, but because we don't need that now I almost passed on this awesome project.  I have submitted a few pull requests to fix some issues in the spec package, and even though all the tests were passing in the spec package, my changes broke some tests in another packaged that I knew nothing about.
That is all for now.

It would be nice to serve swagger-ui in a more user-friendly way.
Also, for better compatibility with the Docker go-wrapper command, can main.go be moved in the root $projectFolder i.e. test/test-api/main.go from test/test-api/cmd/test-server/main.go?
Docker build errors:

can't load package: package test/test-api: no buildable Go source files in /go/src/test/test-api
can't load package: package test/test-api/cmd/test-server: no buildable Go source files in /go/src/test/test-api/cmd/test-server

I am the author of the swagger2 package which is intended to be a rewrite/upgrade of go-restful/swagger.
The goal of this swagger2 project is to separate the Swagger part from the REST part, allowing others to use the package independently by provinding only the specification objects. I was planning to create another (sub?) package for building model objects from Go types (as I already created 1.2).
As discussed offline with one of the authors of go-swagger, I would like to see go-swagger to be split into multiple repos for the most part because of handling the dependencies. Applications that import go-swagger (using vendoring) should not be forced to include the whole package deal (e.g. generators).
If the go-swagger project would separate the spec part into a new repo then I will probably drop my swagger2 project and collaborate on that instead.

This repository should only contain the code that is directly used by the executable. Things that are being used as library constructs will move into their own stand-alone packages.
I want to squash several issues here:

move the yaml dependency out into packages so that it doesn't automatically turn your application into an LGPL application and swagger (executable) can be classified as a build tool.
turn the swag package into its own repo
move jsonpointer package to its own repo
move jsonreference package to its own repo
separate spec package into a 2 repos:

the spec object model
analysis package that takes care of analyzing swagger specifications and provides an index to be used by other packages.

move validation into its own repo
move examples to their own repo
move httpkit into its own repo

These repos will get created under the go-openapi org instead of the go-swagger org due to the rename of the specification.

I've begun work on this, might not be exactly what I laid out in the previous comment but it will be close. I hope it won't take me longer than a weekend to complete this.

I commented about this on another issue but I'm not sure if you saw it, so I'll repeat it here.  What I'd really like to see is a structure of generated code that allows it to stay as a completely standalone module that requires no editing of the files within.  I have taken to simply ignoring most of the generated main(), configure_xyz.go, and server.go code and duplicating their functionality in external modules in order to avoid the mess that occurs when I regenerate from the spec and the structure of files I've edited has changed (regarding edits due to go-swagger changes, not necessarily due to changes to my spec).  It's much easier to regenerate from the spec and then diff that entire tree with the knowledge that I'm only looking at differences in generated code, not adding in the complications of my hand-edits.
So my recommendation is that the entire cmd directory, as well as configure_xyz.go and server.go be factored out into a separate "example" directory to indicate how you could use the generated code, but with the expectation that people are actually going to integrate the generated code into a codebase that doesn't necessarily follow that structure.

ontucker yes I got that requirement. this is about the go-swagger codebase itself.
For your requirement I think the server that gets generate will get an interface passed in with 3 hooks for lifecycle events: starting/configuring/stopping
I like the example suggestion

Oh, yeah, I meant to throw in a comment to the effect that "this may not be specifically relevant to this issue, but so long as you're reorganizing things I want to mention it so you have it in mind while moving things around."  :)  Thanks.

I've moved most of the supporting code for to command to separate repos as well as applied a restructuring for yaml
The only thing I didn't do was remove the examples from this repo, because I think they are still kind of appropriate in this repo.


Adding QR code project

Can i add qr code project made using html and css

hello sir ,
can you please assign me this issue.

Hello sir, please assign me this issue, I could do this project both using HTMLand CSS , and python


support for intellij idea 14

After I open projects created by gen-idea in idea 14 it tells me that it is old format and conversion is needed

Is this plugin going to be updated ?
Dependency resolution for multiproject takes five minutes and more.
Running gen-idea is much faster. (I am using sbt 0.13.8)


Use DbConnection.GetSchema for RevEng?

Am looking into RevEng for Npgsql, and had a quick question - is there any particular reason not to use DbConnection.GetSchema rather then (re-)embed metadata queries in the RevEng provider? I'm not sure how widely implemented this feature is (or how "standardized" its results are), but at the very least it could be an optional implementation base class that would allow RevEng to be implemented with relatively little work?

A related, alternative idea would be to provide a default implementation for providers who implement the standard information_schema.

The second idea, using information_schema, would probably not work simply because querying across different databases is different (e.g. quoting in SqlServer vs. PostgreSQL)

@roji GetSchema is available in ADO.NET in .NET Core. And the second idea will just not work.

The RevEng contract should be loose enough to allow providers to retrieve schema information however they want--DbConnection.GetSchema, INFORMATION_SCHEMA, etc. The problem with these "standards" is that they aren't very standard across providers :smile:, and even if they were, they aren't complete enough for EF (e.g. no indexes).

Sure, I wasn't thinking about constraining the API or anything, just providing a default implementation that would work where DbConnection.GetSchema does work in a standard way. I admit I know nothing about how standard it is though.
Feel free to close if this approach doesn't seem helpful (or if GetSchema is actually being removed from CoreCLR, as opposed to just not being there yet).

Note new discussion on standardized replacement API for DbConnection.GetSchema and DbDataReader.GetSchemaTable: https://github.com/dotnet/corefx/issues/3423