Crash if more than 2 GPU devices are connected

MoltenVK crashes in our application when more than 2 GPUs are connected to the system. E.g. we have a Macbook Pro with an integrated and dedicated GPU and we also connected an external eGPU.
The error seems to be connected to the following line in MVKInstance.h
MVKVectorInline<MVKPhysicalDevice, 2> _physicalDevices;
When changing this to either
MVKVectorInline<MVKPhysicalDevice, 4> _physicalDevices;
or
MVKVectorDefault<MVKPhysicalDevice> _physicalDevices;
our application works fine again.
As I have introduced this special vector type, I wonder what is wrong. I can't see any issues with the implementation. However I found a smaller bug in MVKVectorAllocator.h but fixing this does not fix the crash.
As the implementation has been changed quite a bit compared to my initial implementation, I wonder if somebody who did the changes might have a look at this?
You can trigger this bug easily by simply populating _physicalDevices with 3 devices, e.g. duplicate some devices.

@aerofly
This is fixed in PR #889. Please retest and close if this fixes your issue.
The problem arose from an earlier change to store MVKPhysicalDevice instances instead of their pointers (using emplace_back()), in an effort to avoid unnecessary invocations of new. Adding the third MVKPhysicalDevice to the MVKVectorInline (now MVKSmallVector) triggered the expected internal re-allocation, which caused a crash when the contained MVKPhysicalDevice instances were moved through construction/destruction.
I've reverted back to tracking MVKPhysicalDevices as pointers, and reviewed other uses of emplace_back() in MoltenVK.

@billhollings
Thank you for looking into and fixing this issue. As far as I can see, this is now fixed and works when using more than the 2 preallocated devices. Again, it's a very rare case only.
I still don't see why it did crash though? For it to work properly we should probably implement a proper move or copy constructor for MVKPhysicalDevice when being used in a MVKSmallVector. The problematic field in MVKPhysicalDevice id<MTLDevice> _mtlDevice did cause the actual crash.
Also thank you for modifying MoltenVK to avoid the extra allocations while submitting data to the queue. We hardly observe any allocations/deallocations now while using MoltenVK. A big improvement over previous versions.

we should probably implement a proper move or copy constructor for MVKPhysicalDevice

I looked into this idea when trying to fix the issue, and decided not to bother:

MVKPhysicalDevice is a large, internally complicated object, not particularly conducive to moving and copying.
They are allocated once at startup, and hang out only in the MVKInstance, so never normally need to be moved around.
Each instance is 34kb in size. With 2 pre-allocated in the MVKSmallVector, it leaves a lot of memory unused in the vector if either 1 or 3+ instances are added (anything but 2 GPU's).

BTW...if this is fixed now, please close this issue.

Also thank you for modifying MoltenVK to avoid the extra allocations while submitting data to the queue. We hardly observe any allocations/deallocations now while using MoltenVK. A big improvement over previous versions.

Glad it helped!

Thank you for your commenting on this. Issue is fixed.


Safe area UI

Any possibility to change the background color of the safe area?
Tried multiple techniques  with makeUIViewController and updateUIViewController without success.
Greetings,

Previews bug , working on real device


Render supplementary.pdf directly in results

The complete Snakefiles (git/, docker/, singularity/, jupyter/) now render in code/ and the output is manually moved to results/ instead of using output_dir as a render argument. This was due to not working in a Singularity container for some reason (the pdf ended up in code/ anyways plus an empty file in results/). This should possibly be fixed.
Potentially this could be done with adjusting the supplementary_material.Rmd file with pandoc-arguments:
---
title: "Supplementary Material"
author: John Doe, Joan Dough, Jan Doh, Dyon Do
date: "`r format(Sys.time(), '%d %B, %Y')`"
output:
  pdf_document:
    includes:
      in_header: header.tex
    pandoc_args: [
              "--pdf-engine", "pdflatex",
              "--pdf-engine-opt", "-output-directory=results/"
    ]
params:
  counts_file: NA
  multiqc_file: NA
  rulegraph_file: NA
  SRR_IDs: NA
  GSM_IDs: NA
---

Where are we on this issue? What is needed to fix?

Fixed with d29ebe1.


Add support for placing players on P2 and P3

Noisy players (@kallekrantz...) should be placed in the middle so that they don't drown out the others in relation to the microphones.

[ ] Add noisy as a flag to Player{}
[ ] Respect said flag when placing players into matches

Skipping this.


Add role.py which implements "shaving" members of the Role.

Description
Adds Role.shave() to iterate through the members with the role and systematically remove it from all (except any members passed in as args)
Checklist

[x] This PR has been tested.

🤔 Not sure how my commits got all weird, will clean.
Besides that, feel free to leave thoughts on possible implementation changes.
Personally, I use this functionality to give out award roles automatically.


How to use destroy method properly?

Is it how destroy method should be used?
var sort = Sortable.create(...) sort.destroy();
I'm adding and removing a lot of sortable elements and script slows down pretty quickly. How to destroy it completely?

Same question here.

The OP is using it correctly


State of the world

Parent ticket to track the state of the world.

[x] Rebuild state of the world when a stronger chain is found #226.
[ ] Authenticated Dynamic Dictionaries #86.
[ ] Checkpoint state trees #276.
[ ] State updates between the miner and the state process #303.

https://www.pivotaltracker.com/epic/show/3784777


Artifact-to-CXG converter (aka loader) script

Input validation & conversion:

[ ] H5AD to "CXG"
[ ] Loom to "CXG"
[ ] Artifact to "CXG"

Per Bruce's clarification removing Demo label:
_ question about #40 - you just moved it to a demo deliverable, which is counter to my understanding.   It is not started, and won't be until the Artifact spec stabilizes.   I am planning a manual conversion for the demo. _
I have already closed the tickets for those items I completed (which were necessary for a demo)
Restored to previous state.


Non-recoverable error

https://i.imgur.com/NzNUHMH.png

Please upload a save file and give reproduction steps as clearly stated in the bug report template...


Handle nested objects with empty lines before the object

The following input does not work due to the empty line before the nested object.
OBJECT               = IMAGE
  LINES              = 600
  LINE_SAMPLES       = 824
  SAMPLE_TYPE        = MSB_INTEGER
  SAMPLE_BITS        = 8
  MEAN               = 51.67785396440129
  MEDIAN             = 50.00000
  MINIMUM            = 0
  MAXIMUM            = 255
  STANDARD_DEVIATION = 16.97019
  CHECKSUM           = 25549531

  OBJECT             = THING
    ATTR1            = "Wombats like dog food"
  END_OBJECT         = THING

END_OBJECT           = IMAGE

see antlr_grammar/data/nested_object2.lbl


An unhandled exception of type 'System.AccessViolationException' occurred in Vlc.DotNet.Core.Interops.dll

getting an Access violation when trying to dispose of the player.  Under VLCPlayer on the Core library, VlcManager.ReleaseMediaPlayer.
An unhandled exception of type 'System.AccessViolationException' occurred in Vlc.DotNet.Core.Interops.dll
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Vlc.DotNet.Core.Interops.VlcManager.ReleaseMediaPlayer(VlcMediaPlayerInstance mediaPlayerInstance) in c:\Development\Vlc.DotNet\src\Vlc.DotNet.Core.Interops\VlcManager.ReleaseMediaPlayer.cs:line 14
at Vlc.DotNet.Core.Interops.VlcMediaPlayerInstance.Dispose(Boolean disposing) in c:\Development\Vlc.DotNet\src\Vlc.DotNet.Core.Interops\VlcMediaPlayerInstance.cs:line 18
at Vlc.DotNet.Core.Interops.Signatures.InteropObjectInstance.Dispose() in c:\Development\Vlc.DotNet\src\Vlc.DotNet.Core.Interops\Signatures\InteropObjectInstance.cs:line 21
at Vlc.DotNet.Core.VlcMediaPlayer.Dispose(Boolean disposing) in c:\Development\Vlc.DotNet\src\Vlc.DotNet.Core\VlcMediaPlayer\VlcMediaPlayer.cs:line 105
at Vlc.DotNet.Core.VlcMediaPlayer.Dispose() in c:\Development\Vlc.DotNet\src\Vlc.DotNet.Core\VlcMediaPlayer\VlcMediaPlayer.cs:line 87
at Vlc.DotNet.Forms.VlcControl.Dispose(Boolean disposing) in c:\Development\Vlc.DotNet\src\Vlc.DotNet.Forms\VlcControl.cs:line 58
at System.ComponentModel.Component.Dispose()
at Vlc.DotNet.Wpf.Form.VlcControl.DestroyWindowCore(HandleRef hwnd) in c:\Development\Vlc.DotNet\src\Vlc.DotNet.Wpf\Form\VlcControl.cs:line 33
at System.Windows.Interop.HwndHost.DestroyWindow()
at System.Windows.Interop.HwndHost.Dispose(Boolean disposing)
at System.Windows.Interop.HwndHost.Dispose()
at TraqStudio.View.VideoEditingWindow.OnClosing(CancelEventArgs e) in c:\Development\TraQDigitalStudio\TraqStudio\View\VideoEditingWindow.xaml.cs:line 689
at System.Windows.Window.WmClose()
at System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

me too
please help us！！

I have the same problem...

It looks like it can be fixed by adding a ResetFromMedia() call when handling the Stopped event (similar to EndReached)

see also https://github.com/marcomeyer/Vlc.DotNet/commit/3fd4035ac2517e1bc42e4fdcf9201f96489436be
But since I am not familiar with the rest of the library, I don't know if this breaks with something else.

Getting this exact error, only some times. I have also tried a resolution to this by checking if VlcControl is disposed when checking if it is playing which seemed to work.

Is anyone aware whether there is a strategic fix in the works for this?

I was getting many error too, so I moved to https://github.com/higankanshi/xZune.Vlc

Thanks sepehr1014, I'll give this a shot.

Sure, it also doesn't have airspace issues in WPF and supports mouse/keyboard interaction (with DVD menus for example) and seems well maintained (although no documentation yet).

If many of people have used my project, I will add some documents and English comments for this.

This is my VB.NET Solution for Vlc.DotNet.Forms
Dim VLC_Control As Vlc.DotNet.Forms.VlcControl
'------ VLC_Control instancing in other procedure
'------
'------
Sub EndWindowOrProgram()
VLC_Control.Position = 31 '1f Hex
Me.Controls.Remove(VLC_Control) 'Remove VLC control from current Form
GC.SuppressFinalize(VLC_Control) 'Force to dispose the object with garbage collector
VLC_Control= Nothing
End
End Sub


History is not getting maintained

I have been using Windows Terminal since quite sometime now. It works fine. However, history is not getting maintained for SSH session once I close it. However, the history gets maintained as expected when I use another tool like MobaX for SSH to Linux terminal.
How can I enable history for SSH terminal to Linux?

This isn't the right repo for this kind of question, this is specifically the repo for the docs for the Terminal. Would you mind re-asking over at https://github.com/microsoft/terminal? We'll be better equipped to answer the question there.


GitHub Actions: Deprecating save-state and set-output commands

https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

+1

Before more people will come here positing "+1", this has been already fixed by #587.  I guess a new release including that PR is needed though.

Hello everyone. We've released a new version 3.5.1 with fix for warnings. For now we didn't update the major tag. Could you please confirm that everything works as expected ?

Hello everyone. We've released a new version 3.5.1 with fix for warnings. For now we didn't update the major tag. Could you please confirm that everything works as expected ?

Yes setting to @v3.5.1 as worked for me, thanks!

yes 3.5.1 fixed it for me. Thanks!

The major tag was updated. I'm going to close the issue.


Add new repository mirrors

We need repository mirrors for:

boolean_selector
stream_channel
typed_data
web_socket_channel

I don't know when this was done, but I can see all of them have mirrors on dart.googlesource.com.


Version bump to 0.0.4

Merging as harmless

@bjz why don't I have publishing permissions? :(

@kvark I have added you

@csherratt thanks!

<3


Doesn't work on V12

Hi, I tested the module, it sends a version warning and when I reached the maximum chat messages I had set in the setting the foundry server crashed.

it seems to be the browser tab that freezed and crashed, not the server

++ would also like to see this updated!
Looks like the chat api has changed since v10


Platform: add dxgi1_6 to the Direct3D module

There is no usermode header which has the DXGI1.6 interfaces included
unfortunately.  This adds the interfaces to the module which is required
for IDXGIAdapter4 interface.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 4084f7a5a667ae11bb04a30ab8e7bcfdb97c45b9

Build failed
Swift Test Linux Platform
Git Sha - 4084f7a5a667ae11bb04a30ab8e7bcfdb97c45b9

@swift-ci please test Linux platform

@swift-ci please test Linux platform


What's more, we should make refresh automatically run instead of only run by command.


TileDataSink

Replacing TileData container with TileDataSink callbacks. With this a single Feature object can be reused for tile creation. Unmatched layers can be skipped directly, unmatched features (by props and geometry type) can be skipped without extracting the geometry.

I've been profiling this change on an iPhone and I only see rather modest improvements in load times:
Time spent in TileWorker::run loading Manhattan at zoom 16 with the eraser-map scene,
average of 3 runs

MVT
master:         1050ms
tile-data-sink: 990ms

GeoJSON
master:         1140ms
tile-data-sink: 1170ms

TopoJSON
master:         1130ms
tile-data-sink: 1150ms

Time spent in TileWorker::run loading Manhattan at zoom 16 with the default testing scene,
average of 3 runs

MVT
master:         1000ms
tile-data-sink: 895ms

GeoJSON
master:         1055ms
tile-data-sink: 1060ms

TopoJSON
master:         1005ms
tile-data-sink: 1045ms

@hjanetzek have you measured significant performance improvements in another context?

@blair1618 what is the ratio of tiledata loadtime vs style-building? 100ms less overall doesn't sound too bad.
curl  https://vector.mapzen.com/osm/all/11/1100/671.mvt | gunzip > tile.mvt
 ./bench/tileLoading.out --benchmark_repetitions=10

TileLoadingFixture/BuildTest          43544713   41372529         17
TileLoadingFixture/BuildTest_mean     42006110   41607835         17
TileLoadingFixture/BuildTest_stddev    2937931     348561          0

TileLoadingFixture/BuildTest          32216103   29710174         23
TileLoadingFixture/BuildTest_mean     29815215   29753622         23
TileLoadingFixture/BuildTest_stddev    3732407     172089          0

Checking with larger tiles shows a good speedup from 42ms (24% parsing vs 43% building) to 30 ms (80%-66%  = 14% parsing vs 66% building)
GeoJSON and TopoJSON source don't implement any ways to avoid allocations that became possible with tile-data-sink yet.

Hmm I don't remember the proportions, I can check again. I would be much more trusting of the benchmarks if we could run them on an Android or iOS device, otherwise they aren't really answering the question that matters to us.

The tests on RPI2 show also a 2x speedup for tile-sink vs current master. This measurement is only mvt source tile load time only (the scene contains empty rules that are always matching so that tile-data-sink does not skip anything)
        emptyScene = std::make_shared<Scene>();
        emptyScene->layers().push_back(DataLayer{
                SceneLayer{"", Filter::MatchNone({}), {},{}},
                    "osm", {"buildings", "roads", "landuse", "pois", "water", "earth",
                            "landuse_labels", "boundaries", "places", "transit"}});
        tileBuilder.setScene(emptyScene);

All tests are compiled with '-mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard', which is about 10ms faster on master. Same tile as above, but the above test also built the geometries.
curl  https://vector.mapzen.com/osm/all/11/1100/671.mvt | gunzip > tile.mvt
 ./bench/tileLoading.out --benchmark_repetitions=10

Current master w/ TileData,
TileLoadingFixture/BuildTest         159988768  160000000          4
TileLoadingFixture/BuildTest         160751581  162500000          4
TileLoadingFixture/BuildTest         160282103  160000000          4
TileLoadingFixture/BuildTest         160656076  162500000          4
TileLoadingFixture/BuildTest_mean    160419632  161250000          4
TileLoadingFixture/BuildTest_stddev     304407    1250000          0

TileDataSink branch
TileLoadingFixture/BuildTest          70631931   71000000         10
TileLoadingFixture/BuildTest          69590250   70000000         10
TileLoadingFixture/BuildTest          69699014   70000000         10
TileLoadingFixture/BuildTest          70681391   71000000         10
TileLoadingFixture/BuildTest_mean     70150647   70500000         10
TileLoadingFixture/BuildTest_stddev     507775     500000          0

With tile-data-sink it's also possible to reuse the geometry object, 4x speedup on geometry-container branch
TileLoadingFixture/BuildTest          43855733   44166667         12
TileLoadingFixture/BuildTest          41045754   40833333         12
TileLoadingFixture/BuildTest          41061380   40833333         12
TileLoadingFixture/BuildTest          41944008   42500000         12
TileLoadingFixture/BuildTest_mean     41976719   42083333         12
TileLoadingFixture/BuildTest_stddev    1144149    1381927          0

Ok I'm reviewing this in earnest now, sorry for putting it off so long :)

Not sure why yet, but this branch doesn't correctly render buildings in MVT tiles from Mapbox (current master does). I've been testing with this scene:
sources:
    mb:
        type: 'MVT'
        url: 'https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token=pk.eyJ1IjoiYmNhbXBlciIsImEiOiJWUmh3anY0In0.1fgSTNWpQV8-5sBjGbBzGg'
        max_zoom: 15
scene:
    background: { color: 'lightgrey' }
lights:
    sun:
        type: 'directional'
        origin: 'world'
        direction: [1.0, 1.0, -1.0]
        diffuse: [0.3, 0.3, 0.3, 1.0]
        ambient: [0.7, 0.7, 0.7, 1.0]
layers:
    water:
        data: { source: mb }
        draw: { polygons: { order: 1, color: 'lightblue' } }
    building:
        data: { source: mb }
        draw: { polygons: { order: 10, color: 'grey', extrude: 20 } }
    landuse:
        data: { source: mb }
        draw: { polygons: { order: 8, color: 'honeydew' } }
    road:
        data: { source: mb, layer: [road, bridge, tunnel] }
        draw: { lines: { order: 9, color: 'darkgrey', width: 8 } }

@blair1618, nice catch! mapbox buildings don't have tags. I'll add some tests for tile parsing.


How do you determine that an object is a component ?

What problem does this feature solve?
A vue component should have a render() or setup(){return ()=>{}}, but definComponent or some other API can pass an empty object.
Obviously an empty object as a component doesn't make sense.
If we only had setup, we would have to distinguish between a hook and a component
What does the proposed API look like?
function isComponent(value: any): value is Component {
  if (value !== null && typeof value === 'object') {
    return (!!value.__v_component || !!value.__v_functionalComponent);
  }
  return false;
}

defineHook(()=>{}) or defineHook({setup()=>{}})
defineComponent(()=>{}) or defineHook({setup()=>{}})

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.

Isn't this a feature request.
I put all my suggestions in there.
I want you to take a look at it and not just think I'm asking a question

A vue component should have a render() or setup(){return ()=>{}}, but definComponent or some other API can pass an empty object.
Obviously an empty object as a component doesn't make sense.
If we only had setup, we would have to distinguish between a hook and a component


Client to server issue

Hello
I have use this demo the code is very useful but i have send messages server to client and client to server so please suggest me.

You can send from server to client and vice versa. Note: Permissions have changed in Android 6


Input predicting Distance Map: Did you consider only the Carbon Beta atom or Carbon Alpha atom ?

Hello,
While using predicted distance map as the input,  Did you consider only the Carbon Beta atom of the predicted distance map ? What does it mean by CBCB? Or did u consider all backbone atoms like N, Carbon Alpha, C, and Carbon Beta?
The example is showing that the function def xyz2pdb(seq, CA) actually is generating PDB by considering only C -Alpha atom.
So is it possible to give the inputs only the distance maps of C-alpha (CA) atoms or do we need to provide the distance map consisting of all 4 backbone atoms as shown in Fig. 2 in the paper?

Hello,
 We use the exact output of CopulaNet (https://github.com/fusong-ju/ProFOLD) as input,  CBCB is one of the output of CopulaNet.

"xyz2pdb"  is generating PDB by considering only C -Alpha atom, it can also be modified to generate other atoms.

 It is feasible to give the inputs only the distance maps of C-alpha (CA) atoms by re-training the model with  distance maps of C-alpha (CA) atoms as input.


Cryptic message 'No handlers could be found for logger "luigi-interface"'

./bin/luigi --module examples.foo examples.Fooo
No handlers could be found for logger "luigi-interface"

It gives no useful output. It should actually just say that "Fooo" is misspelled.
Afaict introduced in #1264. I'll fix right away!

It only affects 2.7 I realized ...


Evaluate mosaicml/mpt-30b-instruct and its quants

FP16: https://huggingface.co/mosaicml/mpt-30b-instruct
INT8: https://huggingface.co/Abzu/mpt-30b-instruct-q8
GGML: https://huggingface.co/TheBloke/mpt-30B-instruct-GGML
AWQ: https://huggingface.co/abhinavkulkarni/mosaicml-mpt-30b-instruct-w4-g128-awq
GPTQ (note its the chat not instruct model and TheBloke couldnt get it working well): https://huggingface.co/TheBloke/MPT-30B-Chat-GPTQ-experimental

Very interesting new fine-tune: https://huggingface.co/TheBloke/MPT-30B-Dolphin-v2-GGML

template = "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n###Instruction\n{instruction}\n\n### Response\n" from https://huggingface.co/mosaicml/mpt-30b-instruct

this family of models has been superseded by llama2


Readme File

Would be great to have something to start with. :)

Would be great to have something to start with. :)

Truer words have never been spoken but it's a hefty job (needs lots of explaining by examples) I've had not had enough time for yet, which is why I haven't properly released this thing yet, just uploaded it for the super-curious.
Meanwhile you can check out the discussion here to get an idea of how it works. Also try the presets and see what they do, it might help.
I'm on vacation right now, but I hope I can do this when I get back.

Thanks, this will help! Enjoy your vacation. :)


Best way to add support for a unique within a scope?

We have a use case where we want a uniqueness constraint for an attribute within a scope, for example, we want name to be unique scoped by company_id.
Rails calls it scope:

It can also validate whether the value of the specified attributes are unique based on a :scope parameter:
validates_uniqueness_of :user_name, scope: :account_id.

What would be the best way to implement that functionality using OneTable?
Some alternatives changing OneTable

a)  optional uniqueScope that takes a template
b)  optional uniqueScope that takes a list of attribute names

Other alternatives without changing OneTable 😢

c) create a virtual attribute name_company_id and set it with name + company_id. Cons: need to keep in sync with name and company_id changes and unnecessary use of space (new column).
d) use a transform to mutate the unique PK. Cons: need to make sure all related references to _unique are transformed.

Thank you for the suggestion.
I think I'm following you.
Are you suggesting we do something like:
email: { type: 'string', unique: true, scope: '${company}' }.
company: { type: 'string' ....

And then we construct the unique string using the ${company} to scope it?

Hi @mobsense
thanks for the quick reply!

email: { type: 'string', unique: true, scope: '${company}' }.

Yes, exactly like that. I suggested uniqueScope because scope sounds very generic, but it works for me too.
Rails actually has something like unique: true or unique: { scope: '...' } accepting unique as a  boolean or hash. So scope is not that "lose" in context.

See https://guides.rubyonrails.org/active_record_validations.html#uniqueness

Got a patch for this working. Pretty simple really.
It works like proposed:
email: { type: 'string', unique: true, scope: '${company}' }.

i.e. A scope property that can be a literal or a template that references other properties.
The unique PK is as follows:
_unique#SCOPE#MODELE#ATTRIBUTE#VALUE
Where scope will be the provided scope with a '#' delimiter.

Having developed this, I can see now all the use cases. Previously I avoided using unique attributes unless they were necessary to be unique globally. This greatly expands the potential for unique checks.

Shipped in 2.4


FR: Truck config block - Phase 2

Add the tabbed column where the image changes
https://www.figma.com/file/oNwe2jHIICPMIe551EY62l/Mack-Reskin---Full-Project?node-id=2243%3A159073&mode=dev

Add the tabbed column where the image changes
https://www.figma.com/file/oNwe2jHIICPMIe551EY62l/Mack-Reskin---Full-Project?node-id=2243%3A159073&mode=dev

Can you please explain what exactly this means?

@shirin27 Need clarity on why this is needed.

@BeckyMedlin this ticket is a split from #32 , as the scope was too big when we initially refined the ticket.
I will clarify the exact scope of each ticket in a refinement session with the team, has the Truck configuration block become a priority? Should I bring it to refinement this week?

@shirin27 No, it's still a priority 3. I asked @WendyKruger yesterday if the config blocks needed to be included with the Configurator work and she said no.

Kamino cloned this issue to hlxsites/vg-macktrucks-com


Electron apps update icons by sending newIconThemePath; gtk-sni-tray continues to look in old path

Ever since I migrated to using SNI tray with indicators, I've had problems with Slack and Signal not updating their icons (they both add graphical flourishes to indicate things like whether there are unread messages or not). When I start them up, the icon in Taffybar correctly shows whatever state they're in at that time, and then never changes.
I noticed that Taffybar's stderr emits messages about failing to get pixbufs, with iconThemePath set to folders like /tmp/.org.chromium.Chromium.<randomstring> that don't exist, exactly when the icon should be changing (new message recieved, or I click on the last unread message, etc). So I did a bit more digging.
In dbus-monitor, when I start up Slack (with my Taffybar SNI tray running), I can see this section:
method call time=1530493694.000590 sender=:1.66 -> destination=:1.71 serial=31 path=/org/ayatana/NotificationItem/Slack1; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.kde.StatusNotifierItem"
   string "IconPixmap"
error time=1530493694.000937 sender=:1.71 -> destination=:1.66 error_name=org.freedesktop.DBus.Error.InvalidArgs reply_serial=31
   string "No such property 'IconPixmap'"
method call time=1530493694.001166 sender=:1.66 -> destination=:1.71 serial=32 path=/org/ayatana/NotificationItem/Slack1; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.kde.StatusNotifierItem"
   string "IconName"
method return time=1530493694.060064 sender=:1.71 -> destination=:1.66 serial=21 reply_serial=32
   variant       string "Slack1_2"
method call time=1530493694.060298 sender=:1.66 -> destination=:1.71 serial=33 path=/org/ayatana/NotificationItem/Slack1; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.kde.StatusNotifierItem"
   string "IconThemePath"
method return time=1530493694.065481 sender=:1.71 -> destination=:1.66 serial=22 reply_serial=33
   variant       string "/tmp/.org.chromium.Chromium.Vke7A3"

:1.66 seems to be Taffybar and :1.71 seems to be Slack. Taffybar asks for a direct pixbuf, which doesn't exist, so then it asks for the icon name and theme path. Sure enough, the theme path mentioned contains a file for the icon name mentioned:
% ls /tmp/.org.chromium.Chromium.Vke7A3
Slack1_2.png

And everything works at this point. The icon is displayed correctly. After a message comes in and the icon should be updated (but actually remains unchanged), Taffybar's log says:
Failed to get pixbuf for ItemInfo {itemServiceName = BusName ":1.71", itemServicePath = ObjectPath "/org/ayatana/NotificationItem/Slack1", iconTitle = "slack", iconName = "Slack1_4", iconThemePath = Just "/tmp/.org.chromium.Chromium.Vke7A3", iconPixmaps = [], menuPath = Just (ObjectPath "/org/ayatana/NotificationItem/Slack1/Menu")}

It's still using /tmp/.org.chromium.Chromium.Vke7A3 as the icon theme path, which no longer exists (Electron cleaned up the tmp folder I guess):
% ls /tmp/.org.chromium.Chromium.Vke7A3
ls: cannot access '/tmp/.org.chromium.Chromium.Vke7A3': No such file or directory

At the same time, dbus-monitor shows this sequence:
signal time=1530494718.862148 sender=:1.71 -> destination=(null destination) serial=42 path=/org/ayatana/NotificationItem/Slack1; interface=org.kde.StatusNotifierItem; member=NewIconThemePath
   string "/tmp/.org.chromium.Chromium.zLsFh7"
signal time=1530494718.862196 sender=:1.71 -> destination=(null destination) serial=43 path=/org/ayatana/NotificationItem/Slack1; interface=org.kde.StatusNotifierItem; member=NewIcon
method call time=1530494718.862513 sender=:1.66 -> destination=:1.71 serial=46 path=/org/ayatana/NotificationItem/Slack1; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.kde.StatusNotifierItem"
   string "IconName"
method return time=1530494718.862868 sender=:1.71 -> destination=:1.66 serial=44 reply_serial=46
   variant       string "Slack1_4"
method call time=1530494718.863173 sender=:1.66 -> destination=:1.71 serial=47 path=/org/ayatana/NotificationItem/Slack1; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.kde.StatusNotifierItem"
   string "IconPixmap"
error time=1530494718.863299 sender=:1.71 -> destination=:1.66 error_name=org.freedesktop.DBus.Error.InvalidArgs reply_serial=47
   string "No such property 'IconPixmap'"

Slack sent a broadcast NewIconThemePath message. And the Slack1_4 icon does exist in that path:
% ls /tmp/.org.chromium.Chromium.zLsFh7
Slack1_4.png

As further events happen, the Taffybar log continues to show "Failed to get pixbuf for ItemInfo" messages containing the same iconThemePath, but it seems like Slack generates a new temp folder every time it updates its icon. So It seems that gtk-sni-tray isn't responding to the NewIconThemePath messages.
The Signal desktop app seems to behave exactly the same way. Both are based on the Electron framework, which uses Chromium for the front end, so I presume they're using common code to update their icons which generates the /tmp/.org.chromium.Chromium.*/ paths. This leads me to expect that this will be a problem for Electron-based apps in general.

@cumber Great job investigating!
I have noticed/was aware of this issue, but I haven't gotten around fixing it. The fix is relatively simple though. So I can probably crank it out today.

@cumber I can't seem to get any electron apps to show an SNI icon at all (I know I used to be able to get discord to show up in Arch, but I can't seem to get it working in NixOS).
Any chance you can test whether or not my changes in https://github.com/taffybar/gtk-sni-tray/tree/handleIconPathUpdate have resolved the issue. Note that there are no actual changes to the gtk-sni-tray code (just to the sha that is used for status-notifier-item) so if you are not building using stack, you will need to figure out how to build against the right version of status-notifier-item.

Oh, yeah, there's multiple layers of things wrong with Slack/Signal's tray icons on my system. :)  Nix builds them without appindicator available at build time (I've got an overlay hack; need to file a pull request with nixpkgs) and you need to start them with XDG_CURRENT_DESKTOP=Unity.
I rebuilt overriding status-notifier-item (I'm building using nix, so no need to use the gtk-sni-branch just to get the stack hash). And it does seem to be working now! The icons are updated when I expect them to be.
I still see lots of messages like this in Taffybar's log:
Failed to get pixbuf for ItemInfo {itemServiceName = BusName ":1.74", itemServicePath = ObjectPath "/org/ayatana/NotificationItem/Signal1", iconTitle = "signal-desktop", iconName = "Signal1_3", iconThemePath = Just "/tmp/.org.chromium.Chromium.oPeZUu", iconPixmaps = [], menuPath = Just (ObjectPath "/org/ayatana/NotificationItem/Signal1/Menu")}
Failed to get pixbuf for ItemInfo {itemServiceName = BusName ":1.74", itemServicePath = ObjectPath "/org/ayatana/NotificationItem/Signal1", iconTitle = "signal-desktop", iconName = "Signal1_4", iconThemePath = Just "/tmp/.org.chromium.Chromium.eToBuE", iconPixmaps = [], menuPath = Just (ObjectPath "/org/ayatana/NotificationItem/Signal1/Menu")}
Failed to get pixbuf for ItemInfo {itemServiceName = BusName ":1.74", itemServicePath = ObjectPath "/org/ayatana/NotificationItem/Signal1", iconTitle = "signal-desktop", iconName = "Signal1_4", iconThemePath = Just "/tmp/.org.chromium.Chromium.eToBuE", iconPixmaps = [], menuPath = Just (ObjectPath "/org/ayatana/NotificationItem/Signal1/Menu")}

Now it seems that the iconThemePath folder generally exists, but the icon named doesn't exist in that folder. At a guess, you're getting the NewIconThemePath and processing that immediately, which causes it to look for the previous icon in the new folder, which fails (Electron seems to also renumber the icon file every time it changes, as well as putting it in a new temp folder) so it holds the previous icon, until the NewIcon message comes through with the new icon name and then the icon is updated.

If that's what's going on, it seems totally reasonable behaviour on your part, even though it results in scary errors that don't really matter being reported. I'm not sure what you would do about that... treat NewThemePath as updating where you would look when the icon changes, but don't actually update the icon until a NewIcon is received?? I can just as easily imagine usage patterns where that behaviour is wrong and the current one is correct. :/

I think the easiest thing to do would be to simply ALSO update the IconName whenever the theme path is updated and vice versa.

@cumber I think I'm going to leave the behavior as is. The warnings about the failure to get pixbuf for Item Info are well understood, but honestly the way electron provides icons is out of spec anyway.

@cumber Mind sharing your derivation for slack?

Sure thing! https://gist.github.com/cumber/e2dedb807d1a8aec7d4d6ab34f11e378
It's literally just the whole derivation copied from nixpkgs, which is a pain when they update. I'm going to get round to filing a pull request any day now, I just need to figure out if/how to make it conditional (and whether it should default to supporting indicators or not).

@cumber Do you know about overrideAttrs? Easy way to change parts of a derivation without changing the whole thing.

Yesish. I get a bit confused the difference between overrideDerivation and overrideAttrs, and in this case that combines with my confusion about buildInputs vs nativeBuildInputs (there's some weird thing where they switch places at one point in the layers of helpers used to make derivations? or they used to?).

You almost always want overrideAttrs, not overrideDerivation. overrideDerivation directly overrides the properties in the derivation file, while overrideAttrs overides the properties of the nix object that is then processed to make that file.
I'm not as sure re nativeBuildInputs, but I thought that mostly had to do with platform dependent stuff, which I don't think is going to be relevant in this (or most) cases.


Fixing Team icons opacity in teams menu

Summary
Fixing Team icons opacity in teams menu
This was broken here: dee85fb1acc405232a4f89834239f6546308c6ee to fix a problem
of visualization of the team icons in the admin console. This fix is respecting
that change and fixing the current bug.
Ticket Link
MM-21082

Creating a new SpinWick test server using Mattermost Cloud.

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-4485.test.mattermost.cloud

Account Type
Username
Password

Admin
sysadmin
Sys@dmin123

User
user-1
User-1@123

Test server destroyed


Proof presentation/always ack

Codecov Report

Merging #579 (39aae08) into main (6cedb6c) will decrease coverage by 35.90%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main     #579       +/-   ##
===========================================
- Coverage   61.76%   25.85%   -35.91%
===========================================
  Files         175       24      -151
  Lines       18434     1110    -17324
  Branches     4019      184     -3835
===========================================
- Hits        11385      287    -11098
+ Misses       2807      706     -2101
+ Partials     4242      117     -4125

Flag
Coverage Δ

integration-aries-vcx
?

unittests-agency-client
25.85% <ø> (ø)

unittests-aries-vcx
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...otocols/proof_presentation/prover/state_machine.rs

...ocols/proof_presentation/verifier/state_machine.rs

aries_vcx/src/messages/connection/did.rs

aries_vcx/src/messages/proof_presentation/mod.rs

aries_vcx/src/utils/json.rs

...src/protocols/connection/invitee/states/initial.rs

...cols/proof_presentation/verifier/states/initial.rs

aries_vcx/src/messages/a2a/message_family.rs

.../src/protocols/connection/inviter/state_machine.rs

aries_vcx/src/protocols/issuance/mod.rs

... and 141 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


On the PAEA part it is hard to tell what enrichment analysis was performed

Everything works very well, but once arriving to the PAEA part, it is hard to figure out what exactly the results represent... or what enrichment analysis was actually ran...
There are various outputs that can be generated:
up (input) vs. up (library), up (input) vs. down (library)
down (input) vs. up (library), down (input) vs. down (library)
and max similarity and max reversal by combining the ups and downs together...
this can be computed in various ways... one way is to used a signed version of the Jaccard, but maybe more sophisticated ways that are based on PAEA are probably better...
The network figure that attempts to visualize this is not that clear... one suggestion is to show the various "formulas" of the inputs and output with arrows, i.e., up regulated input genes shown in with the letter i and an arrow that points up...

This is actually true for both Characteristic Direction and PAEA. We can even change parameters but dispalyed results stay the same. I guess we can store this information next to chdir/paea results. Then we can display it next to actual results.
I think it could be useful to include this information as a comment in exported data as well.  Maybe with checksum of the input file, application version, database version. Otherwise output is simply a bunch of names and numbers.
Regarding  enrichment analysis and results presentation. Should we create predifined worfkflow and join result by default or focus on a flexibility and left decissions to the user?
There are two more possible outputs: up (input) vs. all (library) and down (input) vs. all (library).  I am not sure if it even makes sense to give join option here.
Could you provide some sketch of the graph you have in mind?

I think we figured out what is missing... PAEA only provides aligned gene sets, but I think what is needed is a search for the most orthogonal gene sets... This will require some edits of the PAEA library... Does that make sense?

The input can be always the ChrDir, the output however can be aligned sets, orthogonal sets, and aligned or orthogonal set pairs...

I was thinking about this more and I think the following will cover all the useful possibilities:
in↑ ∩ lib↑
in↓ ∩ lib↓
in↑ ∩ lib↓
in↓ ∩ lib↑
in↑ ∩ lib↑ + in↓ ∩ lib↓
in↑ ∩ lib↓ + in↓ ∩ lib↓
in↑ ∩ lib↑ + in↓ ∩ lib↓ - in↑ ∩ lib↓ - in↓ ∩ lib↓
in↑ ∩ lib↓ + in↓ ∩ lib↓ - in↑ ∩ lib↓ - in↓ ∩ lib↓

So we want to hide internal workflow from users, am I right?  We no longer provide intermediate results (like enriched downregulated/upregulated sets) and separate downloads and we give user, a single logical view of the results.
Internally, each in* ∩ lib* is a single PAEA run and each +/- represents join operation. Lets say we use following scheme in↑ ∩ lib↓ + in↓ ∩ lib↓ - in↑ ∩ lib↓ - in↓ ∩ lib↓.
We execute PAEA four times

p1 = in↑ ∩ lib↓
p2 = in↓ ∩ lib↓
p3 = in↑ ∩ lib↓
p4 = in↓ ∩ lib↓

where each p* gives us some geo_id, score (and some other fields). Then we join results by geo_id and order by combined score.
p1 join p2 by geo_id %>%
    join p3 by geo_id %>%
    join p4 by geo_id %>%
order by p1.score + p2.score - p3.score - p4.score

Instead of describing internals we can give user options like:

find sets with similar up-regulation patterns
find sets with similar down-regulation patterns
find sets with potential to reverse up-regulation
find sets with potential to reverse down-regulation
and so on ...

I am not sure if I understand the last three options. Did you mean?
in↑ ∩ lib↓ + in↓ ∩ lib↑
in↑ ∩ lib↑ + in↓ ∩ lib↓ - in↑ ∩ lib↓ - in↓ ∩ lib↑
in↑ ∩ lib↓ + in↓ ∩ lib↑ - in↑ ∩ lib↑ - in↓ ∩ lib↓

I don't understand the idea of searching for the most orthogonal gene sets.
Lets say we have two experiments (A, B) and measure only 2 probes (g1 and g2). If data is distributed as below I would expect to get characteristic direction coefficients (g1: 0, g2: 1) and (g1: 1, g2: 0) for A and B respectively. It looks like a clear example of the orthogonal sets.
If we expect conditions to be similar at the expression level and we get results like this it could be interesting infromation otherwise it doesn't look particularly exciting.

I like how you broke down the problem to compute p1, p2, p3 and p4 and then the other parts...
People really like to have the "intermediate results (like enriched downregulated/upregulated sets)" so please keep them... This is correct (I made some typos):
in↑ ∩ lib↓ + in↓ ∩ lib↑
in↑ ∩ lib↑ + in↓ ∩ lib↓ - in↑ ∩ lib↓ - in↓ ∩ lib↑
in↑ ∩ lib↓ + in↓ ∩ lib↑ - in↑ ∩ lib↑ - in↓ ∩ lib↓
The orthogonal issue is no longer relevant once we have this solution... sorry for the confusion...
I think the orthogonal idea makes sense when you have the same controls and you look for perturbations that hit two completely different pathways...

For a last couple of days I've been trying to figure out how to handle this and I have basic solution.
First of all the parameters are stored and passed downstream so it should be clear what is the input and which transformations have been applied. It is not pretty but should work for now.
I am still not sure how to handle different paea options. Right now it doesn't really matter which one we run. There are only four basic options so we can run all of these once and combine results based on user choice. Since we don't have good scoring strategy for combined results I apply filters on p-values. I thought about using Jaccard similarity like you suggested but it mean that we almost completely discard paea results. I have some idea how to reuse principal angles but considering problems I reported to Neil it will have to wait.


OpenBSD: Add polyImpl implementation for x86

Fix Issue 22393 - OpenBSD: Add polyImpl implementation for x86

I was somewhat hoping that build failure would be a serious bug 😄
But absolutely not a problem to target master.

It'd be a bug if it built or was thought to build before, but it seems you're fixing something that was simply not implemented - correct me if wrong.

Correct. I'm adding a should-have-been-implemented.

Stable is fine. - Could you please try bumping https://github.com/dlang/phobos/blob/b114d3f1a1380e5763b60dce1bb71c67433aa298/.circleci/run.sh#L5 to 2.095.0 as for the DMD repo in https://github.com/dlang/dmd/blob/3dfa83b4a0375277c3052788d56c431f631492d9/.circleci/run.sh#L5? Seems like current DMD stable doesn't build with that old host compiler version anymore.
This is apparently the 5th identical asm block in that function. A follow-up introducing something like
version (linux) enum GenericPosixVersion = true;
else version(…) enum GenericPosixVersion = true;
else            enum GenericPosixVersion = false;
…
static if (GenericPosixVersion) …

would be nice.

Stable is fine. - Could you please try bumping
https://github.com/dlang/phobos/blob/b114d3f1a1380e5763b60dce1bb71c67433aa298/.circleci/run.sh#L5
to 2.095.0 as for the DMD repo in https://github.com/dlang/dmd/blob/3dfa83b4a0375277c3052788d56c431f631492d9/.circleci/run.sh#L5? Seems like current DMD stable doesn't build with that old host compiler version anymore.
This is apparently the 5th identical asm block in that function. A follow-up introducing something like
version (linux) enum GenericPosixVersion = true;
else version(…) enum GenericPosixVersion = true;
else            enum GenericPosixVersion = false;
…
static if (GenericPosixVersion) …

would be nice.

version  GenericPosixVersion would be safer, or private enum.

version GenericPosixVersion would be safer, or private enum.

[I meant a function-local enum, not a global one.]


Problems with adding phone number

I already add my 2 phone numbers and confirm it with code from sms but when i try to check myself to airdrop program app says that i must to add a phone number in settings.can someone help me with that?

Yeah I have the same problem , trying to add my phone number but it never sends me the sms code to confirm :(

@twisterdw @bitjas what country is your phone number from? and what carrier?

Yes hello.i am from georgia and have georgian number Geocell
On Tue, Oct 22, 2019, 22:41 heronhaye<EMAIL_ADDRESS>wrote:

@twisterdw https://github.com/twisterdw @bitjas
https://github.com/bitjas what country is your phone number from? and
what carrier?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/20345?email_source=notifications&email_token=AIGPTMDJFQMYOSGJO6VZIE3QP5CN7A5CNFSM4JAI4WTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB6YVPA#issuecomment-545098428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIGPTMHVMNIYHCQRVKBL3K3QP5CN7ANCNFSM4JAI4WTA
.

@twisterdw Can you screenshot this from the app?

i must to add a phone number in settings.

Hi, I from new Zealand and my carrier is Vodafone.
The site told me I was eligible for the Stella airdrop, then you changed
the rules then I missed out cause I couldn't confirm my phone number.
On Wed, 23 Oct 2019, 7:41 AM heronhaye<EMAIL_ADDRESS>wrote:

@twisterdw https://github.com/twisterdw @bitjas
https://github.com/bitjas what country is your phone number from? and
what carrier?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/20345?email_source=notifications&email_token=AIRS2CQCVCNF3CZ37GOBABDQP5CN7A5CNFSM4JAI4WTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB6YVPA#issuecomment-545098428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIRS2CT7TMWE6C4EJNBIYVDQP5CN7ANCNFSM4JAI4WTA
.

Yes sure.
On Tue, Oct 22, 2019, 23:05 bitjas<EMAIL_ADDRESS>wrote:

Hi, I from new Zealand and my carrier is Vodafone.
The site told me I was eligible for the Stella airdrop, then you changed
the rules then I missed out cause I couldn't confirm my phone number.
On Wed, 23 Oct 2019, 7:41 AM heronhaye<EMAIL_ADDRESS>wrote:

@twisterdw https://github.com/twisterdw @bitjas
https://github.com/bitjas what country is your phone number from? and
what carrier?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/keybase/client/issues/20345?email_source=notifications&email_token=AIRS2CQCVCNF3CZ37GOBABDQP5CN7A5CNFSM4JAI4WTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB6YVPA#issuecomment-545098428
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AIRS2CT7TMWE6C4EJNBIYVDQP5CN7ANCNFSM4JAI4WTA
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/20345?email_source=notifications&email_token=AIGPTMGJEXB6I2B72VXBTW3QP5FI3A5CNFSM4JAI4WTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB63DRY#issuecomment-545108423,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIGPTMCA52GRYNIUCN3V7FLQP5FI3ANCNFSM4JAI4WTA
.


Swift Compiler Error

I am getting a lot of swift errors using:

React Native 59.9
XCode 11.2.1

Any ideia what this could be?

Seems issue with Swift version, you should downgrade your swift version or update package

Im not sure what to do, I mean I am using "react-native": "0.61.4", and latest xcode,`
what exactly I need to do, I mean as far as I understood, is that I need to migrate somehow your repo to the latest swift?

I have exactly the same problem. I followed the video instruction on the dot but I'm also using Xcode 11.2.1 which can only run Swift 4+
"react": "16.8.3",
"react-native": "0.59.5",
"react-native-video-processing": "^1.20.0"

Need urgent help to fix that compile issue. I have spent many hours and tried every trick on the book.

You should use "react-native-video-processing": "shahen94/react-native-video-processing" on your package.json in order to work with Swift 4+

That reduced the errors from 44 to 10 but still it doesn't compile without modifying the source files @santiagovazquez

@dittmarconsulting I would clone the repo and start from the scratch again. Follow the instructions from the video https://www.youtube.com/watch?v=HRjgeT6NQJM&feature=youtu.be. I did that last week and it worked (with the latest version of Xcode and latest version of RN).

@dittmarconsulting I would clone the repo and start from the scratch again. Follow the instructions from the video https://www.youtube.com/watch?v=HRjgeT6NQJM&feature=youtu.be. I did that last week and it worked (with the latest version of Xcode and latest version of RN).

Doesn't work for last version React Native 0.60+

Is this solved somehow for 0.61+?

@dittmarconsulting I would clone the repo and start from the scratch again. Follow the instructions from the video https://www.youtube.com/watch?v=HRjgeT6NQJM&feature=youtu.be. I did that last week and it worked (with the latest version of Xcode and latest version of RN).

Doesn't work for last version React Native 0.60+

Please check this issue. https://github.com/shahen94/react-native-video-processing/issues/268#issuecomment-591224776

My steps to get this working from Swift v3.0 -> Swift v4.2, without disrupting your existing project too much:

In your package.json file make sure you have:
"react-native-video-processing"<EMAIL_ADDRESS>

Replace the RNVideoProcessing.xcodeproj file with the latest one on GitHub (located in ../node_modules/react-native-video-processing/ios)

Replace the ENTIRE RNVideoProcessing folder with the latest one on GitHub

Drag and drop the RCTSwiftBridgeModule.hfile into the RNVideoProcessing folder in the folder viewer on the left habd side in XCode (i'm using XCode v10.1)

BUILD 👍

@chai86 not sure what do you mean about step 4. Could you give more context? having 60 swift errors

@MrAlekhin You need to take the RCTSwiftBridgeModule.h (you'll find it in the latest file in the repo). Make sure you have it in the correct folder (in Windows or Finder). This shold be node_modules/.../ios/RNVideoProcessing.
Then drag it to the left hand side folder structure in XCode (i'm building for iOS), and build


SyntaxError: Identifier 'jest' has already been declared

If you are reporting a bug, please fill in below. Otherwise feel free to remove this template entirely.
Can you reproduce the problem with latest npm?
Yes after updating to the latest version the issue still occurs
###Can you still reproduce it?
Yes issue still occurs
Description
An issue with running test using jest v18.0.0
Expected behavior
The declared variable within the test.js file would be the first instance, or the jest global variable to be available within the test.js
Actual behavior
Error is logged, stating that jest has already been declared

Environment
Run these commands in the project folder and fill in their results:

npm ls react-scripts (if you haven’t ejected):
node -v7.3.0:
npm -3.10.10:

Then, specify:

Operating system: macOs Sierra
Browser and version: Chrome Version 55.0.2883.95 (64-bit)

Reproducible Demo
To re-create the issue;

run create-react-app
npm run eject
update jest version to 18.0.0
npm run test

Can you provide the relevant code?

See #1311

Great! thanks all working now!

Could you clarify what was broken and how #1311 fixes this?

Yes, so the issue was that, I attempted to update the jest version to v18.0.0  and was met with an error in console SyntaxError: Identifier 'jest' has already been declared, what was

@gaearon jest@18 tries to run the file scripts/test.js as a test. It is configured to look for test files in src/, which it now also matches to scr/* making it look in the scripts folder.

Aaaah. Thanks for explaining.


Feature/factory

If u need to have new mem of course u need a new instance but thats not always the case. Hence have both of them and the compiler will figure it out for u

On 7 Mar 2018, at 17:22, Heiko Strathmann<EMAIL_ADDRESS>wrote:
@karlnapf commented on this pull request.
In src/shogun/labels/BinaryLabels.cpp:

using namespace shogun;
CBinaryLabels::CBinaryLabels() : CDenseLabels()
{
}
+CBinaryLabels::CBinaryLabels(const CBinaryLabels& orig) : CDenseLabels(orig)
For converting the same datastruct, I see the point
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Btw now thinking of this i’m not so sure we need this things explicit... as it makes the whiole thing less smooth.... afaik you could have the whole thing implicit with the right ctors

On 7 Mar 2018, at 17:22, Heiko Strathmann<EMAIL_ADDRESS>wrote:
@karlnapf commented on this pull request.
In src/shogun/labels/BinaryLabels.cpp:

using namespace shogun;
CBinaryLabels::CBinaryLabels() : CDenseLabels()
{
}
+CBinaryLabels::CBinaryLabels(const CBinaryLabels& orig) : CDenseLabels(orig)
For converting the same datastruct, I see the point
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

We could also have a constructor in CBinaryLabels that takes a CLabels pointer and then does the same thing as this introduced as_binary method. Not sure that conflicts with a copy constructor in some way. I actually like the explicitness

@lisitsyn see updated version

I would like to merge this.
Both travis and windows timeout unfortunately.
Locally, the tests pass.

lets try to make the CIs pass as this anyways is going to be a huge problem with GSoC. i've tried dropping some heavy compilation tasks (serialization) but seems it is still not enough

Shall I contact travis to get more time on the builds?

Alternatively, we could disable the libshogun examples by default

imo that's not going to work as that's a global counter and they wont change that unless you actually start paying for their services.... and since we anyways still would have problems with appveyor i'd rather try to lower our compilation time

removing old examples then?

that's any easy fix just remove from the all target... that's a good question whether that actually would solve the compilation time problem. but it's worth a shot

but that means that you should remove the libshogun examples from ctest as well... as they won't be built by default

Looking at the logs, this will not help unfortunately :( it is killen when compiling shogun itself

Alright, let's see what the buildbot says to this...


RangeError in local reference contributor

Dart analysis server, SDK version 1.13.0-edge.76b7203c198dbfbd34dc57829fdbc7d687143c2c, server version 1.12.0, FATAL error: RangeError: Invalid value: Not in range 0..2687, inclusive: 2740
#0      _StringBase.startsWith (dart:core-patch/string_patch.dart:305)
#1      _LocalVisitor._LocalVisitor (package:analysis_server/src/services/completion/local_reference_contributor.dart:362)
#2      LocalReferenceContributor.computeFast (package:analysis_server/src/services/completion/local_reference_contributor.dart:35)
#3      DartCompletionManager.computeFast.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:analysis_server/src/services/completion/dart_completion_manager.dart:181)
#4      CompletionPerformance.logElapseTime (package:analysis_server/src/services/completion/completion_manager.dart:165)
#5      DartCompletionManager.computeFast.<anonymous closure>.<anonymous closure> (package:analysis_server/src/services/completion/dart_completion_manager.dart:180)
#6      ListMixin._filter (dart:collection/list.dart:282)
#7      Object&ListMixin.removeWhere (dart:collection/list.dart:268)
#8      DartCompletionManager.computeFast.<anonymous closure> (package:analysis_server/src/services/completion/dart_completion_manager.dart:179)
#9      CompletionPerformance.logElapseTime (package:analysis_server/src/services/completion/completion_manager.dart:165)
#10     DartCompletionManager.computeFast (package:analysis_server/src/services/completion/dart_completion_manager.dart:147)
#11     DartCompletionManager.computeSuggestions.<anonymous closure> (package:analysis_server/src/services/completion/dart_completion_manager.dart:240)
#12     CompletionPerformance.logElapseTime (package:analysis_server/src/services/completion/completion_manager.dart:165)
#13     DartCompletionManager.computeSuggestions (package:analysis_server/src/services/completion/dart_completion_manager.dart:239)
#14     CompletionManager.results.<anonymous closure>.<anonymous closure> (package:analysis_server/src/services/completion/completion_manager.dart:108)
#15     _rootRun (dart:async/zone.dart:903)
#16     _CustomZone.run (dart:async/zone.dart:802)
#17     _CustomZone.runGuarded (dart:async/zone.dart:708)
#18     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:733)
#19     _rootRun (dart:async/zone.dart:907)
#20     _CustomZone.run (dart:async/zone.dart:802)
#21     _CustomZone.runGuarded (dart:async/zone.dart:708)
#22     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:733)
#23     _microtaskLoop (dart:async/schedule_microtask.dart:43)
#24     _microtaskLoopEntry (dart:async/schedule_microtask.dart:52)
#25     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#26     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)

Fixed in LocalReferenceContributor as part of move to new completion API


:robot: Triggering CI on branch 'release-next' after synching to upstream/main

/retest

/retest

/retest

OCF Webhook is merging this PR


Missing Release Notes for previous versions of SSMS 2019

Include a link for Release Notes for previous versions of SSMS 2019, in this site I can only see what's new on Preview 2 but I want to know what's new overall from 2018.

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

ID: de5cf89b-941c-1365-de56-00bcdf130529
Version Independent ID: de5cf89b-941c-1365-de56-00bcdf130529
Content: Release notes for (SSMS) 19 (Preview) - SQL Server Management Studio (SSMS)
Content Source: docs/ssms/release-notes-ssms-19.md
Product: sql
Technology: ssms
GitHub Login: @erinstellato-ms
Microsoft Alias: erinstellato

@PedroC88  Did you check out the release notes page? https://docs.microsoft.com/sql/ssms/release-notes-ssms

@rwestMSFT Yes and that page doesn't have anything for v19, except a link to the page... unless I'm missing something.

There is no SSMS 2019. SSMS 19.x was only released recently for the SQL Server 2022 Preview. The current mainline version is SSMS 18.x, which was released for SQL Server 2019. I hope that helps.

@PedroC88 -- Pedro, thank you for your feedback.
@rwestMSFT -- Randolph, thank you for clarifying.
I am closing this issue now.  You are welcome to @ mention me for any followup.  We hope to hear from you again.

You are right, at all times I meant v18 and v19 instead of 2018 or 2019, I apologize. Having said that, where can I find the release notes for all 19 compared to 18, not just preview 2 (as described on the original question).

Once SSMS v19 is out of preview, you can expect to see the same kind of release notes as v18.

@PedroC88 The release notes for SSMS 19 Preview 2 currently do list everything that is new since SSMS 18.11.1.  Obviously, since we are in preview, additional functionality will be added in future releases.  The release notes for SSMS 19 Preview follow the same pattern as those for SSMS 18 and below.  If you believe something is missing, or you are looking for something specific, let me know.


Social Media Button placement on the home page

The positioning of the social media buttons on the home page (being as high as they are) make it look like they are offering methods of logging in or registering, which is confusing.  I would recommend moving this down so that it is more clear that these are to connect with the organizations (similar to a standard social media footer).

fixed in the latest build design.


ROX-13673 + ROX-13674 + ROX-13675: Create cidr block side panel layout

Description
This PR is an iterative step to creating the CIDR Block side panel. I decided to include three of the subtasks in this PR to minimize PRs. You can find all the subtasks for the CIDR Block side panel work here: https://issues.redhat.com/browse/ROX-13672
Checklist

~[ ] Investigated and inspected CI test results~
~[ ] Unit test and regression tests added~
~[ ] Evaluated and added CHANGELOG entry if required~
~[ ] Determined and documented upgrade steps~
~[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)~

Screenshots

@alanonthegit @zhenpesky where can I find this icon?


fix typo in makefile

Issue #, if available:
Description of changes:
this was leading to the builder-base post-submits to not create a PR
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


assert_redirected_to behaving oddly with Rails 6

We have a bunch of tests that make xhr requests and used assert_redirected_to.
Attempting to update to Rails 6, the same tests that passed before, fail with:
Schools::Parents::UploadsControllerTest#test_requires_superadmin [/Users/bhilkert/code/bark/test/controllers/schools/parents/uploads_controller_test.rb:47]:
Expected response to be a <3XX: redirect>, but was a <200: OK>
Response body: Turbolinks.clearCache()
Turbolinks.visit("http://bark.test/schools/dashboard", {"action":"replace"})

rails test test/controllers/schools/parents/uploads_controller_test.rb:39

It should use Turbolink's version of assert_redirected_to, however it's not because the check is return false because response.content_type from Rails 6 is text/javascript; charset=utf-8 instead of the checked condition (text/javascript).
Is this the expected response type for Rails 6 and if so, should this be adjusted to check for the presence of text/javascript instead of the exact string? If so, I can make a PR, but just want to confirm we don't have something configured wrong.

This was fixed in #43. We need to cut a new release of this gem, but until we do, you can bundle from GitHub.

Thanks! Start going down the path of ActionDispatch::Response.return_only_media_type_on_content_type = true and then saw the new deprecation.
DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from assert_redirected_to at (pry):1)


Default parameter value is not always parsed

API Blueprint example blueprint does not parse correctly – 09. Advanced Attributes.md
Parsing following will result in error: warning: (5)  ignoring unrecognized block :55:16 (the default value is not parsed:
# R [/r/{id}]
+ Parameters
    + id (optional)
        + Default: `20`

Following parses OK:
# R [/r/{id}]
+ Parameters
    + id: 0 (optional)
        + Default: `20`

See the specification: URI parameters section

@zdne That is correct. In the first instance, parser assumes that the parameter style is the old style and doesn't recognise the Default. In the second instance, parser sees the : and parses it using MSON style.
This is because, we default to old style parsing when we don't have any special characters like = or : in parameter signature.
Though, I understand that we can lookahead and see the Default keyword, but that is going to be a bit tricky with our architecture.

@pksunkara the main problem with this the incorrect example in API Blueprint repo.

Well we at the very least need to issue a better warning – this is super confusing – and conforming the spec => really poor user experience .

When there is a list item within the property we could perhaps assume it's the new style instead? So once + Default is present, it's treated as an MSON style parameter.


What are "ModernUI applications" - or how do I recognize them?

I expected that this is Windows Store only so I disabled Camera an Microphone access for it. However it seems that at least Zoom and Skype are Modern UI applications even in non-store versions

All apps will be Modern UI eventually.y. Its a xaml framework that Microsoft has been converting to.
https://docs.microsoft.com/en-us/windows/apps/winui/

Thank you for the reference. Why (do you state that) all app(lication?)s will be modern UI eventually?
(Afaik "Apps" are small tools usually obtained from stores of ecosytems like Microsoft Store (UWP), Play Store (.apk) or Apple App Store (.ipa) and "Applications" are the classic desktop Win32 applications)
That seems quite pointless to me - From my understanding: If you want to be malware, you do not utilize Modern UI and all Modern UI restrictions will not hold for you. I also was surprised that there was no "xyz is trying to access your camera but this is disallowed by the current configuration"-type of message. Instead camera access was granted but only a static gray picture was shown.
Just let me encourage you to extend the comment on these features by a list of affected very popular applications, like non-store Skype and Zoom are. I think that would help other users to make a more informed decision and to not waste time to debug this issue like I did 😄

The meaning just got lost in the evolution here. Originally, there were just the Win8 style Metro UI applications. Win10 introduced a concept which looked exactly the same for the end user, but Microsoft wanted to clearly communicate that it's not the same, so they called it Modern UI. The very first applications built on Universal Windows Platform (UWP) in 2015 and shipped with Win10 RTM all used this UI. The distinction between the platform and the UI wasn't that clear back then, so the script calls such apps Modern UI even though it's meant to be UWP, as UI is no longer a distinguishable feature. Most apps use Windows Presentation Foundation (WPF) for the UI which can look arbitrarily. UWP is just an API for the developers to use and the tweaks in question (resp. the Windows settings they set) control the use of the API. I'll amend the description of the tweaks.

If you want to be malware, you do not utilize Modern UI and all Modern UI restrictions

UWP is meant to be a simplification / unification for developers, not a security boundary. Although on platforms which allow installation of only UWP apps (Windows 10 S), it could be regarded as such, however Microsoft doesn't consider even UAC a security boundary, so it's dubious. UWP is superset of several APIs, malwares don't need any of the functionality as they usually target a specific platform / architecture and specific vulnerability or bug (resp. feature :P ). Also, malwares usually don't have UI. If they do, oftentimes it's a custom UI, not using even Windows Forms. Also note that the tweaks in question are in Privacy Tweaks group, not in Security Tweaks. This is exactly because there is no guarantee that an application won't be able to use the respective devices, even though it's disabled by the settings.
As for the how do I recognize them? part - The app either uses Windows Forms UI, in which case it doesn't use UWP as these two are incompatible. Or it uses some other UI, in which case there's a good chance you're looking on WFP app, which also has a good chance to run on UWP. You can't be certain just by looking on it. I'm sure there are ways how to determine this programmatically, but I haven't had the need for it, so I can't be more specific.

Thank you again for the information. However with UWP in the documentation I (and probably many others) would even more expect that this is for store-apps only. If you google for what UWP is, you will find https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide as one of the first results. Yes, its two years old - but on that page Microsoft states that one of the features of UWP apps is their availability on the Microsoft Store. This maybe outdated information, but that is what users will find.

Just let me encourage you to extend the comment on these features by a list of affected very popular applications, like non-store Skype and Zoom are. I think that would help other users to make a more informed decision and to not waste time to debug this issue like I did 😄

But in the end it is your decision, of course.

Hmm, the problem is actually elsewhere. On the current versions of Windows, there are 2 switches in camera and microphone privacy control panels. One for UWP and the other for desktop apps. Desktop apps can be disabled separately from UWP apps, but not vice versa. When UWP access is disabled, desktop apps are forcefully disabled along with it. So Zoom is a normal Win32 app, written in .NET Core, using WPF, but since it uses the proper Windows API for accessing the peripherals, it gets nothing because the access is blocked by the seemingly unrelated UWP settings. I'm almost sure it didn't work like this back in the days, but I'll amend the comments once more to remove the mention about UWP, since it disables camera and microphone access globally.

I (and probably many others) would even more expect that this is for store-apps only.

It's similar to APK vs. Google Play - you're still free to create and install an application package from wherever, but the official distribution platform makes it easy to get the packages to the end users. This is also what the article you've linked says. It doesn't say anything about UWP being exclusively tied to Store. Initially, UWP was intended to be a prerequisite for acceptance into the Store, but Microsoft realized they'd have ridiculously low amount of applications there, so they allowed also classic Win32 apps and other stuff.

list of affected very popular applications

I don't use any UWP apps, so I don't have any list. However there's a PR #315 which targets also UWP features, so I'm about to create a whole separate block for UWP tweaks where I'm about to briefly describe what UWP is. Nevertheless, it's now clear that the problem you've faced is unrelated to UWP.


Memory Leakage Issue in MLX 0.16

Hi Team,
I had used the DETR implementation from the MIMM package here. With MLX 0.15, the memory usage during training remained nearly constant at 11.46 GB. However, after installing MLX 0.16, the memory consumed is growing with every iteration and starts to use swap memory after 8th iteration. Could you please help out to see if there is any memory leak in the latest release?

Could you share a snippet to reproduce the memory leak?

I have attached the ipynb file for your reference.
To reproduce:

Clone this repo.
Run the following piece of code:

import os
import json
import numpy as np
import time
import mlx.core as mx
import mlx.nn as nn
import mlx.optimizers as optim
from mimm.models.detection.detr.utils import NestedTensor
from mimm.models.detection.detr import detr

def batch_images_and_masks(inputs):
    images = []
    masks = []
    original_image_sizes = []
    for i in range(len(inputs)):
        images.append(inputs[i]['image'])
        masks.append(inputs[i]['mask'])
        original_image_sizes.append(inputs[i]['orig_size'])
    images = mx.array(images)
    masks = mx.array(masks)
    original_image_sizes = mx.array(original_image_sizes)
    return images, masks, original_image_sizes

inputs = []
i = {}
i['image'] = mx.random.uniform(shape=(1024, 1024, 3))
i['mask'] = mx.zeros(shape=(1024, 1024))
i['orig_size'] = mx.array([1024, 1024])
inputs.append(i)
targets = []
t = {}
t['boxes'] = mx.random.uniform(shape=(50, 4))
t['labels'] = mx.ones((50), dtype=mx.int64)
targets.append(t)
images, masks, original_image_sizes = batch_images_and_masks(inputs)

import numpy as np
import mlx.core as mx
import mlx.nn as nn
from scipy.optimize import linear_sum_assignment

class DETRMatcher:
    def __init__(self, cost_class: float = 1.0, cost_bbox: float = 5.0, cost_giou: float = 2.0):
        super().__init__()
        self.cost_class = cost_class
        self.cost_bbox = cost_bbox
        self.cost_giou = cost_giou

    def forward(self, outputs, targets):
        bs, num_queries = outputs['pred_logits'].shape[:2]
        out_prob = nn.softmax(outputs['pred_logits'].flatten(0, 1))  # [batch_size * num_queries, num_classes]
        out_bbox = outputs['pred_boxes'].flatten(0, 1)  # [batch_size * num_queries, 4]
        tgt_ids = mx.concatenate([v['labels'] for v in targets])
        tgt_bbox = mx.concatenate([v['boxes'] for v in targets])
        cost_class = -out_prob[:, tgt_ids]
        cost_bbox = self.compute_l1_distance(out_bbox, tgt_bbox)
        cost_giou = -generalized_box_iou(box_cxcywh_to_xyxy(out_bbox), box_cxcywh_to_xyxy(tgt_bbox))

        C = self.cost_bbox * cost_bbox + self.cost_class * cost_class + self.cost_giou * cost_giou
        C = np.asarray(C.reshape(bs, num_queries, -1))
        sizes = [len(v['boxes']) for v in targets]
        indices = []
        for i, c in enumerate(C):
            # print(c.shape)
            if i == 0:
                start_index = 0
                end_index = start_index + sizes[i]
            else:
                start_index = sizes[i-1]
                end_index = start_index + sizes[i]
            cost_matrix = c[:, start_index:end_index]
            indices.append(linear_sum_assignment(cost_matrix))
        return [(mx.array(i, dtype=mx.int64), mx.array(j, dtype=mx.int64)) for i, j in indices]

    @staticmethod
    def compute_l1_distance(src_boxes, tgt_boxes):
        src_boxes = src_boxes[:, None, :]  # [batch_size * num_queries, 1, 4]
        tgt_boxes = tgt_boxes[None, :, :]  # [1, num_targets, 4]
        return mx.sum(mx.abs(src_boxes - tgt_boxes), axis=-1)  # [batch_size * num_queries, num_targets]

def generalized_box_iou(boxes1, boxes2):
    iou, union = box_iou(boxes1, boxes2)
    enclose_area = (mx.maximum(boxes1[:, None, 2:], boxes2[:, 2:]) - mx.minimum(boxes1[:, None, :2], boxes2[:, :2])).prod(2)
    giou = iou - (enclose_area - union) / (enclose_area + mx.array(1e-7))
    return giou

def box_iou(boxes1, boxes2):
    area1 = (boxes1[:, 2] - boxes1[:, 0]) * (boxes1[:, 3] - boxes1[:, 1])
    area2 = (boxes2[:, 2] - boxes2[:, 0]) * (boxes2[:, 3] - boxes2[:, 1])

    lt = mx.maximum(boxes1[:, None, :2], boxes2[:, :2])
    rb = mx.minimum(boxes1[:, None, 2:], boxes2[:, 2:])

    wh = mx.clip(rb - lt, 0, None)
    inter = wh[:, :, 0] * wh[:, :, 1]

    union = area1[:, None] + area2 - inter
    iou = inter / union
    return iou, union

def box_cxcywh_to_xyxy(x):
    x_c, y_c, w, h = x[:, 0], x[:, 1], x[:, 2], x[:, 3]
    b = [x_c - 0.5 * w, y_c - 0.5 * h, x_c + 0.5 * w, y_c + 0.5 * h]
    return mx.stack(b, axis=1)

def box_xyxy_to_cxcywh(x):
    x0, y0, x1, y1 = x[:, 0], x[:, 1], x[:, 2], x[:, 3]
    b = [(x0 + x1) / 2, (y0 + y1) / 2, (x1 - x0), (y1 - y0)]
    return mx.stack(b, axis=1)

class DETRLoss:
    def __init__(self, num_classes, matcher, weight_dict, eos_coef, losses):
        super().__init__()
        self.num_classes = num_classes
        self.matcher = matcher
        self.weight_dict = weight_dict
        self.eos_coef = eos_coef
        self.losses = losses
        self.empty_weight = mx.ones(self.num_classes + 1)
        self.empty_weight[0] = self.eos_coef

    def loss_labels(self, outputs, targets, indices, num_boxes):
        src_logits = outputs['pred_logits']
        idx = self._get_src_permutation_idx(indices)
        target_classes_o = mx.concatenate([t["labels"][J] for t, (_, J) in zip(targets, indices)])
        target_classes = mx.full(src_logits.shape[:2], 0, dtype=mx.int32)
        target_classes[idx] = target_classes_o
        loss_ce = mx.mean(nn.losses.cross_entropy(src_logits, target_classes, weights=self.empty_weight[target_classes]))
        losses = {'loss_ce': loss_ce}

        return losses

    def loss_boxes(self, outputs, targets, indices, num_boxes):
        idx = self._get_src_permutation_idx(indices)
        src_boxes = outputs['pred_boxes'][idx]
        target_boxes = mx.concatenate([t['boxes'][i] for t, (_, i) in zip(targets, indices)], axis=0)
        loss_bbox = nn.losses.l1_loss(src_boxes, target_boxes, reduction='none')
        losses = {}
        losses['loss_bbox'] = loss_bbox.sum() * 5.0 / num_boxes
        loss_giou = 1 - mx.diag(generalized_box_iou(
            box_cxcywh_to_xyxy(src_boxes),
            box_cxcywh_to_xyxy(target_boxes)))
        losses['loss_giou'] = loss_giou.sum() * 2.0 / num_boxes

        return losses

    def _get_src_permutation_idx(self, indices):
        batch_idx = mx.concatenate([mx.full((src.shape[0],), i, dtype=mx.int64) for i, (src, _) in enumerate(indices)])
        src_idx = mx.concatenate([src for (src, _) in indices])
        return batch_idx, src_idx

    def forward(self, outputs, targets):
        indices = self.matcher.forward(outputs, targets)
        num_boxes = sum(len(t["labels"]) for t in targets)
        num_boxes = mx.array([num_boxes], dtype=mx.float32)
        num_boxes = mx.maximum(num_boxes, mx.array([1.0], dtype=mx.float32))
        losses = {}
        for loss in self.losses:
            loss_fn = getattr(self, f'loss_{loss}')
            losses.update(loss_fn(outputs, targets, indices, num_boxes))

        losses = {k: v for k, v in losses.items()}
        return losses

class DETRTrainer:
    def __init__(self, model, criterion, optimizer):
        self.model = model
        self.criterion = criterion
        self.optimizer = optimizer

    def loss_fn(self, nested_tensor, targets):
        outputs = self.model(nested_tensor)
        loss_dict = self.criterion.forward(outputs, targets)
        loss = sum(loss for loss in loss_dict.values())[0]
        return loss

    def train_one_epoch(self, epoch):
        self.model.train()
        total_loss = 0.0
        iteration = 0
        total_iterations = 500
        for i in range(total_iterations):
            images, masks, orig_sizes = batch_images_and_masks(inputs)
            t = NestedTensor(images, masks)
            loss_value, grads = self.loss_and_grad_fn(t, targets)
            grads, total_norm = optim.clip_grad_norm(grads, max_norm=0.1)
            self.optimizer.update(self.model, grads)
            total_loss += loss_value.item()
            if iteration % 1 == 0:
                print(f'Epoch: {epoch}, Iteration: {iteration}, Loss: {loss_value.item()}')
            iteration += 1
            # break
        avg_loss = total_loss / total_iterations
        print(f'Epoch {epoch} completed. Average Loss: {avg_loss}')

    def fit(self, num_epochs):
        self.loss_and_grad_fn = nn.value_and_grad(self.model, self.loss_fn)
        for epoch in range(num_epochs):
            self.train_one_epoch(epoch)
            # Optionally, you can add validation here
            # self.evaluate(self.data_loader)

# Example usage
if __name__ == "__main__":
    mx.set_default_device(mx.gpu)
    model, processor = detr.detr_resnet50(num_classes=1, num_queries=100, hidden_dim=256)
    matcher = DETRMatcher()
    criterion = DETRLoss(num_classes=1, matcher=matcher, weight_dict=None, eos_coef=0.1, losses=["labels", "boxes"])  # Adjust parameters as needed
    lr_schedule = optim.step_decay(0.0001, 0.5, 2000)
    optimizer = optim.AdamW(learning_rate=lr_schedule)
    trainer = DETRTrainer(model, criterion, optimizer)
    trainer.fit(num_epochs=10)

In the activity monitor, you will see the memory used by the python process jumping very quickly. This was not the case with MLX 0.15.

Cool, thanks for sharing that. I can indeed reproduce it. It looks like it was introduced between 0.15.2 and 0.16. I will bisect and look for the issue.

It started showing up after https://github.com/ml-explore/mlx/pull/1246.

Many thanks for your help with this.

So there does seem to be a leak of some sort. However, you if you eval the model and optimizer state after each iteration (which is good practice) then it seems like the leak goes away. So I would recommend that you do that:
            self.optimizer.update(self.model, grads)
            mx.eval(self.model, self.optimizer.state)  # <-- add that line
            total_loss += loss_value.item()

A simple repro which shows the leak:
import mlx.core as mx
import mlx.nn as nn

if __name__ == "__main__":

    params = [mx.zeros((256, 256))]

    def loss_fn(params, x):
        x = x @ params[0].T
        outputs = mx.fast.layer_norm(x, None, None, 1e-4)
        mx.eval(outputs)
        return outputs.sum()

    loss_and_grad_fn = mx.value_and_grad(loss_fn)

    src = mx.random.uniform(shape=(1, 32, 32, 256))
    for i in range(50000):
        loss_value, grads = loss_and_grad_fn(params, src)
        params[0] = grads[0] + params[0]
        print(mx.metal.get_peak_memory())

So there does seem to be a leak of some sort. However, you if you eval the model and optimizer state after each iteration (which is good practice) then it seems like the leak goes away. So I would recommend that you do that:
            self.optimizer.update(self.model, grads)
            mx.eval(self.model, self.optimizer.state)  # <-- add that line
            total_loss += loss_value.item()

Thank you, @awni! This solved the problem.

This is mostly closed by #1274


a way to extend callOverlayHandler ?

I'm writing typescript, and need to make type work with this
declare global {
  const addOverlayListener: IAddOverlayListener;
  const callOverlayHandler: IOverlayHandler;
}

this normally works fine, but overlay plugin call also provided like saveData and loadData
I'm not quite familiar with this question, is there any way to supporting extending?
https://www.typescriptlang.org/docs/handbook/declaration-merging.html
furthermore, I think we can move part of types to OverlayPlugin/OverlayPlugin

I mean move type definition of saveData and loadData to OverlayPlugin, and only need to add to OverlayPlugin is a type definition (supporting extending and we extending cactbot only events and caller in cactbot)

I'll create a issue in OP repo and explain it there.


Fixing some bugs which ktrans validate found

Once https://github.com/kentik/ktranslate/pull/301 is merged in I'll update this PR to also run validate automatically on commit.

OK -- this should be ready to merge in. Failing action will block any invalid profiles from getting merged in here.


Updated APIs to latest Consul version

Added Name based and ID based querying
Updated APIs according to latest consul docs

CC @enzoqtvf -> maybe you can help to merge this one.

lgtm

Thank you so much.


added social media icons

There is a conflict in the head. It looks like you did not pull the latest main before adding the link to font-awesome stylesheet


Issue to connect to named instance from ADS on MacOS

Azure Data Studio Version: 1.26.0

Steps to Reproduce:

Using server\instance format fails to connect to named instance

I'm facing the following error msg:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)
However using following formats work successfully:

server,port
server\instance\\

@mikedavem Please update to the latest version - 1.26.1. This is a hotfix rolling back a SqlClient driver change that had a regression for kerberos auth on non-Windows platforms. See https://github.com/microsoft/azuredatastudio/issues/14382 for more details.


fix/missing-class-on-notice-title

Adding the missing class "fr-notice__title" on the notice title as documented here : https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/bandeau-d-information-importante

Merci!


numactl: 2.0.11 -> 2.0.12

Motivation for this change
Update version and meta data
Things done

2.0.11 -> 2.0.12
removed sysmacro patch (is included in 2.0.12)
update license and homepage

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

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

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

cc @dtzWill  re musl patch
@GrahamcOfBorg build numactl

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: numactl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: numactl
Partial log (click to expand)
shrinking /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12/bin/migratepages
shrinking /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12/bin/memhog
shrinking /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12/bin/numademo
shrinking /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12/bin/numastat
gzipping man pages under /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12/share/man/
/nix/store/vp40my263xk32f07788srrgl59rycsna-binutils-2.30/bin/strip is /nix/store/vp40my263xk32f07788srrgl59rycsna-binutils-2.30/bin/strip
stripping (with command /nix/store/vp40my263xk32f07788srrgl59rycsna-binutils-2.30/bin/strip and flags -S) in /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12/lib  /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12/bin
patching script interpreter paths in /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12
checking for references to /build in /nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12...
/nix/store/rg9q34s33qpxf46qjkjf30qcczbjnypn-numactl-2.0.12

Success on aarch64-linux (full log)
Attempted: numactl
Partial log (click to expand)
shrinking /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12/bin/numademo
shrinking /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12/bin/numastat
shrinking /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12/bin/numactl
shrinking /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12/lib/libnuma.so.1.0.0
gzipping man pages under /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12/share/man/
/nix/store/8wl4dykwswy42wxj671b6k7vk2ydxg86-binutils-2.30/bin/strip is /nix/store/8wl4dykwswy42wxj671b6k7vk2ydxg86-binutils-2.30/bin/strip
stripping (with command /nix/store/8wl4dykwswy42wxj671b6k7vk2ydxg86-binutils-2.30/bin/strip and flags -S) in /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12/lib  /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12/bin
patching script interpreter paths in /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12
checking for references to /build in /nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12...
/nix/store/xdqy92y24bklxqpvxf5xl6f6k8h065s3-numactl-2.0.12


backup file name should have date component

Currently, the backup filename has a unique id  (for example - rocketchat_backup_1486104024.tgz).
Adding a human readable date component to it will help with backup management.  (for example - rocketchat_backup_01_18_2017_23_30_1488232.tgz).

That ID is really "seconds since the epoch", so it's a date, just not human-readable. I went with that because I wanted to include hours and minutes, but working with : in file names is annoying.
Do you think month and day are enough?

There is probably value to add year, hour and minutes as well.   For the use case of automated backup scripts , and during testing where we're creating multiple backup in rapid succession.

The epoch time is down to seconds and includes timezone info as well. Here's a conversion example:
#! /bin/bash

echo "Given file name is '$1'"
epoch=${1:18:-4}
echo "Epoch date is '$epoch'"
date=$(date -d @$epoch)
echo "Date is $date"

Output:
Given file name is 'rocketchat_backup_1486234335.tgz'
Epoch date is '1486234335'
Date is Sat Feb  4 13:52:15 EST 2017

Something similar to rocketchat_backup_2017_02_10_23_30_148.tgz  will be friendly for administrators who may not be developers or have access to conversion routines.

PR #7 created; date looks like: rocketchat_backup_2017-02-05_00-28-15.tgz

Thanks.  Will test and close this one tonight.

Thanks!  Verified working.  Closing this issue.


IE9 only limited number of text boxes resize

Wondering if anyone has had any similar issues to this. I have a scrolly inforgraphic thing and using big text for the titles and labels but in IE9 only 21 of the boxes actually resize the rest display at usual font size despite having the JS applied to them.
All other browsers are fine its just IE9... anyone any ideas?

Please attach a test case using jsfiddle or jsbin so that I can help debug. Thanks!


[WebIDE] error box stuck below

Once a compilation error is detected, hitting verify again caused this:

@kennethlimcp can you confirm it's fixed?


Gelman Ref 2nd floor with due date 12-31-2382 should say off-site

This is similar to other issues regarding WRLC practice of charging books to a storage tray with the due date 12-31-2382. An example record item/2265250 which lists the location Gelman Reference 2nd Floor having items at Gelman Reference 2nd Floor with status DUE 12-31-2382. This may be a cataloging error.

The update to item.html also handles case of WRLC holding with no item as in item 2265240. Before the fix, this item displayed a null status. After fix, items 2265250 and 2265240 should say Status is Off-site.


Time Lock Content v2 - Hash Reveal

Have the user publish a hash of their content with the relay server temporarily acting as a trustee for the content.
If someone has paid for the content, the relay provides the off-chain content to them which can be verified against the hash.
After the time has expired, the relay publishes the content on chain referencing the post UUID.

Marked "wontfix" until we investigate/address the following legal concerns:
With most consent, we relay it to the blockchain as-is immediately. It's hard to argue a relay can be considered to be in violation of breaking laws by relaying a transaction any more than a block producer / miner can be for including that transaction into the chain. However, with a delayed system where we have time before the post hits the chain it is a concern that we may be held responsible if the content being relayed to chain is in breach of laws within our own jurisdiction(s).


Guarantee correct redis host IP by self-lookup

Manually requiring the correct IP has led to hours of debugging
in the past - as the broker quietly blocks trying to access its newly
spawned redis-server on the wrong IP.
This PR automatically looks up the correct IP at template rendering time.
As a bonus (and the other motivation for the PR) this allows additional
cf-redis-broker/1, cf-redis-broker/2 jobs to be run - each having the correct
local IP (rather than an erroneous shared IP); which allows them to be
hosted behind the new cf-subway multiplexing broker.

Merged. Thanks @drnic!
Jamie and @craigfurman


Docs for solving the heat equation: extract solution

Describe the bug 🐞
When running the Solving the Heat Equation example in the docs, I got errors when trying to extract the solution.
Expected behavior
I expected to be able to run the provided code without error. I made some adjustments to extract the code (see snippet of code below).
Minimal Reproducible Example 👇
A snippet of the full code:
# Plot results and compare with exact solution
#discrete_x = sol[x] # didn't work
grid = get_discrete(pdesys, discretization)
discrete_x = grid[x]

#discrete_t = sol[t] # didn't work
discrete_t = sol.t # works

#solu = sol[u(t, x)] # didn't work
solu = sol.u[u(t, x)]

Error & Stacktrace ⚠
Error related to issymbollike.
Environment (please complete the following information):

Output of using Pkg; Pkg.status()

  [717857b8] DSP v0.7.9
  [31c24e10] Distributions v0.25.104
⌅ [5b8099bc] DomainSets v0.6.7
  [634d3b9d] DrWatson v2.13.0
  [09f84164] HypothesisTests v0.11.0
  [94925ecb] MethodOfLines v0.10.4
  [961ee093] ModelingToolkit v8.75.0
  [85f8d34a] NCDatasets v0.14.0
  [1dea7af3] OrdinaryDiffEq v6.67.0
  [f0f68f2c] PlotlyJS v0.18.11
  [91a5bcdd] Plots v1.39.0
  [1986cc42] Unitful v1.19.0
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated`

Output of using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)

 ERROR: UndefVarError: `PKGMODE_MANIFEST` not defined

Output of versioninfo()

Julia Version 1.10.0
Commit 3120989f39b (2023-12-25 18:01 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)

Additional context
Add any other context about the problem here.

Thank you for posting this issue.
I stumbled upon it.
—Riccardo

We've been actively working to remedy the issymbollike issue in PR #346.

Is this solved?  I see that the potential fix @cmhyett mentioned is merged.

This problem is solved when updating the package today. Great!
I can close the issue if that's ok with everyone.
My environment that works contains the following:
  [717857b8] DSP v0.7.9
⌃ [31c24e10] Distributions v0.25.104
⌅ [5b8099bc] DomainSets v0.6.7
⌃ [634d3b9d] DrWatson v2.13.0
  [38e38edf] GLM v1.9.0
  [09f84164] HypothesisTests v0.11.0
  [b964fa9f] LaTeXStrings v1.3.1
  [94925ecb] MethodOfLines v0.10.6
  [961ee093] ModelingToolkit v8.75.0
⌃ [85f8d34a] NCDatasets v0.14.0
⌃ [1dea7af3] OrdinaryDiffEq v6.68.2
⌃ [f0f68f2c] PlotlyJS v0.18.11
⌃ [91a5bcdd] Plots v1.39.0
  [1986cc42] Unitful v1.19.0

closing