provideEditor: providing custom editor for custom cell type results in typescript error

I am in the process of creating my own TimepickerCell, which means I have to provide my own editor. I have it set up like so:
interface TimepickerCellProps {
  readonly kind: 'timepicker-cell';
  readonly value: string;
  readonly readonly?: boolean;
}

export type TimepickerCell = CustomCell<TimepickerCellProps>;

const Wrap = styled.div`
  display: flex;
  flex-direction: column;
  align-items: stretch;
`;

const TimepickerCellEditor: ReturnType<ProvideEditorCallback<
  TimepickerCell
>> = (p) => {
  const { value: cell, onFinishedEditing, initialValue } = p;

  const [value, setValue] = useState(cell);
  const [inputValue, setInputValue] = useState(initialValue ?? '');

  console.log(p.value);

  return (
    <Wrap>

Timepicker goes here

    </Wrap>
  );
};

In my component I try to provide it like so:
  const provideTimepickerEditor: ProvideEditorCallback<TimepickerCell> = useCallback(() => {
    return TimepickerCellEditor;
  }, []);

  const provideCustomEditor = useCallback((cell) => {
    if (cell.kind !== GridCellKind.Custom) return undefined;
    if (timepickerCellRenderer.isMatch(cell)) {
      return timepickerCellRenderer.provideEditor(cell);
    }
    return undefined;
  }, []);

        <DataEditor
          getCellContent={(cell: Item) =>
            getData(productObjects, columnHeaders, cell)
          }
          onCellEdited={(cell: Item, newValue: EditableGridCell) =>
            setData(productObjects, cell, newValue, columnHeaders)
          }
          columns={columns}
          getRowThemeOverride={(row: number) =>
            getRowThemeOverride(productObjects[row])
          }
          rows={productObjects.length}
          smoothScrollX
          fillHandle
          onPaste={true}
          getCellsForSelection={true}
          drawCell={drawCell}
          provideEditor={provideCustomEditor}
        />

This gives me the following typescript error:

Type '(cell: any) => (ProvideEditorComponent & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }) | ObjectEditorCallbackResult<...> | (ProvideEditorComponent<...> & { ...; }) | ObjectEditorCallbackResult<...> | undefined' is not assignable to type 'ProvideEditorCallback'.
Type '(ProvideEditorComponent & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }) | ObjectEditorCallbackResult | (ProvideEditorComponent<...> & { ...; }) | ObjectEditorCallbackResult<...> | undefined' is not assignable to type 'ProvideEditorCallbackResult'.
Type 'ProvideEditorComponent & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }' is not assignable to type 'ProvideEditorCallbackResult'.
Type 'ProvideEditorComponent & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }' is not assignable to type 'ProvideEditorComponent & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }'.
Type 'ProvideEditorComponent & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }' is not assignable to type 'ProvideEditorComponent'.
Types of property 'propTypes' are incompatible.
Type 'WeakValidationMap<{ readonly onChange: (newValue: TimepickerCell) => void; readonly onFinishedEditing: (newValue?: TimepickerCell | undefined) => void; readonly isHighlighted: boolean; readonly value: TimepickerCell; readonly initialValue?: string | undefined; }> | undefined' is not assignable to type 'WeakValidationMap<{ readonly onChange: (newValue: GridCell) => void; readonly onFinishedEditing: (newValue?: GridCell | undefined) => void; readonly isHighlighted: boolean; readonly value: GridCell; readonly initialValue?: string | undefined; }> | undefined'.
Type 'WeakValidationMap<{ readonly onChange: (newValue: TimepickerCell) => void; readonly onFinishedEditing: (newValue?: TimepickerCell | undefined) => void; readonly isHighlighted: boolean; readonly value: TimepickerCell; readonly initialValue?: string | undefined; }>' is not assignable to type 'WeakValidationMap<{ readonly onChange: (newValue: GridCell) => void; readonly onFinishedEditing: (newValue?: GridCell | undefined) => void; readonly isHighlighted: boolean; readonly value: GridCell; readonly initialValue?: string | undefined; }>'.
Types of property 'onChange' are incompatible.
Type 'Validator<(newValue: TimepickerCell) => void> | undefined' is not assignable to type 'Validator<(newValue: GridCell) => void> | undefined'.
Type 'Validator<(newValue: TimepickerCell) => void>' is not assignable to type 'Validator<(newValue: GridCell) => void>'.
Type '(newValue: TimepickerCell) => void' is not assignable to type '(newValue: GridCell) => void'

If I change export type TimepickerCell = CustomCell<TimepickerCellProps>; in the first part to export type TimepickerCell = GridCell; it works. But if I check the typing I see that GridCell can be  anything from EditableGridCell to CustomCell. So I am confused why this won't pass.

4.0.3 provides an easier to use framework for this. If you want to make a quick demo project I can help you work out the issues. Another way is to use the glide-data-grid-cells project as a framework for seeing how to get the types right.

Closing due to inactivity, please re-open if you still have issues.

Sorry for the late reply to your very generous offer to guide me through the implementation. I was out of office during the holidays. I indeed still require help.
I have upgraded to 4.0.3 and took a look at how the dropdown is implemented in the glide-data-grid-cells project.
I have set up my cell component like so:
import {
  CustomCell,
  ProvideEditorCallback,
  GridCell,
  CustomCellRenderer,
} from '@glideapps/glide-data-grid';
import styled from 'styled-components';
import { useState } from 'react';
import DatePicker from 'react-datepicker';
import './timepickercelleditor.css';
import 'react-datepicker/dist/react-datepicker.css';

interface TimepickerCellProps {
  kind: 'timepicker-cell';
  value: string;
  readonly?: boolean;
}

export type TimepickerCell = CustomCell<TimepickerCellProps>;

const Wrap = styled.div`
  display: flex;
  flex-direction: column;
  align-items: stretch;
`;

export const TimepickerCellEditor: ReturnType<ProvideEditorCallback<
  TimepickerCell
>> = (p) => {
  const { value, onFinishedEditing, initialValue } = p;

  const [date, setDate] = useState(new Date(value.data.value));

  console.log(p.value);

  return (
    <Wrap>

        <DatePicker
          selected={date}
          onChange={(newDate: Date) => setDate(newDate)}
          inline
          showTimeSelect
        />

    </Wrap>
  );
};

export const timepickerCellRenderer: CustomCellRenderer<TimepickerCell> = {
  isMatch: (c): c is TimepickerCell => (c.data as any).kind === 'dropdown-cell',
  draw: (args, cell) => {
    const { ctx, theme, rect } = args;
    const { value } = cell.data;
    ctx.fillStyle = theme.textDark;
    ctx.fillText(
      value,
      rect.x + theme.cellHorizontalPadding,
      rect.y + rect.height / 2
    );

    return true;
  },
  provideEditor: () => ({
    editor: TimepickerCellEditor,
    disablePadding: true,
  }),
};

export default timepickerCellRenderer;

In my component where I want to display the DataEditor I have set everything up like so:
import timepickerCellRenderer, {
  TimepickerCell,
} from './timepickercelleditor/TimepickerCellEditor';

[...]

  const provideCustomEditor = useCallback((cell) => {
    if (cell.kind !== GridCellKind.Custom) return undefined;
    if (timepickerCellRenderer.isMatch(cell)) {
      return timepickerCellRenderer.provideEditor(cell);
    }
    return undefined;
  }, []);

[...]

return (
          <DataEditor
            [... some more props]
            provideEditor={provideCustomEditor}
          />
)

And I still receive this typescript error:
Type '(cell: GridCell) => (ProvideEditorComponent<GridCell> & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }) | ObjectEditorCallbackResult<...> | (ProvideEditorComponent<...> & { ...; }) | ObjectEditorCallbackResult<...> | undefined' is not assignable to type 'ProvideEditorCallback<GridCell>'.
  Type '(ProvideEditorComponent<GridCell> & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }) | ObjectEditorCallbackResult<...> | (ProvideEditorComponent<...> & { ...; }) | ObjectEditorCallbackResult<...> | undefined' is not assignable to type 'ProvideEditorCallbackResult<GridCell>'.
    Type 'ProvideEditorComponent<TimepickerCell> & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }' is not assignable to type 'ProvideEditorCallbackResult<GridCell>'.
      Type 'ProvideEditorComponent<TimepickerCell> & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }' is not assignable to type 'ProvideEditorComponent<GridCell> & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }'.
        Type 'ProvideEditorComponent<TimepickerCell> & { disablePadding?: boolean | undefined; disableStyling?: boolean | undefined; }' is not assignable to type 'ProvideEditorComponent<GridCell>'.
          Types of property 'propTypes' are incompatible.
            Type 'WeakValidationMap<{ readonly onChange: (newValue: TimepickerCell) => void; readonly onFinishedEditing: (newValue?: TimepickerCell | undefined) => void; readonly isHighlighted: boolean; readonly value: TimepickerCell; readonly initialValue?: string | undefined; }> | undefined' is not assignable to type 'WeakValidationMap<{ readonly onChange: (newValue: GridCell) => void; readonly onFinishedEditing: (newValue?: GridCell | undefined) => void; readonly isHighlighted: boolean; readonly value: GridCell; readonly initialValue?: string | undefined; }> | undefined'.
              Type 'WeakValidationMap<{ readonly onChange: (newValue: TimepickerCell) => void; readonly onFinishedEditing: (newValue?: TimepickerCell | undefined) => void; readonly isHighlighted: boolean; readonly value: TimepickerCell; readonly initialValue?: string | undefined; }>' is not assignable to type 'WeakValidationMap<{ readonly onChange: (newValue: GridCell) => void; readonly onFinishedEditing: (newValue?: GridCell | undefined) => void; readonly isHighlighted: boolean; readonly value: GridCell; readonly initialValue?: string | undefined; }>'.
                Types of property 'onChange' are incompatible.
                  Type 'Validator<(newValue: TimepickerCell) => void> | undefined' is not assignable to type 'Validator<(newValue: GridCell) => void> | undefined'.
                    Type 'Validator<(newValue: TimepickerCell) => void>' is not assignable to type 'Validator<(newValue: GridCell) => void>'.
                      Type '(newValue: TimepickerCell) => void' is not assignable to type '(newValue: GridCell) => void'.

Thank you so much for looking into this, really appreciate it! Hopefully we can find a solution.


"mmap() failed: Cannot allocate memory size: 61865984 offset: 0"

!!! MANDATORY TO FILL OUT !!!

Goals
I want to stop having all of these version of the db in the realm file. We just turned off encryption thinking that would help, but it did not.
I have been reading everything I can find, but I find contradictory messages. For example, we have wrapped every use of Realm in an autoreleasepool {} but then I saw a comment (on one issue, sorry lost the ref) that said NOT to use autoreleasepools on background threads with Realm.
Expected Results
I expect Realm to not crash after 12 hours of continuous use.
Actual Results
#0	0x00000001b0e28194 in swift_runtime_on_report ()
#1	0x00000001b0e7e738 in swift_stdlib_reportFatalErrorInFile ()
#2	0x00000001b0bc7d20 in specialized String.withUnsafeBufferPointerToUTF8(:) ()
#3	0x00000001b0da3b98 in specialized assertionFailure(::file:line:flags:) ()
#4	0x00000001b0c07588 in swift_unexpectedError ()
#5	0x00000001005eddd0 in closure #2 in closure #4 in InteractionBranch.recordWifiInteraction(ssid:bssid:interval:) at /Users/hoch/Dev/GitHub/covid19-ios/NoCov/Persistence/Realm/Branches/InteractionBranch.swift:248
#6	0x000000010037f5c4 in thunk for @callee_guaranteed () -> (@error @owned Error) ()
#7	0x00000001005f0a6c in thunk for @callee_guaranteed () -> (@error @owned Error)partial apply ()
#8	0x00000001b111bcb0 in autoreleasepool(invoking:) ()
#9	0x00000001005ed6e8 in closure #4 in InteractionBranch.recordWifiInteraction(ssid:bssid:interval:) at /Users/hoch/Dev/GitHub/covid19-ios/NoCov/Persistence/Realm/Branches/InteractionBranch.swift:246
#10	0x00000001004a415c in closure #1 in API.postWifi(:callback:) at /Users/hoch/Dev/GitHub/covid19-ios/NoCov/Persistence/API/API.swift:970
#11	0x0000000100487280 in thunk for @escaping @callee_guaranteed (@guaranteed Data?, @guaranteed NSURLResponse?, @guaranteed Error?) -> () ()
#12	0x0000000183a00688 in __75-[__NSURLSessionLocal taskForClass:request:uploadFile:bodyData:completion:]_block_invoke ()
#13	0x0000000183a14220 in __49-[__NSCFLocalSessionTask _task_onqueue_didFinish]_block_invoke ()
#14	0x0000000183e90cf4 in NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK ()
#15	0x0000000183d9cd90 in -[NSBlockOperation main] ()
#16	0x0000000183d9c278 in -[__NSOperationInternal _start:] ()
#17	0x0000000183e92a78 in __NSOQSchedule_f ()
#18	0x000000010461f6f4 in _dispatch_call_block_and_release ()
#19	0x0000000104620c78 in _dispatch_client_callout ()
#20	0x0000000104623ffc in _dispatch_continuation_pop ()
#21	0x0000000104623458 in _dispatch_async_redirect_invoke ()
#22	0x0000000104631dc8 in _dispatch_root_queue_drain ()
#23	0x00000001046327ac in _dispatch_worker_thread2 ()
#24	0x000000018304a1b4 in _pthread_wqthread ()
#25	0x000000018304ccd4 in start_wqthread ()
Enqueued from com.apple.NSURLSession-work (Thread 3578) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000104625a1c in dispatch_async ()
#1	0x0000000183e90434 in __NSOQSchedule ()
#2	0x0000000183e91860 in __addOperations ()
#3	0x00000001839d78c4 in -[__NSCFLocalSessionTask _task_onqueue_didFinish] ()
#4	0x00000001839d7530 in -[__NSCFLocalSessionTask connection:didFinishLoadingWithError:] ()
#5	0x0000000183a8d9c8 in __51-[__NSCFURLLocalSessionConnection _task_sendFinish]_block_invoke ()
#6	0x00000001839d6a1c in -[__NSCFURLLocalSessionConnection _task_sendFinish] ()
#7	0x000000010462ee90 in _dispatch_block_async_invoke2 ()
#8	0x0000000104620c78 in _dispatch_client_callout ()
#9	0x0000000104628bf4 in _dispatch_lane_serial_drain ()
#10	0x00000001046298b4 in _dispatch_lane_invoke ()
#11	0x000000010463377c in _dispatch_workloop_worker_thread ()
#12	0x000000018304a114 in _pthread_wqthread ()
#13	0x000000018304ccd4 in start_wqthread ()
Enqueued from com.apple.NSURLSession-work (Thread 3578) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000104625a1c in dispatch_async ()
#1	0x00000001839d2d7c in -[__NSCFURLSessionConnection withWorkQueueAsync:] ()
#2	0x00000001839d3750 in -[__NSCFURLLocalSessionConnection afterDelegateWithTick:] ()
#3	0x0000000183a8db08 in __50-[__NSCFURLLocalSessionConnection _tick_finishing]_block_invoke_2 ()
#4	0x00000001839e266c in -[__NSCFLocalSessionTask connection:willCacheResponse:responseCallback:] ()
#5	0x0000000183a8da9c in __50-[__NSCFURLLocalSessionConnection _tick_finishing]_block_invoke ()
#6	0x00000001839d8b54 in -[__NSCFURLLocalSessionConnection _tick_finishing] ()
#7	0x000000010462ee90 in _dispatch_block_async_invoke2 ()
#8	0x0000000104620c78 in _dispatch_client_callout ()
#9	0x0000000104628bf4 in _dispatch_lane_serial_drain ()
#10	0x00000001046298b4 in _dispatch_lane_invoke ()
#11	0x000000010463377c in _dispatch_workloop_worker_thread ()
#12	0x000000018304a114 in _pthread_wqthread ()
#13	0x000000018304ccd4 in start_wqthread ()
Enqueued from com.apple.NSURLSession-work (Thread 3578) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000104625a1c in dispatch_async ()
#1	0x00000001839d2d7c in -[__NSCFURLSessionConnection withWorkQueueAsync:] ()
#2	0x00000001839d3750 in -[__NSCFURLLocalSessionConnection afterDelegateWithTick:] ()
#3	0x0000000183a8d8f8 in __48-[__NSCFURLLocalSessionConnection _tick_running]_block_invoke_2 ()
#4	0x00000001839d26e8 in -[__NSCFLocalSessionTask connection:didReceiveData:completion:] ()
#5	0x0000000183a8d844 in __48-[__NSCFURLLocalSessionConnection _tick_running]_block_invoke ()
#6	0x00000001839d2470 in -[__NSCFURLLocalSessionConnection _tick_running] ()
#7	0x000000010462ee90 in _dispatch_block_async_invoke2 ()
#8	0x0000000104620c78 in _dispatch_client_callout ()
#9	0x0000000104628bf4 in _dispatch_lane_serial_drain ()
#10	0x00000001046298b4 in _dispatch_lane_invoke ()
#11	0x000000010463377c in _dispatch_workloop_worker_thread ()
#12	0x000000018304a114 in _pthread_wqthread ()
#13	0x000000018304ccd4 in start_wqthread ()
Enqueued from com.apple.NSURLSession-work (Thread 3578) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000104625a1c in dispatch_async ()
#1	0x00000001839d2d7c in -[__NSCFURLSessionConnection withWorkQueueAsync:] ()
#2	0x00000001839d3750 in -[__NSCFURLLocalSessionConnection afterDelegateWithTick:] ()
#3	0x0000000183a8dccc in __61-[__NSCFURLLocalSessionConnection _didReceiveResponse:sniff:]_block_invoke_2 ()
#4	0x0000000183a15004 in __67-[__NSCFLocalSessionTask connection:didReceiveResponse:completion:]_block_invoke_2 ()
#5	0x00000001839d683c in -[__NSCFLocalDataTask _onqueue_didReceiveResponse:completion:] ()
#6	0x0000000183a14fac in __67-[__NSCFLocalSessionTask connection:didReceiveResponse:completion:]_block_invoke ()
#7	0x00000001839d63f4 in -[__NSCFLocalSessionTask connection:didReceiveResponse:completion:] ()
#8	0x0000000183a8dc1c in __61-[__NSCFURLLocalSessionConnection _didReceiveResponse:sniff:]_block_invoke ()
#9	0x00000001839d5ae4 in -[__NSCFURLLocalSessionConnection _didReceiveResponse:sniff:] ()
#10	0x0000000183b588bc in ___ZN19URLConnectionLoader26protocolDidReceiveResponseEP14_CFURLResponse_block_invoke ()
#11	0x0000000183a8fed0 in ___ZN25SessionConnectionLoadable21withLoaderClientAsyncEU13block_pointerFvP21LoaderClientInterfaceE_block_invoke ()
#12	0x000000010462ee90 in _dispatch_block_async_invoke2 ()
#13	0x0000000104620c78 in _dispatch_client_callout ()
#14	0x0000000104628bf4 in _dispatch_lane_serial_drain ()
#15	0x00000001046298b4 in _dispatch_lane_invoke ()
#16	0x000000010463377c in _dispatch_workloop_worker_thread ()
#17	0x000000018304a114 in _pthread_wqthread ()
#18	0x000000018304ccd4 in start_wqthread ()
Enqueued from com.apple.NSURLSession-work (Thread 3578) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000104625a1c in dispatch_async ()
#1	0x00000001839d2d7c in -[__NSCFURLSessionConnection withWorkQueueAsync:] ()
#2	0x0000000183a8f5b8 in SessionConnectionLoadable::withLoaderClientAsync(void (LoaderClientInterface*) block_pointer) ()
#3	0x0000000183b586e4 in URLConnectionLoader::protocolDidReceiveResponse(_CFURLResponse*) ()
#4	0x0000000183b5dc28 in ___ZN27URLConnectionLoader_Classic26protocolDidReceiveResponseEP14_CFURLResponse_block_invoke ()
#5	0x0000000183b4cc08 in ___ZNK25URLConnectionInstanceData18withWorkQueueAsyncEU13block_pointerFvvE_block_invoke ()
#6	0x000000010461f6f4 in _dispatch_call_block_and_release ()
#7	0x0000000104620c78 in _dispatch_client_callout ()
#8	0x0000000104628bf4 in _dispatch_lane_serial_drain ()
#9	0x00000001046298b4 in _dispatch_lane_invoke ()
#10	0x000000010463377c in _dispatch_workloop_worker_thread ()
#11	0x000000018304a114 in _pthread_wqthread ()
#12	0x000000018304ccd4 in start_wqthread ()
Enqueued from com.apple.CFNetwork.LoaderQ (Thread 3578) Queue : com.apple.CFNetwork.LoaderQ (serial)
#0	0x0000000104625a1c in dispatch_async ()
#1	0x0000000183b4cbd8 in URLConnectionInstanceData::withWorkQueueAsync(void () block_pointer) const ()
#2	0x0000000183b5dbfc in URLConnectionLoader_Classic::protocolDidReceiveResponse(_CFURLResponse*) ()
#3	0x0000000183b05794 in HTTPProtocol::checkAndSendDidReceiveResponse() ()
#4	0x0000000183b0b258 in HTTPProtocol::performHeaderReadPostProcessing(__CFHTTPMessage*, unsigned char) ()
#5	0x0000000183b06894 in HTTPProtocol::performHeaderRead(__CFHTTPMessage*) ()
#6	0x0000000183b06274 in HTTPProtocol::handleStreamEvent(__CFHTTPMessage*, dispatch_data_s*, CFStreamError const*) ()
#7	0x0000000183b33084 in HTTP2Stream::_onschedulingset_notifyDataAvailable(dispatch_data_s*) ()
#8	0x0000000183b33018 in ___ZN11HTTP2Stream28_onqueue_notifyDataAvailableEv_block_invoke ()
#9	0x0000000183c25e0c in ___ZNK18QCoreSchedulingSet12performAsyncEU13block_pointerFvvE_block_invoke ()
#10	0x000000010461f6f4 in _dispatch_call_block_and_release ()
#11	0x0000000104620c78 in _dispatch_client_callout ()
#12	0x0000000104628bf4 in _dispatch_lane_serial_drain ()
#13	0x00000001046298ec in _dispatch_lane_invoke ()
#14	0x000000010462af68 in _dispatch_workloop_invoke ()
#15	0x000000010463377c in _dispatch_workloop_worker_thread ()
#16	0x000000018304a114 in _pthread_wqthread ()
#17	0x000000018304ccd4 in start_wqthread ()
Code at that point:
        autoreleasepool {
            let realm = try! Realm(configuration: self.config)
            try! realm.write {
                realm.add(interaction, update: .modified)
            }
        }

Steps for others to Reproduce

Code Sample
        autoreleasepool {
            let realm = try! Realm(configuration: self.config)
            try! realm.write {
                realm.add(interaction, update: .modified)
            }
        }

Version of Realm and Tooling
Realm framework version:   pod 'RealmSwift'
Realm Object Server version: whatever the pod gives us
Xcode version: Version 11.6 (11E708
iOS/OSX version: Happening on iOS 12.x & 13.x
Dependency manager + version: No idea what this is.
Look, I realize that this crash is the symptom and not the cause, but we have made sure to wrap every use of Realm in
autorelease {
}
We also have set up shouldCompactOnLaunch, and it gets called multiple times, for a while, but then it stops and so we get pinned versions in the file and what should be a file of 0.5 MB tops grows to 65 GB and then we crash. I have a bad DB file and the lock file, but I couldn't find anything to tell me how to open and read the lock file.
Can we get better tools to help users figure out where the real bug is?

We see the same behavior in our App. Just like @petehoch we wrapped every API call to Realm from background threads in autoreleasepools. However, it is just a matter of time when Realm crashes with "mmap() failed: Cannot allocate memory size: 61865984 offset: 0". We experience this behavior especially after a fresh install of our app when a lot of data is fetched from the cloud and stored in Realm (we do not use RealmCloud or Object Server, we just manually download and write to Realm).
Things we tried but did not solve the problem were:

Called Realm.refresh() before, after or before AND after background writes
Reducing the number of writes by writing data in bulk. This just drags out the inevitable, but doesn't prevent the crash.
Serialize background writes via a dedicated DispatchQueue

We have been seeing this behavior in practically all 5.* versions, up to and including 5.3.3.

@lasseporsch Any chance we can roll back to the good old days of 4.x? What are you doing to solve it in the field/production?

@lasseporsch Any chance we can roll back to the good old days of 4.x? What are you doing to solve it in the field/production?

@ZComwiz In our case we decided to 'downgrade' to 4.4.1. This however works for us only because our currently released app version is on an even older Realm version.

Is there no other way but to downgrade the version? Aren't you going to designate someone in charge? Please tell me how to solve it.

We have been talking internally about a tool for reverse migrations, but nothing is set in stone yet. We'll keep the community informed if there is any progress there.
In the meantime, could you try upgrading to 5.4.4?

@jsflax Okay, Thank you. I hope this is resolved soon.

If you can distill this into a repro-case we'd be very happy to investigate in detail.

@finnschiermer Occurs when writing to the DB continuously. We keep saving data in DB as an application that takes notes. In the process, the DB expands and dies.
It continues to occur even after upgrading to Realm 5.4.4. Users complain of inconvenience. How can I submit a reproducible case?

@johyunmin88 you can send an app which reproduces your issue to<EMAIL_ADDRESS>Thanks

@leemaguire I can't give you an example of our company's project. Our error is only possible if we have a Neo Smart Pen. Do I just need to give you an error log?

@johyunmin88 If you could give us a stack trace & some context of how you are using Realm (your setup, how you're writing to it, etc.)

@leemaguire I left a question by email. Please check. Thank you.

Closing due to inactivity. If you have any other questions please open a new issue. Thanks.

@johyunmin88 @lasseporsch
Hello guys,
Please tell me if you could find any solution? Faced the same problem.
Thanks!

Did you guys manage to fix it? How did you do it? Im currently facing the same problems with version 10.15.1
autoreleasepool {                 do {                     let realm = AppRealm.open()                     try! realm.safeWrite({                         realm.add(data, update: .modified)                     })                 }             }

@igorvoytovich @FitzAfful Please post new issues with all your details, and feel free to reference this one. "mmap() failed" can happen for multiple reasons - one being you are actually just out of memory... So it's important to look at the details of your particular issue.

the same issue too

We are having the same issue with version 10.26.0
A sample error is something like this:
Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=9 "mmap() failed: Cannot allocate memory size: 55672832 offset: 335544320" UserInfo={NSLocalizedDescription=mmap() failed: Cannot allocate memory size: 55672832 offset: 335544320, Error Code=9}
Any ideas why this is happening?

@saad-arrivy @mr-grey @theoks @olegrussu1 @telipskiy @emtjoshhart Please see https://github.com/realm/realm-swift/issues/6690#issuecomment-925867777 above.
I'll lock this issue to and kindly request new observations to be created in separate issues. Thanks!


pass current_user to MyRoutes

How would I pass in my current_user.to_json in my <%= react_router "MyRoutes" %>
I tried to pass it in as <%= react_router "MyRoutes", @data %>, but it wasn't showing up in my React components.
Any thoughts?

The second argument of the react_router helper is the location strategy. You can use either HistoryLocation or HashLocation:
<%= react_router "MyRoutes", 'HistoryLocation', @data %>

or
<%= react_router "MyRoutes", 'HashLocation', @data %>

Please check the react-router docs (https://github.com/rackt/react-router/tree/v0.13.3) for more information on the location strategy.

Awesome, thank you!

@mariopeixoto you say that:
the value will be added into a html attribute and the JS will retrieve that data in order to render the page.

Does that also happen with prerender_location set?
Right now I'm having this weird behaviour that, my components are indeed prerendered but it always try to run the same code again (components) but without props.

@joaovpmamede It doesn't. In theory you would not need the prerender_location on the client side because the prerender_location represents the current url. Could you create an issue and provide an example or specific information on how to reproduce?

Well maybe I'm doing some wrong or not understanding prerender at all but with react rails gem, the server rendering puts on the html element the data-react-props attribute.
server-rendering
Anyway even with react rails my components render twice, first on the server and second on the client.

@joaovpmamede After receiving the pre-rendered html on the client, React has to plug itself. It checks whether the html is correct or not by using some checksums and when it's wrong it renders everything again. That is the correct behaviour.
That's why we set the props (@data) into a html attribute, in order to reuse on the client side.
The wrong thing here is to re-render without the props. What version of the gem are you using?

Thanks for explaining.
Last one: 0.13.3
This is what I get on devtools

<%= react_router 'JournalRoutes', 'HistoryLocation', @data, { prerender_location: root_path } %>

const Route = ReactRouter.Route;

this.JournalRoutes = (
  <Route handler={App}>
    <Route name='home' handler={Journal} path='/' />
  </Route>
);

@joaovpmamede Can you try use the version below:
gem 'react-router-rails', :git => 'git@github.com:mariopeixoto/react-router-rails.git', :branch => 'v0.13.3p1'

Let me know if it solves your problem.

Yup, it renders the data-react-router-data just fine :+1:
Thanks!

I'll publish a new version shortly.


DTG delta and delta-rev2 not showing up in model list

Hi, I've updated to the latest version of the extension (commit ed274ff74532bda7913a25d75493c21a52cc218f) on both A1111 Webui and Forge, neither of them show DTG Delta and Delta-rev2 in the model list.

Have also downloaded the delta and delta-rev2 repositories in Forge and placed them with the same subfolder scheme as what Forge downloads: "stable-diffusion-webui-forge\models\diffusers\models--KBlueLeaf--DanTagGen-delta\snapshots\ (commit hash)", but they still do not show up in the model list. Have not attempted the same for A1111 Webui as I am unable to find the directory where DTG models are saved in A1111 Webui.

The "tipo-kgen" library of your environment is not latest.
Try to update them manually


bug: input: Wrong behavior of selection while editing

Usually selection has higher priority than cursor so input behavior should be little bit different if text has been selected.

If you select the text and press backspace the selected text expected to be deleted but currently only character before last cursor position deteles.

If you select the text and type something other the selected text expected to be replaced by typed but currently new text inserts after cursor position in same time selected text stay not deleted.

@marc2332 Seems this issue related to #91. Could you add it to tracking?

Yeah, I was aware of this, it's not really  a bug, it's just not implemented yet hahaha. I Just added it to the tracking issue! :smile:

I recently added support for removing the selected when using Delete or backspace, I'll soon make it possible to replace it with the new inserted text


Support Crystal v0.31

removed deprecated asking syntax from variables

I ran into the same issue. Here's where they removed support for ? in variable names--it was a bug that it ever worked, apparently. https://github.com/crystal-lang/crystal/pull/7582

I ran into the same issue and fixed it. Thought it would be something introduced with crystal 1.0.0
I also fixed the tests. It seems that this library is abandoned?

@nulldotpro are you maintaining this shard anymore?

I'd be interested in helping to maintain this and also https://github.com/nulldotpro/LibGLFW.
@nhh it looks like you've already made a lot of improvements.

Thank you! I only did small changes. :) Its a impressive code base and very nice topic to wrap your head around. I would also participate in maintenance if needed.

@da1nerd @nhh Thank you both for reaching out - apologies for being so late to respond!
I don't use this library currently, but I put a lot of love into it when I put it together. I would welcome any help getting it back into shape.

Thanks @nulldotpro! if you don't have the time maintain this shard, you could add a couple of people from the community as contributors so they can manage pull requests and make updates.


tox ci/cd is failing

recently ( ~ month ) tox has failed due to a deprecated import in rdopkg/conf.py. This is causing tests to be marked as failures even though they work when ran locally.

The deprecation warning should not be fatal. Looks like the GitHub Action fails because git commit -m Initial Import is failing.
rdopkg.exception.CommandFailed: Command failed: ['git', 'commit', '-m', 'Initial import']
.tox/py39/lib/python3.9/site-packages/rdopkg/utils/cmd.py:112: CommandFailed

Not sure why, though

When I run the tests on my laptop, they pass, and when I run in GitHub Actions, the tests fail. tox does provide a certain level of isolation with individual Python virtualenvs, but clearly there's something different about my system on my laptop compared to GitHub's VM.
To debug this, I need to run it in an isolated environment that mimics the GitHub Actions VM.
Reproducing locally
The GitHub Actions log output says it's running in Ubuntu 20.04 (Ubuntu "Focal"). Here's how I reproduced this in an Ubuntu Focal container:
podman run -it --rm ubuntu:focal

# Inside the container:
apt update && apt -y install git-core python3-venv

# Create a virtualenv to install tox:
python3 -m venv venv
. venv/bin/activate
pip install tox

# Clone out repository:
git clone https://github.com/red-hat-storage/rdopkg-tar -b wip-log-gitlab-user
cd rdopkg-tar

# Run the tests (Ubuntu 20.04 has Python 3.8 by default, so we'll just use that for convenience):
tox -e py38

This replicates the same git commit -m "Initial import" crash we see in GitHub Actions.
Debugging with PDB
At this point, we need to change the code to dig deeper. I'm going to add a small change to tox.ini that allows me to easily get into Python's "PDB" (debugger): #22
With that change, I re-run the tests, and after the crash, pytest puts me at a pdb prompt:
        cout = _CommandOutput(out.decode('utf-8'))
        cout.stderr = err
        cout.return_code = prc.returncode
        cout.cmd = cmd_str
        if prc.returncode != 0:
            if log_fail:
                log_cmd_fail(cmd_str, cout)
            if fatal:
>               raise exception.CommandFailed(cmd=cmd, out=cout)
E               rdopkg.exception.CommandFailed: Command failed: ['git', 'commit', '-m', 'Initial import']

.tox/py38/lib/python3.8/site-packages/rdopkg/utils/cmd.py:112: CommandFailed
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>> PDB post_mortem (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>
> /root/rdopkg-tar/.tox/py38/lib/python3.8/site-packages/rdopkg/utils/cmd.py(112)run()
-> raise exception.CommandFailed(cmd=cmd, out=cout)
(Pdb)

Looking at the code right before raise exception.CommandFailed..., I see there is a lot of useful information assigned to this cout object. Let's start by printing the object itself:
(Pdb) cout
''

Yeah, that was not helpful. We can see STDOUT from our git invocation was simply an empty string. Next let's examine STDERR. The code assigns it to a property on cout, named cout.stderr, so let's print that:
(Pdb) print(cout.stderr)
b'\n*** Please tell me who you are.\n\nRun\n\n  git config --global user.email<EMAIL_ADDRESS>git config --global user.name "Your Name"\n\nto set your account\'s default identity.\nOmit --global to set the identity only in this repository.\n\nfatal: unable to auto-detect email address (got \'root@4f0520f38203.(none)\')'

This is a bit hard to read, let's decode the bytes so Python can print the newlines:
(Pdb) print(cout.stderr.decode('utf-8'))

*** Please tell me who you are.

Run

  git config --global user.email<EMAIL_ADDRESS>  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@4f0520f38203.(none)')

Understanding the root cause
There are a couple of ways that Git tries to determine a user's email address. If it cannot, it will bail out with this error message.
In othe words, Git shows this message whenever it's running for the first time in a new environment.
The reason this does not show up on my laptop is that I have a /home/kdreyer/.gitconfig file. But my Ubuntu container (and GitHub Actions VM) does not have this file. That why this test fails.
Fixing the bug
There are a couple ways to fix this. In general, in most situations where you need to run git commit in an automated way, it's customary to set an email address with an environment variable rather than setting up ~/.gitconfig. man git-config will show you the details about user.name and user.email.
The simplest thing is to just copy what rdopkg itself does. I grepped that tree for EMAIL, thinking there is probably some bit of code that sets GIT_AUTHOR_EMAIL or EMAIL. Sure enough, it's in tox.ini.
So, to resolve this, you can add the following lines to tox.ini under [testenv]:
setenv =
<EMAIL_ADDRESS>

We've resolved this with the proper environment variables in tox.ini now.


newProgressMax: spams log once per second when stdout isn't terminal

With restic 0.11 and prior, prune would spit out a little progress meter with time and object count, if the output was a terminal. If the output wasn't a terminal, then instead it'd not print anything out until the end. This made for clean logs. With the new prune in git-master, I'm now seeing this in my logs:
Jan 07 13:37:39 coryell restic-backup.sh[349689]: + restic prune
Jan 07 13:37:42 coryell restic-backup.sh[350198]: loading indexes...
Jan 07 13:37:44 coryell restic-backup.sh[350198]: loading all snapshots...
Jan 07 13:37:44 coryell restic-backup.sh[350198]: finding data that is still in use for 1 snapshots
Jan 07 13:37:45 coryell restic-backup.sh[350198]: [0:01] 0.00%  0 / 1 snapshots
Jan 07 13:37:46 coryell restic-backup.sh[350198]: [0:02] 0.00%  0 / 1 snapshots
Jan 07 13:37:47 coryell restic-backup.sh[350198]: [0:03] 0.00%  0 / 1 snapshots
Jan 07 13:37:48 coryell restic-backup.sh[350198]: [0:04] 0.00%  0 / 1 snapshots
Jan 07 13:37:49 coryell restic-backup.sh[350198]: [0:05] 0.00%  0 / 1 snapshots
Jan 07 13:37:50 coryell restic-backup.sh[350198]: [0:06] 0.00%  0 / 1 snapshots
Jan 07 13:37:51 coryell restic-backup.sh[350198]: [0:07] 0.00%  0 / 1 snapshots
Jan 07 13:37:52 coryell restic-backup.sh[350198]: [0:08] 0.00%  0 / 1 snapshots
Jan 07 13:37:53 coryell restic-backup.sh[350198]: [0:09] 0.00%  0 / 1 snapshots
Jan 07 13:37:54 coryell restic-backup.sh[350198]: [0:10] 0.00%  0 / 1 snapshots
Jan 07 13:37:55 coryell restic-backup.sh[350198]: [0:11] 0.00%  0 / 1 snapshots
Jan 07 13:37:56 coryell restic-backup.sh[350198]: [0:12] 0.00%  0 / 1 snapshots
Jan 07 13:37:57 coryell restic-backup.sh[350198]: [0:13] 0.00%  0 / 1 snapshots
Jan 07 13:37:57 coryell restic-backup.sh[350198]: [0:13] 100.00%  1 / 1 snapshots
Jan 07 13:37:57 coryell restic-backup.sh[350198]: searching used packs...
Jan 07 13:38:00 coryell restic-backup.sh[350198]: collecting packs for deletion and repacking
Jan 07 13:38:01 coryell restic-backup.sh[350198]: [0:01] 17.30%  1000 / 5781 packs processed
Jan 07 13:38:01 coryell restic-backup.sh[350198]: [0:01] 100.00%  5781 / 5781 packs processed
Jan 07 13:38:01 coryell restic-backup.sh[350198]: to repack:            0 blobs / 0 B
Jan 07 13:38:01 coryell restic-backup.sh[350198]: this removes          0 blobs / 0 B
Jan 07 13:38:01 coryell restic-backup.sh[350198]: to delete:         5660 blobs / 214.510 MiB
Jan 07 13:38:01 coryell restic-backup.sh[350198]: total prune:       5660 blobs / 214.510 MiB
Jan 07 13:38:01 coryell restic-backup.sh[350198]: remaining:       206248 blobs / 27.008 GiB
Jan 07 13:38:01 coryell restic-backup.sh[350198]: unused size after prune: 449.753 MiB (1.63% of remaining size)
Jan 07 13:38:01 coryell restic-backup.sh[350198]: rebuilding index
Jan 07 13:38:02 coryell restic-backup.sh[350198]: [0:01] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:03 coryell restic-backup.sh[350198]: [0:02] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:04 coryell restic-backup.sh[350198]: [0:03] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:05 coryell restic-backup.sh[350198]: [0:04] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:06 coryell restic-backup.sh[350198]: [0:05] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:07 coryell restic-backup.sh[350198]: [0:06] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:08 coryell restic-backup.sh[350198]: [0:07] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:09 coryell restic-backup.sh[350198]: [0:07] 100.00%  5732 / 5732 packs processed
Jan 07 13:38:09 coryell restic-backup.sh[350198]: deleting obsolete index files
Jan 07 13:38:10 coryell restic-backup.sh[350198]: [0:01] 60.00%  3 / 5 files deleted
Jan 07 13:38:10 coryell restic-backup.sh[350198]: [0:01] 100.00%  5 / 5 files deleted
Jan 07 13:38:10 coryell restic-backup.sh[350198]: removing 49 old packs
Jan 07 13:38:11 coryell restic-backup.sh[350198]: [0:01] 8.16%  4 / 49 files deleted
Jan 07 13:38:12 coryell restic-backup.sh[350198]: [0:02] 22.45%  11 / 49 files deleted
Jan 07 13:38:13 coryell restic-backup.sh[350198]: [0:03] 40.82%  20 / 49 files deleted
Jan 07 13:38:14 coryell restic-backup.sh[350198]: [0:04] 57.14%  28 / 49 files deleted
Jan 07 13:38:15 coryell restic-backup.sh[350198]: [0:05] 75.51%  37 / 49 files deleted
Jan 07 13:38:16 coryell restic-backup.sh[350198]: [0:06] 95.92%  47 / 49 files deleted
Jan 07 13:38:17 coryell restic-backup.sh[350198]: [0:06] 100.00%  49 / 49 files deleted
Jan 07 13:38:17 coryell restic-backup.sh[350198]: done

It seems like that timer is being spit out when stdout isn't a terminal.
cc @aawsome

Actually, this isn't the new prune command. This is, rather, the new newProgressMax function. CC'ing @MichaelEischer and changing the issue title.

Actually, this isn't the new prune command. This is, rather, the new newProgressMax function. CC'ing @MichaelEischer and changing the issue title.

Closed as duplicate of #3194.

Closed as duplicate of #3194.


Fix progress bar animations

try to fix #17148

This PR unfortunately has gnarly merge conflicts now, since some other progress-bar-related PRs were merged after you opened this.
Closing since this isn't mergeable in its current state.
Feel free to resubmit an updated version.


:robot: Fix release tests

Looks like we only get a small subset of the releases so we cant check for a specific number in the list that we get

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

This started failing once we added a new test as it changed the list. While Im fixing the release function to get the full list, this unblocks the unit-test job.
No need to wait for all jobs to run, will cancel it and leave the unit-test job only.


GestureDetector's velocity is always 0.0 on IOS with VoiceOver.

Device: IPhone8
OS: IOS

Turn on VoiceOver.
Swipe with three fingers.

Expected results:
Velocity from GestureDetector.
Actual results:
Velocity is 0.0.
GestureDetector(
  onHorizontalDragEnd: (details) {
    print('horizontal');
    print(details.primaryVelocity); // 0.0
  },
  onVerticalDragEnd: (details) {
    print('vertical');
    print(details.primaryVelocity); // 0.0
  },
);

Logs
flutter run --verbose
[   +5 ms] flutter: horizontal
[   +1 ms] Notification from VM: {streamId: Stdout, event: {type: Event, kind: WriteEvent, isolate: {type: @Isolate, id: isolates/4114029510212103, name:
main, number:<PHONE_NUMBER>212103}, timestamp:<PHONE_NUMBER>678, bytes: Cg==}}
[        ] Notification from VM: {streamId: Stdout, event: {type: Event, kind: WriteEvent, isolate: {type: @Isolate, id: isolates/4114029510212103, name:
main, number:<PHONE_NUMBER>212103}, timestamp:<PHONE_NUMBER>678, bytes: Zmx1dHRlcjogMC4w}}
[        ] Notification from VM: {streamId: Stdout, event: {type: Event, kind: WriteEvent, isolate: {type: @Isolate, id: isolates/4114029510212103, name:
main, number:<PHONE_NUMBER>212103}, timestamp:<PHONE_NUMBER>678, bytes: Cg==}}
[        ] flutter: 0.0

flutter analyze
No analyze issues.
flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale ko-KR)
    • Flutter version 1.12.13+hotfix.5 at /Users/maximilian/devkit/flutter
    • Framework revision 27321ebbad (6 weeks ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/maximilian/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 33.4.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] Connected device (1 available)
    • iPhone • 5ac729d286d9125808cfeb83e9a358fd3722602e • ios • iOS 13.3

• No issues found!

Code Sample
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: GestureDetector(
            onHorizontalDragEnd: (details) {
              print('horizontal');
              print(details.primaryVelocity); // 0.0
            },
            onVerticalDragEnd: (details) {
              print('vertical');
              print(details.primaryVelocity); // 0.0
            },
            child: Image.network('https://i.imgur.com/QCNbOAo.png')),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.adb),
        onPressed: () {},
      ),
    );
  }
}

Voiceover On
flutter: vertical
flutter: 0.0
flutter: vertical
flutter: 0.0
flutter: horizontal
flutter: 0.0

Voiceover Off
flutter: horizontal
flutter:<PHONE_NUMBER>2573844
flutter: horizontal
flutter:<PHONE_NUMBER>668348
flutter: vertical
flutter: -678.1463243654572

flutter doctor -v
[✓] Flutter (Channel dev, 1.20.0-7.0.pre, on Mac OS X 10.15.5 19F101, locale
    en-GB)
    • Flutter version 1.20.0-7.0.pre at /Users/taha/Code/flutter_dev
    • Framework revision cc1af3afb6 (2 days ago), 2020-07-08 10:19:36 -0700
    • Engine revision 0dc86cda19
    • Dart version 2.9.0 (build 2.9.0-20.0.dev 06cb010247)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.47.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

[✓] Connected device (5 available)
    • SM M305F (mobile)      • 32003c30dc19668f          • android-arm64  • Android 10 (API 29)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS 13.5.1
    • macOS (desktop)        • macos                     • darwin-x64     • Mac OS X 10.15.5 19F101
    • Web Server (web)       • web-server                • web-javascript • Flutter Tools
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 83.0.4103.116

• No issues found!

a11y scrolling on iOS is discrete so, there really isn't a good velocity to report...


Serving model in 8bit mode fails

Attempting to serve a HF model in 8bit mode as introduced here (https://github.com/eth-sri/lmql/pull/46) fails for me with the following error:
lmql serve-model HuggingFaceH4/starchat-beta --cuda --dtype 8bit

[Loading HuggingFaceH4/starchat-beta with AutoModelForCausalLM.from_pretrained(HuggingFaceH4/starchat-beta, 'torch_dtype': '8bit', 'load_in_8bit': True, 'device_map': 'auto')]
======== Running on http://localhost:8080 ========
(Press CTRL+C to quit)
Exception in thread Thread-1 (worker):
Traceback (most recent call last):
  File "/home/username/.pyenv/versions/3.11.4/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/home/username/.pyenv/versions/3.11.4/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/home/username/.pyenv/versions/3.11.4/lib/python3.11/site-packages/lmql/models/lmtp/lmtp_inference_server.py", line 257, in worker
    model = AutoModelForCausalLM.from_pretrained(self.model_identifier, **self.model_args)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/username/.pyenv/versions/3.11.4/lib/python3.11/site-packages/transformers/models/auto/auto_factory.py", line 484, in from_pretrained
    return model_class.from_pretrained(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/username/.pyenv/versions/3.11.4/lib/python3.11/site-packages/transformers/modeling_utils.py", line 2633, in from_pretrained
    raise ValueError(
ValueError: `torch_dtype` can be either `torch.dtype` or `"auto"`, but received 8bit

See transformers/modeling_utils.py.

Do you have bitsandbytes installed?

Hey @lbeurerkellner , apologies for the delayed reply! Yes, bitsandbytes is installed.
Also, to confirm, this is happening on both Python version 3.10 (as indicated in the Readme) as well as 3.11, and i have gotten the same error with several different models i have tried.

I opened a PR with a proposed fix here: #97

Thanks, I just merged the PR.


Add Explorer to list of applications

Data Explorer is a statistical software build with electron.
https://github.com/jfbouzereau/explorer/blob/master/README.md

Cool, thank you!


Can't work normally. DLLs is also required in the folder

What OS are you using (uname -a, or Windows version)?
Win10 Professional/amd64/ chrome edge

What programming language are you using (C/C++/Go/Rust)?
go1.14.1 windows/amd64

What did you expect to see and what you saw instead?
Normal operation display interface

Can agree. displays the error "webveiw.dll not found"

This is documented in the README: https://github.com/webview/webview#distributing-webview-apps

Well that is part of the problem, it does not state where to get these
.dll's that are needed,
On Fri, Jul 31, 2020, 12:26 AM Adam Bouqdib<EMAIL_ADDRESS>wrote:

This is documented in the README:
https://github.com/webview/webview#distributing-webview-apps
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/webview/webview/issues/339#issuecomment-666976761,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACPQOXVK2MII66A2ICVYKVTR6JWYXANCNFSM4L2FX55Q
.

In the dll folder of this repository. I do actually believe they are outdated though so I'd recommend rebuilding by runnings scripts/build.bat in Windows. You'll need Visual Studio installed though.


Kill processes after completing build and before publishing artifacts

aspnet/AspNetCore-Internal#1735

@natemcmaster while #1043 remains open and tests continue to fail or hang (worse than flaky at the moment), what are your thoughts on retargeting this to release/2.1?

Should I back-port this feature to the release/2.1 and release/2.2 branches?

Yeah, probably worth doing.


Examples?

This looks really promising, but I am having trouble figuring out how to use all the different functions.  Are there any simple examples I can look at?

I was planning to write man pages, but never got around it :(
The tests cover 100% of the library, so there are quite a few examples there. Since libmpack does not have builtin data structures to represent msgpack format (instead, the user of the library must decide how to msgpack maps to data structures), most of the tests convert msgpack blobs from/to json-like strings: https://github.com/libmpack/libmpack/blob/master/test/fixtures.c#L202-L925 . The code that handles this is implemented in 4 functions: unparse_enter, unparse_exit, parse_enter and parse_exit: https://github.com/libmpack/libmpack/blob/master/test/mpack.c#L68-L275
A more practical example can be seen in the lua binding, since it shows how to serialize/unserialize directly from/to lua data structures.
This week I will try to push some examples more suited for reading.

Hi Thiago,
As far as I could understand, the following code creates a map with two keys, as in  { "status":true, "value":123 }. Am I in the right direction ?
const char *key1 = "status";
const char *key2 = "value";

void proto_temp_frame_create(uint8_t *proto_buffer, size_t *buf_len, uint32_t temp)
{
	mpack_token_t token;
	uint8_t *pbuf = proto_buffer;

	mpack_tokbuf_t writer = MPACK_TOKBUF_INITIAL_VALUE;

	token = mpack_pack_map(2);
	mpack_write(&writer,(char **)&pbuf,buf_len,&token);

	token = mpack_pack_str(strlen(key1));
	mpack_write(&writer,(char **)&pbuf,buf_len,&token);

	token = mpack_pack_chunk(key1,strlen(key1));
	mpack_write(&writer,(char **)&pbuf,buf_len,&token);

	token = mpack_pack_boolean(true);
	mpack_write(&writer,(char **)&pbuf,buf_len,&token);

	token = mpack_pack_str(strlen(key2));
	mpack_write(&writer,(char **)&pbuf,buf_len,&token);

	token = mpack_pack_chunk(key2,strlen(key2));
	mpack_write(&writer,(char **)&pbuf,buf_len,&token);

	token = mpack_pack_sint(temp);
	mpack_write(&writer,(char **)&pbuf,buf_len,&token);
}

@tarruda Thanks for the links, but for a novice they make very little sense. Some of the tests use variables with short names, I don't even know what each means. Really a few of very verbose examples would help.

did anyone get more meaningful examples on how to use libmpack?

did anyone get more meaningful examples on how to use libmpack?

I'm currently working on a full example with libuv. It is not ready yet, but your'e free to check it out: https://github.com/libmpack/libmpack/tree/full-example-with-docs. This is my goal:

Write a higher level wrapper for libmpack. libmpack is designed as a library for msgpack libraries/bindings, too low level to be used directly. I'm planning to write a compatible msgpack-c API wrapper that hopefully serves as a generic example of how to write a libmpack binding.
Write an even higher level abstraction that uses the wrapper created in 1. and integrates with an event loop library (very likely libuv).
Use the abstraction created in 2. to implement a full client/server example.
Write man pages and proper docs.

The full-example-with-docs has a very basic working client/server with some wrappers. You can run, it will send/reply static messages, but it is still very limited and far from where I would like it to be.

Thank you @tarruda!

I'm planning to write a compatible msgpack-c API wrapper that hopefully serves as a generic example of how to write a libmpack binding.

Would a msgpack-c compatible API wrapper defeat the "no allocation" feature of libmpack?

Would a msgpack-c compatible API wrapper defeat the "no allocation" feature of libmpack?

No because this would live in an optional module that is only useful for C programs that need to quickly get started and don't need low level control of how msgpack data serialization/deserialization works. All the layers I mentioned are optional, but can be useful for pure C programs.
The "no allocation" feature is useful because it doesn't make assumptions about the in-memory representation of deseralized msgpack objects, so you can use it to implement language bindings in an efficient way by directly serializing directly from language obejcts (no need to first convert to a C object on the heap).
Taking Neovim as an example: It uses a custom representation for Dictionary/Array, but msgpack-c first converts it to its own in-memory representation of msgpack objects, and then we recursively convert to Neovim's own structs. With libmpack, we can deserialize/serialize directly to/from the native structs.
I suppose that by writing a msgpack-c compatibility layer, neovim could very quickly drop dependency on msgpack-c, and then incrementally change how libmpack is used to work with its own native objects.

@justinmk here's the "native objects"  of the example I've written: https://github.com/libmpack/libmpack/blob/full-example-with-docs/examples/libuv-client-server/rpc.h#L29-L51
As you can see, it uses an external vector library to represent dictionaries/arrays, but anything can be used.

The code in test/mpack.c is quite incomprehensible, especially when all you want is to pack and unpack some arrays, which should be pretty simple.
No wonder this library is not popular. And that's quite an accomplishment, considering how horrible msgpack-c is.
If it's so hard to write up some simple examples, it's saying something.

FWIW, there is relatively recent "reference implementation" usage of libmpack in Neovim, e.g. https://github.com/neovim/neovim/commit/d5f047bee04a42f40425c34061c84b39af846e1f . But yes, better documentation and examples would be very helpful.


refactor: schema validation

@vyasr This is ready for review.

@csadorf I have one other request with this PR. Could you modify some of the test dependencies.yaml files to invalidate them and show some examples of the output? I am not sure how the refactoring of the schema into components affects the generated error output, and I want to make sure that it's still readable and user-friendly for RAPIDS devs who need to modify dependencies.yaml files without having any knowledge of jsonschema. It's fine for developers of dfg to need to know how this works, but I wouldn't want to reduce the readability of the error output for others. I assume this isn't an issue (or if it is, it's one we can mitigate), just want to confirm.

@csadorf I have one other request with this PR. Could you modify some of the test dependencies.yaml files to invalidate them and show some examples of the output? I am not sure how the refactoring of the schema into components affects the generated error output, and I want to make sure that it's still readable and user-friendly for RAPIDS devs who need to modify dependencies.yaml files without having any knowledge of jsonschema. It's fine for developers of dfg to need to know how this works, but I wouldn't want to reduce the readability of the error output for others. I assume this isn't an issue (or if it is, it's one we can mitigate), just want to confirm.

I ran some tests and here is an example for the new error message:
jsonschema.exceptions.ValidationError: 'abc' is not of type 'object'

Failed validating 'type' in schema['properties']['dependencies']['patternProperties']['.*']['properties']['specific']['items']['properties']['matrices']['items']:
    {'additionalProperties': False,
     'properties': {'matrix': {'oneOf': [{'patternProperties': {'.*': {'type': 'string'}},
                                          'type': 'object'},
                                         {'type': 'null'}]},
                    'packages': {'oneOf': [{'$ref': '#/$defs/requirements'},
                                           {'type': 'null'}]}},
     'requiredProperties': ['matrix', 'packages'],
     'type': 'object'}

On instance['dependencies']['build']['specific'][0]['matrices'][0]:
    'abc'

And the way it would look like previously:
jsonschema.exceptions.ValidationError: 'abc' is not of type 'object'

Failed validating 'type' in schema['properties']['dependencies']['patternProperties']['.*']['properties']['specific']['items']['properties']['matrices']['items']:
    {'properties': {'matrix': {'type': ['null', 'object']},
                    'packages': {'if': {'type': 'array'},
                                 'then': {'if': {'type': 'object'},
                                          'items': {'type': ['string',
                                                             'object']},
                                          'then': {'patternProperties': {'.*': {'if': {'type': 'array'},
                                                                                'then': {'items': {'type': 'string'}},
                                                                                'type': ['array',
                                                                                'string']}}}},
                                 'type': ['null', 'array', 'string']}},
     'type': 'object'}

On instance['dependencies']['build']['specific'][0]['matrices'][0]:
    'abc'

The header message is the same and while the context is maybe slightly more obfuscated, I think it is actually more readable and it is easier to understand the context of the error.

I agree, in this case it seems more readable. If there error was one level deeper in the packages key, would the {'$ref': '#/$defs/requirements'} be expanded into the definition?

I agree, in this case it seems more readable. If there error was one level deeper in the packages key, would the {'$ref': '#/$defs/requirements'} be expanded into the definition?

I replaced one of the dependencies with a number (should be a string) and it is not:
jsonschema.exceptions.ValidationError: [1234, 'cuda-python>=11.5,<11.7.1'] is not valid under any of the given schemas

Failed validating 'oneOf' in schema['properties']['dependencies']['patternProperties']['.*']['properties']['specific']['items']['properties']['matrices']['items']['properties']['packages']:
    {'oneOf': [{'$ref': '#/$defs/requirements'}, {'type': 'null'}]}

On instance['dependencies']['build']['specific'][0]['matrices'][0]['packages']:
    [1234, 'cuda-python>=11.5,<11.7.1']

But I am not convinced that simply following all $refs makes the error message inherently more readable. If we are concerned about providing highly intuitive error feedback, I would instead suggest to actually use jsonschema's tooling to identify the most relevant error. In this example using
 validator = jsonschema.Draft7Validator(SCHEMA)
 print(best_match(validator.iter_errors(dependencies)))

will yield
1234 is not of type 'string'

Failed validating 'type' in schema[0]['items']:
    {'type': 'string'}

On instance[0]:
    1234

The best_match function actually accepts a relevance key so we could even tune this to our needs.

@vyasr This should be ready for another review iteration.

I wasn't aware of best_match, that is helpful. I'm happy with that result.


Feat/calc s inc based on last d

If I've understood correctly, this looks like a rather minor improvement - is it ok to skip this for the 23.10 release and include it in the next patch update instead? I'm nervous about pulling in changes this close to a release.

Feel free to delay it. I haven't modified the add-on and run the benchmark. Only one thing should be noticed: the model's structure is changed, so the user should re-optimize the parameters when the next patch releases.


ERESOLVE unable to resolve dependency tree

Is react-plaid-link not compatible with react17?
npm install react-plaid-link
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/react-plaid-link
npm ERR!   react-plaid-link@"*" from the root project

I'm new to using react so please excuse my ignorance.

Hi there, this is because of a breaking change to the behavior of npm in version 7+.
You can either

use the --legacy-peer-deps flag
use the latest LTS / stable version of Node.js (v14) and NPM ~6 instead of untested cutting edge releases
use yarn instead of npm
wait for #171 which will resolve this (I think).


wil::resume_foreground moved to cppwinrt_helpers.h to avoid forward-declaration collisions

The forward declaration of the ::winrt::Microsoft namespace created collisions with the ::Microsoft::WRL namespace when consumed from inside the ::winrt namespace, because "Microsoft" resolves to ::winrt::Microsoft, but people who aren't using winrt/Microsoft.*.h are expecting it to resolve to ::Microsoft.
We follow the resource.h pattern, where you include the headers for the namespaces you care about, and then you include cppwinrt_helpers.h to activate the helpers for those namespaces. You can include cppwinrt_headers.h multiple times, and it will turn on the features related to the namespaces you included since the last time you included cppwinrt_headers.h.
This means that cppwinrt_headers.h does not introduce any namespaces. It only takes advantage of pre-existing ones. If there is a namespace name collision, it was introduced by the caller.

this fixes #213 - right?

Looks like a new version of Clang is breaking. I'll get that cleaned up and then merge with this branch


chore: mmh3.hash(token, signed=False) instead of abs()

Description
I found this is the right way to get unsigned hashes. It generates bigger/stronger values.
Running
import mmh3

abs(mmh3.hash("today"))

returns 22861070. Whereas
import mmh3

mmh3.hash("today", signed=False)

returns<PHONE_NUMBER>.
The latter is also consitent with the hashes generated in other langs like https://docs.rs/murmur3/latest/murmur3/.

we can't change it as it breaks backward compatibility

Understood.

Got the Rust hash to be a consistent lossy cast.
https://github.com/Anush008/bm42-rs/commit/94cb9effc1d89f5dc4026ea5812ef98c0a6737b2.


initial controller logic

implementation in reconcile for each clusterPermissions. WIP but making PR for comments and to fix mistakes

/lgtm

/approve


MP4 video desynchronization on pause/resume

Hi! I faced with video/audio desynchronization problem during mp4 playback. When i press pause during playback, video is paused instantly but audio is keep playing for few hundred of milliseconds and when i press resume after that video accelerates for the same few hundred of milliseconds to synchronize with audio and then plays with normal speed in sync with audio.
It reproduces with different videos, for example this video: http://twitch-event-engineering-public.s3.amazonaws.com/sync-footage/Sync-Footage-V1-H264.mp4
Here is code sample to reproduce:
import UIKit
import PLPlayerKit

class PLPlayerViewController: UIViewController {
    var player: PLPlayer!
    var tapGesture: UITapGestureRecognizer!

    override func viewDidLoad() {
        let option = PLPlayerOption.default()

        option.setOptionValue(kPLPLAY_FORMAT_MP4.rawValue, forKey:PLPlayerOptionKeyVideoPreferFormat)
        option.setOptionValue(kPLLogDebug.rawValue, forKey: PLPlayerOptionKeyLogLevel)

        player = PLPlayer(url: URL(string: "http://twitch-event-engineering-public.s3.amazonaws.com/sync-footage/Sync-Footage-V1-H264.mp4")!, option: option)!

        tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapAction(_:)))

        view.isUserInteractionEnabled = true
        view.addGestureRecognizer(tapGesture)
    }

    override func viewDidAppear(_ animated: Bool) {
        if let playerView = player.playerView {
            view.addSubview(playerView)
        }

        self.player.play()
    }

    @objc func tapAction(_ recognizer: UITapGestureRecognizer) {
        player.status == .statusPlaying ? player.pause() : player.resume()
    }
}

I use latest version with universal framework.
Thanks!

Hi, I used the latest version for check this phenomenon, there is no repetition, please use our latest version.


Android Action Bar visible

Bug summary
With React Native 0.67.1, Android API level 33 and react-native-bars 1.3.0 the Android ActionBar is visible even though it was hidden via react-navigation and NoActionBar theme before adding react-native-bars.
Library version
1.3.0
Environment info
System:
    OS: macOS 12.6
    CPU: (6) x64 Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
    Memory: 44.63 MB / 8.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.0.0 - /usr/local/bin/node
    Yarn: 1.22.17 - ~/.yarn/bin/yarn
    npm: 8.6.0 - /usr/local/bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /Users/silviustanut/.rbenv/shims/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.4, iOS 16.0, macOS 12.3, tvOS 16.0, watchOS 9.0
    Android SDK:
      API Levels: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33
      Build Tools: 28.0.3, 29.0.3, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 33.0.2
      System Images: android-21 | Google APIs Intel x86 Atom, android-22 | Google APIs Intel x86 Atom, android-23 | Google APIs Intel x86 Atom, android-24 | Google APIs Intel x86 Atom, android-25 | Google APIs Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-27 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom, android-31 | Google APIs Intel x86 Atom_64, android-31 | Google Play Intel x86 Atom_64, android-33 | Google APIs Intel x86_64 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 2021.1 AI-211.7628.21.2111.8092744
    Xcode: 14.0.1/14A400 - /usr/bin/xcodebuild
  Languages:
    Java: 17.0.2 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.67.1 => 0.67.1
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps to reproduce

Create a React Native 0.67.1 app
Use 'Theme.AppCompat.DayNight.NoActionBar' theme Android's styles.xml
Install react-navigation v6
Use { headerShown: false } option.
Install react-native-bars 1.3.0
Run on Android API level 33

Reproducible sample code
NA

Hmmm, yes? Why would it be hidden?

Sorry, I was hasty in writing the issue and forgot to mention a critical step: using 'react-navigation' v6 and hiding the header/actionBar via react-navigation's { headerShown: false } option. This works fine with react-native-bars up until api level 30. Starting with level 31, hiding the actionBar doesn't work after adding react-native-bars.
I realize now that this is a compatibility issue and probably doesn't belong here. If you want to look into it or want other details let me know, but I'm fine with closing it.

The example uses react-navigation and it doesn't occurs: https://github.com/zoontek/react-native-bars/blob/f0db2151e51650c3ff0b73de7b61eb480fd69cdb/example/App.tsx#L154
Be sure that you properly init all libs:
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    RNBootSplash.init(MainActivity.this); // bootsplash goes BEFORE super call
    super.onCreate(null); // called with null (required for react-native-screens)
    RNBars.init(this, "dark-content"); // bars goes AFTER super call
  }

Yes, indeed, the order of init was the problem. I now feel silly for not catching this difference.
Thank you for taking the time! Awesome job with the library. I suspect most of us felt the need for a library like this at one point or another.


⚠ SolarIn has degraded performance

In 3c42976, SolarIn ($SOLARIN_URL) experienced degraded performance:

HTTP code: 200
Response time: 444 ms

Resolved: SolarIn performance has improved in 7b14cbf after 41 minutes.


Sample code of Optimistic UI

Can you give us an example about how to use Optimistic UI on Android, cannot find any sample code on the web

Closing due to inactivity.


fix: invisible characters

There are some invisible characters in this value, which causes the url to have %E2%80%8D after amoy

Thanks for your PR @roderik


Add parentResourceID param for FindInferenceService

Fixes https://github.com/opendatahub-io/model-registry/issues/310
Description

Add new REST parameter (i.e., parentResourceID) for FindInferenceService operation.
How Has This Been Tested?

Start MLMD
Start proxy using make proxy
Register model, version and serving env
Create an inference service
Then get it by name and servingEnvId:

curl --silent -X 'GET' \
  "$MR_HOSTNAME/api/model_registry/v1alpha1/inference_service?name=<IS_NAME>&parentResourceID=<ENV_ID>" \
  -H 'accept: application/json' | jq

Merge criteria:

[x] The commits and have meaningful messages; the author will squash them after approval or will ask to merge with squash.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (90f7ddc) 76.15% compared to head (b598085) 81.07%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #311      +/-   ##
==========================================
+ Coverage   76.15%   81.07%   +4.91%
==========================================
  Files          17       12       -5
  Lines        2030      597    -1433
  Branches       73       73
==========================================
- Hits         1546      484    -1062
+ Misses        299       90     -209
+ Partials      185       23     -162

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Note that the core layer was already managing the proper params, therefore no changes required there.


Image table on t3 has been replaced with images from REG and some Refinery pages are missing

The Image table in Refinery has names of image files but there are no thumbnails and all the names look like those on REG.
One Refinery page was definitely missing (I've since recreated it); it looks as if a bunch of other pages are also missing.
I suspect this has to do with recent software updates.

Hi @AlOneill ,
Well spotted. It's more serious than that.
I've lost every image and every Draft-html page that I have put on the system, plus the ones that Comfort put on. That's a year's worth of work gone from Refinery.
I hope that files are backed up on the system somewhere: I have the original images on a local machine, but I don't keep copies  (of the source or body) of html pages.
Note: I've had other commitments, so I've done little or no Refinery work for a couple of weeks. If say, there were four-week-old copies of all these files, I could cope with that. It probably just mean the lose of one complete draft-page, plus Alison's review and some corrections to another page.

Hi @AlOneill , @PhilipClarke712
@lemon-ukgen had transferred the Refinery content from Vervet to rails1.
Missing content should be now visible in  test3

Hi @Vino-S , @lemon-ukgen , @AlOneill
Yes!
As far as I can remember all the html pages and images are back in their correct places. I've not tried to edit them, but I can read them and the hyperlinks work.  Thanks very much.

@Vino-S @lemon-ukgen lem I can confirm that the Image table has been restored — thank you!
@PhilipClarke712 I have restored the markup guide to the 30 Mar (latest) version.

Done.Closing it


Fix comment in LibString.sol

"given enough eyeballs, all bugs are shallow"

@atarpara The gas-diff CI has an issue.

@RogerPodacter big thanks!

@Vectorized This issues fixed with #1092.


After Windows 11 Wake, Brief Window Pops Up

Windows Terminal version
1.11.3471.0
Windows build number
10.022000.0
Other Software
No response
Steps to reproduce
This started happening 2+ months ago for me.

Bring the computer out of sleep and unlock the screen.
Watch the screen for up to 5 minutes.

Wait Unlock After logging in or unlocking after sleep, within 1-2 minutes a window will briefly show up. If I am working on something when that happens, my focus will
Expected Behavior
I expected a clean screen an no window pop ups.
 If I am working on something, then the focus sometimes goes away from what I am doing.
I had a PowerShell up and running ready to see the events that ran. As soon as I saw the window pop up, I hit enter. This way I can see what happend over the last second. It looks like Windows Terminal has something to do with this.
Here is the result of the last second of Get-WinEvent

PS C:\Users\Mike> date ; Get-WinEvent
Friday, February 11, 2022 2:04:36 PM
TimeCreated  : 2/11/2022 2:04:35 PM
ProviderName : Microsoft-Windows-AppModel-Runtime
Id           : 211
Message      : Added process 16368 to Desktop AppX container aca013a7-8915-11ec-9e11-a4c3f0e59146 for package
Microsoft.WindowsTerminal_1.11.3471.0_x64__8wekyb3d8bbwe.
TimeCreated  : 2/11/2022 2:04:35 PM
ProviderName : Microsoft-Windows-Store
Id           : 8001
Message      : Skipping license manager: PFN Microsoft.WindowsTerminal_1.11.3471.0_x64__8wekyb3d8bbwe
Function: InvokeLicenseManagerRequired
Source: onecoreuap\enduser\winstore\licensemanager\apisethost\activationapis.cpp (373)
TimeCreated  : 2/11/2022 2:04:35 PM
ProviderName : Microsoft-Windows-AppModel-Runtime
Id           : 211
Message      : Added process 7356 to Desktop AppX container aca013a7-8915-11ec-9e11-a4c3f0e59146 for package
Microsoft.WindowsTerminal_1.11.3471.0_x64__8wekyb3d8bbwe.
TimeCreated  : 2/11/2022 2:04:35 PM
ProviderName : Microsoft-Windows-Store
Id           : 8001
Message      : Skipping license manager: PFN Microsoft.WindowsTerminal_1.11.3471.0_x64__8wekyb3d8bbwe
Function: InvokeLicenseManagerRequired
Source: onecoreuap\enduser\winstore\licensemanager\apisethost\activationapis.cpp (373)
TimeCreated  : 2/11/2022 2:04:35 PM
ProviderName : Microsoft-Windows-WMI-Activity
Id           : 5857
Message      : CIMWin32 provider started with result code 0x0. HostProcess = wmiprvse.exe; ProcessID = 7968; ProviderPath =
%systemroot%\system32\wbem\cimwin32.dll

Do you have Terminal set as your default console host application? If so, Terminal will pop up in the same circumstances as an old console window would. This includes instances where login/unlock scheduled tasks would present a console window.

This might have something to do with setting the default terminal application to Windows Terminal. If I set it to Windows Console Host then I don't get the pop up.

Do you have Terminal set as your default console host application? If so, Terminal will pop up in the same circumstances as an old console window would. This includes instances where login/unlock scheduled tasks would present a console window.

Yes, I do have the default terminal application set to Windows Terminal.
Is there a way to list all login/unlock scheduled tasks?

There's a pretty solid write-up over here on StackOverflow. All told, you'll need to enable process logging and then come back after the issue reproduces to see whose fault it is that a console window was spawned.
Alternatively, you can change the "close on exit" behavior in Terminal (Profiles > Defaults > Advanced > Termination Behavior) to "always close" so that the window goes away when the process exits.
Terminal defaults to "only if the process exited successfully" so that in case of a misconfiguration it doesn't just flicker open and closed. 🙂

There's a pretty solid write-up over here on StackOverflow. All told, you'll need to enable process logging and then come back after the issue reproduces to see whose fault it is that a console window was spawned.
Alternatively, you can change the "close on exit" behavior in Terminal (Profiles > Defaults > Advanced > Termination Behavior) to "always close" so that the window goes away when the process exits.
Terminal defaults to "only if the process exited successfully" so that in case of a misconfiguration it doesn't just flicker open and closed. 🙂

Thanks for the link. Unfortunately, the computer that I am running Windows 11 on is the Home edition and gpedit.msc is not included. I know that this is a way to install gpedit but I am not comfortable doing that on that machine.
Knowing that this is not a Windows Terminal issue is good to know.
Thanks all for the help.
Mike

Thanks for following up; sorry we couldn't be of better help!


Getting a Parse error after update.

hey tea. getting this
oh-my-zsh/oh-my-zsh.sh:43: parse error near `||'

after update. I have been trying to figure out what happened. Any ideas?
#!/usr/bin/env bash
# Check for updates on initial load...
if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
  env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh
fi

# Initializes Oh My Zsh

# add a function path
fpath=($ZSH/functions $ZSH/completions $fpath)

# Load all stock functions (from $fpath files) called below.
autoload -U compaudit compinit

: ${ZSH_DISABLE_COMPFIX:=true}

# Set ZSH_CUSTOM to the path where your custom config files
# and plugins exists, or else we will use the default custom/
if [[ -z "$ZSH_CUSTOM" ]]; then
    ZSH_CUSTOM="$ZSH/custom"
fi

# Set ZSH_CACHE_DIR to the path where cache files should be created
# or else we will use the default cache/
if [[ -z "$ZSH_CACHE_DIR" ]]; then
  ZSH_CACHE_DIR="$ZSH/cache"
fi

# Load all of the config files in ~/oh-my-zsh that end in .zsh
# TIP: Add files you don't want in git to .gitignore
for config_file ($ZSH/lib/*.zsh); do
  custom_config_file="${ZSH_CUSTOM}/lib/${config_file:t}"
  [ -f "${custom_config_file}" ] && config_file=${custom_config_file}
  source $config_file
done

is_plugin() {
  local base_dir=$1
  local name=$2
  test -f $base_dir/plugins/$name/$name.plugin.zsh \
    || test -f $base_dir/plugins/$name/_$name
}
# Add all defined plugins to fpath. This must be done
# before running compinit.
for plugin ($plugins); do
  if is_plugin $ZSH_CUSTOM $plugin; then
    fpath=($ZSH_CUSTOM/plugins/$plugin $fpath)
  elif is_plugin $ZSH $plugin; then
    fpath=($ZSH/plugins/$plugin $fpath)
  fi
done

# Figure out the SHORT hostname
if [[ "$OSTYPE" = darwin* ]]; then
  # OS X's $HOST changes with dhcp, etc. Use ComputerName if possible.
  SHORT_HOST=$(scutil --get ComputerName 2>/dev/null) || SHORT_HOST=${HOST/.*/}
else
  SHORT_HOST=${HOST/.*/}
fi

# Save the location of the current completion dump file.
if [ -z "$ZSH_COMPDUMP" ]; then
  ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
fi

if [[ $ZSH_DISABLE_COMPFIX != true ]]; then
  # If completion insecurities exist, warn the user without enabling completions.
  if ! compaudit &>/dev/null; then
    # This function resides in the "lib/compfix.zsh" script sourced above.
    handle_completion_insecurities
  # Else, enable and cache completions to the desired file.
  else
    compinit -d "${ZSH_COMPDUMP}"
  fi
else
  compinit -i -d "${ZSH_COMPDUMP}"
fi

# Load all of the plugins that were defined in ~/.zshrc
for plugin ($plugins); do
  if [ -f $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh ]; then
    source $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh
  elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
    source $ZSH/plugins/$plugin/$plugin.plugin.zsh
  fi
done

# Load all of your custom configurations from custom/
for config_file ($ZSH_CUSTOM/*.zsh(N)); do
  source $config_file
done
unset config_file

# Load the theme

if [ "$ZSH_THEME" = "random" ]; then
  themes=($ZSH/themes/*zsh-theme)
  N=${#themes[@]}
  ((N=(RANDOM%N)+1))
  RANDOM_THEME=${themes[$N]}
  source "$RANDOM_THEME"
  echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
else
  if [ ! "$ZSH_THEME" = ""  ]; then
    if [ -f "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme" ]; then
      source "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme"
    elif [ -f "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme" ]; then
      source "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme"
    else
      source "$ZSH/themes/$ZSH_THEME.zsh-theme"
    fi
  fi
fi

. ~/.dotfiles/oh-my-zsh/lib/aliases.sh

error is in this function
is_plugin() {
  local base_dir=$1
  local name=$2
  test -f $base_dir/plugins/$name/$name.plugin.zsh \
    || test -f $base_dir/plugins/$name/_$name
}

The temporary solution to that is changing your core.autocrlf git config setting to use input or false. See https://github.com/robbyrussell/oh-my-zsh/issues/4402#issuecomment-143976458.
The permanent fix would be merging #4071 but we need testers confirming that it works.
To sum up, you need to run the following:
cd $ZSH
git config core.autocrlf input
git rm --cached -r .
git reset --hard

Thanks!


FileSize clarification

Hello,
I was troubleshooting why my 2.3MB MP3 file generates the following error when importing with Get-Content:
The current deserialized object size of the data received from the remote client computer exceeded the allowed maximum object size. The current deserialized object size is 10572800. The allowed maximum object size is 10485760
First, tough luck that I went over by a few bytes... you could have let me off with a warning, officer ;)
Here is my "but".
All Documentation state that Audio Formats for Teams Call Queues and Auto Attendants are to be provided in "WMA, MP3 and WAV, max 5 MB".
What it doesn't tell is whether the file must be 5MB in compressed or deserialised state.
Get-Content can deal with 10MB files (apparently), however, I may only feed it files that have 5MB?
This makes it hard to gauge and verify in scripts. Do I need to try to run get-Content and get the length of the resulting object before passing it on?
Could you clarify the metric please?
As a follow-up to that one, could you also mention that this command is good for Call Queues? :)
Thanks,
David

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

ID: 349e0a5f-08de-8562-61c8-4a411f6609ca
Version Independent ID: 81058714-af07-7c3a-be46-bebeec57cbbb
Content: New-CsOnlineAudioFile (skype)
Content Source: skype/skype-ps/skype/New-CsOnlineAudioFile.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

@officedocsbot assign @yogkumgit

Hi @DEberhardt, thank you for your feedback and help us to improve docs.microsoft.com.
I think that the cmdlet you´re looking for is:
Import-CsOnlineAudioFile
From the article:
"The Content parameter represents the content of the audio file. Supported formats are WAV (uncompressed, linear PCM with 8/16/32-bit depth in mono or stereo), WMA (mono only), and MP3. The audio file content cannot be more 5MB."

Yes, I did notice that I was using the wrong cmdlet^^.
Was wondering why the Id was never populated :)
So, is this one different in terms of file sizes?

Same file size restriction apply here:
"The audio file content cannot be more 5MB."


Debugging unittest tests doesn't work

From @yRefl3x on March 6, 2017 11:11
Environment data
VS Code version:  1.10.1
Python Extension version:  0.5.9
Python Version:   2.7.5
OS and version:    Windows 10
Actual behavior
After clicking on the "Debug Test" lens of a test method, debugging doesn't start. "Running Tests" is displayed at the bottom of the VSCode window indefinitely.
Expected  behavior
Debugging starts.
Steps to reproduce:
I have the following folder structure:
Issue
    cool_package
        __init__.py
        cool_module.py
    test
        __init__.py
        test_cool_module.py

cool_module.py
def foo(a, b):
    return a + b

test_cool_module.py
import unittest

from cool_package.cool_module import foo

class TestCoolModule(unittest.TestCase):
    def test_foo(self):
        res = foo(1, 2)
        self.assertEquals(res, 3)

Set a breakpoint at line res = foo(1, 2)
Click "Debug Test" in test method code lens

Settings
settings.json:
{
    "python.unitTest.unittestArgs": [
        "-v",
        "-s",
        "test",
        "-p",
        "test_*.py"
    ],
    "python.unitTest.unittestEnabled": true
}

Logs
Output from Python Test Log output panel
READY

Copied from original issue: DonJayamanne/pythonVSCode#797

From @syagev on March 14, 2017 8:56
Same exact symptoms here.
win10, python ext 0.6.0, VSC 1.10.2, Python 3.5.3
EDIT: "reload window" VSC command seems to solve this every time this happens

From @alexwhittemore on March 29, 2017 17:14
Confirmed, but I can't try "reload window" to solve it, because "discovering tests" has stopped completing for me.

From @yRefl3x on March 14, 2017 9:56
@syagev I just tried reloading the window before debugging as you suggested. The test actually runs, but it doesn't debug. The breakpoint just changes to a grey circle for a short time but execution isn't stopped. The test just runs like when choosing "Run Tests".

From @gpassero on April 1, 2017 14:5
I can debug tests when I run them with the following command line (in the end of the test file script). It may be a temporary solution for you.
if __name__ == '__main__':
    unittest.main()

From @xqliu on April 18, 2017 16:55
@alexwhittemore How did you run "discover unit tests"? method?
I can not find this command on the command panel nor any place ...
Thanks :)

From @alexwhittemore on April 1, 2017 15:59
Update: I can get unit tests to discover if I run "discover unit tests," then, while it works, run "run all tests," which causes discovery to alert failure. At this point, I can "run unit tests", which will trigger discovery successfully. At least, I think that's the flow. Will verify back at a computer.

@alexwhittemore  Sorry, please run the command Run All Unittests

From @alexwhittemore on April 18, 2017 18:25
In the bottom bar, bottom left, where it usually says "run tests" - I think it'll say "discovery failed" when such is the case, and clicking it will bring up the command palette with an option to discover.

From @sdtom on June 19, 2017 15:6
Similar issue, my workaround.. keep clicking "debug test" over and over..  first time gets READY, second time generates an error.. but maybe 1 out of 10 times instead of just getting READY,  things turn orange and debugging works fine

From @VicLiang621 on May 28, 2017 7:38
I have a similar issue where when you click "Debug test" the running tests never stop and breakpoints do not matter. When trying to implement the if __name__ == '__main__':     unittest.main(), seems to be a temporary fix.

From @MattMorgis on July 22, 2017 0:56
I am having the same issue with both the unittest and pytest options, both generate the same error. If you can point me in the right direction, I can get a fix merged in.
I created a sample project to help identify the issue: https://github.com/MattMorgis/python-tests
Each time I hit Debug Test inline in VS Code, I get this output:
FAILED (errors=1)
Traceback (most recent call last):
  File "/Users/morgism/.vscode/extensions/donjayamanne.python-0.6.9/pythonFiles/PythonTools/visualstudio_py_testlauncher.py", line 343, in <module>
    main()
  File "/Users/morgism/.vscode/extensions/donjayamanne.python-0.6.9/pythonFiles/PythonTools/visualstudio_py_testlauncher.py", line 238, in main
    enable_attach(opts.secret, ('<IP_ADDRESS>', getattr(opts, 'port', DEFAULT_PORT)), redirect_output = True)
  File "/Users/morgism/.vscode/extensions/donjayamanne.python-0.6.9/pythonFiles/PythonTools/ptvsd/attach_server.py", line 167, in enable_attach
    server.bind(address)
  File "/Users/morgism/anaconda/envs/py2Env/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 48] Address already in use

I am using a conda environment and have my Python path set both in settings.json and as an ENV variable. pytest is installed there when trying to run that configuration.

Will look into this over the weekend

From @samiraguiar on October 18, 2017 1:26
This issue still persists, at least for me on Fedora 26.
Apparently it hangs waiting for a debugger to be attached, since no timeout is passed to wait_for_attach() in visualstudio_py_testlauncher.py (of course, manually setting a timeout just makes it run the tests without debugging).
Maybe this is some kind of concurrency issue?

@MattMorgis  @samiraguiar can you try changing the port to something different such as 3001 or similar in your user or workspace settings (settings.json) as follows:
"python.unitTest.debugPort": 3000

@yRefl3x how about your self, are you still experiencing the same issue

@MattMorgis found a problem with your code, assertEqual needs to be qualified by self
class MetamapAPITest(unittest.TestCase):
    def test_one(self):
        self.assertEqual(true, false)

From @samiraguiar on October 31, 2017 0:46
@DonJayamanne changing the port didn't help, the issue persisted (though no errors similar to that of @MattMorgis happened).
I'm now also getting Error: undefined when running these tests. Here's my configuration for the linked repo:
{
    "python.linting.pylintEnabled": false,
    "python.unitTest.unittestEnabled": true,
    "python.unitTest.debugPort": 3000,
    "python.pythonPath": "/bin/python3",
    "python.unitTest.unittestArgs": [
        "-v",
        "-f",
        "-s",
        "./tests",
        "-p",
        "test_*.py"
    ]
}

Edit: managed to get a stack trace:
visualstudio_py_testlauncher.py:302:main:TypeError: format_exception() missing 3 required positional arguments: 'etype', 'value', and 'tb'

Traceback (most recent call last):
  File "/<user>/.vscode/extensions/donjayamanne.python-0.7.0/pythonFiles/PythonTools/visualstudio_py_testlauncher.py", line 294, in main
    for m in cls._tests:
  File "/usr/lib64/python3.6/unittest/loader.py", line 32, in __getattr__
    return super(_FailedTest, self).__getattr__(name)
AttributeError: 'super' object has no attribute '__getattr__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/<user>/.vscode/extensions/donjayamanne.python-0.7.0/pythonFiles/PythonTools/visualstudio_py_testlauncher.py", line 343, in <module>
    main()
  File "/<user>/.vscode/extensions/donjayamanne.python-0.7.0/pythonFiles/PythonTools/visualstudio_py_testlauncher.py", line 302, in main
    errorMessage = traceback.format_exception()
TypeError: format_exception() missing 3 required positional arguments: 'etype', 'value', and 'tb'

Local variables in innermost frame:
cls: <unittest.loader._FailedTest testMethod=json.test_output>
suite: <unittest.suite.TestSuite tests=[<unittest.loader._FailedTest testMethod=json.test_output>]>
suites: <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[]>, <unittest.suite.TestSuite tests=[<unittest.loader._FailedTest testMethod=json.test_output>]>, <unittest.suite.TestSuite tests=[]>, <unittest.suite.TestSuite tests=[]>, <unittest.suite.TestSuite tests=[]>]>
loader: <unittest.loader.TestLoader object at 0x7f571fa48cc0>
tests: None
cov: None
_: []
opts: <Values at 0x7f571fa48668: {'secret': None, 'port': None, 'mixed_mode': None, 'tests': ['json.test_output.TestValidJson.test_olevba_analysis'], 'testFile': '/<user>/oletools/tests/json/test_output.py', 'coverage': None, 'result_port': 39325, 'us': './tests', 'up': 'test_*.py', 'ut': None, 'uvInt': 2, 'uf': None, 'uc': None}>
parser: <optparse.OptionParser object at 0x7f57209249e8>
OptionParser: <class 'optparse.OptionParser'>
unittest: <module 'unittest' from '/usr/lib64/python3.6/unittest/__init__.py'>
sys: <module 'sys' (built-in)>
os: <module 'os' from '/usr/lib64/python3.6/os.py'>

Edit 2: sometimes when clicking Run on a test instead of Debug I get a VS Code warning: No tests ran, please check the configuration settings for the tests. It's weird since I clicked on that Run link that floats over the test, so it means it did find a test.

From @MattMorgis on October 30, 2017 12:50
@DonJayamanne I committed both changes to my project: adding self and changed debug port to 3001.
Looks like it lead to a new error:
There was an error in starting the debug server.
Error =
{
  "code":"ECONNREFUSED",
  "errno":"ECONNREFUSED",
  "syscall":"connect",
  "address":"<IP_ADDRESS>",
  "port":3001
}

@samiraguiar Hmm, seems to work at my end in the dev version. Will check the current released version.

From @yRefl3x on November 2, 2017 11:46
My experience got better, I can debug unittests now, but it will only work on the first or second tries (kind of inconsistent). Meaning I click the code lens (both class and method lenses work here) for debugging the first time, everything works as expected. If I click a second time after stopping debugging, "Running Tests" is displayed at the bottom indefinitely but nothing happens. To be able to debug again, I have to reload the window.
Btw, I'm now on VSCode v1.17.1 and extension v0.7.0

I think I'm still seeing this issue. Trying to use the inline "Debug Tests" within a unit test module shows "Running Tests" in the status bar, but nothing happens.

VSCode 1.20.1 x64
Python 2018.1.0
Win 10

I have the same issue and same versions as @thomsavage lists (except my Python extension = 2018.2.0)

@veuncent so you're saying that your example config is fine but it becomes an issue if you set "python.unitTest.unittestEnabled": true" while having "python.unitTest.nosetestsEnabled": true` as well? IOW what is the exact setting you have which consistently triggers the problem?

@brettcannon No that's not what I mean. Under no circumstances debugging works. I tried having only one of the testing frameworks enabled at a time (as well as having multiple enabled, which obviously shouldn't work).
Clicking Debug Test above a test class or method does nothing, besides showing the Running Tests throbber at the bottom of the window.

P.s. When I add
if __name__ == "__main__":
    unittest.main()

to the bottom of the file I can use the Start Debugging button in VSC to run the unit tests, but it does not pause at break points or anything.

@veuncent Please could you create a separate issue with a sample code that we can use to replicate this at our end.
If you can point us to a git repo that would be great.
Please provide the following info in the new issue:

Python version
OS version
Sample code to replicate this issue

Done: https://github.com/Microsoft/vscode-python/issues/1009