Add #[derive(Debug)] to struct Matches?

Could struct Matches have #[derive(Debug)]?
I'm not see it here.

Good idea! If someone would like to submit a PR that derives Debug on Matches that would be great :+1:

Hey, I'll take this up.


robotframework error installation on python 3.4

I am trying install robotframework on Python 3.4 it produces some errors, Please find below stack trace
However it said the installation completed successfully.  When i am trying to execute my testcase, i am seeing many errors with NameError: name 'unicode' is not defined
(myenv) mkosuri@evolet:~/yang_gen/robotframework-requests$ pip install robotframework
Downloading/unpacking robotframework
  Downloading robotframework-3.0.tar.gz (430kB): 430kB downloaded
  Running setup.py (path:/home/mkosuri/yang_gen/myenv/build/robotframework/setup.py) egg_info for package robotframework

    no previously-included directories found matching 'src/robot/htmldata/testdata'
Installing collected packages: robotframework
  Running setup.py install for robotframework
    changing mode of build/scripts-3.4/pybot from 664 to 775
    changing mode of build/scripts-3.4/robot from 664 to 775
    changing mode of build/scripts-3.4/rebot from 664 to 775
      File "/home/mkosuri/yang_gen/myenv/lib/python3.4/site-packages/robot/running/timeouts/ironpython.py", line 57
        raise self._error[0], self._error[1], self._error[2]
                            ^
    SyntaxError: invalid syntax

      File "/home/mkosuri/yang_gen/myenv/lib/python3.4/site-packages/robot/running/timeouts/jython.py", line 56
        raise self._error[0], self._error[1], self._error[2]
                            ^
    SyntaxError: invalid syntax

    no previously-included directories found matching 'src/robot/htmldata/testdata'
    changing mode of /home/mkosuri/yang_gen/myenv/bin/pybot to 775
    changing mode of /home/mkosuri/yang_gen/myenv/bin/robot to 775
    changing mode of /home/mkosuri/yang_gen/myenv/bin/rebot to 775
Successfully installed robotframework
Cleaning up...

After running my testcase it says NameError: name 'unicode' is not defined
Here is my testcase
Delete Request With Data
    [Tags]  delete
    Create Session  httpbin  http://httpbin.org    debug=3
    &{data}=  Create Dictionary  name=bulkan  surname=evcimen
    ${resp}=  Delete Request  httpbin  /delete  data=${data}
    Should Be Equal As Strings  ${resp.status_code}  200
    Log  ${resp.content}
    Comment  Dictionary Should Contain Value  ${resp.json()['data']}  bulkan
    Comment  Dictionary Should Contain Value  ${resp.json()['data']}  evcimen

Are there anything we are missing/needs to change our testcase.

This is a weird problem. I got no problems when using Python 3.4 directly on Linux (sudo python3.4 -m pip install robotframework) but I get the exact same problem when trying to install into a virtual environment created using Python 3.4. Need to investigate why that happens.

I'm able to reproduce your installation problem when using a virtual environment created with Python 3.4 on Linux. It seems that all of the code is byte compiled and some code that only should be run with Python 2 causes issues. Interestingly I got no problems whatsoever when using Python 3.4 directly without virtual environments. I'll investigate the venv installation issue a bit more and report findings here.
Actually running tests seems to work fine also after I got those errors during installation. Could it be that the library you are trying to use is not Python 3 compatible?

The installation problem really seems to be caused by pip byte compiling all *.py files to *.pyc automatically as part of installation. Luckily we don't need to care about it too much:

These errors don't cause any problems when running tests. When you run Robot on Python 3 these files containing Python 2 syntax are never imported.

If you want to avoid the errors anyway, you can simply use --no-compile option to avoid byte compilation altogether. In this case byte compilation occurs automatically when you run Robot for the first time.

The actual problem in pip seems to be already fixed. I didn't get this error when testing a virtual environment created with Python 3.5 (it has a newer pip) and after upgrading pip in Python 3.4 venv the problems disappeared too.

I'm also fairly certain that the problem you encountered when running tests is caused by Python 3 incompatibility in the library you use. If you think it is not, please submit a new issue with an example demonstrating the problem.


Prevent Dialog from Closing when clicking outside?

Is there any easy way to prevent this from happening by building my Dialog in another way or do I have to create this manually?
I want to prevent the user from closing the form when clicking outside of it

The Shadcn dialog uses the Radix UI dialog component. You can check the component usage here: https://www.radix-ui.com/primitives/docs/components/dialog
To prevent it from closing when clicking outside, you can handle the onInteractOutside prop to disable the effect.

On the Dialogue content component, you can set the onInteractOutside prop to a function to prevent the default behavior.
<DialogContent
        className=""
        onInteractOutside={(e) => {
          e.preventDefault();
        }}

@Dmytrocode please close the issue if its solved

I have this same issue except that I want to actually handle the events when one clicks outside the modal but if I don't prevent default it will close and if I do I can't handle the events....
Any solution?

onInteractOutside={(e) => {
e.preventDefault();
}}

This did it. Thanks!

THANK IT WAS HELPFULL

How to prevent the dialog from closing using the escape key?

@stormynight9, to achieve this you can include the prop onEscapeKeyDown
ie.:
<DialogContent onEscapeKeyDown={(e) => e.preventDefault()}>


Tiered pricing (OCC-119)

Hi,
in NwazetCommerce, there was Tiered pricing functionality:

Are there any plans (and timeline) for this?
Thanks,
Dieter
Jira issue

Hi, no we haven't considered this yet. Thanks for the suggestion. We are currently evaluating what features are most in demand for future releases so if this issue gains traction we will bump it up on the priority.

Do you have any ideas when this might be implemented?
I am migrating an Orchard 1.x shop website that is based on tiered pricing.
Any idea yet how tiered prieces could conceptually be integrated in OCC?
Thanks.
Dieter


docs: change 404 link for getting-started.

Changed a dead link in the installation page.

Thanks!


add an issue template with a comment on api-keys

@nickoala What do you think about this issue template with just a hint to redact API-keys when sharing code?

I think it's OK. Thanks for the suggestion, but I think there's no need to remind people of such little things. :blush:


storage_to_rdfxml not set up to handle non RDA multi-props

Current code in 001_05_multiple_properties.xsl
<!-- when - for other-ontology PTs (TO DO LATER or never) -->
<xsl:otherwise>
     <xsl:text>ERROR - MULTIPLE-PROPERTY PTs NOT CONFIGURED FOR THIS SOURCE</xsl:text>
</xsl:otherwise>

I see it now!
Looks like currently (pseudo-code):
for multiple props:
   when RDA:
      when property_selection:
         ...
      when all_subprops:
         ...
      when all_all_subprops:
         ...
   else:
      x error

what about:
for multiple props:
   when RDA:
      when property_selection:
         ...
      when all_subprops:
         ...
      when all_all_subprops:
         ...
   when UW RDA Ext:
      when property_selection:
         ...
      else:
         x error
   else:
      x error

But wait! It isn't that easy! because... What if property_selection is used in an RDA prop element, and some UW RDA Ext properties are selected? What if property_selection is used in a UW RDA Ext prop element, and some RDA properties are selected!? Ack

I think we could do something like:
for multiple props:
when RDA or UW RDA ext:
      when RDA and all_subprops: (do uw rda extension props have subprops?)
         ...
      when RDA and all_all_subprops:
         ...
      when property_selection:
         when subprop iri starts with "http://rdaregistry":
               get subprop info from set_source
         when subprop iri starts with "https://doi.org/10.6069/uwlib.55.d.4:
              get subprop info...
          else:
               x error
      else:
          x error
else:
    x error

(although I believe we'd need a way to determine the RDA set source for each sub property in the case of a UW RDA Ext prop with RDA subprops)

Thank you @cspayne , adding comments to your plan above:
for multiple props:
  when RDA or UW RDA ext:
      when RDA and all_subprops:
      # @cspayne asks do uw rda extension props have set subprops that can be selected
      # through all or all_all_subprops?
         # BMR: No subprop relationships currently exist in UW RDA Ext, no need to code for that
         ...
      when RDA and all_all_subprops:
         ... # BMR: as above, no subprop relationships in UW RDA Ext at this time, no need to code for it
      when property_selection:
         when subprop iri starts with "http://rdaregistry":
         # BMR: does 'subprop' here = selected prop? Then yes,
               retrieve subprop info from RDF/XML at get_prop_sets/get_set/set_source URL
         when subprop iri starts with "https://doi.org/10.6069/uwlib.55.d.4:
         # @cspayne asks where to get subprop info...
         # BMR: I don't think we need anything that isn't in the property_selection element
         # This has IRI, label, and lang tag
         # if we do, get from RDF/XML at get_prop_sets/get_set/set_source URL, as for RDA props. but I don't think we need to
            pull property options from information in `property_selection`
         else: # so, if property_selection, but IRI doesn't match pattern for either RDA or UW RDA Ext
               x error
      else:
          x error
else:
    x error

I think it's a good plan. I want to confirm the following:

Under when property_selection: above, do you use 'subprop' to mean the entered selected properties?
when subprop (selected prop?) IRI starts with 'https://doi.org/10.6069/...' I don't think we need any information about the UW RDA Ext props that isn't either in the property_selection element (property label, lang tag, and IRI are there) or the implementation set (PT type and config details). So we should have what we need in the prop_set without going to the UW RDA Ext RDF/XML. I just don't think the current stylesheets are written to get what is needed.
To comment in code: Can't implement all_subprops or all_all_subprops in a UW RDA Ext prop element

Does this help? I could meet tomorrow afternoon, or Friday, to discuss in detail if that would be helpful.

Under when property_selection: above, do you use 'subprop' to mean the entered selected properties?

Yes. I realize now that all of the information for the selected properties when using property selection is available within the given prop_set, so I don't think accessing the online rda set_source is necessary in the case of property selection. (Although perhaps we should note somewhere that this is how property selection works, because it means that any human errors in entering the correct prop iri and label will not be caught)

when subprop (selected prop?) IRI starts with 'https://doi.org/10.6069/...' I don't think we need any information about the UW RDA Ext props that isn't either in the property_selection element (property label, lang tag, and IRI are there) or the implementation set (PT type and config details). So we should have what we need in the prop_set without going to the UW RDA Ext RDF/XML. I just don't think the current stylesheets are written to get what is needed

Yes that makes sense.

To comment in code: Can't implement all_subprops or all_all_subprops in a UW RDA Ext prop element

This can also be a comment in the wiki as well!

Agree with all above.
It's very true, using the property_selection element is dependent on accurate human data-entry 😅


Website build is broken

Describe the bug
The build has not passed for the most recent 10 runs. 9 failures were due to timeout. 1 failure was because of a broken master build.
To Reproduce
Here are the builds: https://github.com/apache/pulsar/actions/workflows/ci-pulsar-website-build.yaml
Here are the timeouts: https://github.com/apache/pulsar/runs/5653053711?check_suite_focus=true (failed during upload) and https://github.com/apache/pulsar/runs/5659883571?check_suite_focus=true (failed during download)
Expected behavior
The website build should succeed almost all of the time.

It seems the build is temporarily fixed by #14825. That isn't a long term fix though. I think we'll likely want to review #14837.

Closed as stale. Now the website build should work well.


Clear noisy test log from IdeFilter component introduced in recent updates

@Georgegriff @vladbalanescu
PR #720 has introduced some console.error noise into the CDAI test logs. Although these don't cause the tests to fail, they do appear to indicate problems in the code which should be resolved. If the code is correct as it stands, the tests need to be modified to avoid or catch the error log and mark it as expected (you're welcome to ping me to discuss how this can be done).
The errors can be seen by running yarn jest IdeFilter.
First error

This appears to be caused by IdeFilter.js line 113:

"filter" is not a valid value for the type prop of carbon-components-react Tag component. I wasn't sure what this code was trying to do, so couldn't see the way to fix it.
Second error

This appears to be caused by IdeFilter.spec.js line 193:

The searchIcon prop expects a React element, as set in IdeFilter.js line 253:

but a function that takes a className and returns an element is being supplied. Again, I wasn't sure enough what this code was trying to do to see the way to fix it.
It's currently very easy to overlook console errors in the tests that don't cause the tests to fail, and several other similar errors are being logged from other components -- as soon as they are all fixed I will drop in an update to the jest config to cause tests to fail if they produce unexpected console errors and warnings, which will make this easier to avoid in the future.

I suspect this might have been why a fix was attempted originally and resulted in breaking the component and I reverted in this pr because the change breaks this component. We need to he careful here and maybe ignore the error. The reason: this component cannot use the carbon filters the way they are intended, the reason for this is the open source component that is used for this component react-select is fundamental not compatible with the tags, so I believe the original developer did their best to use the carbon styling whilst working within the constraints of react-select.
All in all we might have just ignore the error especially since this in a "legacy" component, but it is used in production

Something like this would enable the known error message to be ignored during tests:
  it('Renders options with filter tags by default', () => {
    const error = jest.spyOn(console, 'error').mockImplementation(() => {});

    const wrapper = mount(
      <IdeFilter
        options={untypedOptions}
        onChange={() => {}}
        value={[
          {
            label: options[0].options[0].label,
            value: options[0].options[0].value,
          },
        ]}
      />
    );
    // IdeFilter component does not use filter with buttons because they dont work with the react-select MultiValueRemove
    expect(wrapper.find('.ide-filter--tag').at(0).props().type).toEqual(
      'filter'
    );

    // Known issue with invalid prop being passed to Tag component
    expect(error).toBeCalledWith(
      expect.stringMatching(
        'Warning: Failed prop type: Invalid prop `type` of value `filter` supplied to `Tag`.*'
      )
    );
    error.mockRestore();
  });

I've get this on my list I'll get to it when I find a gap


Issue on uploading to ESP32

Hi Bellafaire!
I am facing an issue uploading the sketch to ESP32. When I upload the sketch named "ESP32_BLE_Example_Code_V2" on ESP32 it doesn't show anything on serial monitor and if I upload BLEServer it shows an error in compiling.
So kindly help me and please tell me what should I do.
Thanks

If you could post the error you get when compiling, that could be a lot of help!
You can probably just take the last few lines of the build output and post them here directly, if they are not too long, or you could use a gist and post the entire build log.
Looking at the source files, it seems like BLEServer.ino should actually be called BLEServer.cpp, since it provides the actual implementations of the functions that ESP32_BLE_Example_Code_V2.ino references - so it's actually one single project, not two separate sketches.

When I upload ESP32_BLE_Example_Code_V2.ino nothing happens in serial monitor not getting Bluetooth initialising message and when try to compile BLEServer.ino go the below error.
C:\Users\SpYDeR\AppData\Local\Temp\arduino_cache_751322\core\core_019ba2f18f0b849aa418375be6603a20.a(main.cpp.o):(.literal._Z8loopTaskPv+0x8): undefined reference to setup()' C:\Users\SpYDeR\AppData\Local\Temp\arduino_cache_751322\core\core_019ba2f18f0b849aa418375be6603a20.a(main.cpp.o):(.literal._Z8loopTaskPv+0xc): undefined reference to loop()'
C:\Users\SpYDeR\AppData\Local\Temp\arduino_cache_751322\core\core_019ba2f18f0b849aa418375be6603a20.a(main.cpp.o): In function loopTask(void*)': C:\Users\SpYDeR\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32/main.cpp:18: undefined reference to setup()'
C:\Users\SpYDeR\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32/main.cpp:21: undefined reference to `loop()'
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board ESP32 Dev Module.
If possible kindly help me step by step make the code run successfully

Yes, looks like the File BLEServer.ino is not supposed to be compiled on its own, as it does not define the void setup() or void loop() function that Arduino expects.
Try renaming it to BLEServer.cpp and compiling the ESP32_BLE_Example_Code_V2.ino again.

I renamed the BLEServer.ino to BLEServer.cpp and recieved the error on compiling ESP32_BLE_Example_Code_V2.ino
BLEServer.cpp:45:8: error: 'String' does not name a type
static String currentDataField;
^
BLEServer.cpp:46:8: error: 'boolean' does not name a type
static boolean blockingCommandInProgress = false;
^
BLEServer.cpp:47:8: error: 'String' does not name a type
static String* bleReturnString;
^
BLEServer.cpp:56:8: error: 'boolean' does not name a type
static boolean connected = false;
^
BLEServer.cpp:59:8: error: 'boolean' does not name a type
static boolean operationInProgress = false;
^
BLEServer.cpp:61:14: error: variable or field 'addData' declared void
void addData(String data) {
^
BLEServer.cpp:61:14: error: 'String' was not declared in this scope
exit status 1
'String' does not name a type

Both files need to have the .ino extension and as xasin said they must be compiled together. The example sketch will hang until the android app connects. If the connection is established you will see a persistant notification on your android device that will indicate the BLE connection is working. If it's not working then try force-stopping the android app and opening it back up again. The app only needs to be opened during the initial connection, after that as long as the persistent notification is present the phone will auto-reconnect to the ESP32 whenever it's active.

Hey Bellafaire,
Could you please help me.I want an android studio native app that has a button to on/off esp32 on board led for my final year project and a textview that displays value send by ESP32 serial monitor using BLE.I found nothing all over the internet even I tried freelancing services but nothing works.Please help

If I may - doing something like this should not be too hard :)
I recommend using Bellafaire's work here as basis, and then tweaking it a bit to fit your requirements.
It should be easy enough to add a new BLE characteristic that acts as on/off boolean, which the app can toggle.
I also had a lot of success using Qt for this sort of stuff.
It's not a truly native app, so it's not optimal, but if you are more comfortable in C++ and know the Qt framework it might be worth considering.
Other than that, I think it's a bit much to ask for help for the entire app for this. Documentation on BLE, Android app writing, and the ESP32 is all very rich and mature.
There might not be a single tutorial for your exact needs, but there are plenty of tutorials on all the individual steps :)

I see where you're coming from, BLE isn't very beginner friendly when it comes to trying to get basic communication established. I have given thought to creating some tutorials just because of how difficult I remember it being when trying to learn to make things work. There's a lot involved in handling Bluetooth communication on android, I have used flutter in the past to make a cross-platform app that used Bluetooth through flutter_blue and overall it was much easier (and much smaller in terms of code I had to write).
Overall the tutorials for BLE generally breeze over a lot of the details which means when something goes wrong you're on your own in a pretty confusing mess. Best I could do is recommend you towards a repo other than this one, there's a lot going on in the background of this app that doesn't necessarily have to do with Bluetooth. Additionally there are a few non-standard things that I'm doing here purely for convenience in the intended application.
I do have another repo however that's more like what you're looking for
https://github.com/Bellafaire/Banshee-Antweight-Battlebot
here you'll find the source for an esp32-based battle Bot I've been working on as a pet project that is controlled by an android phone. It's comparatively simple and should be an easier starting point for you. Also included is the ESP32 code, all it does is send data from two joysticks and a slider plus read some data back from the ESP32.

Also, BTW, if it does not need to be low power, I would highly advise looking into standard BT.
The protocol is much easier if you just use BT SPP and wrap your own data packets, although the power drain is more.
I can't compare the native Android BLE code with Qt, but I know that the Qt BLE module was pretty easy to use - you just connect, search the GATT structure, then fetch the characteristic you want to interact with.
You could also just go for something WiFi-based, using MQTT or maybe an ESP Mesh?
If you aren't comfortable with learning a complex/weird protocol like BLE for this, maybe switching to an alternative could be very worthwhile.
Also, if you intend to write your own BLE code, do not use the standard ESP Bluedroid, it's atrociously written.
nimBLE is muuuuch more comfortable when setting up the GATT structure.


sre_constants.error: incomplete escape \U at position 2

Under Windows recipy search file-import.csv raises sre_constants.error: incomplete escape \U at position 2 using Git Bash and Anaconda Python prompts:
$ recipy search file-import.csv
Traceback (most recent call last):
  File "C:\Users\mjj\Anaconda3\Scripts\recipy-script.py", line 9, in <module>
    load_entry_point('recipy==0.2.3', 'console_scripts', 'recipy')()
  File "C:\Users\mjj\Anaconda3\lib\site-packages\recipy-0.2.3-py3.5.egg\recipyCmd\recipycmd.py", line 116, in main
    search(args)
  File "C:\Users\mjj\Anaconda3\lib\site-packages\recipy-0.2.3-py3.5.egg\recipyCmd\recipycmd.py", line 255, in search
    lambda x: listsearch(os.path.abspath(filename), x)))
  File "C:\Users\mjj\Anaconda3\lib\site-packages\tinydb\database.py", line 407,
in search
    elements = [element for element in self.all() if cond(element)]
  File "C:\Users\mjj\Anaconda3\lib\site-packages\tinydb\database.py", line 407,
in <listcomp>
    elements = [element for element in self.all() if cond(element)]
  File "C:\Users\mjj\Anaconda3\lib\site-packages\tinydb\queries.py", line 45, in __call__
    return self.test(value)
  File "C:\Users\mjj\Anaconda3\lib\site-packages\tinydb\queries.py", line 136, in impl
    return test(value)
  File "C:\Users\mjj\Anaconda3\lib\site-packages\tinydb\queries.py", line 305, in <lambda>
    return self._generate_test(lambda value: _cmp(value),
  File "C:\Users\mjj\Anaconda3\lib\site-packages\tinydb\queries.py", line 299, in _cmp
    return is_sequence(value) and any(cond(e) for e in value)
  File "C:\Users\mjj\Anaconda3\lib\site-packages\tinydb\queries.py", line 299, in <genexpr>
    return is_sequence(value) and any(cond(e) for e in value)
  File "C:\Users\mjj\Anaconda3\lib\site-packages\recipy-0.2.3-py3.5.egg\recipyCmd\recipycmd.py", line 255, in <lambda>
    lambda x: listsearch(os.path.abspath(filename), x)))
  File "C:\Users\mjj\Anaconda3\lib\site-packages\recipy-0.2.3-py3.5.egg\recipyCommon\tinydb_utils.py", line 45, in listsearch
    return bool(re.search(query, item) or
  File "C:\Users\mjj\Anaconda3\lib\re.py", line 173, in search
    return _compile(pattern, flags).search(string)
  File "C:\Users\mjj\Anaconda3\lib\re.py", line 293, in _compile
    p = sre_compile.compile(pattern, flags)
  File "C:\Users\mjj\Anaconda3\lib\sre_compile.py", line 536, in compile
    p = sre_parse.parse(p, flags)
  File "C:\Users\mjj\Anaconda3\lib\sre_parse.py", line 829, in parse
    p = _parse_sub(source, pattern, 0)
  File "C:\Users\mjj\Anaconda3\lib\sre_parse.py", line 437, in _parse_sub
    itemsappend(_parse(source, state))
  File "C:\Users\mjj\Anaconda3\lib\sre_parse.py", line 524, in _parse
    code = _escape(source, this, state)
  File "C:\Users\mjj\Anaconda3\lib\sre_parse.py", line 388, in _escape
    raise source.error("incomplete escape %s" % escape, len(escape))
sre_constants.error: incomplete escape \U at position 2

via @mikej888

I'll try and investigate this on my Windows machine at university. @mikej888 - do you know if this was with Python 2 or Python 3? And did the error occur for all file searches? Or just this particular one?

It was for Python 3 and I tried it on other file names e.g. tmp.txt and tmp.csv. I just tried on Windows 7 with Python 2 and it does not throw an exception but returns no results:
$ python --version
Python 2.7.12 :: Anaconda 4.1.1 (64-bit)
$ python run_numpy.py
recipy run inserted, with ID f9f390c7-d544-499c-a2e7-2054d4b5bcce
$ recipy latest
Run ID: f9f390c7-d544-499c-a2e7-2054d4b5bcce
Created by mjj on 2016-09-12 11:02:36 UTC
Ran C:\Users\mjj\Desktop\run_numpy.py using C:\Users\mjj\Anaconda2\python.exe
Environment: Windows-7-6.1.7601-SP1, python 2.7.12 |Anaconda 4.1.1 (64-bit)| (
fault, Jun 29 2016, 11:07:13) [MSC v.1500 64 bit (AMD64)]
Inputs:
  C:\Users\mjj\Desktop\tmp.txt
Outputs:
  C:\Users\mjj\Desktop\tmp.csv
  C:\Users\mjj\Desktop\tmp.txt

$ recipy search tmp.txt
No results found

$ recipy search tmp.csv
No results found

$ recipy search run_numpy.py
No results found

$ recipy search -i f9f390c7-d544-499c-a2e7-2054d4b5bcce
No results found

I've done lots of changes to how the command-line interface works today, and I think this may have been fixed in the process. Partly this was down to ambiguity in exactly what the command-line interface searches: now it defaults to hashes (which are computed and stored by default - the command-line option now turns them off) and to search based on file names you have to use --filepath (or -p).
Can you see if this is now fixed in the latest master?

The following now worked on Windows 7 Enterprise SP1 under Anaconda 4.1.1 Python 2.7.12 and Python 3.5.2 Anaconda 4.1.1 (64-bit):
recipy search -p C:\\Users\\mjj\\Desktop\\tmp.txt
recipy search -p C:/Users/mjj/Desktop/tmp.txt

Great :-)


⚠ Bofrost.de has degraded performance

In 19ff098, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2011 ms

Resolved: Bofrost.de performance has improved in 387a6ee after 7 minutes.


Use ItemCount to determine PseudoClass in ItemsControl for better consistency

What does the pull request do?
This PR is making ItemsControl more consistent in how it updates the PseudoClasses. An (intended) side effect of this is to allow the use of a collection that implements INotifyCollectionChanged and IEnumerable, but not ICollection.
In my particular use case (where this was a problem) it was fine to implement ICollection on the custom collection, but the inconsistency between interpreting Items as an IEnumerable when the collection is first built and not when it changes is probably not desirable.
This is related to #54, and while it was indicating that this might be a reasonable change, it may well be the case that it would be better to reject collections that do not implement ICollection outright.
What is the current behavior?
Currently ItemsControl sets the PseudoClasses assuming that Items is an ICollection when the collection is modified. However, it allows it to be an IEnumerable when it first determines the PseudoClasses. Consequently, it supports well-behaved IEnumerable collections with the exception of setting the :empty psuedo-classes when a non-ICollection is used that notifies a change regardless of the number of items in the collection (which is otherwise determined through IEnumerable).
What is the updated/expected behavior with this PR?
For consistency, the code should fall back to interrogating the IEnumerable directly if it cannot cast it as ICollection.
How was the solution implemented (if it's not obvious)?
The code to set the PseudoClasses is put in one method, and depends on the ItemCount property, rather than re-computing it, which previous was performed in 2 different ways (one allowed IEnumerable, and one which did not).
Tests are added to check ItemCount and :isempty when a collection changes. I'm happy to add more tests (for e.g. :singleitem) if this suits. If it is deemed appropriate that IEnumerable should be supported, then I'll be happy to add additional tests for them (none of these tests fail with the original code because the PR doesn't change the observable behaviour when using an ICollection).
Checklist

[x] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Avaloniaui.net with user documentation

I think this can be better
//on constructor
this.GetObservable(ItemCountProperty).Subscribe(onNext: x =>
{
    UpdatePseudoclasses();
});

I think this can be better

Recently we've been moving away from this pattern in the core controls and instead listening to the value changing in OnPropertyChanged as this doesn't result in any allocations.

a collection that implements INotifyCollectionChanged and IEnumerable, but not ICollection

Note that this isn't a good idea, and we'll probably throw an exception in a future version of Avalonia if you try to use a collection which implements INotifyCollectionChanged but not IList because we really need an indexer in order to support INotifyCollectionChanged.
(This isn't commenting on the usefulness of this PR btw).

@grokys would the existing Button be a good example to follow for the OnPropertyChanged/UpdatePsuedoClasses pattern? https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Controls/Button.cs#L361

Added additional tests for :singleitem rearranged UpdatePseudoClasses usage in the style of Button.

Yep, that looks good to me @VisualMelon !


CNV-27327: Add resource kind filter

🎥 Demo
Removing resource icon and allowing the user to filter by resource kind, this improvement was suggested by UX
After:

/lgtm


Non-intrusive by default.

Hello.
Thank you for your work on svgo!
I have a suggestion to change the approach to default configuration.
Now, to use svgo one must read through all the plugins, figure our which one of them applies by default, then examine default configuration and disable plugins if necessary.
More importantly, it is not possible to make a future-proof configuration: each svgo update might possibly bring new default plugin which may or may not break existing application which use svgo.
I suggest you to clear default plugin list, or at least make a it possible with public API to do so.
I encountered a number of posts over the internet with people describing how they found that they need to disable certain svgo plugins to make svgo work for them. I think that is a proof of my point.
Thank you.

I'm sorry, I guess config option full: true serves exactly for that purpose.


Update README.md

The issue was getting a bit full so here's a link to a new one

Hey @Clickyhdd thank you so much for your initiative to create another issue!
You also need to update this text/link:

Comment in this issue (please, do not open a new one).

After this, please, follow these instructions to add a PR.
Thanks!

There I think I got it


Replying to a tweet?

Is there a way to reply to a user's tweet? If you have a given tweet ID is there a way to reply to that tweet?
Or is there any way that can be a feature request?

Unfortunately, currently there is now way to reply to a tweet.
But it can be added. I'll open up an issue for tracking this feature request.

Unfortunately, currently there is now way to reply to a tweet.
But it can be added. I'll open up an issue for tracking this feature request.
Edit 1: Here is the issue #449

I made a code snippet of that replies to a users tweet given tweet id. could u please give me the request object  u make when uploading a tweet with media? Im bad at programming and the docs are too confusing for me to read. You'll understand what i mean by request object by looking at the snippet
replace "enter id here" with tweet id
`const rettiwt = new Rettiwt({ apiKey: apikey});
authorization = rettiwt.auth.cred.authToken;
csrf = rettiwt.auth.cred.csrfToken;
cookie = rettiwt.auth.cred.cookies;
const requestPayload = {
variables: {
tweet_text: "I replied ez",
reply: {
in_reply_to_tweet_id: "enter id here",
exclude_reply_user_ids: [],
},
dark_request: false,
media: {
media_entities: [],
possibly_sensitive: false,
},
semantic_annotation_ids: [],
},
features: {
c9s_tweet_anatomy_moderator_badge_enabled: true,
tweetypie_unmention_optimization_enabled: true,
responsive_web_edit_tweet_api_enabled: true,
graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
view_counts_everywhere_api_enabled: true,
longform_notetweets_consumption_enabled: true,
responsive_web_twitter_article_tweet_consumption_enabled: true,
tweet_awards_web_tipping_enabled: false,
longform_notetweets_rich_text_read_enabled: true,
longform_notetweets_inline_media_enabled: true,
rweb_video_timestamps_enabled: true,
responsive_web_graphql_exclude_directive_enabled: true,
verified_phone_label_enabled: false,
freedom_of_speech_not_reach_fetch_enabled: true,
standardized_nudges_misinfo: true,
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
responsive_web_graphql_timeline_navigation_enabled: true,
responsive_web_enhance_cards_enabled: false,
},
queryId: "_BCvBRcat20zPDIAxmH5ag",
};
const requestHeader = {
method: 'POST',
url: '/i/api/graphql/_BCvBRcat20zPDIAxmH5ag/CreateTweet',
baseURL: 'https://twitter.com',
headers: {
'Host': 'twitter.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0',
  'authorization': `Bearer ${authorization}`,
  'x-csrf-token': `${csrf}`,
  'Connection': 'keep-alive',
  'Cookie': `${cookie}`,
  'TE': 'trailers',
},
data: requestPayload,

};
axios(requestHeader)
.then(response => {
console.log('Response:', response.data);
})
.catch(error => {
console.error('Error:', error);
});`

@IbrahimAbdi1 Yeah this will do, but, these changes must first me made to Rettiwt-Core.
You see, the way this package works is Rettiwt-Core first generates the required request configuration based on the requested data. The returned configuration is then used by this package to make requests then filter out the gibberish data and return only the meaningful data.
The requestPayload which you provided in the snippet will be dynamically generated in Rettiwt-Core
If you are willing to work, you may add it to Rettiwt-Core, if not, I'll be stealing this snippet and adding it myself :P

@IbrahimAbdi1 Yeah this will do, but, these changes must first me made to Rettiwt-Core.
You see, the way this package works is Rettiwt-Core first generates the required request configuration based on the requested data. The returned configuration is then used by this package to make requests then filter out the gibberish data and return only the meaningful data.
The requestPayload which you provided in the snippet will be dynamically generated in Rettiwt-Core
If you are willing to work, you may add it to Rettiwt-Core, if not, I'll be stealing this snippet and adding it myself :P

No please do it yourself lol. If u can implement replying with media that would be awesome

@IbrahimAbdi1 On it.
Thanks for the feedback!

@IbrahimAbdi1 On it.
Thanks for the feedback!

Oh if you can add the ability to send a bytearray for upload instead of media path that would be great.


[IMPROVEMENT] Disable revert for the snapshots being marked as Removed

Is your improvement request related to a feature? Please describe
Once the snapshots are marked as Removed, the corresponding files may be modified. e.g., Snapshot prune #3613  Hence, Longhorn should not allow reverting to this kind of snapshot.
Describe the solution you'd like
Check snapshots are marked as Removed or not before starting revert in the manager/engne/replica.
Additional context
This is the prerequisite of #3613

@shuo-wu or @smallteeths Please help provide the testing steps for @longhorn/qa . Thanks.

My self-test steps are a little more cumbersome.

Use longhorn v1.2.x backend, access to volume detail page.
Create a recurringJob with Every minute.  Wait for the backup to be created.
Delete the backup, turn on the Show System Hidden At this time, the snapshot with removed as true will be displayed on the ui
Upgrade longhorn to the latest version.
The snapshot marked as removed from the ui will have a delete action. Executing the delete action will successfully delete the snaoshot.

The step to generate The snapshot marked as removed is a little tedious.
@shuo-wu do you have a better way?

I am thinking if we need separate tickets to track the UI improvement. I just realized that it's mainly related to removed snapshots rather than the snapshot revert...
As for the manual test, I just add a manual test doc in PR: https://github.com/longhorn/longhorn-tests/pull/908
PTAL

Actually, there are two parts in that PR, but it should be better to separate to 2 commits instead.

About snapshot revert not allowed if the snapshot marked as removed, refer to https://github.com/longhorn/longhorn-ui/pull/500/files#diff-a0582eff58af741a5961513d74ba61d87411c56210796365ad1f04413f5dbe84.
The second is about removing snapshots marked as removed.

Let's just update this ticket for these changes instead of creating another new one.

Validated on master-head 20220427
Result Pass

After snapshot marked as Removed and attach volume again in Maintenance mode, form volume detail page there not exist revert option on removed snapshot (enable Show System Hidden:).
If use API to revert the marked as Removed snapshot , will get below message to refuse to revert.

 {"actions":{},"code":"Server Error","detail":"","links":{"self":"http://<IP_ADDRESS>:9500/v1/volumes/vol1"},"message":"fail to revert snapshot: not revert to snapshot '287f34a1-8b65-47a3-83ee-7a252112d2ce' for volume 'vol1' since it's marked as Removed","status":500,"type":"error"}

After snapshot marked as Removed and volume not in Maintenance mode, form volume detail page there was an option to delete the snapshot which marked as Removed (enable Show System Hidden:).
From API http://<LH IP>/v1/volumes/<volume name>?action=snapshotList  can see the deleted snapshot not appear in the list

Test pass with steps in https://github.com/longhorn/longhorn-tests/pull/908/files#diff-4e9d8bf0de6afe45555d97257f922cad10a0df9814767623b2688c4bf9d0ae93

e2e case passed


[OpenAPI Generator] Enable allow-list for API and Model classes

Usage:

In additionalProperties define includeApis and includeModels. Use <space> or , as delimiter.

<plugin>
  <groupId>com.sap.cloud.sdk.datamodel</groupId>
  <artifactId>openapi-generator-maven-plugin</artifactId>
  <configuration>
    <additionalProperties>
      <includeApis>Sodas,Orders</includeApis>
      <includeModels>
        Order
        OrderWithTimestamp
        Soda
        SodaWithId
      </includeModels>
    </additionalProperties>

Note:

To enable the generation of file SodasApi.java, the includeApis field should contain Sodas (without suffix),
If includeApis is not defined, all APIs are allowed. Same with includeModels.
The "include" prefix was chosen with regards to OData similar settings for <includeEntitySets> and <includeFunctionImports>

Moves stale PR to personal fork.


Some found issues/questions

Some questions:

Merged package - can we use Retail package there? It was earlier reported, that Retail packages cannot be merged
For Release candidate package steps 2 and 4 contain 'Click Release candidate' - do we need to click this button twice?
'Sign off with issues' - is it the same as button 'Close with issues' from the screenshot?
"if the folder name is ExecuteRunbook-b0c5c413-dae3-4a7a-a0c4-d558614f7e98-1_I0_R0, the step number is highlighted and is the number after the globally unique identifier (GUID)"  - is '1_I0_R0' used as Step number? I checked some logs and this number is always the same

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

ID: 4008b2e3-4d1a-e146-8bdb-f39280124e9f
Version Independent ID: 22f8390d-bb4d-1755-515c-7e7ebf1ddaae
Content: Apply updates to cloud environments - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/deployment/apply-deployable-package-system.md
Service: dynamics-ax-platform
GitHub Login: @manalidongre
Microsoft Alias: manado

Thanks for the feedback. I've asked the author to review your questions and comments. We'll work to enhance this topic and provide the information that you're looking for in a future update.

Tracking bug logged: 255739


Use the default query if the generated filter is empty.

In the SelfQueryRetriever, the code try to generate a filter, and simplifies the question.
But, if the first step can not generate que specific filter, the simplified version of the question is used. This changes the answer completely.
It's possible to use use_original_query to force the usage of the original query.
But, I think if it's possible to generate a filter, it's a good idea to use the simplified version of the question.
Else, it's necessary to use the original question, because the filter is no longer involved.

I have no access of Vercel.

this is actually intentional


refund is not working with dynamic data

refund api not working with POST['payment_id'] POST['amount']

Please provide a snippet.

My code File:
[image: code (2).png]
1.Result with pre define value(TestId):
[image: static (2).png]

Result with form POST data :

[image: dynamic.png]
On Mon, Jul 1, 2019 at 11:38 PM Nemo<EMAIL_ADDRESS>wrote:

Please provide a snippet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/razorpay/razorpay-php/issues/111?email_source=notifications&email_token=AFPFVVYZVEYZQUCI3FC2WCDP5JBYTA5CNFSM4H4TZOQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY65C5I#issuecomment-507367797,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFPFVV7YQ5PJXN5KM3QXAIDP5JBYTANCNFSM4H4TZOQA
.

--
Thanks and Regards
Renuka A
PHP Developer

@renu-a Images are missing here, can you please try uploading via GitHub?

Closing this since there's no response. Please don't let that stop you from re-opening if the issue is persisting for you.


Allow first child to stay on the same line with block parent when rewriting chain

Please see https://github.com/rust-lang-nursery/fmt-rfcs/issues/66.

Nice, thank you!


Vendors for fiscal hosts

User story

Fiscal hosts can account for expenses and contributions through vendors without having to create pseudo-organizations for them. Fiscal hosts are currently required to create pseudo-profiles on the platform in order to account for added funds and expenses to vendors. These profile are difficult to manage and use (”which Google should I choose?”).

I am an expense submitter and would like to be able to submit an expense to a vendor.

I am a guest browsing Open Collective trying to understand what it is, what is going on here, can this serve me ... and some searches lead to long results (spanning many screens) that include what looks like duplicate results and I can’t tell what is what ... and this makes me doubt the seriousness of this place.

We are currently breaking the ledger rule (a credit and debit transaction pair) in two places: 1) When adding funds we allow creating a credit from a collective to itself and 2) When we lost disputes we create a DEBIT a PAYMENT_PROCESSOR_DISPUTE_FEE transaction from the fiscal host to itself. Vendors will enable us to address both these scenarios without compromising on ledger structure integrity.

Best solution for this problem

Provide fiscal hosts a tool for creating and managing vendors.

To create them in such a way that they are uniquely associated with the fiscal host. Eg: if numerous fiscal hosts interact with Google, each fiscal host will have their own Google vendor.
To create them in such a way that they do not have or require any administrator users (any admin for a given fiscal host should be able to add funds and or pay expenses to any of the vendors).
To create them in such a way that they have no public visibility as profiles. The vendor name can and should show in the ledger for related transactions, but there should not be a link an extended profile.
To provide fiscal hosts a way to see all the transactions that are related to a vendor.

Adapt the fiscal host workspace tools to vendors
Adapt the expense submission flow to vendors for Fiscal Hosts ONLY.
Exclude creating organizations from the contribution flow.
Adapt the pending contribution flow (fiscal host admins) to work with vendors and organizations. Prioritize vendors over organizations.

Coda reference

Technical Specs and Implementation
Main Assumptions

Vendors are fiscal-host dependent. They exist within a specific fiscal-host context and are exclusively managed by its fiscal-host admins.
a. Cross-host vendor inconsistency are acceptable at this point.
The vendor has a single payout method attached to it, so EXPENSE_SUBMITTERs can safely submit the expense without worrying about it.

Implementation
API

[ ] Add CreateVendor mutation

[ ] Use fiscal host ID as ParentCollectiveId to create an association and grant fiscal-host admins edit access
[ ] Generate Slug based on fiscal host slug + vendor name
[ ] Store vendor-specific information on Collective.data
[ ] Use existing Collective.type VENDOR

[ ] Add EditVendor/DeleteVendor mutation

[ ] Should check user permission using existing children's collective logic
[ ] Should update data field based on a vendor-specific property list

[ ] Update Account.childrenAccount resolver that accepts searchTerm argument

[ ] By default, filter out VENDOR type from the default childrenAccount collective resolver
[ ] Should only include vendors if remoteUser is fiscal host admin or EXPENSE_SUBMITTER of the vendor

[ ] Create a new EXPENSE_SUBMITTER member.role

[ ] Role should allow members to submit/edit expenses as the collective without leaking payout information
[ ] Role should not allow: editing/deleting collective, seeing sensitive information from collective and expenses, donating/contributing as vendor
[ ] Update createExpense/editExpense mutation to work with EXPENSE_SUBMITTER and without PayoutMethod

[ ] EXPENSE_SUBMITTER should also be able to delete their own expenses

Frontend

[ ] Implement Vendors host dashboard section

[ ] Implement Create/Edit modal
[ ] Fiscal Host should also be able to add/remove EXPENSE_SUBMITTER

[ ] Adapt ExpenseForm

[ ] Make sure Organizations can not be created from the Collective picker
[ ] For fiscal host admins, preload Host vendors and inject them into the Collective Picker

[ ] Display VENDORs previously associated with the collective on top

[ ] For EXPENSE_SUBMITTER:

[ ] Hide PayoutMethod field and update validation accordingly

[ ] Adapt AddFundsModal and CreatePendingOrderModal

[ ] For fiscal host admins, preload Host vendors and inject them into the Collective Picker

[ ] Display VENDORs previously associated with the collective on top

[ ] Make sure Organizations can not be created from the Collective picker
[ ] It should NOT be possible to pick the collective itself as the contributor

Migration

[ ] List existing VENDOR-like organizations on the platform

[ ] Make sure to display which hosts use them

@Memo-Es @aminakazi heads up, we'll also need to add a small member managing field in the EditVendorDrawer so we can add and remove EXPENSE_SUBMITTERs. We can make it really simple since we're not sure this is going to be widely used.

Design update
- Design round 1
https://www.loom.com/share/f20d6f5820d44f1da8526347ce5d8f28?sid=8d962b16-f3fc-4298-947c-07244117036d
- Design round 2
https://www.loom.com/share/1cff54b86d584c9c978d7092354d2075?sid=04bc021a-8ace-425b-804c-176cb0b1f158
Figma file

Week 3 update

[ ] Demo the latest design to main hosts and finalize the form design
[ ] Adapt expense flow to allow submission through a vendor
[ ] How to tie existing transactions with vendors?

This week:

[ ] Wrap up API resolvers and mutations

[ ] Add missing activity creation

[ ] Start implementing Frontend host dashboard section

From our call related to Expenses and vendors:

Fiscal Host admins should always be able to submit an expense in the name of a vendor.

We don't need to specify users that can use a given vendor, a user boolean flag for allowing users to submit an expense in the name of the vendor is enough for now. (Defaults to Enabled)

This week:

[ ] Enable Vendors for Added Funds
[ ] Enable Vendors for Pending Contribution
[ ] Enable Vendors for Expense flow

[ ] Implement Collective policy that enables users to use Vendors

[ ] Review Vendor Form and implement pending validation checks

Week 5 Update

[ ] Migration strategy @Memo-Es @kewitz @iamronen

This week:

[ ] Build a list of existing Organizations that should be converted into vendors

[ ] Write migration to automatically Organizations that can be converted into Vendors without conflicts

[ ] Fix and merge Vendors PR

This week:

[ ] Enable Vendors in production to select hosts

just a note to say that this project is carrying across into the last cycle of the year. Plan for this cycle is to implement the process by which hosts will be made aware that an organisation should potentially by turned into or merged with an existing vendor.

we designed a migration tool that would be integrated into the vendors project (they would show as a “potential vendors”) that would enable fiscal host admins to either transform pseudo organizations into vendors or merge them with existing vendors. This would retain all the accounting related information (expenses and/or contributions) while removing the pseudo organizations from the public-facing website.

We were not able to complete this work during the cycle and would like to followup with it.

Case in point:

OCE will be able to create vendors for the SmartCoops in each country they operate.

However without the migration tool the many pseudo organizations created by individuals who submit expenses through SmartCoop will continue to exist and it will not be clear to expense submitters that they can use vendors.
The migration tool will enable OCE to merge the pseudo-organizations into their corresponding vendors, this will automatically notify the admins of the pseudo-organizations that this is happened and that they can now submit expenses directly to the vendors.
This will both advance the vendor adoption and enable all fiscal hosts to engage with a platform cleanup as they encounter these pseudo-organizations.

@iamronen could you drop the design for the tool above that you worked up last cycle?

Tagging @Memo-Es for the designs.
Noting that there has been an agreed compromise on the designs to make for easier implementation: disentangling the transformation into a vendor from the ability to edit a vendor (which in the designs have been integrated into a smooth flow - that is a better but more expense UX).
We have agreed to focus on (initially) handling only potential vendors (=organizations) that have interacted with one fiscal host. We have also agreed to test if there are (and if so how many) vendors that have interacted with more than one fiscal host and will decide what to do with them at a later time.
Another missing piece we wish to complete is adding a vendor while creating added funds and pending contributions.

I am leaving the design files as a record:
Vendors main feature
Migration tool (Potential vendors)

We're still missing the implementation of non tax-liable flag:

[ ] https://github.com/opencollective/opencollective/issues/6225
[ ] Tie "Require Tax Form" to the implemented flag


Update readme and documentation

Closes #13. Updated the README and created a doc folder for the management API/policies definitions. @lostinthestory @DavidMGreen PTAL.

:+1: LGTM, makes the ReadMe much cleaner!


Is there a way to trigger pipeline using Azure Artifacts in YML?

Hey there,
When defining a GUI release I can make it be triggered by an Azure Artifact, is there a way to replicate this for pipelines in YML?
I am building in one AZDO tenant, pushing universal packages to another tenant, where the release definitions will be defined, I'm hoping this can be in YAML. But I don't see an obvious way to do this at the moment?
Cheers

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

ID: f5673ec1-c7d1-e0ac-043a-8fc3d5b226a9
Version Independent ID: b4872831-51c0-6cf8-1c56-de20beb38a80
Content: Build pipeline triggers - Azure Pipelines
Content Source: docs/pipelines/build/triggers.md
Product: devops
Technology: devops-cicd
GitHub Login: @steved0x
Microsoft Alias: sdanie

Thanks for your question. It looks like you're working through an issue with your scenario or implementation, rather than an issue with the documentation. Here are a couple of options where you might consider asking your question:

Azure DevOps on Stack Overflow

Azure DevOps Support Bot

I am closing this issue now.  You are welcome to @ mention me for any followup.
We hope to hear from you again.

Cheers, I have created a question on SO


Add Slack to README

Currently, Slack is supported by the codebase, but support for it is not
indicated in the README.
Help future readers by adding it to the readme as an officially
supported service.

Good catch!

I only found it because I was about to write the slack integration myself :)


project.docker is not resolving correctly with dnsmasq.

I think you need the following change to dnsmasq.plist (add a . in front of docker)
<string>--address=/.docker/<IP_ADDRESS></string>

Hey @idyll , can you describe the issue you're seeing with the current version? I know of quite a few people using it successfully, and I can't find anything in the dnsmasq documentation that would indicate needing to add a dot.

I can't resolver app_name.docker without it.

hm, I'm not sure why you would be the first one to encounter such an issue. Maybe you have an older version of dnsmasq? I tried making the change and haven't been able to find any issues with it though, so I'm OK with it if it fixes a problem.
It's on master now, and will go out with the next release. Thanks for the report.


[Identity] Make clearer DefaultAzureCredential error message

Is your feature request related to a problem? Please describe.
Currently, the DefaultAzureCredential outputs an error message that's mostly just the text from exceptions thrown by each credential. The end result is something that's both difficult to read and unpolished.
Describe the solution you'd like
What we'd like is something that similar to https://gist.github.com/jonathandturner/78fdc85bb8da56a952b5106071552326, where the failures during DAC are clearly presented to the user in a way they can understand what credentials were tried and how they failed.
Additional context
A related issue is:  https://github.com/Azure/azure-sdk-for-js/issues/9063 - we should ensure that each of the credentials we try outputs something. The current DAC doesn't give equal time for each credential, making it appear that the credential wasn't tried just because visually you may not immediately see its output.

I assigned an estimate of 3 because this needs some agreement with the other teams, since the error messages should be about the same.

For this issue, I have proposed this change: https://gist.github.com/sadasant/133abbdedec7ccfe4ffd50092a3b6e05 but it's an API change that we won't be able to make for the next identity release.

We haven't made agreements here, and this isn't part of the blocking issues for the September release, so I'm thinking on moving this out of this release.
cc: @jonathandturner @ramya-rao-a

July is fully booked already. Let’s move this back two months at least.

We should be able to get to this issue in the following months. The September milestone seems appropriate from my limited perspective at the moment.

closed on favor of https://github.com/Azure/azure-sdk-for-js/issues/17337


Region references

HDF5 has a nice notion of region references, which allows one to select a region of dataset without loading it right away. This feature seems very interesting to me when considering Zarr as one could partition datasets as needed and load those pieces into memory as needed without flooding it. Would be curious to know if there is interest in inclusion of such a feature into Zarr.

I've heard of this feature in HDF5 but never used it, I'll do some
reading...
On Thu, Jan 19, 2017 at 5:12 PM, jakirkham<EMAIL_ADDRESS>wrote:

HDF5 has a nice notion of region references, which allows one to select a
region of dataset without loading it right away. This feature seems very
interesting to me when considering Zarr as one could partition datasets as
needed and load those pieces into memory as needed without flooding it.
Would be curious to know if there is interest in inclusion of such a
feature into Zarr.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/zarr/issues/99, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAq8QjU-Swbi8UCxY9Chpmu2K9zMMAcdks5rT5mZgaJpZM4LoXbA
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

Hi @jakirkham, I took a look at the h5py docs for region references.
As far as I can make it out, it looks like a region reference is basically an n-dimensional slice. I.e., you could represent a region reference as a Python slice object. I'm not sure what use a region reference object is, over and above what a Python slice object would give you?
HDF5 (h5py) also allows you to save a region reference in an HDF5 file.
Is it this ability to save region references, as either attributes on an array or within a separate array, that you were thinking would be useful?

As far as I can make it out, it looks like a region reference is basically an n-dimensional slice. I.e., you could represent a region reference as a Python slice object. I'm not sure what use a region reference object is, over and above what a Python slice object would give you?

Mainly that it hasn't read in the data yet and it could be deferred so one can do d[:] to get it later. Though if your point is Zarr doesn't need this per se, I concede that is probably true.

Is it this ability to save region references, as either attributes on an array or within a separate array, that you were thinking would be useful?

It can be, which is the other reason I raised it. Was curious if it was of interest to others. Though I don't have any use cases for this currently, I have used this before and it is quite nice.

On Tuesday, January 24, 2017, jakirkham<EMAIL_ADDRESS>wrote:

As far as I can make it out, it looks like a region reference is basically
an n-dimensional slice. I.e., you could represent a region reference as a
Python slice object. I'm not sure what use a region reference object is,
over and above what a Python slice object would give you?
Mainly that it hasn't read in the data yet and it could be deferred so one
can do d[:] to get it later. Though if your point is Zarr doesn't need
this per se, I concede that is probably true.

I may have got the wrong end of the stick here, apologies. Were you
thinking that it would be useful to be able to obtain something analogous
to what numpy returns when slicing an array? I.e., a view which shares the
same underlying data but is bounded by a sub-region?
E.g., something like:
z = zarr.zeros((100, 100))
v = z.region[10:20, 80:90]
...where v is a Zarr array but shares data with z? Then at a later time you
can call v[:] to actually load the data from the region into a NumPy array?
--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

Exactly. Not sure if that sort of thing would be of interest for Zarr or not.

I'd be happy to think about further. I guess you could do it by creating a
view with an offset and limit for one or more axes, then using these when
processing any slice operation on the view.
Other thing to consider is whether to leave this to a higher level library.
E.g., with dask.array you could do something like...
z = # some zarr array
d1 = da.from_array(z, chunks=z.chunks)
d2 = d1[0:10, 0:10]
The dask array d2 is effectively a view of a subregion of z, and can be
evaluated whenever needed by calling d2.compute().
On Friday, February 10, 2017, jakirkham<EMAIL_ADDRESS>wrote:

Exactly. Not sure if that sort of thing would be of interest for Zarr or
not.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/zarr/issues/99#issuecomment-278987870, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq8QpYIg1qhB9l7Qdg7Lsw6uuSvVR1wks5rbI2SgaJpZM4LoXbA
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

I'd have to think about this more, but maybe a better option still is to just get a single chunk object without reading it. Are chunks first class objects in Zarr? If so, how does one get a chunk and work with it?

Sorry for slow reply on this. Chunks are not first-class objects. I.e., there is no Chunks class in Zarr. There used to be in the very beginning (original design was borrowed from bcolz) however these objects can actually create substantial memory overhead if you have a lot of chunks in an array, and so I got rid of them. Now, all interaction with chunks (setting and getting data) is done via the Array._chunk_getitem() and Array._chunk_setitem() methods.

No worries. Thanks for the info.
I think I have satisfactorily worked around the issue that I had encountered that required this. So will close it out.

OK, thanks.
On Thursday, February 23, 2017, jakirkham<EMAIL_ADDRESS>wrote:

No worries. Thanks for the info.
I think I have satisfactorily worked around the issue that I had
encountered that required this. So will close it out.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/zarr/issues/99#issuecomment-281907332, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq8QmmZ5dA62c6kSfb3DcEC7o8dc1TWks5rfSeKgaJpZM4LoXbA
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721


Merge Linda toc updates 917 into master

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Language/Reference/User-Interface-Help/concepts-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/controls-collection-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/dialog-boxes-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/events-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/examples-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/methods-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/objects-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/pages-collection-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/properties-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/tabs-collection-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/view-menu.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-add-in-model-reference.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-conceptual-topics.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-constants.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-definitions.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-how-to-topics.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-language-reference.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-menus.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/visual-basic-user-interface-help.md
:white_check_mark:Succeeded
View

Language/Reference/Visual-Basic-Add-in-Model/collections-visual-basic-add-in-model.md
:white_check_mark:Succeeded
View

Language/Reference/Visual-Basic-Add-in-Model/events-visual-basic-add-in-model.md
:white_check_mark:Succeeded
View

Language/Reference/Visual-Basic-Add-in-Model/methods-visual-basic-add-in-model.md
:white_check_mark:Succeeded
View

Language/Reference/Visual-Basic-Add-in-Model/objects-visual-basic-add-in-model.md
:white_check_mark:Succeeded
View

Language/Reference/Visual-Basic-Add-in-Model/properties-visual-basic-add-in-model.md
:white_check_mark:Succeeded
View

Language/Reference/ambiguous-selection.md
:white_check_mark:Succeeded
View

Language/Reference/character-sets.md
:white_check_mark:Succeeded
View

Language/Reference/constants-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/data-types.md
:white_check_mark:Succeeded
View

Language/Reference/directives.md
:white_check_mark:Succeeded
View

Language/Reference/error-messages.md
:white_check_mark:Succeeded
View

Language/Reference/events-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/functions-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/keyword-not-found.md
:white_check_mark:Succeeded
View

Language/Reference/keyword-summaries.md
:white_check_mark:Succeeded
View

Language/Reference/keywords-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/methods-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/object-browser-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/objects-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/operators.md
:white_check_mark:Succeeded
View

Language/Reference/properties-visual-basic-for-applications.md
:white_check_mark:Succeeded
View

Language/Reference/statements.md
:white_check_mark:Succeeded
View

Language/Reference/strings.md
:white_check_mark:Succeeded
View

api/TOC.md
:white_check_mark:Succeeded
View

api/overview/Language-Reference.md
:white_check_mark:Succeeded
View

api/overview/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Freeze cyvcf2 to latest known compatible version

It seems to be an incompatibility in 0.10.0 version, suggest a freeze to 0.9.0.

Thx!


fix: checkbox not checked for restricted elements while editing

Fixes #2770
Describe the changes you have made in this PR -

Fixes JSON parsing for restrictions
Added checked field in input.

Screenshots of the changes (If any) -
https://user-images.githubusercontent.com/76901313/149497377-b2a2364e-62d6-4df6-90e9-82cf62237c8a.mp4
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

@tachyons Kindly Review

@tachyons
Any views about this?

@tachyons
Any feedback for this PR?


Re-open an extension's settings page if it was open before reload

When working on an extension's settings page, reloading the extension closes the options page. It would be helpful to reopen it upon reloading, so the developer doesn't have to do that themselves. This older extensions reloader says in its description that it does this.

Thank you for the suggestion.
BTW, the extension you linked to isn't maintained by me.

Would be great if the background page could also be reopened, will investigate and try to make a PR for these.

@sounak98 thank you


V1.4

Would be better to specify what was done in the PR name. Eg. Sort command and find is now case insensitive

Updated sort, case insensitive find, relevant tests and removed irrelevant files


Bug: Null reference exception when IsFullScreen == True

Set IsFullScreen to true and resize the window. A null reference exception is thrown in the HamburgerMenu constructor because _SecondaryButtonStackPanel is null.
Also, resizing to minimum width when IsFullScreen is true causes a space to appear where the hamburger button would normally appear. You can close the space by setting VisualStateNarrowMinWidth="-1", but it seems you should not have to do this.

IsFullScreen was not working properly but I have resolved that in the most recent commit. I would have mentioned this issue in the commit, but I didn't see it until now. I resolved this while correcting the layout of the Splash on the Phone. The implementation of IsFullScreen in the current code is completely different. Much better, too. I cannot reproduce your issue with the current code.


Distance between Icon and Description

The Icons looks a little bit ugly, more space make it fine. Especially the step buttons.

Should be fixed in v0.3.0


Suggested design for this tool package

Download or acquire prebuilt clang-tidy binaries for the following:

linux x86_64
linux arm64
mac m1/arm64
mac x86_64
Windows x86_64

Zip all of the files into an archive file with distinct directory paths such that the conanfile.py's can easily download the binaries for every platform.
The README.md should have instructions for the next person so they know what they need to do in order to add additional versions.

https://www.7-zip.org/download.html has a list of console command extractors for Windows's 32 and 64 bit .exe files.
The command that I used previously is:
./7zz x -oext-llvm-17.0.1 LLVM-17.0.1-win64.exe

The rest should be extractable on most systems.

NOTE: lets NOT go the conan center way for this. Their way would be to get the binary directly from the vendor's releases to make them offical, but this makes the conanfile.py more complicated. But in the future we may want to consider the 7zip tool package to help with extracting the contents of the llvm.exe file.


存储模型使用文件，服务器端分支事务会话为空 seata0.71 jdk1.8

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description

采用读隔离，执行器使用的是selectForUpdateExcute，windows10环境
statementProxy.getConnectionProxy().checkLock(lockKeys);
seata服务端获取session会话为null  ；采用的session存储采用的file模式
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version :
OS :
Others:

please tell your question. you question is rollback fail or something else???

请告诉你的问题。你的问题是回滚失败或其他什么???

首先store model是file模式，用了for update ，执行器selectForUpdateExcute，这一行statementProxy.getConnectionProxy（）CHECKLOCK（lockKeys）。请求seata服务端获取锁时，seata服务端的session会话为null，抛异常

please tell your question. you question is rollback fail or something else???

你可以在线下复现一下该场景

please tell your question. you question is rollback fail or something else???

我通过断点跟踪，发现Branch Session传的null，上面的截图所示

@mingyifei OK, I will reappear it and fix

#1647


Split off API into new repo

Split off api-spec folder into a new repo: https://github.com/radiantearth/stac-api-spec
which can then be versioned separately.

PR has been merged to remove api-spec.
Leaving issue open as still need to update all links/references in repo

[x] Update all links
[ ] Move API recommendations from STAC best practices to API best practices (e.g, parts of "Versioning for Catalogs")
[ ] ...

The split has been done, opening up new issue for moving API recommendations out of here to stac-api-spec


PIC register clobber

Hi devs,
i am having trouble installing psl1ght erroring out on inline asm (only certain libs). i.e.:
In file included from /home/nk/Downloads/PSL1GHT-master/libpsl1ght/build/../../include/psl1ght/lv2/timer.h:3:0,
from /home/nk/Downloads/PSL1GHT-master/libpsl1ght/source/time.c:1:
/home/nk/Downloads/PSL1GHT-master/libpsl1ght/build/../../include/psl1ght/lv2.h: In function 'psl1ght_gettimeofday_r':
/home/nk/Downloads/PSL1GHT-master/libpsl1ght/build/../../include/psl1ght/lv2.h:102:2: error: PIC register clobbered by 'r2' in 'asm'
asm volatile("sc"
^~~
/home/nk/Downloads/PSL1GHT-master/libpsl1ght/build/../../include/psl1ght/lv2.h: In function 'psl1ght_settimeofday_r':
/home/nk/Downloads/PSL1GHT-master/libpsl1ght/build/../../include/psl1ght/lv2.h:102:2: error: PIC register clobbered by 'r2' in 'asm'
asm volatile("sc"
^~~
/home/nk/Downloads/PSL1GHT-master/libpsl1ght/build/../../rules/base.mk:16: recipe for target 'time.o' failed
make[2]: *** [time.o] Error 1
Makefile:44: recipe for target 'build' failed
make[1]: *** [build] Error 2
Leaving Directory libpsl1ght
System is Linux Mint 18.3 x64, every dependency installed, ps3toolchain works as in fully compiled and ppu-gcc, ppu-ar, etc. are all in place. Anything i missed since i couldn't find any information on this one?

Oops, realized it's the wrong repository. This should go into the ps3 toolchain which is still updated (GCC 7.2.0 being the latest).


Date Check Doesn't Take Year into Account

Trying to manually add old Markdown posts to the system and when I set the date on a post to a date in 2014 I get a "Published Date cannot currently be in the future." error. Looks like it's not taking the year into account when validating the date.

How do you enter the date?

Hi @Sneagan,
Thank you for raising a bug report. We have previously used the importer for posts which span multiple years including 2014 and 2015 without any issues.
This means there could be an issue with your environment or your import data format. It is also possible that there is a real edge-case bug in Ghost somewhere. To help us investigate this further would you mind providing us with a few more details.
There is some useful information on what information to include our contributing guidelines for bugs.
Additional to the information in those guidelines it may be useful to provide your import file or a snippet from it that shows the dates of the posts.
We have a guide to Ghost's import JSON file structure that you may also find useful

I'm trying to avoid the importer because conforming to the JSON requirements will take longer than creating new posts manually.
Steps to Reproduce

Create a new post
Click the gear icon
Set a date in 2014

Technical details:

Ghost Version: master (latest commit: 7897a2dfd4c6258b369815dabdb17a6e6963d1c0)
Client OS: Mac OS X 10.10.4
Node Version: 0.12.7
Browser: Safari 8.0.7

Hey, if you are using this for production purposes we would you advise you against you using the master branch as this is constantly changing and can contain bugs. You could use the stable branch for production.
Can you confirm that when you edit a post you see something along these lines:

Could you also try changing the date to 03 Aug 14 in a differentbrowser such as chrome.

Yes that's what I see. I was wrong about my version. It's the one I downloaded from the website the day I created this issue. I've tried on other browsers. Same issue. Can you not reproduce?

Haha. Figured it out. The system uses no more than 3 characters for months abbreviations, so Sept doesn't work, but Sep does.

:+1:


authenticating with azure

Describe the issue
Im trying to authenticate with azure, but the request needs to send the client_id, scope and a few more as http GET arguments, but it is not sending any arguments, so the login page at microsoft complains.
It is probably due to a misconfiguration on my part.  I would be grateful for any help about how to configure this correctly.
I have not found any directly working documentation, as the syntax both for caddy and caddy-security has changed and made many online examples out of date.   If I get this to work I could try to add a config example to the documentation to the benefit of others. (here is one that seems out of date https://www.youtube.com/watch?v=Mxbjfv47YiQ)
Thanks for a very useful plugin!
Configuration
{
	http_port 4440
	log DEBUG
	debug
	order authenticate before respond
	order authorize before basicauth

	security {
		oauth identity provider azure {
			realm azure
			driver azure
			client_id {$AZURE_CLIENT_ID}
			tenant_id {$AZURE_TENANT_ID}
			client_secret {$AZURE_CLIENT_SECRET}
			scopes openid email profile
		}

		authentication portal dev {
			enable identity provider azure
			crypto default token name AUTHP_TOKEN
			crypto default token lifetime 864000
			crypto key sign-verify {$AZURE_JWT_SHARED_KEY}
			cookie domain https://myserver.com
			cookie lifetime 2592000 # 30 days

			transform user {
				match realm azure
				action add role authp/user
			}
		}

		authorization policy devpolicy {
			set auth url https://login.microsoftonline.com/{$AZURE_TENANT_ID}/oauth2/v2.0/authorize
			crypto key sign-verify {$AZURE_JWT_SHARED_KEY}
			allow roles authp/user
			validate bearer header
			inject headers with claims
		}
	}
}

<IP_ADDRESS>:4440 localhost:4440 {
	route / {
		authenticate with dev
		authorize with devpolicy
		respond * "Hello says Caddy!" 200
	}
}

Version Information
Provide output of caddy list-modules -versions | grep git below:
$ ./caddy version
v2.7.4 h1:J8nisjdOxnYHXlorUKXY75Gr6iBfudfoGhrJ8t7/flI=

$ caddy list-modules --versions

[...]

http.authentication.providers.authorizer v1.1.20
http.handlers.authenticator v1.1.20
security v1.1.20

  Non-standard modules: 3

Expected behavior
I expect the authenticator to forward the client to the auth url and add the ?client_id=... parameter and more.
Now it forwards to the url without any parameters.
Additional context
Background: I want to set up a "wall" that protects many web apps with a single caddy instance that does all the authentication and authorization, and puts user identity (sub, ...) in http header fields.

I was in a similar situation as you today, and found something that works by searching all code on GitHub.  Small consolation a month later, I'm sure.
https://github.com/RecuencoJones/caddy-azure-proxy/blob/23a1a4307420affa1c85050f9b12cff47a716a8b/Caddyfile
The key is to not actually configure the login.microsoftonline.com URL; you don't set that anywhere, caddy-security calculates it from the tenant ID.  You instead set a local, relative URL that goes through the caddy-security authentication portal's azure handler.


HDDS-7518. Fix intermittent failure in ozonesecure replication test

What changes were proposed in this pull request?
Fix intermittent failure in ozonesecure replication test
(I increased the number of test datanodes from 3 to 5 nodes in acceptance test (secure) for EC file's disk usage test,
which caused intermittent failure in ozonesecure replication test.
This PR is to move the EC-specific tests to hadoop-ozone/dist/src/main/smoketest/ec, which is executed only in ozone environment with 5 datanodes, and revert ozonesecure test back to 3 datanodes.)
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7518
How was this patch tested?
CI's robot test

cc. @adoroszlai  @sodonnel @jojochuang
(Thanks Atila, Stephen for the suggestion!)

Thanks @DaveTeng0 for the fix, @jojochuang for review.

@DaveTeng0 sorry, I have just noticed that unsecure test only runs ec/basic.robot, not the entire ec directory:
https://github.com/apache/ozone/blob/99493d52f897c996285f2e2402dee61fa22fa2c2/hadoop-ozone/dist/src/main/compose/ozone/test.sh#L63
So we need to add execution of ec/ozonefs.robot.  Can you please post a follow-up PR?

@DaveTeng0 sorry, I have just noticed that unsecure test only runs ec/basic.robot, not the entire ec directory:
https://github.com/apache/ozone/blob/99493d52f897c996285f2e2402dee61fa22fa2c2/hadoop-ozone/dist/src/main/compose/ozone/test.sh#L63
So we need to add execution of ec/ozonefs.robot. Can you please post a follow-up PR?

ohh!! sure thanks atila for the check!!

@DaveTeng0 sorry, I have just noticed that unsecure test only runs ec/basic.robot, not the entire ec directory:
https://github.com/apache/ozone/blob/99493d52f897c996285f2e2402dee61fa22fa2c2/hadoop-ozone/dist/src/main/compose/ozone/test.sh#L63
So we need to add execution of ec/ozonefs.robot. Can you please post a follow-up PR?

ohh!! sure thanks atila for the check!!

Create a follow-up ticket HDDS-7551 for adding the EC test.


why does WLAN need VLAN tagging, or why doesn't RPI support that?

When running edgesec on an RPI4, I am getting:
2021-12-16 19:09:42.843  TRACE iw.c:199: phy0 -> P2P-device
2021-12-16 19:09:42.843  TRACE iw.c:377: WiFi interface wlan0 doesn't suport vlan tagging
2021-12-16 19:09:42.843  DEBUG engine.c:338: interface wlan0 not VLAN capable
2021-12-16 19:09:42.843  TRACE generic_hsm_driver.c:69: context param is NULL
Failed to start edgesec engine.

This is with mcr@fennrau:~/EDGESec/build $ uname -a
Linux fennrau 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux
Perhaps I am running too old a kernel.

The hostapd daemon, which has the role of creating the software WiFi AP, needs the AP/VLAN interface mode of a WIFI card/modem to map (see the option vlan_file from https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf) from VLAN IDs to virtual network interfaces that correspond to a give subnet.
edgesec has the option (https://github.com/nqminds/EDGESec/blob/main/config.ini.in#L11) to detect if a WIFI card supports the AP/VLAN interface mode. You can check for yourself by running the following command:
iw phy

and then subsequently check the Supported interface modes category.
The edgesec tool was tested with several WIFI cards. More details in https://nqminds.github.io/EDGESec/docs/devices.
For Raspberry Pis the card that works out of the box is this USB one https://thepihut.com/products/usb-wifi-adapter-for-the-raspberry-pi. It has the following USB options (lsusb):
148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

Just to add some more information in layman terms (since other people might see this same issue):
VLAN tagging is used to segment the network. E.g. if you have a bunch of smart light-bulbs from "Brand-Example", VLAN tagging can be used to put them all on the same subnet, to prevent them from accessing other devices on your network.
The Raspberry Pi 4's internal WiFi doesn't yet support VLAN tagging, however, the most common USB wifi adaptor for Raspberry Pi's does support it: https://thepihut.com/products/usb-wifi-adapter-for-the-raspberry-pi.
This would normally be called wlan1 instead of wlan0 on a Raspberry Pi.

The hostapd daemon, which has the role of creating the software WIFI access point (AP), needs the AP/VLAN interface mode of a WIFI card/modem to map (see the option vlan_file from https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf) from VLAN IDs to virtual network interfaces that correspond to given subnets.

Why do we need to do this?
Why do we need more than one ESSID? or more than one subnet?
OpenWRT will all of this itself.


Nightly test exception on import hither

Nightly tests are failing due to an update in hither 0.8.1 which has deprecated the usage of import hither in favor of import hither2.
Run pytest -rP  # env vars are set within certain tests
ImportError while loading conftest '/home/runner/work/nwb_datajoint/nwb_datajoint/tests/conftest.py'.
tests/conftest.py:10: in <module>
    from .datajoint._datajoint_server import run_datajoint_server, kill_datajoint_server
tests/datajoint/_datajoint_server.py:1: in <module>
    import hither as hi
/usr/share/miniconda/envs/nwb_datajoint/lib/python3.8/site-packages/hither/__init__.py:1: in <module>
    raise Exception('Use "import hither2" instead of "import hither"')
E   Exception: Use "import hither2" instead of "import hither"
Error: Process completed with exit code 4.

@jsoules This something Jeremy initially added, and I'm not sure how to make it compatible with hither2. I asked him about it in our slack channel, but if you are familiar with this and know what to do that is future compatible, please let us know.

@lfrank Looks like the test(s) in question are in https://github.com/LorenFrankLab/nwb_datajoint/blob/master/tests/datajoint/_datajoint_server.py ?
As near as I can recall, hither2 is just a consolidation/renaming of hither. The one trick that I can see is that hither2 (or the current version of hither, more like) may not export the ShellScript class--which I think is currently defined in kachery-client. I suspect there's a lot of infrastructure used across the ecosystem that ought to be its own library/package.
Does the test still fail if you switch it to import hither2 as hi? If so, we might need to tweak the source of the ShellScript object instead (maybe add import ShellScript from kachery-client if you don't mind the extra explicit dependency).

@rly Would you be able to touch base with Jeff on this one?

On Sep 22, 2021, at 7:52 PM, Jeff Soules @.***> wrote:
@lfrank https://github.com/lfrank Looks like the test(s) in question are in https://github.com/LorenFrankLab/nwb_datajoint/blob/master/tests/datajoint/_datajoint_server.py https://github.com/LorenFrankLab/nwb_datajoint/blob/master/tests/datajoint/_datajoint_server.py ?
As near as I can recall, hither2 is just a consolidation/renaming of hither. The one trick that I can see is that hither2 (or the current version of hither, more like) may not export the ShellScript class--which I think is currently defined in kachery-client. I suspect there's a lot of infrastructure used across the ecosystem that ought to be its own library/package.
Does the test still fail if you switch it to import hither2 as hi? If so, we might need to tweak the source of the ShellScript object instead (maybe add import ShellScript from kachery-client if you don't mind the extra explicit dependency).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/LorenFrankLab/nwb_datajoint/issues/80#issuecomment-925469821, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABV4PSJO74CLHNNA36F5SJ3UDKJAVANCNFSM5EN2EKRQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Thanks @lfrank and @jsoules. I fixed the test by importing ShellScript from kachery-client.


REPL?

Would it be beneficial/possible to have a REPL? I am not sure how de/refunctionalization would be possible, though.

Maybe every time the user types something, de/refunctionalization gets redone.


[Mention The Feature]: Progress bar

Is your feature request related to a problem? Please describe.
Implement a simple progress bar that fills up on page load or scroll.
Describe the solution you'd like.
through html and css we could add this
Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots
No response
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

this issue has been solved, so we are closing this issue.


White-list certain deployed containers from being undeployed/removed if they are not running...

Hi Guys
I am not sure if I am able to do this already with the current version, however, it would be super handy to be able to white-list certain defined containers to allow them to avoid being removed from docker in their deployed environments if they have an 'Exited' Docker status...
Use case:
I make use of Data-Only containers which are used to persist data for various other containers to make use of. It also helps in allowing us to move our Data-Only containers from host to host easily as is the point of these.
As Data-Only containers do not need to be running to provide their shared data volumes, they can persist data after events such as reboots/crashes that kill the container.
Here is where Nscale comes in... When Nscale deploys to a target environment, it removes all containers it finds that are 'Exited'. Including Data-Only containers...
Is there a way to prevent the removal of specific containers that exist in the target deployment environment, whether deployed via Nscale or manually? If not, could it be considered as a future enhancement to Nscale?
Many Thanks
Fabio

Hey,
There is no way to do this at present, however this would be a great enhancement and fairly straightforward to implement I think. Will look into it and let you know. Thanks!

@pelger Many thanks for your enthusiasm!
In the meantime I have resorted to simply manually creating the Data-Only container as per Docker Docs, this does not necessarily run the container but merely creates it, thus the container would never have an 'Exited' status. (In hindsight, this is the preferred method for these types of containers, however I believe I would still need to manually create these on each host requiring them)
I do still think it would be an awesome safety feature to white-list containers from any Docker actions performed via Nscale going forward.
Thanks again!
Thanks
Fabio

No worries! will hopefully get to this in the next week - will let you know.


Shenyu logback and slf4j replace these with LogUtils

Task
Replace the logging method of all modules
Task List:

[ logback and slf4j replace these with LogUtils] task1

Please read the Contribution Guideline before submitting the PR

good lucky to you

@zhaiweij Any progress?

@zhaiweij Any progress?

This time I did some of the task of removing Lombok, and then consider continuing to do it in LogUtils


Streaming support on MMS

Hi!
Are there any plans to enable video streaming support into MMS (e.g., via gRPC)?
What would be the best way to enable this streaming?
Thanks.

bump


Imported classes displaying partially

Executable UML imported classes should appear with dashed boundaries.  For some reason not all of them are displaying with dashes.

Haven't been able to duplicate this yet.  Could be a script specification (user) error.  Still trying...

It was because I forgot to set the feature on spanning nodes.  I had only tested it on single cell nodes.  It works fine now.


Towards retrieval of maximum keepbits

Eventually closes #22
To do so, it adds changes to the info_per_bits dataset and continues #79

This is still a draft! I haven't tested it thoroughly yet.

Especially edge-cases, e.g. when not all variables in a dataset have the same amount of dimensions needs some tests.

The benefit of keeping dim a dimension even in the case this can be squeezed is the ability to easily merge datasets with different amount of dimensions.
import xbitinfo as xb
import xarray as XR

ds = xr.tutorial.load_dataset("rasm")
ds['Tair_mean'] = ds.Tair.mean(dim='time')

info_per_bit_time = xb.get_bitinformation(ds, dim='time')
info_per_bit_x = xb.get_bitinformation(ds, dim='x')

# works
print(xr.merge([info_per_bit_time, info_per_bit_x]))
"""
<xarray.Dataset>
Dimensions:    (dim: 2, bit64: 64)
Coordinates:
  * dim        (dim) <U4 'time' 'x'
  * bit64      (bit64) <U3 '±' 'e1' 'e2' 'e3' 'e4' ... 'm49' 'm50' 'm51' 'm52'
Data variables:
    Tair       (dim, bit64) float64 0.431 0.7688 0.0 ... 0.07677 0.08063 0.08087
    Tair_mean  (dim, bit64) float64 nan nan nan nan ... 0.09126 0.04861 0.05123
Attributes:
    xbitinfo_description:  bitinformation calculated by xbitinfo.get_bitinfor...
    python_repository:     https://github.com/observingClouds/xbitinfo
    julia_repository:      https://github.com/milankl/BitInformation.jl
    reference_paper:       http://www.nature.com/articles/s43588-021-00156-2
    xbitinfo_version:      0.0.0
"""

# doesn't work
print(xr.merge([info_per_bit_time.squeeze(), info_per_bit_x.squeeze()]))
"""
MergeError: conflicting values for variable 'dim' on objects to be combined. You can skip this check by specifying compat='override'.
"""

# alternate approach drops Tair_mean
print(xr.concat([info_per_bit_time.squeeze(), info_per_bit_x.squeeze()], dim='dim'))
"""
<xarray.Dataset>
Dimensions:  (bit64: 64, dim: 2)
Coordinates:
  * bit64    (bit64) <U3 '±' 'e1' 'e2' 'e3' 'e4' ... 'm49' 'm50' 'm51' 'm52'
  * dim      (dim) <U4 'time' 'x'
Data variables:
    Tair     (dim, bit64) float64 0.431 0.7688 0.0 ... 0.07677 0.08063 0.08087
Attributes:
    xbitinfo_description:  bitinformation calculated by xbitinfo.get_bitinfor...
    python_repository:     https://github.com/observingClouds/xbitinfo
    julia_repository:      https://github.com/milankl/BitInformation.jl
    reference_paper:       http://www.nature.com/articles/s43588-021-00156-2
    xbitinfo_version:      0.0.0
"""

But maybe it is better to align with the xarray behaviour, where e.g. ds['Tair_mean'] has time only as a coordinate and the dimension is dropped.

But maybe it is better to align with the xarray behaviour, where e.g. ds['Tair_mean'] has time only as a coordinate and the dimension is dropped.

I agree.
I usually take the xr.concat path.


Test "Can connect to a remote peer" failed

Mode : NATIVE
branch : master_1327
commit : 5fa2c6495ef7af136bd528d89f9516f5a0b5a023
Logs
6p https://gist.github.com/evabishchevich/9c7a6f72d9547f61fde28ca12ded7a22
6p https://gist.github.com/evabishchevich/316c75cc190d35e2ebf9ad82972dd762
s7 https://gist.github.com/evabishchevich/f51d080fdd13fbc71c3e66f83262c353

Looks like fix for thaliproject/Thali_CordovaPlugin_BtLibrary#90  should fix that


chore: BlockNote 0.14.1 update

Hi, back with another version update for BlockNote, this time to 0.14.1:)

Thank you!


POC: Add json reporter for logs and change some outputs to use Logs

Problem

We want predictable outputs in our logs
Solution

Use a custom reporter that will add metadata like timestamp etc and start using the Logs library.
Created this repo since it's non-trivial and we can re-use it for the dashboard: https://github.com/marigold-dev/json-logs-reporter
Related

#285 @anchpop  feel free to pick anything or nothing from this PR or work from here

Ok, but this makes it harder to read the output when developing: either add an option to turn it off, or (probably better) we need to think of a way to input jq filtering and formatting. I'm pretty bad with jq, but something like | jq -r '"[\(.time)]\t \(.log.level) \(.message)"' is a start IMO (except that the field log.level is hard to use, because of the name…). Any suggestion?

@ulrikstrid @anchpop something like this for now (see last commit)? Shouldn't Piaf be in level "Debug" btw?


Task to monitor DB data

Hello,
I'd like to create a task which would monitor the data of a specific DB table. The task would run continuously on every minute. If the data is set to 'DONE' for example, the task would be stopped. If not, the task would just keep going. What would be the best approach using django-background-tasks?
Thanks!

You can raise an Exception within your Task. That will will stop the Task.


How does one import completions from a local file?

I've searched through the docs quite a bit, but I can't seem to find any way to actually load the completions from a file that I've downloaded.

I did see your repo, I'm wondering how to source a locally downloaded file. Say I download zoxide's completions file to /tmp/zoxide.elv, how do I actually load the completions into my shell?

Understood, thanks! It would be nice to have this documented somewhere.


Add FIPS 203, 204 CAVP test vectors

At the moment we test ML-KEM and ML-DSA against test vectors that are generated using a spec-like python implementation.
Now that the standards are published, we should add the official CAVP test vectors.

We should also add the wycheproof tests in this or a separate issue (ML-KEM is not yet updated)

https://github.com/C2SP/wycheproof/pull/112
https://github.com/C2SP/wycheproof/pull/110

On branch franziskus/ml-kem-acvp I added started adding some of the test vectors. Feel free to continue on that.

Took your branch and extended it to encap/decap vectors for ML-KEM in #618