Add cross-platform IME support to druid-shell

As mentioned in #16, IME support is an important feature for druid, and a first step will be to add a cross-platform IME abstraction to druid-shell.
There are some good visuals and an explanation of what an IME (Input Method Editor) is in this blog post.

Both Makepad and winit have some amount of cross-platform IME code we might be able to use for reference.

Linked to #1040.

https://github.com/Riey/kime
It still supports only English and Korean (+ emoji, math) but is actively developing using Rust.

The IME API and mac implementation were added in #1619, and we can use #1308 as the tracking issue for other backends.


chore: upgrade charts

updated chart jxgh/jx-pipelines-visualizer from 1.8.1 to 1.8.2
updated chart jxgh/jxboot-helmfile-resources from 1.1.110 to 1.1.111
updated chart jxgh/lighthouse from 1.6.1 to 1.6.2

/retest


After a new update, API Proxy Lambdas are just failing.

Describe the bug
The application is developed in SAM. The lambda is accessed from API Gateway. After yesterday's update, all services fail.
To Reproduce

Choose a SAM application with lambda that accepts APIProxyResponse.
Try to debug it.

Hello @UmidMuzrapov, can you share the version of the toolkit you are on and the platform/OS?


import-history command to import the version history

How to insert version history publications

export from table publication_export
convert records using publication_to_biblio_backend
add method Import to snapstore client that

does not reset date_created and date_updated
sets date_until to date_created
sets date_from to date_created

We will not do this


Investigate to migrate to Deno

No good twitch api lib, i consider moving to typescript + node instead of haxe + node


Pull request template update

Description
Pull request template update
Fixes #184
Type of change

Documentation update

Testing steps
N/A

Codecov Report

Merging #220 (9c93f21) into master (eb0124e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #220   +/-   ##
=======================================
  Coverage   92.54%   92.54%
=======================================
  Files          33       33
  Lines        1087     1087
=======================================
  Hits         1006     1006
  Misses         66       66
  Partials       15       15

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 eb0124e...9c93f21. Read the comment docs.


Add an Exit Command to Deploy Script

Explicitly end the script after completion.

Not needed in a bash script. Closing.


Icon for FAB Menu Subitem

How can I add an icon to the menu subitem?

To see how the buttons are added to your xml layouts, check the sample project.

+1 how to add icon for SUBITem

Menu icon didn't work for me in xml, so I ended up doing it in Java:
FloatingActionButton btn = view.findViewById(R.id.buttonID);
btn.setIcon(R.drawable.myimage);

I also downloaded the library to use in my project locally, not sure if that makes a difference.


Broken image in cod10k map

Thanks for the great work! We downloaded your prediction map, but there seems to be a lot of corrupted files, can you re-upload it?

Hello, chenxi. I'm going to fix that. If you have more questions, feel free to email me.
My email<EMAIL_ADDRESS>


Context Menu entry in File Explorer

I would be great to have an entry in the File Explorer context menu so that you can do right click open cmder here. https://msdn.microsoft.com/en-us/library/windows/desktop/cc144171(v=vs.85).aspx

This feature is already available, you just need to enable it: Shortcut to open Cmder in a chosen folder.

Yes but it would be nice if it was a default feature.

Cmder is supposed to be pretty non-invasive so just jacking everyones context menu is a bit impolite. Personally I like there being no difference by default of the portable or installed versions.
Maybe if the project had a few more settings to justify it there could be a list of settings functions for enable/disable features or just a .cmder config profile script.
Also, Cmder missing in explorer is issue 404 hehheh :)

@1ClickComputing Sorry but cmder is intended to be portable and standalone (or non-invasive as @Jackbennett said), so dropping registry entries by default into every PC is not an option.


Build against c++2017

Built against standard c++2017 using gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04).

Note: This fails to build do to expected (and missing) main.cpp.

,gitignore needs to retain pycache. I have a python tool in the repo. It's necessary.

Fixed.


How to use different options in Operator Mode based on forward/backward?

I have this mapping, it works like dt when jump forward.
{
  "s",
  mode = { "o" },
  function() require("flash").jump({ jump = { offset = -1 } }) end,
}

But when jump backward, I hope it works like dF.
Is there a way to make a judgment?

maybe override the action callback and adjust the target based on whether its before or after

I figure out:
require("flash").jump({ jump = { inclusive = false } })


Seeking Help: A brief survey of handover process in Github

Sorry for interrupting you and we are so sorry to raise questions that are not relevant to development here.
We have e-mailed questionnaires to @derekjones:<redacted:email>,  @narfbg: <redacted:email>. You can also reply us through email if you are interested in our research questions. Below is the content of our survey.We have received reply from@derekjones，thank you!
We're research students from the Software Institute of Nanjing University, China. Our current research project investigates the possible impacts of the development handover process, i.e. handover from one core developer to a candidate core developer in the development progress, based on the repository data extracted from OSS projects in Github. In addition, we also attempt to identify any good practices and patterns of the handover process that might be useful to the practitioners.
We checked the 300 top ranked repositories at https://github-ranking.com/. The repository data implies that, e.g., @narfbg took over the project bcit-ci/CodeIgniter from @derekjones. If it is confirmed, could you please be so kind to help us answer the following questions about the handover that are particularly important to our research? As the acknowledgment to your support, a report with the main results and findings of this study will be sent to you, which may interest you with what happened in the handover processes of other popular projects.
We are looking forward to hearing from you at your earliest convenience (before June 20th).
Questions to @derekjones
Q1. Are you a core developer of project bcit-ci/CodeIgniter on Github?
Q2.Did you hand over the project bcit-ci/CodeIgniter to @narfbg? Or anyone else?
Q3.When did you begin to hand over the project?
Questions to @narfbg
Q1. Are you a core developer of project bcit-ci/CodeIgniter on Github?
Q2.Did you take over project bcit-ci/CodeIgniter from @derekjones? Or anyone else？
Q3.when did you begin to take over the project?
Q4.How long did you spend on reading/learning the project before you make contributions?
Thanks a million for taking your time on answering the questions!
Best regards,
Bingbing Xue
Our email<EMAIL_ADDRESS>

If you want people to help you, don't be a spammer.

I am deeply sorry for all the inconveniences that what I have caused.


[not for merging] SQlite Base Node Indices

This implements persistent indices for Soup base nodes using SQlite, as a baseline for future experiments.
Overview
At an API level it converts State into an enum that can be either MemoryState or PersistentState - with the latter now being used for base nodes.
Storage
Each instance of PersistentState corresponds to one table in SQlite. The table contains one column for each index and a single row column that stores a serialized representation of the Vec<DataType>. This might not be the right approach, so let me know if you have any better ideas!
Adding indices
add_key makes sure that there's a separate index_# column for all the parts of the given columns and finally adds a combined index using CREATE INDEX. This means that any rows that were inserted prior to add_key being called won't contain the new index columns though, so might be worth going through and backfilling those.
Look-ups
lookup builds up a SELECT query using the indices available in columns, on the form of SELECT row FROM table_name WHERE index_0 = x AND index_1 = x AND .....
Removals
remove plucks out all the index values from the given row and performs a DELETE FROM with those.
Inserts
insert finds all the index values from the given row (from self.indices) and inserts them into separate index_# columns. The whole row gets put into a row column, after being serialized to JSON. This could probably be a BLOB column and use bincode instead as well.
Future work
This mostly just implements the API - haven't run any benchmarks yet. This also performs an INSERT on every batch update, which with autocommit probably causes a disk write. @jonhoo suggested earlier that a possible solution might write on every update, but only flush to disk before the batch packet is inserted into the graph. Maybe this could be implemented by creating a transaction, and only committing it prior to insertion into the graph - not sure yet.

Maybe I'm misremembering, but I think lookups should only ever use exactly one index. I don't think you should ever end up having to AND them together. You'd have to look at the add_key  for the old in-memory State to see whether it expects old rows to also be automatically be added to new indices. It probably does if something is a full materialization.
Some things to be aware of if you want this to also work for partial materalizations.

When a new index is added, it may be that existing rows do not need to be added to that index eagerly. In fact, I'm fairly sure that's not the case. But you should check the code.
Be aware that (for partial) you need to store empty results for keys too! That is, you need to be able to distinguish between lookup(3) returning Missing and returning no rows. The former requires a replay, the latter does not.

@jonhoo: probably described it poorly - what I meant to say was that lookups AND together the columns of the given index, i.e. the columns argument given to lookup. That way it works for both single column and combined indices. I added a test with lookups against different indices as well here.
I added a small fix that makes sure existing rows work with new indices as well.
Haven't looked into making it work with partial indices yet, but those are good points if I eventually need this to work with other nodes than bases.

Closing in favor of #72.


Where is this database file?   >> sqlite:///accounts.db

SQLALCHEMY_DATABASE_URI = 'sqlite:///accounts.db'

Where is this database file?

MacOS ~

Want to delete this file，   Obsessive compulsive disorder？？？ 😂

/Applications/PyCharm.app/Contents/bin/accounts.db     Why is the file here?


Added useMaterial3 flag to ThemeData.

As part of the migration to Material 3, this PR adds a new useMaterial3 flag to ThemeData that will allow applications to opt-in to Material 3 changes that are coming to many of the components across the library.
Currently there are no components that this affects, but as we migrate each component to M3, they will use this flag to determine which defaults they should use, and this flags doc will be updated.
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

Wouldn't an enum be better suited once Material 4 might become a thing in the future? Otherwise we would have two flags useMaterial3 and useMaterial4 then and it will be unclear what the combination of both being true does.

Wouldn't an enum be better suited once Material 4 might become a thing in the future? Otherwise we would have two flags useMaterial3 and useMaterial4 then and it will be unclear what the combination of both being true does.

An enum would be better if we planned on keeping this around. However, the currently proposed plan is that useMaterial3 is a temporary flag that will be removed after everything is migrated to M3. This will hopefully take place well before an M4 so there shouldn't be any overlap.


[Feature Request]: Improving UI of 15 puzzle game

How would you like to enhance the existing project.
The styling of the game can be improved
Describe breifly how would you implement the same.
The styling of 15 puzzle game can be improved by changing the background, the gameboard and also by changing the new game button.
Are you contributing for a program?
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Please assign this issue to me @Shreyaar12 @cleveranu @raj03kumar  under GSSOC'23.


Update azuredeploy.json

--------------------MESSAGE FROM ADMIN, DELETE BEFORE SUBMITTING----------------------
Thank you for deciding to contribute to this repository, we're thrilled to have you contribute a template or a fix! :tada: Before we proceed, please be sure to review the contribution guidelines that will make the review process go smoother.
https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/README.md
We've created an outline of recommended sections to fill out that will help make this Pull Request awesome!
--------------------MESSAGE FROM ADMIN, DELETE BEFORE SUBMITTING----------------------
Changelog

Description of the change
Remove the parameter, you are not using it in the sh file

You mishandled the parameter "installMethod" when you deleted the rpc config params


Optionally allow Nault to switch representative automatically

When an account rep is flagged as bad it's up to the user to go through quite a few steps and select another rep. One way would be to let Nault handle it all automatically but it's too dangerous to remove the "human choice". Another way would be to let Nault randomly select a rep among a list of user-approved reps such as the "Representative Book".
The suggestion is to add a checkbox here: "Automatically switch rep".

Alternatively via an app settings:

Alt 1:
If an account rep is detected as offline or bad in any way, Nault could look in this list and randomly select a rep that does not have the "avoid" flag. It would then include the rep change in the next SEND or RECEIVE block for the affected account (yes, rep change can be included in any block type). The user would not be bothered at all but the downside is no specific rep change would be visible in the transaction history.
Alt 2:
If an account rep is detected as offline or bad in any way, Nault could pop up a notification that says "A non-recommended rep was detected for account abc: Do you want to switch to xyz?" with two buttons - CANCEL or OK. The suggested account xyz would randomly be selected by Nault from the trusted user list. The user needs to semi-interract to create a CHANGE-block but it will be visible in the transaction history and does not need to make a SEND or RECEIVE like with Alt 1.
If all reps in the user list are bad, Nault would not do anything but will still display the normal warning in the sidebar. Maybe display a notification: "Nault could not find a good rep to automatically switch to from your list, please revise it"

#434 has to be done prior if this is to be considered

I prefer Alt 2 as of right now as it maintains user control and has less probability of introducing unwanted side effects.
The side-effects of changing a rep outside of change blocks need to be better explored in order to make an informed decision on Alt 1 (could potentially break some RPC calls).

it's up to the user to go through quite a few steps and select another rep

all they have to do is press on the "Representative Change Required" and pick/paste a different rep which would be applied to all accounts that require a rep change
any other interrupting calls to action such as popup dialogues would be ineffective and intrusive
automated actions can be dangerous and may delay user transactions due to spam deprioritization

it's up to the user to go through quite a few steps and select another rep

all they have to do is press on the "Representative Change Required" and pick/paste a different rep

as a nano-noob im like "???"
at least a link to some documentation would be nice
something like How to choose your nano representative
since my wallet is empty, i just use this workaround:
accounts → add new account


not working touch bar

Mac 2019 macOS Monterey has only black Touch Bar what I need to do?
I download with the brew

Waiting ....

day 2

Day 3

Try this:
https://github.com/jslegendre/TouchBar-Simulator
Build the latest one in Xcode

Thanks!


Vercel builds fail consistently with ENOENT: no such file or directory

Vercel builds (both preview and production ones) fail randomly with the following error:
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /vercel/path0/api/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/vercel/path0/api/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

Examples
Production build from Nov 18, 2022
https://vercel.com/prisma/docs/2HN7ESUdJTXeZs7rZnwgVcQ36u7T
Preview build from Nov 18, 2022
https://vercel.com/prisma/docs/GZkXcpkhiucQi8pyRrqMw8aiNy2D

Another example: https://vercel.com/prisma/docs/6bVApmL8pJLeQLpRCtgzwwT4dX2w

currently, disabled caching seems to resolve these but caching helps us with shorter build times so we need to fix the issue and reenable this)

This particular issue has been resolved, so we will create a new issue for disabling the gatsby clean command in the build process: https://github.com/prisma/docs/issues/4201


Issue with ID based routing in 2x2 mesh simulation

I have generated a 2x2 mesh with XY routing and also with ID routing. I can run the simulation of the one with XY routing fine, but I get this error when I run simulation of the one with ID routing:

I am using this yml code for generating the mesh:
name: 2x2_mesh
description: "2x2 Mesh Config File"

routing:
  route_algo: "ID"
  use_id_table: true

protocols:
  - name: "narrow"
    type: "AXI4"
    direction: "manager"
    data_width: 64
    addr_width: 32
    id_width: 4
    user_width: 1
  - name: "narrow"
    type: "AXI4"
    direction: "subordinate"
    data_width: 64
    addr_width: 32
    id_width: 4
    user_width: 1
  - name: "wide"
    type: "AXI4"
    direction: "manager"
    data_width: 512
    addr_width: 32
    id_width: 4
    user_width: 1
  - name: "wide"
    type: "AXI4"
    direction: "subordinate"
    data_width: 512
    addr_width: 32
    id_width: 4
    user_width: 1

endpoints:
  - name: "cluster"
    array: [2, 2]
    addr_range:
      base: 0x0000_0000
      size: 0x0001_0000
    mgr_port_protocol:
      - "narrow"
      - "wide"
    sbr_port_protocol:
      - "narrow"
      - "wide"

routers:
  - name: "router"
    array: [2, 2]

connections:
  - src: "cluster"
    dst: "router"
    src_range:
      - [0, 1]
      - [0, 1]
    dst_range:
      - [0, 1]
      - [0, 1]
    bidirectional: true

I was using some previous version of FlooNoC. I don't get this error in the latest version.


Upload Stuck on 'Starting'

The library works fine with my BT device normally. However, when I disconnect with the device during the upload and try again, I get stuck in the 'Starting' state. Do you know what I am doing wrong?
Any help would be much appreciated.
Here are the logs from the library (including where I disconnect from the device):
LOG level: I || message: Connected to DfuTarg
LOG level: V || message: Discovering services...
LOG level: D || message: peripheral.discoverServices(nil)
state changed to: Connecting
LOG level: I || message: Services discovered
LOG level: V || message: Starting Legacy DFU...
LOG level: I || message: Connected to DfuTarg
LOG level: I || message: Services discovered
LOG level: V || message: Legacy DFU Service found
LOG level: V || message: Discovering characteristics in DFU Service...
LOG level: D || message: peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
LOG level: I || message: DFU characteristics discovered
LOG level: V || message: Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
state changed to: Starting
LOG level: V || message: Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: DFU Control Point notifications enabled
LOG level: V || message: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
LOG level: V || message: Writing image sizes (0b, 0b, 47500b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x00000000000000008cb90000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
LOG level: I || message: Data written to 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: Start DFU (Op Code = 1, Upload Mode = 4) request sent
LOG level: I || message: Notification received from 00001531-1212-EFDE-1523-785FEABCD123, value (0x): 100103
LOG level: A || message: Response (Op Code = 1, Status = 3) received
LOG level: E || message: Error 3: Operation not supported
LOG level: W || message: DFU target does not support DFU v.2
LOG level: V || message: Switching to DFU v.1
LOG level: V || message: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x01, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
LOG level: V || message: Writing image size (47500b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x8cb90000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
LOG level: I || message: Data written to 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: Start DFU (Op Code = 1) request sent
LOG level: I || message: Notification received from 00001531-1212-EFDE-1523-785FEABCD123, value (0x): 100101
LOG level: A || message: Response (Op Code = 1, Status = 1) received
LOG level: V || message: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x080c00, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
state changed to: Uploading
LOG level: I || message: Data written to 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: Packet Receipt Notif Req (Op Code = 8, Value = 12) request sent
LOG level: V || message: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x03, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
LOG level: I || message: Data written to 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: Uploading firmware...
LOG level: V || message: Sending firmware DFU Packet characteristic...
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 0
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 1
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 2
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 3
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 4
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 5
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 6
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 7
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 8
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 9
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 10
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 11
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 12
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 13
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 14
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 15
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 16
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 17
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 18
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 19
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 20
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 21
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 22
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 23
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 24
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 25
PROGRESS CHANGE : Part: 1. totalParts: 1 progress: 26
LOG level: D || message: [Callback] Central Manager did disconnect peripheral
LOG level: I || message: Disconnected by the remote device
Error: DFUError. message: Device disconnected unexpectedly

------- I disconnect from the device here and restart the upload process ---------------

LOG level: I || message: Connected to DfuTarg
LOG level: V || message: Discovering services...
LOG level: D || message: peripheral.discoverServices(nil)
state changed to: Connecting
LOG level: I || message: Services discovered
LOG level: V || message: Starting Legacy DFU...
LOG level: I || message: Connected to DfuTarg
LOG level: I || message: Services discovered
LOG level: V || message: Legacy DFU Service found
LOG level: V || message: Discovering characteristics in DFU Service...
LOG level: D || message: peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
LOG level: I || message: DFU characteristics discovered
LOG level: V || message: Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
state changed to: Starting
LOG level: V || message: Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: DFU Control Point notifications enabled
LOG level: V || message: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
LOG level: V || message: Writing image sizes (0b, 0b, 47500b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x00000000000000008cb90000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
LOG level: I || message: Data written to 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: Start DFU (Op Code = 1, Upload Mode = 4) request sent
LOG level: I || message: Notification received from 00001531-1212-EFDE-1523-785FEABCD123, value (0x): 100103
LOG level: A || message: Response (Op Code = 1, Status = 3) received
LOG level: E || message: Error 3: Operation not supported
LOG level: W || message: DFU target does not support DFU v.2
LOG level: V || message: Switching to DFU v.1
LOG level: V || message: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x01, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
LOG level: V || message: Writing image size (47500b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
LOG level: D || message: peripheral.writeValue(0x8cb90000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
LOG level: I || message: Data written to 00001531-1212-EFDE-1523-785FEABCD123
LOG level: A || message: Start DFU (Op Code = 1) request sent

Here is the code I use to reconnect to the device:
let aborted = self.firmwareUpdateCoordinator?.controller?.abort()
if aborted == false {
	LogError("Aborting DFU process failed")
}
if let peripheral = ConnectionManager.sharedInstance.connectedPeripherals.first,
	peripheral.name == "DfuTarg" {
		let initiator = DFUServiceInitiator(centralManager: manager, target: peripheral).with(firmware: self.latestFirmware!.firmware)
		initiator.logger = self
		initiator.delegate = self
		initiator.progressDelegate = self

		self.controller = initiator.start()
}

Edit 1:
This also happens when I upload > abort > reupload using the NRF-Toolbox. However, I can get out of the state in the NRF-Toolbox with the following sequence while uploading and the app stuck in Starting DFU... state:
Cancel > Abort > (the label still says Starting DFU...) > Back > DFU > select device and firmware > Upload > (alert view appears reading Upload Aborted) > Ok (to dismiss alert) > Upload (again) > Works
What is happening in the NRF-Toolbox to cause this sequence to work?
Edit 2:
It looks like there is no notification after writing to the peripheral. Specifically lines 354-356 of DFUControlPoint.swift:
         case .startDfu(_), .startDfu_v1,  .validateFirmware:
                logger.a("\(request!.description) request sent")
                // do not call success until we get a notification

Let me go through your logs and come back to you in a moment

How do you disconnect the peripheral ? I would guess you are disconnecting from the phone and the peripheral is still in Bootloader mode and you need to send reset.
It's hard to tell exactly what went wrong without knowing a bit more details about how you disconnect, if you want to see how the nRF Toolbox app handles that you can check its source code

Thank you for looking into this.
I am disconnecting by putting the BT device into an aluminum box, so the peripheral is still in Bootloader mode.
What exactly do you mean by 'send reset'? Is that a function from this library or is that something the BT device's firmware should be calling? Does this library's 'abort' function reset the device?
Sorry if my questions are simple. I am an iOS developer that's working with Bluetooth, and not the other way around.

Hi @andy-fueled, let me test your case and come back to you in a sec. It's either that your device does not send the 0x100101 notification then, or there is a bug in the library.
We thought you disconnect gracefully, not using a faraday cage :) In that case retrying should succeed without problems and let's see why it doesn't. Will come to you in a moment.

Does it happen every time you try to repeat like this? Could you send us your nRF51 application and file you want to send using DFU?

I see one bug in the lib. Here should be similar error handler as few lines above as the old DFU also supported resuming so it should return Invalid State after you sent Start DFU (Op Code = 1).
However, this does not explain why didn't you get any notification there. If would be logged had it came.

Ok, I did some testing by connecting an iPhone to an Android phone with nRF Connect on it that emulates your device (I used a dummy bin file) and if I send any notification there at the end the DFU lib handles it correctly. I tried with 0x100101 - if it was accepted, 0x100102 - what in fact would be returned, as device is in invalid state and 0x100106 - operation failed. All were working correctly despite the bug I mentioned 1 comment above.
Could you check if you are sending any notification there? Any logs from nRF or a sniffer?

@philips77 This happens every time.
I need to get permissions before sharing any code. I will send the files as soon as I am cleared to do so (sorry about the red tape).
My process to perform the DFU is:

While the BT device is in application mode, the app sends a command to the device that puts the device into DFU mode.
The app scans for and connects to DFUTarg, and uses that connected peripheral as the target for this library's initiator and then I call start on the initiator.
(As stated in my original message, this process works, unless the upload is interrupted.)

Do you still need the nRF51 application code if the DFU is starting when the device is already in DFU mode?

I don't need the code, just hex files :)

Is your nRF51 app forked from SDK 6.1 or before? Only then the DFUv1 had to be used.
I have a sniffer here so I could check if the notification has been sent.
Regarding my last comment - I would really prefer hex files only as I don't want to compile anything and see any secret codes :) And no iOS app at all, I think I can use the Example app from this project and modify it a bit if needed?

@philips77 I made some progress on this issue.
After my BT device gets disconnected during the upload (by being put in a faraday cage), and the app tries to re-upload the firmware, this happens:
Step 1) func sendStartDfu (line 238 of LegacyDFUService.swift) is called. The aborted bool is false, so a request is sent to the device.
Step 2) The program should continue once the app gets a callback from the device (line 375 of DFUControlPoint.swift). However, my device does not send back a peripheralDidUpdateValueForCharacteristic callback, making the app stuck waiting for the callback.
What happens in the NRF-Toolbox when I go through my sequence of steps (described in my original message), is that the program somehow recognizes that the process was aborted, setting the aborted bool of Step 1 (above) to true. That way, the next time I try to upload the firmware, the function in Step 1 does not send a request, but sends sendReset(onError: report). After that, the device is receptive to re-uploading the firmware.
Right now I can think of 3 possible solutions/workarounds:

I can implement a timeout on this library, so that if the device is in the Starting state for too long, the app can execute sendReset(onError: report), then re-upload the firmware. However, is the sendReset(onError: report) accessible from outside this library?
Same timeout, but abort the upload. The problem with this is that whenever I abort and reconnect to restart the upload process, the abort variable in LegacyDFUService.swift is still always false.
The library implements a timeout if there is no callback from the peripheralDidUpdateValueForCharacteristic, and executes sendReset(onError: report).

What do you think?

Hi Andy,
The aborted flag is only set when you call abort() method on the controller. It will not be set when you restart the process. Also, it does not discover that the process was aborted on its own.
Since we talked last time I made 2 commits to develop branch: this and this. The first one, as I said, ensures retrying DFU when Invalid State is received from a device running bootloader from SDK before 6.0 (only App update allowed). The other one adds some delay that I found out yesterday that is needed in the iOS DFU Lib for bootloaders before 7.0 (DFU Version char added, Extended Init Packet required). Both commits impact your case, but will not fix the issue you encounter.
In my opinion the issue is in your bootloader implementation. You should check why it doesn't send any notification at the end.
Every other solution would be only a workaround. I think that calling abort() being in a state when you wait for a notification would not make any difference... This method just sets a aborted flag that is read in some moments of the process, but not when it actually waits for a notification. The sendReset() method is not exposed like you said. I'll think about adding a method forceReset() if we won't manage to fix your issue by just fixing the root cause.
The last proposal (3.) have some sense. Otherwise, a device that for some strange reason didn't get a notification stays there for ever, and remember that the notifications don't have ACK on the app layer, so the bootloader is not aware of the other side not receiving such. But that would rather implicate changing notifications to indications in Legacy and Secure DFU if that was a case, like they did in the buttonless dfu service in SDK 13. I'll think about it. The problem I see is that in SDK 7-11 the 100101 notification is sent when the flash on nRF is ready for receiving data, so during SoftDevice update it takes ~5-10 sec.
Here's what you should observe in your second connection:
0. First upload terminates with link loss

You reconnect to the device. It's now in "Resume upload" state.
Lib sends 0x0104 and firmware sizes using DFUv2 procedure which ends with 0x100103 (Not Supported).
Lib sends 0x01 and the app size using DFUv1 procedure.
--- here it holds in your case ---
The device should respond 0x100102 (Invalid State)
The lib should send a Reset command (0x06) and wait until the device disconnects.
The lib should reconnect and do 1. , 2. , 3. again
Instead of 4. the response now should be 0x100101 (Success)
New: Waits for 1 second
Sends 0x03 (Receive firmware) command, and so on...

Perhaps the bootloader you have have the resume procedure removed, but is still in the Invalid State which wasn't removed together? And instead of sending 0x100101 sends nothing?
Could you, after you do the first link loss, connect using nRF Connect on Android and try to send the data as your app is doing and see whether you get the notification there? You may record a macro to do this quickly as timing may be crucial. You could post logs here from the app.

I created the following macro for nRF Connect on Android, but the macro cannot be started and has the following message: Ensure DFU Packet has WRITE property failed
This is the macro:
   <assert-service description="Please, connect to a device with Device Firmware Update Service." uuid="00001530-1212-efde-1523-785feabcd123">
   </assert-service>
   <write description="send 0104" service-uuid="00001530-1212-efde-1523-785feabcd123" characteristic-uuid="00001531-1212-efde-1523-785feabcd123" value="0104"/>
   <write description="description" service-uuid="00001530-1212-efde-1523-785feabcd123" characteristic-uuid="00001532-1212-efde-1523-785feabcd123" value="00000000000000008cb90000"/>
   <sleep description="now the macro will wait 1 second..." timeout="1000" />
   <write description="send 01" service-uuid="00001530-1212-efde-1523-785feabcd123" characteristic-uuid="00001531-1212-efde-1523-785feabcd123" value="01"/>
   <write description="send 01" service-uuid="00001530-1212-efde-1523-785feabcd123" characteristic-uuid="00001532-1212-efde-1523-785feabcd123" value="8cb90000"/>
</macro>```

Am I doing something wrong? Is this useful information?

The write operations that write to DFU Packet must have type="WRITE_COMMAND" attribute, as written here: https://github.com/NordicSemiconductor/Android-nRF-Connect/tree/master/documentation/Macros#write-characteristic
The easiest way to create a macro would just be to record it. Here's what I recorded:
Dfu bootloader 5.2.xml.zip
At the end I assert value 0x100102 = Invalid State, but could be changed to 0x100101 = Success

Thanks for that xml file. I used that same macro, and nRF Connect never received the last notification from the device. Here are the logs:
nRF Connect, 2017-03-22
DfuTarg (F0:87:E3:3E:D4:C7)
V	10:32:36.554	Connecting to F0:87:E3:3E:D4:C7...
D	10:32:36.555	gatt = device.connectGatt(autoConnect = false)
D	10:32:37.053	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I	10:32:37.053	Connected to F0:87:E3:3E:D4:C7
D	10:32:37.053	wait(600ms)
D	10:32:37.064	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
V	10:32:37.669	Discovering services...
D	10:32:37.669	gatt.discoverServices()
D	10:32:38.152	[Callback] Services discovered with status: 0
I	10:32:38.153	Services discovered
V	10:32:38.168	Generic Access (0x1800)

Device Name [R W] (0x2A00)
Appearance [R] (0x2A01)
Peripheral Preferred Connection Parameters [R] (0x2A04)
Generic Attribute (0x1801)
Device Firmware Update Service (00001530-1212-efde-1523-785feabcd123)
DFU Packet [WNR] (00001532-1212-efde-1523-785feabcd123)
DFU Control Point [N W] (00001531-1212-efde-1523-785feabcd123)
Client Characteristic Configuration (0x2902)
V	10:32:52.073	Writing to descriptor 00002902-0000-1000-8000-00805f9b34fb
D	10:32:52.073	gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x0100)
I	10:32:52.104	Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 01-00
A	10:32:52.104	"Notifications enabled" sent
D	10:32:52.110	gatt.setCharacteristicNotification(00001531-1212-efde-1523-785feabcd123, true)
V	10:32:52.112	Notifications enabled for 00001531-1212-efde-1523-785feabcd123
V	10:32:52.112	Writing request to characteristic 00001531-1212-efde-1523-785feabcd123
D	10:32:52.112	gatt.writeCharacteristic(00001531-1212-efde-1523-785feabcd123, value=0x0104)
V	10:32:52.147	Writing command to characteristic 00001532-1212-efde-1523-785feabcd123
D	10:32:52.147	gatt.writeCharacteristic(00001532-1212-efde-1523-785feabcd123, value=0x00000000000000008CB90000)
I	10:32:52.148	Data written to 00001531-1212-efde-1523-785feabcd123, value: (0x) 01-04
A	10:32:52.148	"Start DFU
Upload mode: APPLICATION" sent
I	10:32:52.149	Data written to 00001532-1212-efde-1523-785feabcd123, value: (0x) 00-00-00-00-00-00-00-00-8C-B9-00-00
A	10:32:52.149	"(0x) 00-00-00-00-00-00-00-00-8C-B9-00-00" sent
I	10:32:52.178	Notification received from 00001531-1212-efde-1523-785feabcd123, value: (0x) 10-01-03
A	10:32:52.178	"Response for: Start DFU
Value: Not supported" received
V	10:32:52.179	Writing request to characteristic 00001531-1212-efde-1523-785feabcd123
D	10:32:52.179	gatt.writeCharacteristic(00001531-1212-efde-1523-785feabcd123, value=0x01)
I	10:32:52.207	Data written to 00001531-1212-efde-1523-785feabcd123, value: (0x) 01
A	10:32:52.207	"Start DFU" sent
V	10:32:52.207	Writing command to characteristic 00001532-1212-efde-1523-785feabcd123
D	10:32:52.207	gatt.writeCharacteristic(00001532-1212-efde-1523-785feabcd123, value=0x8CB90000)
I	10:32:52.209	Data written to 00001532-1212-efde-1523-785feabcd123, value: (0x) 8C-B9-00-00
A	10:32:52.209	"(0x) 8C-B9-00-00" sent

And how about adding some delays here and there? For example before every write. I assume it won't work either. Did you check with firmware developers about my long comment above?

I added delays of 1 second and 3 second, but still it did not work.
Mike is going to talk with the firmware developers today, and he will tell them everything from your messages, and try to get the bootloader hex file.

Hi Andy, any news?

@philips77 It seems like this is not the top priority for the firmware people, so this issue is on hold in the meantime

@andy-fueled I'll close this issue since it's been stale since April :) if you require more help please comment here and we'll reopen and take a look again


CI Failure

Merging #7 caused a failure on master: https://circleci.com/gh/dask/dask-xgboost/9
It also didn't run on the PR, not sure why yet. Looking now.

Closed by #12


python init fails in Linux

The python init attempts to install some python modules using pip, but into the global context.

do I actually want to do things this way? If so which is better, pip or the OS's package system?
Perhaps I don't want to init anything beyond virtualenv (and maybe virtualenv wrapper used by eshell-prompt-extras)?

updated the issue title: it fails in OS X also!
Sourcing 50_python.sh
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages
Collecting setuptools
  Using cached setuptools-34.2.0-py2.py3-none-any.whl
Requirement already up-to-date: wheel in /usr/local/lib/python2.7/site-packages
Requirement already up-to-date: virtualenv in /usr/local/lib/python2.7/site-packages
Requirement already up-to-date: six>=1.6.0 in /usr/local/lib/python2.7/site-packages (from setuptools)
Requirement already up-to-date: packaging>=16.8 in /usr/local/lib/python2.7/site-packages (from setuptools)
Requirement already up-to-date: appdirs>=1.4.0 in /usr/local/lib/python2.7/site-packages (from setuptools)
Requirement already up-to-date: pyparsing in /usr/local/lib/python2.7/site-packages (from packaging>=16.8->setuptools)
Installing collected packages: setuptools
  Found existing installation: setuptools 34.1.1
    Uninstalling setuptools-34.1.1:
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'
Collecting Mercurial
  Downloading mercurial-4.1.tar.gz (5.1MB)
    100% |████████████████████████████████| 5.1MB 240kB/s
Requirement already up-to-date: hg-git in /usr/local/lib/python2.7/site-packages
Requirement already up-to-date: dulwich>=0.9.7 in /usr/local/lib/python2.7/site-packages (from hg-git)
Building wheels for collected packages: Mercurial
  Running setup.py bdist_wheel for Mercurial ... done
  Stored in directory: /Users/mjl/Library/Caches/pip/wheels/c6/f7/d8/6a898cb6d46366a9eb51d0220b573cfc7d1ddc98d2cb2830ce
Successfully built Mercurial
Installing collected packages: Mercurial
  Found existing installation: mercurial 4.0.2
    DEPRECATION: Uninstalling a distutils installed project (Mercurial) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling mercurial-4.0.2:
      Successfully uninstalled mercurial-4.0.2
  Rolling back uninstall of mercurial
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/local/lib/python2.7/site-packages/pip/wheel.py", line 323, in clobber
    shutil.copyfile(srcfile, destfile)
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/hgext/__init__.py'
Requirement already up-to-date: isort in /usr/local/lib/python2.7/site-packages
Collecting ipython
  Downloading ipython-5.2.2-py2-none-any.whl (749kB)
    100% |████████████████████████████████| 757kB 1.2MB/s
Requirement already up-to-date: traitlets>=4.2 in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: decorator in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: simplegeneric>0.8 in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: backports.shutil-get-terminal-size; python_version == "2.7" in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: pygments in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: appnope; sys_platform == "darwin" in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: pexpect; sys_platform != "win32" in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: pickleshare in /usr/local/lib/python2.7/site-packages (from ipython)
Collecting prompt-toolkit<2.0.0,>=1.0.4 (from ipython)
  Downloading prompt_toolkit-1.0.13-py2-none-any.whl (247kB)
    100% |████████████████████████████████| 256kB 3.2MB/s
Collecting setuptools>=18.5 (from ipython)
  Using cached setuptools-34.2.0-py2.py3-none-any.whl
Requirement already up-to-date: pathlib2; python_version == "2.7" or python_version == "3.3" in /usr/local/lib/python2.7/site-packages (from ipython)
Requirement already up-to-date: ipython-genutils in /usr/local/lib/python2.7/site-packages (from traitlets>=4.2->ipython)
Requirement already up-to-date: six in /usr/local/lib/python2.7/site-packages (from traitlets>=4.2->ipython)
Requirement already up-to-date: enum34; python_version == "2.7" in /usr/local/lib/python2.7/site-packages (from traitlets>=4.2->ipython)
Requirement already up-to-date: ptyprocess>=0.5 in /usr/local/lib/python2.7/site-packages (from pexpect; sys_platform != "win32"->ipython)
Requirement already up-to-date: wcwidth in /usr/local/lib/python2.7/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython)
Requirement already up-to-date: packaging>=16.8 in /usr/local/lib/python2.7/site-packages (from setuptools>=18.5->ipython)
Requirement already up-to-date: appdirs>=1.4.0 in /usr/local/lib/python2.7/site-packages (from setuptools>=18.5->ipython)
Requirement already up-to-date: scandir; python_version < "3.5" in /usr/local/lib/python2.7/site-packages (from pathlib2; python_version == "2.7" or python_version == "3.3"->ipython)
Requirement already up-to-date: pyparsing in /usr/local/lib/python2.7/site-packages (from packaging>=16.8->setuptools>=18.5->ipython)
Installing collected packages: prompt-toolkit, setuptools, ipython
  Found existing installation: prompt-toolkit 1.0.10
    Uninstalling prompt-toolkit-1.0.10:
      Successfully uninstalled prompt-toolkit-1.0.10
  Found existing installation: setuptools 34.1.1
    Uninstalling setuptools-34.1.1:
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'


New Queue to support ppc64le Mainframe

We need to create a new helix queue to support the OS that is currently running on the PPC64le device.
New Queue Name: ubuntu.2204.ppc64le.experimental.open
Please use the information in the ubuntu.2004.ppc64le.experimental.open for specifications about the hardware

Release Note Category

[X] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description
Add ubuntu.2204.ppc64le.experimental.open queue

Does ubuntu.2004.ppc64le.experimental.open still have to exist?

@ilyas1974 I need some information here. Specifially:
  PreInstalledImage: # This Queue is handled by on-premises, preconfigured
  # machines. The actual deployment of the images is not handled by Helix,
  # and must be triggered by some external mechanism.
  # The values here are to ensure that automation is run on the correct
  # set of machines, and will be enforced by the installer
    System: Windows # Required: Name of this image, as returned by platform.system()
    Processor: ARM64 # Required: Processor architecture, as returned by platform.machine()
    Version: 17.6.0 # Required: Version of the OS, as returned by platform.release()

We will rely on the information from the 2004 queue. This is going to be wrong. Once the machines are in the queue, we will go back and fix the YAML.

The queue definition has been merged and will roll out on the next helix-machines deployment.

This has rolled out


Is there a video talk or survey about NAT in 2021 or 2022?

Dear @kahne
I am a newcomer to Non-Autoregressive Machine Translation(NAT) and impressed by the abundant reading materials provided.
I'd appreciate if you could provide a video talk(preferred) or survey paper in 2021 or 2022 to give a more comprehensive view.

Hi @qhd1996 , I am not aware of any existing video talk or survey paper, but there is an upcoming tuturial session at ACL 2022: https://nar-tutorial.github.io/acl2022/.


AAD authentication on VM actually support network security group

Hi Team,
By this document:  it said

Azure network security groups can't be configured for VMs enabled with Azure AD authentication

But actually, after we've tried several times, it has been proved it do support this function when you create a VM with default basic NSG.
Screenshot as:

Could you please get updated on the documentation since it seems the feature is supported?
Thanks!

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

ID: bb8e2623-1f79-aee3-bd97-8b5f647b6980
Version Independent ID: 6346b54d-cc8d-0b79-a6b8-f9144cfa2459
Content: Log in to a Linux VM with Azure Active Directory credentials - Azure Virtual Machines
Content Source: articles/virtual-machines/linux/login-using-aad.md
Service: virtual-machines-linux
GitHub Login: @SanDeo-MSFT
Microsoft Alias: sandeo

@xps233 Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate. We will update you accordingly.

@SanDeo-MSFT Can you please check and add your comments on this doc update request as applicable

Hi all, is there any update for this revision? I need a firm confirmation on whether it is supported or not.

Hi there, why this request still no response? Is there any engineer taking look on this?

#please-close The public preview feature described in this article was deprecated August 15, 2021. Thank you!
Investigating/working on this in AB#1958451


change Unparser.java to output new format kast

do not review.

I don't think this is the right way to go about this. What we really want is for there to be a transformation that converts KORE into terms referencing productions. Then you create a new implementation of the unparser following the same paradigm as this one, but operating over the new classes in treeNodes.scala.

So are things other than the unparser you mentioned ready to use now?
And if this file does not lead to the right new KAST syntax, why keep this one?

I'm planning to implement a printer in the new syntax for the Kore classes soon, and we should be able to use that plus the KILToKORE transformer to get the output. Even if we wanted to do more work on KIL classes, Dwight says there's a KoreFilter class that would be a better place than Unparser to make these changes.


Document how Action.Submit works

This page describes the Teams-specific variants of Action.Submit (for example https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-actions?tabs=json#adaptive-cards-with-messageback-action). But it glosses over how a regular Action.Submit works, with only a link to this page: https://adaptivecards.io/explorer/Action.Submit.html.
We need a better explanation of how Action.Submit works:

how is the data in the card sent to the bot
what the payload received by the bot looks like
how is the bot expected to respond (time limits, etc.)

Also, the information in the following section of a different page: https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/conversation-messages?tabs=dotnet#form-completion-feedback
should be incorporated into that discussion. It is out of place in its current location.

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

ID: 672a763d-189b-8ba0-f66e-c07f1dc0a962
Version Independent ID: 1ac7a9bd-138b-3bf8-60a3-1842d87371fd
Content: Add card actions in a bot - Teams
Content Source: msteams-platform/task-modules-and-cards/cards/cards-actions.md
Service: msteams
GitHub Login: @surbhigupta
Microsoft Alias: lajanuar

@aosolis - We are looking into this we will get back to you soon.

@aosolis - Could you please confirm if the below changes look fine or do we need to add more information?
@surbhigupta12 - Could you please help us to update the document?
Document-https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-actions?tabs=json#adaptive-cards-actions
Add the below title as new point in Adaptive Cards actions section like other action.
Add the Title-Adaptive Cards with Submit action
If you look at Action.Submit in the schema, you will see that a submit action’s data property can be either a string or an object.A submit action has two possible behaviors that correspond to these two possible data types.
A string submit action automatically sends a message from the user to the bot that shows up in the client application’s conversation history as though the user typed the message and sent it manually. An object submit action automatically sends an invisible message from the user to the bot that contains hidden data.
The reason behind the name “submit action” becomes clear when an Adaptive Card contains input fields. A submit action is used to “submit” the information provided in the input fields by combining that information with anything already in the data property and sending it to the bot.
When using the Bot Framework, clicking on a submit action will send a Bot Framework message activity to the bot. A string submit action will simply transfer its string data into the activity’s text property. An object submit action has a somewhat more complicated process of populating the activity’s value property while leaving the text property empty. Each input field in the object submit action’s card will be represented as a property of that value object and the properties will be named according to each input field’s ID. Any properties already in the object submit action’s data property will also be present in the value object.
Here’s what it might look like when you click on a string submit action:

The JSON for that card might look like this (notice the string assigned to the submit action’s data property:
{   "$schema": "https://adaptivecards.io/schemas/adaptive-card.json",   "type": "AdaptiveCard",   "version": "1.0",   "actions": [     {       "type": "Action.Submit",       "title": "Click here to say \"Hello\"",       "data": "Hello"     }   ] }


[Request] - New seal: Requester

the Requester seal would be a counterpart to the provider seal - it acts like a 'fill' seal but calls from Provider seals like how the 'use' seal does. I'd imagine it'd default to whitelist and support stacks - e.g. if you had a 3x3 whitelist grid and you told it to keep 64 saplings in one slot and 16 in the next, it'd add them together and keep 80 saplings in the connected inventory.
In effect, it's similar to using the Golemancer's Bell to pull items into the chest, but automatically.

https://github.com/Azanor/thaumcraft-suggestions

Ah, I thought that the 'suggestions' area was just for non-beta Thaumcraft - given the Readme for this repository says "Location for Thaumcraft beta testers to report problems, suggestions and errors."  (Emphasis mine)

Is the suggestion related to a feature that's in the beta as it is now though, or is it a request for an entirely new feature? There hasn't ever been a Requester seal in the game before AFAIK, so I believe this (along with suggestions and requests for other new stuff) belong in the Suggestions repo. If I'm wrong, I'm pretty sure Azanor will mention that.

Hm, a good point. The provider seal is new for 6, isn't it? the golem logistics certainly is, and i figured this to be an extension of that. I guess we'll wait and see if this gets moved, then? :P

Nope, provider seal was in TC5.

Use seal has a 'request items from whitelist' option - it would be simpler to give that option to the Fill seal as well.

the 'stock' seal seems to cover this pretty well, from what I've seen!

Yup, the stock seal is what you want.


Test context with config is not runnable via intelliJ UI

Kotlin Version: 1.4.32
Kotest Version: 4.6.0
Kotest Plugin Version:  1.1.36-IC-2021.1
Intellij Version: 2021.1.2
Adding the config method to a context removes the ability to run the context using the intelliJ UI.
https://gist.github.com/slathropSR/db6be394e07989d0e383183ac6c08f

Fixed in next release.


wrong links

Issue Title
links to download 2.0.9 takes to 2.1.x

@juniormayhe - the corresponding SDK for this release is 2.1.202. Let us know if that's not what you're seeing.


Add context map at Condition level

I'm going to split the HWKALERTS-85 in several commits.
Then we can consolidate changes on master and work on parallel tasks without being blocked for some commit.
This one brings context to Condition level, needed to support multiple types of conditions at actions plugins level.
The context is optional information added from the data and definition and used (optionally) in the actions plugins.

Define triggers and alerts with demo data is costly.
And for actions plugins there are several scenarios that need to be tested.
To simplify the test phase, I've added a shared project under plugins with some demo data will be used in the plugins.

Are you really sure you want to add tenantId to the constructors/factories for Conditions and Dampening?  I thought we were specifically not doing that because it may be more difficult for clients who maybe don't have the tenantId readily available.  Since Conditions and Dampening are under the Trigger umbrella, it seemed reasonable to just get the information from the Trigger.  I'm not sure this isn't just added complexity in the API.

Lucas, I will be away until Tuesday, After considering my comments, if you are satisfied with the PR go ahead and commit. I don't want to block you.

History of the tenantId on Conditions/Dampenings is the following:

In last HA-12 tenantId was introduced in the Trigger() constructor, so at that point I think we should also add it into the Condition/Dampening, as we don't have a "strong" coupled with them.
In this particular commit it was introduced as a helper, for me was something needed, but if it creates confusion I can revert it and discuss it properly for MS6. It is not mandatory for the goal of HA-85.
For me was natural to have it, if we introduced in Trigger() just for consistency.

Well, as we have some time constraints I'm going to rever it with additional feedbacks and we can discuss it for MS6.
Thx for the review, I'm going to add an additional commit with feedback and merge it.


[PE-D][Tester A] Error message is different for invalid negative INDEX inputs for View Command

Below shows a screenshot of the error message displayed if the INDEX provided for the view command is negative:

However, there is a discrepancy in the error message when we use another large negative integer as index, as show below:

Labels: severity.Low type.FunctionalityBug
original: benjamin-wee/ped#6

A feature flaw for not checking extreme user input. Not a bug since values outside max range for java integers are "not integers", behavior is unaffected (correctly stops user from viewing a certain person, unless there are MAX_INT number of people...), will not be considered for v1.4.


The client_secret provided does not match the client_secret associated with the PaymentIntent.

Platform

[ ] Web
[X] iOS
[X] Android

Describe the bug
If a previous request failed due to an error, attempting to make a payment again result in the following message: "The client_secret provided does not match the client_secret associated with the PaymentIntent."
To Reproduce

Make a payment using a real card while keeping the Stripe key in test mode.
This should result in a failed payment due to the mismatch between the live card and the test environment.
After the failed payment, attempt to call collectPaymentMethod with a new payment intent ID.
You should encounter an error message indicating that the client secret provided does not match the client secret associated with the PaymentIntent.

Another way to reproduce

Connect to tap to pay
Put app in background and then open the app
Now try to make the payment
It throws the error

Expected behavior
It should open new payment sheet with new payment intent id.
Additional context
Clear previous payment intent info if its failed.
Using Function:

[ ] Payment Sheet / Payment Flow
[ ] Apple Pay
[ ] Google Pay
[ ] Identity (@capacitor-community/stripe-identity)
[X] Terminal（@capacitor-community/stripe-terminal）

After the failed payment, attempt to call collectPaymentMethod with a new payment intent ID.

If failed, another card can be tried in succession. If change collectPaymentMethod  with PaymentIntent, you should run cancelCollectPaymentMethod before collectPaymentMethod.

Another way to reproduce

There does not appear to be a problem at this time. For longer periods of time, the Secret Key is likely to change and a revert algorithm will be required.
https://github.com/capacitor-community/stripe/assets/9690024/361e2ee1-c0c6-47d3-a029-5ced917d6c2d

@divyesh-savaliya Has this solved the problem? If so, close the Issue.

Closed due to lack of comments for a long time.


complie model failed

compile model failed with torchtrt-fp32 opt
ERROR INFO
WARNING: [Torch-TensorRT TorchScript Conversion Context] - Tensor DataType is determined at build time for tensors not marked as input or output.
ERROR: [Torch-TensorRT TorchScript Conversion Context] - 4: [graphShapeAnalyzer.cpp::analyzeShapes::1285] Error Code 4: Miscellaneous (IShuffleLayer (Unnamed Layer* 84) [Shuffle]: reshape changes volume. Reshaping [1,512,1,(+ (CEIL_DIV (+ (# 3 (SHAPE input_0)) -4) 4) 1)] to [1,512,0].)
ERROR: [Torch-TensorRT TorchScript Conversion Context] - 2: [builder.cpp::buildSerializedNetwork::609] Error Code 2: Internal Error (Assertion enginePtr != nullptr failed. )
terminate called after throwing an instance of 'torch_tensorrt::Error'
what():  [Error thrown at core/conversion/conversionctx/ConversionCtx.cpp:147] Building serialized network failed in TensorRT
Aborted
code:
std::string min_input_shape  =  "1 3 32 32";
std::string opt_input_shape  =  "1 3 32 512";
std::string max_input_shape  =  "1 3 32 1024";

Environment

Build information about Torch-TensorRT can be found by turning on debug messages

PyTorch Version (e.g., 1.11.0):
CPU Architecture: x86_64
OS (Linux):
How you installed PyTorch (libtorch):
Python version:3.8
CUDA version:11.3

Hello - could you provide details/code on the model being compiled to elicit the error, and the version of Torch-TensorRT being used?


Executable isn't running on Elementary OS

Hi, I downloaded the ninja-linux.zip file from the release assets. I extracted it but I tried double clicking it and it doesn't worked. Please Help!!!

Ninja is a command line application. https://learn.co/lessons/intro-to-cli-applications


Unable to build monero-lws

Hello, tried to build monero-lws against current monero release-v0.18 and received an error: undefined reference to symbol 'crypto_verify_32
Full build log:
`
dem@dem-mate:~/monero-lws/build$ cmake -DMONERO_SOURCE_DIR=/home/dem/monero -DMONERO_BUILD_DIR=/home/dem/monero/build/Linux/release-v0.18/release ..
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dem/monero-lws/build
end of make command:
[ 51%] Built target monero-lws-util
[ 53%] Building CXX object src/wire/json/CMakeFiles/monero-lws-wire-json.dir/error.cpp.o
[ 55%] Building CXX object src/wire/json/CMakeFiles/monero-lws-wire-json.dir/read.cpp.o
[ 58%] Building CXX object src/wire/json/CMakeFiles/monero-lws-wire-json.dir/write.cpp.o
[ 60%] Linking CXX static library libmonero-lws-wire-json.a
[ 60%] Built target monero-lws-wire-json
[ 62%] Building CXX object src/wire/wrapper/CMakeFiles/monero-lws-wire-wrapper.dir/variant.cpp.o
[ 65%] Linking CXX static library libmonero-lws-wire-wrapper.a
[ 65%] Built target monero-lws-wire-wrapper
[ 67%] Building CXX object src/rpc/CMakeFiles/monero-lws-rpc.dir/admin.cpp.o
[ 69%] Building CXX object src/rpc/CMakeFiles/monero-lws-rpc.dir/client.cpp.o
[ 72%] Building CXX object src/rpc/CMakeFiles/monero-lws-rpc.dir/daemon_pub.cpp.o
[ 74%] Building CXX object src/rpc/CMakeFiles/monero-lws-rpc.dir/daemon_zmq.cpp.o
[ 76%] Building CXX object src/rpc/CMakeFiles/monero-lws-rpc.dir/light_wallet.cpp.o
[ 79%] Building CXX object src/rpc/CMakeFiles/monero-lws-rpc.dir/lws_pub.cpp.o
[ 81%] Building CXX object src/rpc/CMakeFiles/monero-lws-rpc.dir/rates.cpp.o
[ 83%] Linking CXX static library libmonero-lws-rpc.a
[ 83%] Built target monero-lws-rpc
[ 86%] Building CXX object src/CMakeFiles/monero-lws-daemon-common.dir/rest_server.cpp.o
[ 88%] Building CXX object src/CMakeFiles/monero-lws-daemon-common.dir/scanner.cpp.o
[ 90%] Linking CXX static library libmonero-lws-daemon-common.a
[ 90%] Built target monero-lws-daemon-common
[ 93%] Building CXX object src/CMakeFiles/monero-lws-daemon.dir/server_main.cpp.o
[ 95%] Linking CXX executable monero-lws-daemon
/usr/bin/ld: /home/dem/monero/build/Linux/release-v0.18/release/src/cryptonote_core/libcryptonote_core.a(cryptonote_tx_utils.cpp.o): undefined reference to symbol 'crypto_verify_32'
/usr/bin/ld: /lib/x86_64-linux-gnu/libsodium.so.23: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/monero-lws-daemon.dir/build.make:146: src/monero-lws-daemon] Error 1
make[1]: *** [CMakeFiles/Makefile2:295: src/CMakeFiles/monero-lws-daemon.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
`

Did you compile the master branch of LWS against the release-v0.18 branch of monero? That's what it looks like.
You have to compile master-to-master or release-to-release. I would recommend switching to the latest LWS release branch, as it has all the same features of master currently.

You are right. Then i switched to the latest lws release and build was successful.
`
$ git branch -r
origin/HEAD -> origin/master
origin/develop
origin/feature/delete_uuid_admin
origin/feature/enterprise_scanning
origin/feature/zmq_pub_spends
origin/feature/zmq_pub_spends_2
origin/fix/build_usb
origin/fix/subaddress_divide_by_zero
origin/master
origin/release-v0.1_0.17
origin/release-v0.2_0.18
origin/release-v0.3_0.18
origin/tests/sync_chain
dem@nas:~/Projects/monero-lws$ git checkout release-v0.3_0.18
branch 'release-v0.3_0.18' set up to track 'origin/release-v0.3_0.18'.
Switched to a new branch 'release-v0.3_0.18'
$ mkdir build && cd build
$ cmake -DMONERO_SOURCE_DIR=/home/dem/Projects/monero -DMONERO_BUILD_DIR=/home/dem/Projects/monero/build/Linux/release-v0.18/release ..
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dem/Projects/monero-lws/build
End of the build:
[ 83%] Linking CXX static library libmonero-lws-rpc.a
[ 83%] Built target monero-lws-rpc
[ 86%] Building CXX object src/CMakeFiles/monero-lws-daemon-common.dir/rest_server.cpp.o
[ 88%] Building CXX object src/CMakeFiles/monero-lws-daemon-common.dir/scanner.cpp.o
[ 90%] Linking CXX static library libmonero-lws-daemon-common.a
[ 90%] Built target monero-lws-daemon-common
[ 93%] Building CXX object src/CMakeFiles/monero-lws-daemon.dir/server_main.cpp.o
[ 95%] Linking CXX executable monero-lws-daemon
/usr/bin/ld: warning: ge25519_nielsadd2.s.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
[ 95%] Built target monero-lws-daemon
[ 97%] Building CXX object src/CMakeFiles/monero-lws-admin.dir/admin_main.cpp.o
[100%] Linking CXX executable monero-lws-admin
/usr/bin/ld: warning: ge25519_nielsadd2.s.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
[100%] Built target monero-lws-admin
`


[v9.0.0] swiper web component: loop + fractional slidesPerView, e.g., 1.3 has several problems => Wrong first slide, can't go slide 3

Check that this is really a bug

[X] I confirm

Reproduction link
https://stackblitz.com/edit/angular-apuupy?file=src/main.ts
Bug description
I previously reported the bug for Swiper Angular: https://github.com/nolimits4web/swiper/issues/6024
Now, I'm reporting it for Swiper web-components. I'm using it from Angular.
loop=true + slide-per-view="1.3" causes several issues:

Pagination bullets doesn't follow along
Starts on slide 2
Can't go to slide 3 when navigating forwards.
Rescaling browser window also has issues.
Works almost for left navigation - sometimes previous slide is not shown.

Expected Behavior
Like it does for React:
https://codesandbox.io/s/swiper-centered-auto-react-forked-9sx5pe?file=/src/App.jsx
Actual Behavior
No response
Swiper version
9.0.0
Platform/Target and Browser Versions
macOs Safari 15.5 also Chrome has issues
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

https://swiperjs.com/migration-guide-v9#loop-mode

It comes with new limitation. Amount of slides in loop mode should be at least 2x of slidesPerView value.

In your case there are actually 3 slides in view, so more slides is required in order to work it properly

Thanks. Added more slides (8 in total).
https://stackblitz.com/edit/angular-jjqcu6?file=src%2Fmain.ts
https://angular-jjqcu6.stackblitz.io
Remaining issues:

starts on slide 2
pagination bullets stops working
sometimes previous slide is empty
I can get the slider to crash by hitting navigation a lot (in Safari at least, haven't tested others)

kind regards,
Jakob


test: add a test for allowing numbers in ionice class

Currently not possible to user numbers for ionice, which it should be when running busybox implementation of ionice.
Look at pull request xolox/python-executor/pull/16 for more information :)
EDIT: Keep in mind, this will fail until the dependency from python-executor gets updated.

@xolox you still working on this project?

Hi @eyJhb, thanks for the feedback and sorry about not following up after xolox/python-executor/pull/16. From my perspective it was done but clearly I could have followed up more thoroughly. I just merged this pull request and released rotate-backups 7.1 which explicitly supports numeric ionice classes (including the test you added and updated usage instructions).


add credit reports

Issue #: 3
Description of changes: Add reports to show charges with and without credits applied
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

will test - and merge branch back to master. Thank you 👍


Service detail screen - don't run automate methods

When displaying the service detail screen (/services/:id), we're doing an API request for the details, including provision_dialog.
But, computing provision_dialog evaluates all the automate methods,
which is not useful when we don't display the dialog afterwards.
=> Added a runAutomate option to getService, and set it to false when on the screen.
(Ops-side, this was solved in https://github.com/ManageIQ/manageiq-ui-classic/pull/5126, by reimplementing a readonly part of dialog-user to display the fields with values from options. SUI-side, I'm not seeing the dialog being displayed, so no need for that.)
Cc @eclarizio
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1695804

@h-kataria , @AllenBW please take a look? :)

Hammer backport details:
$ git log -1
commit 4cd567893363b4890b9c266ad620f6fd6984aae7
Author: Harpreet Kataria<EMAIL_ADDRESS>Date:   Thu Jul 11 11:49:13 2019 -0400

    Merge pull request #1551 from himdel/automate-bz1695804

    Service detail screen - don't run automate methods

    (cherry picked from commit 0c37f061c9c23bbca57e3f22a167653e18b0c852)

    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1755393


added raw aggregation with its test and documentation

closes #30

I have strong concerns to introduce this kind of aggregation due metric vs bucket vs pipeline aggregation types. It brakes library design conception. The solution might be to introduce RawBucketAggregation and RawMetricAggregation.
@mvar can you take a look here? Do you think is there any case we might need this kind of agg?


Calendar

There's no stable release that include @calendar and the script doesn't change this file /var/packages/Calendar/etc/share_link.json base_path parameter
{
   "SYNO.Cal.Application" : {
      "base_path" : "/volume1/@calendar/attach",
      "copy_from_nas_enable" : true,
      "quota_per_attach" : 20971520,
      "quota_per_attach_enable" : false,
      "quota_per_event" : 41943040
   }
}

and there's need to mv also @synocalendar for the core dumps, no config is needed to change in /var/packages/Calendar/scripts/common for this
[...]
synocal_db_dump_path="/${VOLUME}/@synocalendar/"
[...]

v3 has been ready to be a stable release for a long while now.
I've fixed both the issues you mentioned, in v3.0.45.
I was only waiting because I had someone who was going to test moving, backing up and restoring every package and they were very helpful at first, but I haven't had any feedback from them in the last 6 weeks.


"Download your data" button downloads other users profile data

Describe the bug
When i downloaded a copy of My data from the my profile page, i received a copy of the data of another user.
To Reproduce
Steps to reproduce the behavior:

Go to https://docs.microsoft.com/en-us/users/<Your_User_Name>/settings/
Click on Download in the Download your data-section of the profile page
Look at the download, in my case the download existed of data of user Wilco-2574, i'm leaving his email out of this issue. Stragely enough the file name does contain my username, but the data in the json-file is from someone else.

Expected behavior
A download of my data as stated above the Download-button in the self-explanatory title.
Desktop:

OS: Windows 10
Browser Chrome
Version 76.0.3809.132

Thank you for the report - we are investigating this!

@vincentadriaensen Thank you for reporting this. I'm one of the engineers investigating this issue. Could you email me a copy of the json you received when you downloaded a copy of your data as well as the date and time you clicked on the download my data button? You can email me directly at<EMAIL_ADDRESS>

Hi @AndrewCook
I send you a copy via email.
Time of the download: 19/09/2019 20:30 CET.
When i tried again half an hour later (19/09/2019 20:58 CET), i did receive the right data. But i still think this issue is worth looking into.

@vincentadriaensen Thank you for your email. We are investigating and will reach out if we have more questions.


Improved accordian-1 and made it responsive

Closes #999  .

Improved the design of accordian-1
Made the dropdown button working
Made it responsive

Attached video preview:
https://user-images.githubusercontent.com/66685553/208288241-4c83b55f-96ff-4e14-a1c1-eba7a4e86b2b.mp4

Amazing work man. @Dibyendu303