Improve Documentation about borrow types

I am not totally sure, but I assume that a struct with borrowed fields is auto opaque?
If so, can this be stated better in the documentation, for others?
My use case is having a viewModel, but defined in Rust. Thus it needs to be read by flutter, so I can't use an opaque type. But being a viewModel, I want to use borrowed values from the Model ... so the only option left is cloning the model's fields on each access ... or implementing the view logic in Flutter. So either the performance is suboptimal, or the logic might be repeated for different UIs (Flutter, cli, ...).
For example, a model like
struct MyModel {
    items : Vec<Field>
}

could have the viewModel
struct MyViewModel {
    my_items : Vec<&Field>
    not_my_items : Vec<&Field>
    total_item_count : u64
}

This is all very theoretical - as the performance hit might be not noticeable and I might never have a second UI, as Flutter covers all platforms.
But back to my request: It would be good to document this more clear if I understood it correctly.

a struct with borrowed fields is auto opaque?

By default IMHO; try to add #[frb(non_opaque)] and see whether it works.
IIRC this was originally non-opaque, but later it gives problems on some scenarios and thus the default is flipped and it looks like this...

Thanks! But it doesn't seem to work:
The lifetime parameter is missing in the generated code:
// Codec=Dco (DartCObject based), see doc to use other codecs
            impl flutter_rust_bridge::IntoDart for crate::domain::share_cycle::ShareCycleViewModel {
                fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
                    [
                    self.wanted_items.into_into_dart().into_dart(),
self.to_share_tems.into_into_dart().into_dart(),
self.completely_shared_items.into_into_dart().into_dart()
                ].into_dart()
                }
            }
            impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::domain::share_cycle::ShareCycleViewModel {}
impl flutter_rust_bridge::IntoIntoDart<crate::domain::share_cycle::ShareCycleViewModel> for crate::domain::share_cycle::ShareCycleViewModel {
            fn into_into_dart(self) -> crate::domain::share_cycle::ShareCycleViewModel {
                self
            }
        }

my struct is
#[flutter_rust_bridge::frb(non_opaque)]
#[derive(Debug, PartialEq, Eq)]
pub struct ShareCycleViewModel<'a> {
    pub wanted_items: Vec<&'a MediaItem>,
    pub to_share_tems: Vec<&'a MediaItem>,
    pub completely_shared_items: Vec<&'a MediaItem>,
}

Probably this was where the problem with non-opaque borrowed fields started?

Hmm, it looks like borrowed opaque types are not supported (at least yet). To work on it, maybe we can first discuss - what code should it generate? Unsafe code can definitely handle it, but I would like to have as little unsafe code as possible, surely ;)

Yes, I agree - I would not like unsafe code as well.
Honestly, I think it might not be worth the effort. Probably modifying a Model to be shown in a view is part of the view, not the core ... even if different views have to do the same.
Or more general: If something in rust should be used by flutter (and not just passed through), it should be owned. Technically it might work - but I have the feeling that along the way one gets into trouble sooner or later.

Rethinking this, I guess another way may be:
struct MyModel {
    items : Vec<Arc<Field>>
}

struct MyViewModel {
    my_items : Vec<Arc<Field>>,
    not_my_items : Vec<Arc<Field>>,
    total_item_count : u64
}

i.e. use Arc to make Field shared by MyModel and MyViewModel, instead of borrowed.

@fzyzcjy thanks, that is a great idea! I currently implemented it with each (complex) item having a distinct ID, and sharing a lookup table of these between dart and rust. But an Arc sounds like a better, more direct approach. Will try that :)

Btw there is a new feature, "proxy", that also handles some of this issue
(doc: https://cjycode.com/flutter_rust_bridge/guides/how-to/borrowed#proxy)

Update: I may implement support for borrow type (not guarantee but I hope so!). Then, the MyViewModel can be done easily.

New version supports lifetime: https://cjycode.com/flutter_rust_bridge/guides/lifetimes

Hi @fzyzcjy,
I finally came around to read and think more about this topic. Though not enough to look into your code :/
Would you mind to briefly elaborate what are the constraints to the approaches?
Taking the example from above:
struct MyModel {
    items : Vec<Field>
}

struct MyViewModel {
    my_items : Vec<&Field>
    not_my_items : Vec<&Field>
    total_item_count : u64
}

the MyViewModel should be read by Dart, so that the content can be shown in Flutter. MyModel is not to be manipulated by Dart directly, but Rust will update it (depending on received events, MyModel is (part of) the apps state).
The idea of having (read only) borrow types in MyModelView is to avoid copying the Field(s). In my case, these are pictures of some MBs, so I am afraid there would be performance costs.
Is it possible with one/all of the approaches to

Add/remove items in MyModel::Vec
Read-access the items in dart over the reference in MyModelView::myItems Vec<&Field>

It looked to me that the mentioned proxy is made for this use case - but I am confused that this is  Opaque, which I (wrongly?) understood that Dart can pass around such a variable, but not read it.
Now, as &references are supported, I wonder if this allows read access, but until Dart drops the variable, Rust would not be able to write?
I am sure I did get that all wrong ;)
If it helps: I plan to create the MyViewModel on each request (from Dart), and dispose it afterwards - it is only to show some data on some screen. MyModel, on the other hand, will be 'static, I even persist and load it to/from a file. However, the items in it will change (add/remove).
I think this is a quite general use case, basically handing a persistent app state in rust :)

Hi,

Yes, if you treat MyViewModel using the lifetime feature, then, before it is disposed, MyModel will never be able to be written. But after you disposed MyViewModel, you can modify MyModel freely. That's just like how you do it on pure Rust (even without Dart).
If such constraints of mutation is too strong, the Vec<Arc<Field>> way can be used.
Proxy does not seem to solve this specific problem, because I guess your MyViewModel is expensive (at least nontrivial) to compute, while proxy indeed computes it on every access. Thus, proxy is especially useful for field getters (because it is so trivial to compute).
Btw, I guess MyModel does not need to be 'static. For example, in my mind it can be the following:

struct MyModel { ... }

impl MyModel {
  pub fn new() -> Self { ... }
  pub fn whatever_mutation_etc(&mut self, ...) { ... }
}

Then Dart can have var myModel = MyModel(); at main(), or at widget initState, etc.

Hi,
many thanks for the detailed answer!
Yes, I mean it more conceptual, that MyModel is 'static - I do initialize it in main.dart, by loading it from a file or creating a default instance. And mutate it quite frequently - I should have better said singleton maybe :)
Thanks for clarifying about proxy. My fields are not computation heavy, they are Hugh in size. Abstractly, each field is a picture of some MB, a users might have thousands of pictures. Thus I want to avoid copy.
One follow-up question:
If using the lifetime feature, where does MyViewModel get disposed?
When Rust passed it to Dart? When the Dart GC did his work?
Basically, I use MyModel as state.
When the user does some action (e.g. activates a button), Dart calls a process_event fn in rust, which mutates the MyModel. It returns an Effect (an Enum variant) so that the Dart side knows that it needs to do something, e.g. rendering the mutated model. But it is up to Dart to decide when. Following this instruction, Dart calls a fn view() to get the MyViewModel.
(Sorry for the long buildup!)
So, when fn view()create a MyViewModel instance and returns it to Dart, rust could .drop() it, as rust doesn't need it anymore. However, Dart needs it, or more specifically the content behind the references so it can display them in an UI to the user. The user might do another action, which sends another Event to rust, which would like to mutate the MyModel ...
(I realize that this might be more of a concurrency problem, not so much an frb one :) ).
So, did I understand correctly, that as long as Dart is holding to the variable returned (MyViewModel), it is considered & and rust can't & mod? Is setting the variable to null disposing it?
Or is it actually using copy on the value read behind the pointer(s)?
Sorry for that probably quite basic questions ... ffi is a new field to me :/
I assume your answer will be "use Arc<Mutex>", as I anyways have a concurrency situation ... but nevertheless, I am interesting how the current lifetime implementation works :)

Hi, you are welcome!

If using the lifetime feature, where does MyViewModel get disposed?
Is setting the variable to null disposing it?

Like everything else in frb world: Either you .dispose() it, or it gets disposed by GC. But I guess you want a manual dispose to "unlock" MyModel.
Related: https://cjycode.com/flutter_rust_bridge/guides/lifetimes/multi-borrows

So, did I understand correctly, that as long as Dart is holding to the variable returned (MyViewModel), it is considered & and rust can't & mod?

Yes. Just like, if you replace the word "Dart" to "Rust" in this sentence, it still holds ;)

I assume your answer will be "use Arc", as I anyways have a concurrency situation ...

Partially yes, indeed I guess using RustAutoOpaque<...> (which is indeed Arc + RwLock with grammar sugar) may be useful.

but nevertheless, I am interesting how the current lifetime implementation works :)

Sure, feel free to ask!

Great, many thanks!


Deadlock with autoReload config

NLog version: 4.6.8
Platform: ..Net 4.6.1
Current NLog config (xml or C#, if relevant)

Stack1:

NLog.dll!NLog.Config.LoggingConfigurationWatchableFileLoader.ConfigFileChanged(object sender, System.EventArgs args)	Unknown
NLog.dll!NLog.Internal.MultiFileWatcher.OnFileChanged(object source, System.IO.FileSystemEventArgs e)	Unknown
System.dll!System.IO.FileSystemWatcher.OnChanged(System.IO.FileSystemEventArgs e)	Unknown
System.dll!System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(int action, string name)	Unknown
System.dll!System.IO.FileSystemWatcher.CompletionStatusChanged(uint errorCode, uint numBytes, System.Threading.NativeOverlapped* overlappedPointer = 0x02ae2ee0)	Unknown
mscorlib.dll!System.Threading._IOCompletionCallback.PerformIOCompletionCallback(uint errorCode, uint numBytes, System.Threading.NativeOverlapped* pOVERLAP)	Unknown

Stack2:

System.dll!System.ComponentModel.Component.Dispose(bool disposing)	Unknown
System.dll!System.IO.FileSystemWatcher.Dispose(bool disposing = true)	Unknown
System.dll!System.ComponentModel.Component.Dispose()	Unknown
NLog.dll!NLog.Internal.MultiFileWatcher.StopWatching(System.IO.FileSystemWatcher watcher = {System.IO.FileSystemWatcher})	Unknown
NLog.dll!NLog.Internal.MultiFileWatcher.StopWatching()	Unknown
NLog.dll!NLog.Config.LoggingConfigurationWatchableFileLoader.TryUnwatchConfigFile()	Unknown
NLog.dll!NLog.Config.LoggingConfigurationWatchableFileLoader.ReloadConfigOnTimer(object state)	Unknown
mscorlib.dll!System.Threading.TimerQueueTimer.CallCallbackInContext(object state)	Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
mscorlib.dll!System.Threading.TimerQueueTimer.CallCallback()	Unknown
mscorlib.dll!System.Threading.TimerQueueTimer.Fire()	Unknown
mscorlib.dll!System.Threading.TimerQueue.FireNextTimers()	Unknown
mscorlib.dll!System.Threading.TimerQueue.AppDomainTimerCallback(int id)	Unknown

Example program to reproduce is attached.
NLogConfigReloadDeadlockExample.zip

This is interesting. The deadlock happens inside the FileSystemWatcher-object.
The Dipose-method takes a lock(this). And CompletionStatusChanged also takes lock(this).
This give the following callstacks:

FileWatcher-CompletionStatusChanged (lock this) and notifies the LogFactory (lock SyncRoot).
ReloadConfigOnTimer (lock SyncRoot) and disposes the FileWatcher (lock this).

Because not in same order, then it becomes deadlock.

It is a great idea FileWatcher-CompletionStatusChanged triggers a reload-timer. But it should not take LogFactory (lock SyncRoot) to fire the timer.

@davehutz Thank you for reporting this. It looks like a bug from the dawn of NLog-AutoReload-feature.
The .NET FileSystemWatcher has an internal lock, which causes the lock-order-issues that can lead to deadlocks. Created #3758 that fixes the lock-order.


modal (popup) fading but not closing

in my applicaton the modal opens fine.  but when I press the X, the popup fades but never goes away.

with my code , can close .
but when I  close by the
modal.close()  method
show  message
Calling st.rerun() within a callback is a no-op.


build: update workflow

:tada: This PR is included in version 0.10.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


ipptool: very large attribute values may be truncated in "test report" output format

Version: 2.1.0
CUPS.org User: smitty
When running the attached .test file against a printer that has a very large "media-col-database" attribute value, the "test report" output is truncated, whereas the XML plist output provides all the media-col-database contents.  Both output formats should be equally correct in their output.
Attached is a .test file, and traces of 2 runs, zipped up.

There is a limit to how much text we will show, and we really don't want to make the code allocate the formatting buffer dynamically (security).
Anyways, the current buffers for the test and CSV output are 8k so I'll bump them to 128k.
Fixed.
[master 2c9bf31] The ipptool program truncated values at 8k (Issue #4786)
[branch-2.1 344ab3b] Mirror fix from master.


Group requests on connector

It would be cool to group requests by any meaning - for example the primary entity. That way the method names would be shorter.
A real problem I see with that is the missing autocompletion. Right now you can at least add @method AllMoviesRequest allMoviesRequest() doc-block. That's not possible anymore as I only can annotate the ->movies property but not the methods available on it.
$requests = [
    'movies' => [
        'all' => AllMoviesRequest::class,
    ],
];

$sdk->movies->all()->send()->json();

I assume that it would be added to the core with a new class Proxy (tbd) which retrieves an instance of the connector and the array of method to requests mappings. Benefit: this could be easily enhanced to a multi-level thing like GitHub API for example $github->user->repo->show($username, $reponame) As it would just pen another instance of that proxy.

I have introduced this as PR in the core Sammyjo20/Saloon package as this can be shared across Laravel and Non-Laravel projects.
See the PR here: I have introduced this into Saloon's core in a PR here:


[BUG] Tooltips not showing up (wayland)

Checklist before submitting an issue

[X] I have searched through the existing closed and open issues for eww and made sure this is not a duplicate
[X] I have specifically verified that this bug is not a common user error
[X] I am providing as much relevant information as I am able to in this bug report (Minimal config to reproduce the issue for example, if applicable)

Description of the bug
Simply put, my tooltips aren't showing up. When I hover over a widget that has a tooltip set, nothing happens. There are no errors in the logs, and nothing else indicating as to why this could be happening. It could be a Wayland issue, but I doubt it since clicking on buttons in the bar does what it is supposed to do; the only thing not working is tooltips. Using eww version 0.3.0.
Reproducing the issue
Install my dotfiles at https://github.com/notusknot/dotfiles-nix (eww config found in modules/eww)
Run eww open bar
Expected behaviour
Hovering over items such as the time, wifi, cpu, disk, and memory widgets should have a tooltip, but doesn't.
Additional context
No response

This was a Hyprland issue, fixed in https://github.com/hyprwm/Hyprland/commit/ee15ad12154fc5c33e725a0f46d72bdef5945906.


Fix windows path issue in file collector

Not sure if this is related to issue #1032 but no pages were returned as part of a collection for me while taking the alpha for a spin on my windows machine. This change fixes it.

Awesome. That's a good start!
I think there is still an issue but that's definitely making the situation better! Would have a deeper look later as I have to setup a VM to debug :(

No problem at all - let me know if there is any way I can help. Oh and great work on the alpha by the way.

Merging into alpha3 branch!

Hi MoOx and shaunmarx, this still doesn't work for me on Windows 10 even on alpha 3.
The same codebase runs on my Mac, but not on my windows when getting the collection files. I get a NotFoundError: Key not found in database

@daine I believe this would have gone into the alpha 4 release so may be worthwhile to check using the latest. Just make sure you update the @phenomic/preset-react-app package to >= alpha.4 for the fix.
I have been using alpha 4 on windows 10 for a while now and it seems to be working fine for me - at least phenomic start works fine. @MoOx mentioned that there may still be some issues on Windows, but I am unsure whether those related to paths specifically or not. The issues I have run into so far is:

Db file locks hanging around which forces me to kill the node process every now and again
phenomic build doesn't seem to work

I was going to look into the latter a bit today as I am getting close to releasing a new site and really need this working but just wanted to make sure it's not an issue on my side before creating anything. I am assuming it would be working on mac/linux though so may not be a blocker for me.

@shaunmarx Thanks for the info. I agree, build doesn't work for collections on Alpha 4 (both windows and unix/linux) so I'm hoping it'll be out on Alpha 5.
I know how you feel, I had built something last week and needed these parts working (they do on my mac) but this means other people (on windows) can't collaborate with me on them. Also, I had to revert to alpha 3 for the build to work.

I am adding a regression test that should block windows CI until we fix it. Stay tuned :D

Good to hear @MoOx ! Looking forward to seeing this resolved :)


ansible-playbook : remote user parameter (Chapitre 4 : "Setting user and sudo options with ansible-playbook")

This command return an error with the --remote-user parameter :
$ ansible-playbook playbook.yml --remote-user=johndoe
Usage: ansible-playbook [options] playbook.yml [playbook2 ...]
ansible-playbook: error: no such option: --remote-user

In the ansible-playbook help page, the remote user parameter is -u or --user :
$ ansible-playbook -h | grep -i remote_user
    -u REMOTE_USER, --user=REMOTE_USER

Yikes, thanks for filing this issue! I believe that flag actually changed at some point in the past few years—but it should be good to go in the LeanPub edition in a few minutes, and this fix will be bundled into the next batch of updates in other stores soon.


feat: add --build-process-tree feature

This allows a user to build the processinfo temp files, without actually
dumping the process tree to stdout.
The goal is to use this in node-tap to see which processes covered which
files, so we know which tests to re-run on changes to the source files.

@isaacs this produces a parse error in test/nyc-integration.js.  Would you mind moving the describe('--build-process-tree', function () { out of the describe('--show-process-tree', function () {, then add the closing '}) after your new test (currently you're not closing the added describe function).

@coreyfarrell Oh, oops, some rebase scar tissue got in there, how embarrassing.  Fixed and force-pushed.

Coverage increased (+0.007%) to 96.304% when pulling efcd6cd5510b0a46ad0537fa02fd7d79a100373b on isaacs:build-process-tree into 364eb330cd16331f62f9aa967598ef4a08e07d28 on istanbuljs:master.

Coverage increased (+0.007%) to 96.304% when pulling efcd6cd5510b0a46ad0537fa02fd7d79a100373b on isaacs:build-process-tree into 364eb330cd16331f62f9aa967598ef4a08e07d28 on istanbuljs:master.

Coverage increased (+0.007%) to 96.304% when pulling efcd6cd5510b0a46ad0537fa02fd7d79a100373b on isaacs:build-process-tree into 364eb330cd16331f62f9aa967598ef4a08e07d28 on istanbuljs:master.

Coverage increased (+0.007%) to 96.304% when pulling efcd6cd5510b0a46ad0537fa02fd7d79a100373b on isaacs:build-process-tree into 364eb330cd16331f62f9aa967598ef4a08e07d28 on istanbuljs:master.

@coreyfarrell :shipit:
Thanks @isaacs I was just curious!


Reply ASAP -Not working with any browser other than firefox

i am currently working with crawljax latest release(jar file) on cmd prompt. its only working with firefox. i want to change the browser how can .. tried everything from setting environment to installing drivers of chrome still not able to do that help !!!!
cmd command - java -jar crawljax.cli.3.6.jar "http://www.google.com" "1"

https://github.com/crawljax/crawljax/blob/master/cli/README.md

In #512 WebDriverManager is used to provide the latest drivers. I haven't tried the command line, but programmatically it works for me


got a bug with the new terrain feature

Hey, the new terrain tool looks great! it works in the editor but when running the project it gives this error:

hope this helps :)

Hello
I have tested on the web version maybe you are running some old files better to clean the browser cache press F12 then select the reload button with the right mouse button.

This should fix the issue.
Thanks a lot!

@tentone Hi, i tried the hard reload with emptying cache and the bug still happens, I also reloaded a few different ways and made sure there's no cache. It only happens on projects with terrain.
Thanks!

I will take a closer look into it to figure out whats going on there. Thanks a lot.


How to rollback other txManagers on rabbit exception

When running Rabbit in HA failover, if the failover happens (thus the connections gets closed) the message currently being processed is correctly returned to the queue.
However, in our case there is some DB saving going while processing the message and I can't get that to rollback, this then results in the updates to the DB being done again as the message is reprocessed. (and in our case this results in an error as the message should be unique).
As per the documentation I've configured channelTransacted and transactionManager for the SimpleRabbitListenerContainerFactory as follows:
 @Bean
    public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory,
    PlatformTransactionManager transactionManager) {
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
        factory.setTransactionManager(transactionManager);
        factory.setChannelTransacted(true);
        factory.setConnectionFactory(connectionFactory);
        return factory;
    }

Transaction management has been enabled:
@SpringBootApplication
@EnableJpaRepositories
@EntityScan
@EnableTransactionManagement
public class MyFabulousApp {
    // ... main and stuff
}

The processing code can be as simple as:
   @RabbitListener(queues = "foo")
   @Transactional
   public void process(Bar message) {
       barRepository.save(message);
   }

This seem to guard against instances in where the database goes down, and then the Rabbit transaction is rollbacked and the message is rejected. But not when the Rabbit goes down, then the transaction to the database does not seem to receive a rollback call.
We're using Spring AMQP through Spring Boot 1.5.9

You don't show your transactionManager bean; I assume it's a JPA transaction manager, in which case you don't need the @Transactional since the listener container will start the transaction before calling the listener.
In any case, this is "best effort 1PC" transaction synchronization; RabbitMQ does not support XA transactions. The Rabbit tx is committed after the DB tx and there is a possibility the DB tx might commit and the rabbit rolled back; you have to deal with the small possibility of duplicate messages. See Dave Syer's JavaWorld article "Distributed transactions in Spring, with and without XA".
There is a header which you can add to the method @Header("amqp_redelivered") boolean redelivered which you can use to do a DB lookup to see if you have already processed this message.

Please use Stack Overflow for questions in future; GitHub issues are for bugs and feature requests (but we prefer JIRA for this project.

I'm not defining a specific transactionManager as I understood Spring Boot should handle this. I've quickly debugged it and it's indeed a JPA Transaction Manager that's being used.
I managed to quite steadily reproduce the issue by simple doing something like this:
@RabbitListener(queues = "foo")
public void process(Bar message)  throws InterruptedException {
   barRepository.save(message);
   Thread.sleep(10000);
}

start app (assuming rabbit cluster of 2 nodes or more with ha-mode:all and ha-sync-mode:auto and application is configured to connect to both nodes)
send message, application starts processing message
shutdown the rabbit node on which the app is currently connected (before the 10 seconds is out)
application reconnects to other node.
application reprocesses message. Now it's twice in the db.

So this does not seem to be a specific edge case in which the db tx has already been committed (as it's still in the Thread.sleep()) and the transaction should not yet be closed.
I will look into the @Header solution, as for the edge case you describe it is definitely the solution. However I think I have something wrongly configured somewhere as it seems to happen always, or more to the point: the db tx rollback never seem to happen.
PS: Let me now if you want me to port this issue over to Stack Overflow (or if you think I have unearthed some kind of unwanted behaviour: to JIRA).

It's ok to continue the discussion here.
As I said, since this is not an XA transaction, there is no way to guarantee that both the DB and RabbitMQ transactions will commit. The DB tx commits first. It is "Best efforts 1 phase commit"; you always have to deal with duplicate deliveries an make them idempotent.
It has to be done that way to avoid lost messages; if the rabbitmq tx commits first (and the DB commit fails) there will be no redelivery.

No; it can't happen that way; the rabbit transaction commits when the thread returns to the listener container (after the DB transaction commits). As I said, the @Transactional there is redundant since the listener container has already started the transaction (if the JPA TM is injected into the container).

Thanks for the clarification @garyrussell. I see now that I had too much trust / expected too much of the "Best effort 1PC" system.
As per my current understanding, it doesn't matter if the connection is dropped while inside the business logic (and thus the db transaction / Thread.sleep in the example), as the exception will occur later on while trying to ACK the message, and this is outside of the db transaction manager's scope. Hence it's not rollbacked by the current "Best effort 1PC" system.
And as you stated, it's done this way to avoid losing messages, should the rabbit tx commit while the db tx fails. (one needs to make choices in this kinds of systems...)
For me this is clear now: On redeliver (can be checked with the appropriate @Header), run a deduper before doing inserts/updates. Or try to make the whole thing idempotent.

So one extra question popped up when we were fixing this (it basically works now for us, we just want to have a bit of a clean solution as well).
We're seeing an error we think should be avoidable, but we're a bit at a loss on what we're doing wrong. As it is related to this question I thought it best to add it as a comment here rather than to open up something new.
We're seeing this in the log (still the example with the timer):
2017-12-18 11:24:20.423 ERROR 29275 --- [.b.c.d:5672] o.s.a.r.c.CachingConnectionFactory       : Channel shutdown: connection error; protocol method: #method<connection.close>(reply-code=320, reply-text=CONNECTION_FORCED - broker forced connection closure with reason 'shutdown', class-id=0, method-id=0)
2017-12-18 11:24:20.425  WARN 29275 --- [.b.c.d:5672] c.r.c.impl.ForgivingExceptionHandler     : An unexpected connection driver error occured (Exception message: Connection reset)
2017-12-18 11:24:20.582  INFO 29275 --- [cTaskExecutor-1] o.s.a.r.c.CachingConnectionFactory       : Created new connection: rabbitConnectionFactory#32b6af05:1/SimpleConnection@5d69ffba [delegate=amqp://rabbit@a.b.c.d:5672/, localPort= 57306]
2017-12-18 11:24:20.591  INFO 29275 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@2917a025: tags=[{amq.ctag-dfLYI83_DXx1FpN8TRhukQ=epis-all}], channel=Cached Rabbit Channel: AMQChannel(amqp://rabbit@a.b.c.d:5672/,2), conn: Proxy@6612cf98 Shared Rabbit Connection: SimpleConnection@5d69ffba [delegate=amqp://rabbit@a.b.c.d:5672/, localPort= 57306], acknowledgeMode=AUTO local queue size=0
2017-12-18 11:24:27.532  INFO 29275 --- [cTaskExecutor-1] b.g.e.b.q.MyQueueConsumer                : Time's up!
2017-12-18 11:24:27.551 ERROR 29275 --- [.b.c.e:5672] o.s.a.r.c.CachingConnectionFactory       : Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 1, class-id=60, method-id=80)
2017-12-18 11:24:27.561 ERROR 29275 --- [cTaskExecutor-1] o.s.t.s.TransactionSynchronizationUtils  : TransactionSynchronization.afterCompletion threw exception

org.springframework.amqp.AmqpException: failed to commit RabbitMQ transaction
	at org.springframework.amqp.rabbit.connection.RabbitResourceHolder.commitAll(RabbitResourceHolder.java:168) ~[spring-rabbit.jar:na]
	... stacktrace ommitted for brevity
2017-12-18 11:24:27.564  INFO 29275 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@7e26ae79: tags=[{amq.ctag-1QRgwDi8CXCTgZ7_GlcO5Q=token-activity}], channel=Cached Rabbit Channel: AMQChannel(amqp://rabbit@a.b.c.d:5672/,3), conn: Proxy@6612cf98 Shared Rabbit Connection: SimpleConnection@5d69ffba [delegate=amqp://rabbit@a.b.c.d:5672/, localPort= 57306], acknowledgeMode=AUTO local queue size=0

So after we kill the rabbit node to which the application is currently connected, the connection is being re-established correctly (first 4 log lines).
However, if the message that is being processed while the connection is reset than tries to confirm a strange error appears: PRECONDITION_FAILED - unknown delivery tag 1. Followed by a stacktrace and another restart of the consumer (last log line).
This seems to be something that should be avoidable.
My guess would be that this happens because the channel on which the confirm is sent is now a different one, and you're not allowed to confirm messages on a different channel than the one you received it on (but I'm not sure of that).
Is there anything obvious we're missing / misconfigured? Or should we ignore this error?

A similar question came up on Stack Overflow last week (in that case with manual acks).
It's a side-effect of the fact we proxy the channel and "refresh" the underlying actual channel if we detect it's closed; we should probably suppress requests such as basicAck etc as the first operation on a new channel.

Thanks again for the quick answer @garyrussell. At least we now know we're not doing anything wrong :-)


[translation] support translation kwargs for single translation overload

Resolves https://github.com/Azure/azure-sdk-for-python/issues/19798
https://apiview.dev/Assemblies/Review/019355482c6245a5a404eef64740da1e?diffRevisionId=39de9ee01595481abdf9749b09966197&doc=False&diffOnly=True

/azp run python - translation - tests


[$250] Update @svgr/webpack to version 6.0.0

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Problem
The package<EMAIL_ADDRESS>has a security vulnerability introduced through<EMAIL_ADDRESS>fixed in<EMAIL_ADDRESS>$ npm list nth-check                                                                                [12:38:18]
<EMAIL_ADDRESS>/Users/flo/Expensidev/App
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     ├─┬<EMAIL_ADDRESS>│     │ └─┬<EMAIL_ADDRESS>│     │   └─┬<EMAIL_ADDRESS>│     │     └─┬<EMAIL_ADDRESS>│     │       └─┬<EMAIL_ADDRESS>│     │         └──<EMAIL_ADDRESS>deduped
│     └─┬<EMAIL_ADDRESS>│       └─┬<EMAIL_ADDRESS>│         └─┬<EMAIL_ADDRESS>│           └─┬<EMAIL_ADDRESS>│             └─┬<EMAIL_ADDRESS>│               └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └─┬<EMAIL_ADDRESS>│       └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └─┬<EMAIL_ADDRESS>│       └──<EMAIL_ADDRESS>deduped
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └──<EMAIL_ADDRESS>
Solution
Upgrade to<EMAIL_ADDRESS>Expensify/Expensify Issue URL: https://github.com/Expensify/Expensify/issues/218325
Upwork URL: https://www.upwork.com/jobs/~01615065cda2c02b5a
View all open jobs on GitHub

Proposal
Solution:
Upgrade version at package.json.
-  "@svgr/webpack": "^5.5.0",
+  "@svgr/webpack"  "^6.0.0",

I have a related one, going to take this from you @flaviadefaria.

Upwork job here: https://www.upwork.com/jobs/~01615065cda2c02b5a

Proposal
update  from "@svgr/webpack": "^5.5.0" to "@svgr/webpack": "^6.0.0" in package.json
https://github.com/Expensify/App/blob/8aec877a678d09600e110e0fc7bc597e342ef342/package.json#L138
BREAKING CHANGES

Config format of SVGO changes & SVGR does not merge SVGO config
Template has a new format
core: @svgr/core now exposes { transform } instead of default export
using --icon as latest arg now requires "--"

When I raised the Same issue  long back , it was not considered
I even shared the issue in slack,
I included other package also ( react-native-svg-transformer) it also uses svgo which is dependent on older version of nth check

FWIW, the problem statement is not the same.

Heading is different , but its same
When I posted about @svgr/webpack issue I was said that's not useful p/s
Check comments here
https://expensify.slack.com/archives/C01GTK53T8Q/p1660141537100609?thread_ts=1660141537.100609&cid=C01GTK53T8Q

Ok , what about This
This has similar security vulnerability

Ok , what about This

This has similar security vulnerability

@Santhosh-Sellavel can you please review the proposals from @hungvu193 and @gadhiyamanan

@hungvu193 @gadhiyamanan
Do we have any other migration changes expected as there are some breaking changes?
Can you elaborate,
on changes, if there are some migration changes, and how it does handle?
if no changes are required, how/why the breaking changes don't affect our app?
Thanks!

@Santhosh-Sellavel Since we are using @svgr/webpack as a loader for web and all these breaking changes for the command line tool, template, @svgr/core which we didn't use in our application, we only need to update the version in package.json.

@flodnv
@hungvu193 proposal looks good to me.
C+ Reviewed.
👀 🎀 👀
Seems we need to update another library also, react-native-svg-transformer's library dependency libraries css select uses<EMAIL_ADDRESS><EMAIL_ADDRESS>/Users/santhoshkumar/Documents/App
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     ├─┬<EMAIL_ADDRESS>│     │ └─┬<EMAIL_ADDRESS>│     │   └─┬<EMAIL_ADDRESS>│     │     └─┬<EMAIL_ADDRESS>│     │       └─┬<EMAIL_ADDRESS>│     │         └──<EMAIL_ADDRESS>deduped
│     └─┬<EMAIL_ADDRESS>│       └─┬<EMAIL_ADDRESS>│         └─┬<EMAIL_ADDRESS>│           └─┬<EMAIL_ADDRESS>│             └─┬<EMAIL_ADDRESS>│               └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └─┬<EMAIL_ADDRESS>│       └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └─┬<EMAIL_ADDRESS>│       └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └─┬<EMAIL_ADDRESS>│       └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └──<EMAIL_ADDRESS>

Cool, so once @Gonals gives this the all clear. I'll send the offer!

Cool. My upwork email is<EMAIL_ADDRESS>

Cool, just let me know then I'll apply.

@Gonals - bump on this proposal review?

Cool, should I apply to upwork?

@Gonals What should we do about another library?

@Gonals What should we do about another library?

Seems we need to update another library also, react-native-svg-transformer library's dependency libraries css select uses<EMAIL_ADDRESS><EMAIL_ADDRESS>/Users/santhoshkumar/Documents/App

├─┬<EMAIL_ADDRESS>
│ └─┬<EMAIL_ADDRESS>
│   └─┬<EMAIL_ADDRESS>
│     ├─┬<EMAIL_ADDRESS>
│     │ └─┬<EMAIL_ADDRESS>
│     │   └─┬<EMAIL_ADDRESS>
│     │     └─┬<EMAIL_ADDRESS>
│     │       └─┬<EMAIL_ADDRESS>
│     │         └──<EMAIL_ADDRESS>deduped

│     └─┬<EMAIL_ADDRESS>
│       └─┬<EMAIL_ADDRESS>
│         └─┬<EMAIL_ADDRESS>
│           └─┬<EMAIL_ADDRESS>
│             └─┬<EMAIL_ADDRESS>
│               └──<EMAIL_ADDRESS>deduped

├─┬<EMAIL_ADDRESS>
│ └─┬<EMAIL_ADDRESS>
│   └─┬<EMAIL_ADDRESS>
│     └─┬<EMAIL_ADDRESS>
│       └──<EMAIL_ADDRESS>deduped

├─┬<EMAIL_ADDRESS>
│ └─┬<EMAIL_ADDRESS>
│   └─┬<EMAIL_ADDRESS>
│     └─┬<EMAIL_ADDRESS>
│       └──<EMAIL_ADDRESS>deduped

├─┬<EMAIL_ADDRESS>
│ └─┬<EMAIL_ADDRESS>
│   └─┬<EMAIL_ADDRESS>
│     └─┬<EMAIL_ADDRESS>
│       └──<EMAIL_ADDRESS>
└─┬<EMAIL_ADDRESS>
  └─┬<EMAIL_ADDRESS>
    └──<EMAIL_ADDRESS>

I think we can update it as part of this. What do you think?

@Santhosh-Sellavel - are we good with that? ^^

Cool, should I apply to upwork?

@hungvu193 - yes please. Looks like you haven't applied yet here.

@trjExpensify I have applied (https://www.upwork.com/ab/proposals/1587067667179589633)

Excellent, offer sent. Assigning you the issue.

@trjExpensify I've created a PR here:
https://github.com/Expensify/App/pull/12296

Sorry some how I missed to reply, I agree with gonals we should fix that here.

@hungvu193 Please handle this https://github.com/Expensify/App/issues/11797#issuecomment-1292020386 too.

@Santhosh-Sellavel Sure. It already in my PR.

Nice speedy work!

@hungvu193 Please handle this #11797 (comment) too.

This is still not handled check left a comment
https://github.com/Expensify/App/pull/12296#pullrequestreview-1162202174

@Gonals & @trjExpensify this should open until the regression period & payment!

Yes, I don't know why it was closed!

Ah, @AndrewGable you have a draft PR up to revert this do you, what's the issue? CC: @Gonals @hungvu193

Apologies, we had a build failure on Friday and this was a PR that was flagged as possibly causing it, turns out it was something else so I've closed the revert.

Ah neat, sounds good!

Cool, let me know if I need to update or investigate anything.

Updated the title because Melv didn't do it. On hold for payment on the 15th after the prod deploy.

Settled up, checklist complete.


Co-dependent flags need to be revised

whatfeatures -s -n -l futures-preview

error: The following required arguments were not provided:
    --deps

USAGE:
    whatfeatures.exe <crate> --color <bool> --deps --list --no-features --short

For more information try --help

-n without -d shouldn't be an error if both -s and -l are present

This would done via structopt or clap underneath it.


Mesos Site is not displaying correctly

After installing Mantl to a cluster behind a proxy, the Mesos administration site at port 5050 appears as below;

do you get the same behavior if you access the Mesos UI at http(s)://control-node/mesos/ ?

http(s)://control-node/mesos/ returns 404

@jtfogarty Can you retry on master please?

I'm trying to get access to @jtfogarty's cluster so that I can help diagnose the issue.

@jtfogarty I'm going to close this now because we've had a lot of updates to our UIs since this was opened. Please let us know if you're still having this issue!


Add support for excluding files from the zip

Just causes bloat if there are extra files. A .gitignore style file would be great, inclusive might be nice as well. Needs more thought as to what this would be and where it would live. If it's in JSON we can use the project.json inheritance etc instead of maintaining it per-function.

Both ways are fine, because both supports inheritance in some way (you can add *.log to .apexignore in root project dir and any log file under function's dir will be ignored).
But I lean towards ignorefile as excluding files reminds me big ugly Gruntfile configs :D

:+1: for .apexignore with inclusion support

@tj what do you think? I would take care of that if we can agree on .apexignore.

.apexignore sounds good to me!


Rails Blog #4: Create routes and views

In this pull request, I've:

Created a 3-setup-controllers-and-views branch
To show a list of all the users, I've created:

A new route in config/routes.rb
A new controller in app/controllers/users_controller.rb
A new view in app/views/users/index.html.erb

Do the same route, controller, and view for:

a given user's details
show all posts for a given user
show a post's details for a given post for a given user

Thanks, @HAMMAS-SALEEM for your detailed review of my PR about the required changes, and I really appreciate your optional suggestions with that example code. You're the best. Have a great day.


[WIP] Fix Authorization

FYI, I have fixed issues in AuthorizationTest.testSimple and other problems in #9746 .  The test itself was invalid.


[Notify] Use issuedAt as timestamp for messages from Archive API

Currently, notify client uses publishedAt timestamp to provide notification delivery time. However, this does not work in all cases, as with history/archive API, we do not have publishedAt timestamp.

Resolved by #41


What to do about data handling and Elasticsearch

    > @portante why does ElasticSearch not add something to prevent this problem?

s/ElasticSearch/Elasticsearch/
The Elasticsearch APIs offer a way for the indexer to provide a document ID to ensure the same record is not added multiple times.

Arcaflow is a general-purpose piping layer and should not force users to pick one way over another. If we do add such a change and Arcaflow grows beyond its use case, we will be inviting an increasing number of requests on what kind of features to support, and what other functionality should make it into this plugin. Such changes are invitations for feature creep and violate the single responsibility principle, whereas a unit of code should only have one reason for change.

This does not appear to be about feature creep, but about the responsibility this plugin is assuming in the one task it is taking on: properly indexing the given document into Elasticsearch.  The plugin is the plugin, its behavior is well-defined, and it has nothing to do the nature of the Arcaflow engine, but how it is required to handled data for indexing into Elasticsearch.
Unless we define in the interface to the plugin that its input includes an identifier for the document to be indexed, thereby moving the responsibility to some other entity in the workflow, we need to create a unique identifier for the given document.
We can't have a blind indexer send data into Elasticsearch.  I have debugged too many problems over the years of well intentioned code spamming a set of indexes because of this kind of problem.
A possible alternative to the plugin creating the ID is to have the metadata plugin generate a unique ID from the associated collected metadata, or for the workflow engine itself to provide a UUID for the execution instance which could be used as the UUID for the data, or contribute to building the UUID by combining it with the metadata.

There are very valid use cases, such as ETL jobs, that would be made impossible by this change.

Are you envisioning Arcaflow supporting ETL jobs in the future?  That could invite feature creep.  There are foundational elements of Arcaflow that could be used as a foundation for such an ETL system as well, but it will likely be a mistake to position Arcaflow for both use cases.
If we keep the role of the workflow engine and plugins to be collectors of the base data, treating it as immutable, then other ETLs can transform it later from the original immutable form into whatever they want and need.
Having the base operation generate a unique ID for data that is collected during a workflow operation, and considering that collected data immutable, is very powerful.
FWIW, Lucene indexing scales by leveraging immutable objects.
And ... we might want to consider NOT having an Elasticsearch plugin as part of a step for a workflow, but a plugin which sends to a message bus (Kafka, ZeroMQ, Logstash, etc.) where data transformations could take place using existing services.
On the Pbench side, we have found it to be a mistake to endow the workload running process with data transformation steps.  It has created too much inflexibility.
Originally posted by @portante in https://github.com/arcalot/arcaflow-plugin-elasticsearch/pull/2#discussion_r996246691

I know this is a year stale, but this may still be a pertinent issue for both this Elasticsearch plugin and for the Opensearch plugin.
IIUC the primary concern here is that the document being indexed should always have a unique identifier. It seems straightforward for the input schema to include a pointer to a key in the document to act as the ID, and perhaps if no pointer is provided, the plugin automatically appends a new ID key with a generated UUID value.


Support of Grunt 1.0.x

Hi :)
Thank you a lot for this awesome grunt task ! 👍
Do you plan the support of Grunt 1.0.x ?
Thank you :)

That should do the trick, huh? Updated everything and it looks to be up and running.

This is my package.json
{
  "name": "lab",
  "version": "1.0.0",
  "main": "Gruntfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-auto-install": "^0.3.1",
    "grunt-contrib-concat": "^1.0.1",
    "grunt-contrib-jshint": "^1.0.0",
    "grunt-contrib-uglify": "^2.0.0",
    "grunt-contrib-watch": "^1.0.0",
    "grunt-critical": "^0.2.1"
  },
  "dependencies": {
    "grunt": "^1.0.1",
    "grunt-auto-install": "^0.3.1"
  },
  "description": ""
}

any idea ?

More info on the error
npm WARN using --force I sure hope you know what you are doing.
npm WARN package.json<EMAIL_ADDRESS>No description
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from grunt-perfbudget will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm WARN deprecated<EMAIL_ADDRESS>to-iso-string has been deprecated, use @segment/to-iso-string instead.
npm WARN deprecated<EMAIL_ADDRESS>Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "grunt-perfbudget" "--save-dev" "-f"
npm ERR! node v4.5.0
npm ERR! npm  v2.15.9
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package<EMAIL_ADDRESS>does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>
npm ERR! Please include the following file with any support request:
npm ERR!     /Users/abrossault/Documents/google/lab/code/speed-lab/npm-debug.log

Fixed  with
sudo npm update -g

:)


Add container import and instructions for GTM

Inspired by: https://github.com/lunametrics/youtube-google-analytics

@danielhokanson should this perhaps be on the @angulartics/google repo?

@danrye Looks like we beat you to the punch :) we have added this to the GTM repo

@DanWilkerson totally helping us out :+1: let me know if this needs to be readdressed


Bifrost query output .tsv merging rows in presence/absence matrix when multithreading

I've encountered a potential issue in the presence/absence matrix .tsv produced by Bifrost query mode. When using multiple threads (>1), I've found some rows in the .tsv are merged with the row above (see attached .tsv files, '_tX' denotes the number of threads used to run query mode). For example, in file 'rep_bifrost_List_graph_t2.tsv', query_name 3429 is merged with the row containing query_name 3236 (see attached image). This does not occur when using only a single thread, and the same rows are not merged when running with different numbers of threads.

The command used to generate the attached .tsv files is found below, where X is the number of threads used to run query mode. All files used to generate .tsv files are also attached.
Bifrost query -g rep_bifrost_List_graph.gfa -q rep_bifrost_List_graph_unitigs.fasta -o rep_bifrost_List_graph_tX -e 1.0 -f rep_bifrost_List_graph.bfg_colors -k 31 -m 23 -t X
I hope this helps, please let me know if you require any further information.
troubleshooting.zip

Hi @samhorsfield96,
Thank you for reporting this issue. I believe I have found the issue and I will push a fix for it tonight. I will let you know when it is online.
Guillaume

Just pushed the fix, can you let me know if it works on your side?

Hi Guillaume,
I've just tested the fix on the same files and unfortunately it seems the issue is still there (please see attached files). For example, in rep_bifrost_List_graph_t2_new.tsv, pattern_ID 27681 is merged with pattern ID 29773. This was generated using Bifrost v1.0.4.
Sam
Troubleshooting.zip

Hi @samhorsfield96,
I will have another look at it this weekend.
Guillaume

Hey @samhorsfield96,
Sorry for the delay. I have pushed the fix, could you give it one more try and let me know how it works for you?
Guillaume

Hi @GuillaumeHolley
Yes, this works perfectly! Many thanks for sorting this issue. Is there a plan to push this fix to the version on bioconda?
Thanks again, Sam

We are currently discussing in issue #20 a new bioconda version of Bifrost that would include targeted architecture optimizations. I have no doubt that when it is ready, it will have the latest Bifrost version :)


Subdomain takeover via Medium (not possible anymore)

Service name
Medium - https://medium.com/
Proof
https://hackerone.com/reports/1034023
Documentation
https://help.medium.com/hc/en-us/articles/115003053487-Setting-up-a-custom-domain-for-your-profile-or-publication
Fingerprint :  Oops! We couldn’t find that page. Sorry about that

Don't think this is possible anymore. Just found a subdomain displaying that message and received this error when attempting to take it over.

In the hackerone link provided above, the reporter socially engineered the Medium team to make this change - now that Medium has an automated system for this, I don't think they'd do it manually.

Hey @hakluke ,
Thanks for pointing this out

looks like edge case?
https://smaranchand.com.np/2022/10/taking-over-the-medium-subdomain-using-medium/


refactor(just): move from ghcr.io/eitsupi/devcontainer-features/just

Move from ghcr.io/eitsupi/devcontainer-features/just

Only git checks are exceptioned because git may have been installed from source by ghcr.io/devcontainers/features/git.

Once this is merged I will merge eitsupi/devcontainer-features#30 and remove just from Metadata of my repo.

thx for your refacto.


docs: Quickstart improvements

docs: Reword a few things in the Quickstart

might be subjective, feel free to reject anything that doesn't stick

docs: Fix typo
docs: Make diagram accurate

the Dagger Engine is the OCI container runtime. All pipeline ops run inside the Dagger Engine.

docs: Drop @latest from the package

In the case of Go, this will default to the latest published package version, which is what we want. Versioned is unlikely to break in the future, while latest is a moving target. In this context, moving targets usually lead to unexpected breakages. I never regretted pinning my dependencies. I consider it good advice at this point, but feel free to drop this commit if you think otherwise.

@gerhard can you please have a look at this one again? Thanks.

This dropped off my radar until today. Will make the changes shortly and ask you @vikram-dagger for a re-review.
FWIW, the initial diagram is used in a couple of places, including https://dagger.io homepage:

Would you like to take a closer look at the diagram change @mircubed @d3rp3tt3 @shykes @aluzzardi @samalba @vito @sipsma @marcosnils since it requires follow-ups if we go in this direction:
Before this change:

After this change:


Component loosing getCurrentScope() after using ref outside it with await in JSX/TSX

Vue version
3.4.38
Link to minimal reproduction
https://play.vuejs.org/#eNp9VNuO2jAQ/RU3LwkSzVJtH6ptFqmloFK126og9SVSZcLAetexI1+AFeLfO2MHxK0rIQV7zpy5nfE2+dQ0+cpDcpcUtjKiccyC802/VKJutHFsywws2I4tjK5ZitD0YBroumnv8xs65M5u0FyqSivrWG2X7J7cs/QrSKnZH23k/E3aKVVxE6NhHDw4qBvJHeCJscEjVM/ss9FrC4ZJvbSM6LSEnMzFxNsGlIV+QSH7RYiMn8M9sR8xJt3EWWRYiGX+ZLXCUrdEVCYVOgoJ5mfjBEYokzsWLGRTelgLR1fOeOhSmtFQ67mXQIYyGU4eYIOgC/NvwHw9sUbgzKs5BgrIiDOEWME3TOjHgfEs1JPdRHcDvHJvw/FAgKdxGMNEe1O1CeF4TrJRGjFSVMJNH0UosA0RzdYZUV0rcgVmxp2oY2qTF+V4SOUM5rhZQvA/6UU0egtfYCEUjLQZSG7tSICcHyexR4KNccbKgdHNRZoLjQUOcELCOlBuwK1Qy7Ea4eweeA1X6noWzXcxC0q6MHJU4jq2DmmmdrhBUrsXAEEJuSsV/kg7YB3qGlVzbSHallMtsAnmKH3yQu1z+6IqlnXYfT9K68RKm4H5lAkuBGN8zYVjCtbsFzILC1nWiiS441pORQ3au+yIjwWufMWlB2REpVEydN/6ZoF712Xver1eJxwMLrhRwRGLxBL3q/ufGk+Xfhuz39tyXDXr0o9HdpTEwBuDk5pUuoETmmPcPKiDgmuF4HPcoaOI416G7zE+Cw2IHQ5vFral7cn+vcDHI0tngPqBtHueV0bdiHgJjnEaVxgBFURtu8LFF6jQV6na5sYRZcVcrPp8VhU39CeOAnvewab/xR0j1WHTb/P3+e2HZPcPQ1fdqA==
Steps to reproduce
Create a component in JSX/TSX that in setup has an async function from another file that returns ref.
const data = await someFunction()

Example file:
import { ref } from "vue"

export const someFunction = async () => {
  const data = ref("a")

  await new Promise((resolve) => setTimeout(() => {
    data.value = "b"
    resolve()
  }, 1000))

  return data
}

Now when u use getCurrentScope() after this await it will be undefined.
What is expected?
That should not be undefined and should return the current scope.
What is actually happening?
I checked how it works in SFC and there this code:
const data = await someFunction()

is replaced by:
const data =
  (([__temp, __restore] = withAsyncContext(
    () => someFunction(),
  )),
  (__temp = await __temp),
  __restore(),
  __temp)

Function withAsyncContext is Internal API so I can't use it in JSX/TSX components.
System Info
System:
    OS: macOS 11.7.3
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 22.4.0 - ~/.asdf/installs/nodejs/22.4.0/bin/node
    Yarn: 4.3.1 - /usr/local/bin/yarn
    npm: 10.8.1 - ~/.asdf/plugins/nodejs/shims/npm
    bun: 1.1.10 - ~/.bun/bin/bun
  Browsers:
    Chrome: 128.0.6613.84
    Safari: 16.3
  npmPackages:
    vue: ^3.4.38 => 3.4.38

Any additional comments?
No response

This is expected. Calls that need to be aware of the current component scope need to happens synchronously.
We do work around that limitation in script setup with the compiler, but in normal components, the above limitation applies.


Streamlit App: Merge and Clean Env Vars/UI Entry

Clean up and unify required env variables for Streamlit app. Right now, they have to be set as env variables and UI entry seems to be largely ignored.

Removed the UI options for now since it was a bit misleading, and it's better to just have one source of truth (I don't see these values changing frequently anyway, so the value of a UI affordance is not high IMO)
Happy to revisit this!


OSC___ISO_module: Mute All Except Host mutes everybody including hosts and co-hosts

OSC___ISO_module: Mute All: Mutes everybody except the OSC/ISO computer. This is ok.
OSC___ISO_module: Mute All Except Host

I just saw this new action, but when I used it, it muted everybody including the hosts and co-hosts.

I believe this was caused by looking for a specified user to be '' but it was undefined so it never selected the host from the host group.  In the PR, I removed the ability to set the userName in the Mute All Except Host action since it should always just get the callers from the host group.  If you need to specify for a user to not mute, then the action Mute All Except is the one that should be used.


Separate Model printing into "Variables" and "Equations"

(so that each can be printed separately)

sounds good.

Also separate variables by model-name

+1 +++1 on separating by model name. It's pretty distracting to see all the prepended stuff on every variable.

Got the latter done in #429


Scrolling table side content

Now the table side content can be scrolled only if mouse pointer is on task content area.
It is possible to scroll the table side content if the mouse pointer is on same area?

We are having the same problem with tree as well, doesnt scroll when mouse pointer is in side area.

+1


Resumable?

I followed your readme and it seems like it's working:
  0%|                                                                                | 11648/32557237 [00:19<16:36:06, 544.55it/s]

Problem is if the script gets interrupted (ie, close my laptop lid, or lose network), it seems to start over.
Would it be hard to make this resumable?

The code is setup in a way that it should be resumable but the DB defaults were not very amenable to that. I have changed it in the latest commit. I tested it locally by killing the process after running for a minute and it seemed to work OK. Let me know what you find!

You can run a query like this to check for any gaps in your id column
WITH t AS (
    SELECT id AS latest_id,
        LAG (id, 1) OVER (ORDER BY id) AS oldest_id,
        id - (LAG (id, 1) OVER (ORDER BY id)) AS diff
    FROM (
        SELECT id FROM hn_story
        {'UNION ALL SELECT id FROM hn_comment' if 'hn_comment' in tables else ''}
        {'UNION ALL SELECT id FROM hn_job' if 'hn_job' in tables else ''}
        {'UNION ALL SELECT id FROM hn_poll' if 'hn_poll' in tables else ''}
        {'UNION ALL SELECT id FROM hn_pollopt' if 'hn_pollopt' in tables else ''}
    )
)
SELECT * FROM t
WHERE diff > 1
ORDER BY diff DESC

I have moved from Sqlite to storing data as parquet and also made resuming a bit more visible.


[Confusing words] Fled vs Escape

Pull #3118
Expected Behavior
[pokemon_escaped] Eevee escaped.
Actual Behavior
[pokemon_fled] Eevee fled.
Steps to Reproduce
Run the bot as usual. Whenever a pokemon escapes from pokeball, the word usage is confusing
Other Information
OS:
Git Commit: ff380cd0e07f225ad1ae2c739bea9f9f80e2f8ce
Python Version: Python 2.7.12

This is wrong. You can't just rename the event, please revert.

pokemongo_bot.event_manager.EventNotRegisteredException: Event pokemon_escaped not registered...

@Marco208 : Fixing. I forgot to push init.py

Thanks for your contributions :)

Thanks for noting this! I had thought the bot was just forcing the api to catch fled pokemon!
`2016-08-08 12:23:46,353 [PokemonCatchWorker] [INFO] [threw_pokeball] Used Greatball, with chance 46.80 (52 left)
2016-08-08 12:23:47,738 [PokemonCatchWorker] [INFO] [pokemon_fled] Psyduck fled.
2016-08-08 12:23:49,401 [PokemonCatchWorker] [INFO] [threw_pokeball] Used Greatball, with chance 46.80 (51 left)
2016-08-08 12:23:50,754 [PokemonCatchWorker] [INFO] [pokemon_caught] Captured Psyduck! [CP 495] [Potential 0.18] [2/0/6] [+150 exp]
`


Custom task runner

npm run build
npm allows developers to specify the meaning of build in package.json.
This reduces/eliminates the need for a Makefile/justfile/etc.
uv task my_task or uv my_task could execute a task defined in pyproject.toml.

Please remember to search for duplicates.
This is a duplicate of https://github.com/astral-sh/uv/issues/5903


Latest update broke automatic whitespace

Type: Bug
In the latest update only. When shifting lines up and down, it shifts both the selected line and the line being shifted by one notch to the left of where it should be so they are both no longer indented correctly.
This worked fine on previous release.
Edit: This appears to be specific to the way { is handled.
Example:
class MyClass
  def my_bad_method
    anything { |foo|
    some_code # << this is bad
    }
  end

  def my_good_method
    anything do |foo|
      some_code # << this is correct
    end
  end

  def my_worse_method(opts={}) # << brackets here cause the whole method to melt.
  anything { |foo|
  some_code
}
end

end

VS Code version: Code 1.75.1 (Universal) (441438abd1ac652551dbe4d408dfcec8a499b8bf, 2023-02-08T21:34:59.000Z)
OS version: Darwin arm64 22.3.0
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Apple M1 Pro (10 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
2, 4, 5

Memory (System)
32.00GB (0.92GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (29)

Extension
Author (truncated)
Version

vscode-openapi
42C
4.15.16

cucumberautocomplete
ale
2.15.2

multi-cursor-case-preserve
Car
1.0.5

npm-intellisense
chr
1.4.4

path-intellisense
chr
2.8.4

erb
Cra
0.0.1

vscode-svgviewer
css
2.0.0

gitlens
eam
13.2.0

vscode-html-css
ecm
1.13.1

prettier-vscode
esb
9.10.4

auto-close-tag
for
0.5.14

terraform
has
2.25.2

haml
kar
1.4.1

eml
lei
0.4.0

ruby-typeprof
mam
0.20.2

Kotlin
mat
1.7.1

rainbow-csv
mec
3.5.0

sublime-keybindings
ms-
4.0.10

vscode-yaml-sort
Pas
6.3.0

vscode-css-peek
pra
4.2.0

vscode-yaml
red
1.11.0

partial-diff
ryu
1.4.3

scala
sca
0.5.6

vscode-fileutils
sle
3.10.0

vscode-gradle
vsc
3.12.6

vscode-todo-highlight
way
1.0.5

vscode-ruby
win
0.28.0

vscode-import-cost
wix
3.3.0

cursor-align
yo1
1.1.0

Hi thank you for posting this issue, could you please let us know what programming language you are using?

Hi, this is for Ruby and I can confirm this is still occuring. Still seems related to having a hash as a default value in a message signature.

Thank you for the clarification. From the textual example you give, it is a bit difficult to understand what exactly the bug is. I think it would help us if you include a screen-recording of the buggy behavior with a description of the expected behavior.

Bug shown at 26 seconds onward. Passing the arg with a hash default causes the automatic indentation to fail beyond that line.
https://github.com/microsoft/vscode/assets/86303771/ed7b3395-9182-48b9-b791-25cc5799a6f5

Hi @Greg-Myers-SB I see better, thank you for the screen recording.


Adds longhorn to home server

Description of the change
Adds longhorn to cluster for better storage. In case of more nodes.
Benefits
Adds auto backup.
Possible drawbacks
storage problems
Additional information

Fixes https://github.com/axeII/home-cluster/issues/14.


How to locally run AWS Lambda Project (.NET Core -C#)

Describe the bug

To Reproduce

Expected behavior

Screenshots

Toolkit Logs

Development System (please complete the following information):

Windows Version:
Visual Studio Version:
AWS Toolkit for Visual Studio Version:

Additional context

You can use the Mock Lambda Test Tool to locally run your Lambda project. The AWS Toolkit adds a debug profile to your launchSettings.json file so all you should have to do is press F5 to launch the debugger from Visual Studio.


Update IRR objects via API given configuration

What feature would you like to see?
Update ARIN IRR objects given Pathvector configuration (such as AS-SET, route4/6, etc).
ARIN IRR has a RESTful API, Pathvector could update the following:

as-set (cone/customers): from all unique peers configured in a specific template, such as "downstream" or "customers"
route/route6/route-set: from the list of prefixes in the configuration (with sanity check from ARIN whois server, so it does not attempt to create objects for prefixes that are not assigned to the ARIN Org).
route-set: from the list of prefixes in the configuration (with sanity check from ARIN whois server, so it does not attempt to create objects for prefixes that are not assigned to the ARIN Org).

I suppose RADB could also be an option, since it's very popular and also has an API.

This is a neat idea, but I think out of scope for Pathvector since it only generates configuration for a single router. IRR generation would probably make more sense higher up in a network's automation stack (ansible, etc) in order to manage multiple router's configs and IRR objects.

@natesales that makes sense!


jfrog build issues

I'm running into the following issues building jfrog:
$ go version
go version go1.10.2 windows/amd64

$ go get -u -ldflags '-s -w' github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog
# github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog
go\src\github.com\jfrogdev\jfrog-cli-go\jfrog-cli\jfrog\main.go:90:15: cannot use artifactory.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value
go\src\github.com\jfrogdev\jfrog-cli-go\jfrog-cli\jfrog\main.go:95:15: cannot use bintray.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value
go\src\github.com\jfrogdev\jfrog-cli-go\jfrog-cli\jfrog\main.go:100:15: cannot use missioncontrol.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value
go\src\github.com\jfrogdev\jfrog-cli-go\jfrog-cli\jfrog\main.go:105:15: cannot use xray.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value

This build issuue also occurs on a Linux host.
$ go version
go version go1.10.3 linux/amd64

$ go get -u -ldflags '-s -w' github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog
# github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog
go/src/github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog/main.go:90:15: cannot use artifactory.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value
go/src/github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog/main.go:95:15: cannot use bintray.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value
go/src/github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog/main.go:100:15: cannot use missioncontrol.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value
go/src/github.com/jfrogdev/jfrog-cli-go/jfrog-cli/jfrog/main.go:105:15: cannot use xray.GetCommands() (type []"github.com/jfrog/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command) as type []"github.com/jfrogdev/jfrog-cli-go/vendor/github.com/codegangsta/cli".Command in field value

I do not see this issue if I use github.com/jfrog/jfrog-cli-go


Add SELinux secontext handling when packing the rootfs .

Hi team ,
Current krikstone branch code when handling   rootfs folder for creating ostree based rootfs folder  its not considering selinux .
Following is the patch that will try to  pass selinux option to tar utility .
If the rootfs is already labeled with selinux it will preserve the labels  else it will be NOP (https://www.gnu.org/software/tar/manual/tar.html)
Can you please help to get this review and help us on how we can  merge this change .
Attaching the single line changes
0001-RFC-meta-updater-adding-selinux-support-for-in-packi.patch
Regards,
Ravi.,

Please propose the same change as a pull request against https://github.com/uptane/meta-updater instead (master first then as a backport once merged). Thanks!


Fix normally ignored errors caused by animated icon

Many usages of animated icon set the state property with setters that did not specify the appropriate namespace which leads to errors which are by default ignored.

/azp run


Set network profile when using basic load balancer.

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/JunSun17/azure-cli-extensions.git@jusu-basic-lb#subdirectory=src/$EXT&egg=$EXT"

This is for #2138

aks

hi @fengzhou-msft could you pls help to review the PR?


Replace stringified arrow functions with inline functions

The aim is to be able to use this in browsers that don't support arrow functions. Because they are stringified, they don't get transpiled by Babel.

I'll submit another pull request that implements the objective in a slightly different way.


Desktop app crashes immediately on macOS

Describe the bug
When I try to open the Electron app on macOS, it crashes without even saying hello :(
Uncaught Exception:
Error: dlopen(/var/folders/t0/k54c4zw55kq2hqhnn7p21lgr0000gn/T/.com.electron.dogehouse.6OOCdl, 1): no suitable image found.  Did find:
/var/folders/t0/k54c4zw55kq2hqhnn7p21lgr0000gn/T/.com.electron.dogehouse.6OOCdl: code signature in (/var/folders/t0/k54c4zw55kq2hqhnn7p21lgr0000gn/T/.com.electron.dogehouse.6OOCdl) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
/var/folders/t0/k54c4zw55kq2hqhnn7p21lgr0000gn/T/.com.electron.dogehouse.6OOCdl: stat() failed with errno=17
at process.func [as dlopen] (electron/js2c/asar_bundle.js:5:1812)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1203:18)
at Object.func [as .node] (electron/js2c/asar_bundle.js:5:2039)
at Module.load (internal/modules/cjs/loader.js:992:32)
at Module._load (internal/modules/cjs/loader.js:885:14)
at Function.f._load (electron/js2c/asar_bundle.js:5:12738)
at Module.require (internal/modules/cjs/loader.js:1032:19)
at require (internal/modules/cjs/helpers.js:72:18)
at load (/Applications/DogeHouse.app/Contents/Resources/app.asar/node_modules/node-gyp-build/index.js:21:10)
at Object.<anonymous> (/Applications/DogeHouse.app/Contents/Resources/app.asar/node_modules/electron-overlay-window/dist/index.js:8:38)

To Reproduce
Steps to reproduce the behavior:

Open the app
Observe error
Rethink life choices

Expected behavior
I expected it to work
Screenshots

What device are you on?
I'm on an M1 MacBook Air.
Additional context
I was eating lunch at the time

+1, I can replicate this on an M1 MacBook Air too.

oops #1569 already exists
i swear i searched for issues before opening this, but that one remained elusive 🤔


Ctrl-Shfit-I not working from separate editor window

Issue Report Checklist

[X ] Searched the issues page for similar reports
[ X] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ X] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ X] Could not reproduce inside jupyter qtconsole (if console-related)
[ X] Tried basic troubleshooting (if a bug/error)

[ ] Restarted Spyder
[ ] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[ X] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
I start Spyder 3.3.3 on a Windows 10 machine, Anaconda distribution, Python 3.7.1.  I have one Spyder window, with ipython in one panel, editor in another.  From editor, C-S-I switches to ipython console.  Good.  I right-click on the editor tab, do "New Window", switch to that window.  C-S-I does nothing.  Bad.

We're aware of this problem but we don't have a solution for it yet.


Tracks id not displaying

🐛 Bug
There is an unanswered question on the image.sc forum about track IDs not displaying. Indeed, when using the simple example from the docs, the IDs cannot be displayed and an error appears in the terminal which seems related to something deeper in vispy.
To Reproduce

Run the demo code:

import napari
from skimage import data

hubble_image = data.hubble_deep_field()

tracks_data = [
    [1, 0, 236, 0],
    [1, 1, 236, 100],
    [1, 2, 236, 200],
    [1, 3, 236, 500],
    [1, 4, 236, 1000],
    [2, 0, 436, 0],
    [2, 1, 436, 100],
    [2, 2, 436, 200],
    [2, 3, 436, 500],
    [2, 4, 436, 1000],
    [3, 0, 636, 0],
    [3, 1, 636, 100],
    [3, 2, 636, 200],
    [3, 3, 636, 500],
    [3, 4, 636, 1000]
]

viewer = napari.view_image(hubble_image, name='image')
viewer.add_tracks(tracks_data, name='tracks')

Try to activate the track IDs through the tick box. No IDs are displayed.

This is the error trace that appears in the terminal (but doesn't make napari crash):
Traceback (most recent call last):
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/app/backends/_qt.py", line 897, in paintGL
    self._vispy_canvas.events.draw(region=None)
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/util/event.py", line 453, in __call__
    self._invoke_callback(cb, event)
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/util/event.py", line 471, in _invoke_callback
    _handle_exception(self.ignore_callback_errors,
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/util/event.py", line 469, in _invoke_callback
    cb(event)
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/scene/canvas.py", line 218, in on_draw
    self._draw_scene()
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/scene/canvas.py", line 277, in _draw_scene
    self.draw_visual(self.scene)
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/scene/canvas.py", line 315, in draw_visual
    node.draw()
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/scene/visuals.py", line 99, in draw
    self._visual_superclass.draw(self)
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/visuals/visual.py", line 605, in draw
    v.draw()
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/scene/visuals.py", line 99, in draw
    self._visual_superclass.draw(self)
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/visuals/visual.py", line 451, in draw
    self._program.draw(self._vshare.draw_mode,
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/visuals/shaders/program.py", line 102, in draw
    Program.draw(self, *args, **kwargs)
  File "/Users/gw18g940/miniconda3/envs/napari-tutorial/lib/python3.9/site-packages/vispy/gloo/program.py", line 498, in draw
    raise RuntimeError('All attributes must have the same size, got:\n'
RuntimeError: All attributes must have the same size, got:
<VertexBuffer size=15 last_dim=1>: 15
<VertexBuffer size=48 last_dim=4>: 48
<DataBufferView on <VertexBuffer size=48 last_dim=None> at offset=0 size=48>: 48
<DataBufferView on <VertexBuffer size=48 last_dim=None> at offset=8 size=48>: 48
<VertexBuffer size=48 last_dim=1>: 48
<VertexBuffer size=48 last_dim=3>: 48

Expected behavior
There's little documentation about the show ID feature (it's never used in the documentation) but from discussions in the PR implementing the layer, it looks like it should display the IDs.
Environment
napari: 0.4.12
Platform: macOS-10.15.7-x86_64-i386-64bit
System: MacOS 10.15.7
Python: 3.9.7 (default, Sep 16 2021, 08:50:36) [Clang 10.0.0 ]
Qt: 5.15.2
PyQt5: 5.15.6
NumPy: 1.20.3
SciPy: 1.7.2
Dask: 2021.11.1
VisPy: 0.9.3

OpenGL:
- GL version: 2.1 INTEL-14.7.20
- MAX_TEXTURE_SIZE: 16384

Screens:
- screen 1: resolution 1440x900, scale 2.0

Plugins:
- cellpose-napari: 0.1.4
- console: 0.0.4
- scikit-image: 0.4.12
- svg: 0.1.5

Additional context

I'm also having issues with this. Did something change with in a recent update?
WARNING: Error drawing visual <Text at 0x1553587f0>
WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x1552a1e80>

I don't have time to delve into this right now but I recommend running git-bisect on this. We did make a few updates to our text handling to fix other bugs, but it might have caused this one if it was not covered by a test.

Thanks @jni - I might try to take a look myself and see when this stopped working. In anycase, I've never used git-bisect, so I'm curious to try it!

I just had chance to try git-bisect on this, using  examples/tracks_3d_with_graph.py. The bad commit is:
5f1525c394606bfc5193a837f55f1c38cdcbeac7 is the first bad commit
commit 5f1525c394606bfc5193a837f55f1c38cdcbeac7
Author: Lorenzo Gaifas<EMAIL_ADDRESS>Date:   Tue Sep 28 22:24:47 2021 +0200

    `_vispy` module cleanup (#3333)

so it looks like something got broken during the vispy module cleanup.

I think I've identified the source of the bug here (@brisvag - correct me if I'm wrong!).
In the cleanup of the _vispy module (#3333), the compound visual for the tracks layer had two separate shaders attached to the line visuals, and nothing to the text visual, whereas in the new version the shader is applied to all subvisuals:
https://github.com/napari/napari/blob/7d5707390e876746440e0af542982f8413ff4c5a/napari/_vispy/visuals/tracks.py#L18-L23
This is causing all of the VertexBuffer issues.

Opened a PR to fix this at #3729. It seems that reusing the same filter works fine :)

Cool - thanks @brisvag.  However,  I think this may still fail if you have any graph data, since the vertex buffers would need to store different data.  Does the PR work with examples/tracks_3d_with_graph.py

Nope, doesn't work, you're right. I reverted to using two instances.


6.1.0  sw-ui Trace 分页查询问题

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Bug

Question
Trace 分页查询 输入数字后 查询 每次拼接1  导致无法正常查询。

Please submit English issue.


Ensure extra document updates are not scheduled during updateSync

Fixes https://github.com/atom/atom/issues/15311.
When changing the editor styles, we force the component to remeasure character dimensions. If they change, each line's height could change too, causing the current scroll top position to not match the viewport the user was observing. Thus, when detecting a line height change, we try to show users the area of the screen they were looking prior to tweaking the font size.
In trying to maintain the aforementioned logical position, however, we were mistakenly scheduling a new update before actually finishing the current one. This was problematic because if the first update detected that the longest screen line changed and such line was off-screen, it would try to render it. Before having the chance to measure it, though, the new update would kick in and delete the new longest screen line node, because it assumed it had already been measured. Finally, when
measureContentDuringUpdateSync fired, it would notice that the longest screen line node did not exist and throw an exception as a result.
This pull-request changes the updateSync method to set the updateScheduled flag only before returning control to the caller, as opposed to doing so at the beginning. This prevents calls to scheduleUpdate made in updateSync from scheduling new unwanted updates.
@Ben3eeE @ungb: can you confirm this fixes the aforementioned issue? Thanks!
/cc: @nathansobo

Verified this with @ungb :shipit:


Missing implementation of [ChoiceChip.iconTheme] and [ChoiceChip.surfaceTintColor] on Flutter version 3.3.0

After updating Flutter to latest version (v3.3.0 - 8/31/2022), my web project won't compile, because those missing implementations. I hope you can fix this asap, since you just have to literally add, like, 4 lines of code to fix this.

fixed in 8.0.0


Incorrect date conversion from Hebrew to Gregorian

Hi,
When entering Peach 5779 - 15 Nissan 5779 as:
new HeDate(5779, 8, 1)

... and logging to console, library correctly outputs the date, but the DAY of the week is wrong (Sunday):
 Sun 15 Nisan 5779 00:00:00 GMT-0700 (Mountain Standard Time)

... and when converting to Gregorian with date.toISOString(), the lib incorrectly converts to:
2019-04-21T07:00:00.000Z"

Erev Pesach 5779 was Fri April 21
Unless I'm missing something, the Gregorian date is 2 days out.
(Edited to point out day of week is wrong in Hebrew date string)

Pesach 5779 was at April 20 as shown in this calendar.
In the list you mentioned they say it was at "Fri, 19 April 2019 at sundown", which means that the holiday actually begins on the night of 19-20. This is because according to the Jewish law, a day begins at the beginning of the night, not at midnight.
But, the library is converts it to April 21, which is a bug...
I fixed that, and published 1.2.2.
Thank you so much !


feat: support for metadata filtering and sorting

Description
This PR adds a new feature to the FeedbackDatasets that allows to create metadata properties that enables filtering the records based on their metadata. Also, the option to sort the records based on 'inserted_at', 'updated_at' and metadata properties has been added.
Closes #3748
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested
The awesome Argilla team has been testing this very hard :)
Checklist

[ ] I added relevant documentation
[x] I followed the style guidelines of this project
[x] I did a self-review of my code
[ ] I made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I filled out the contributor form (see text above)
[x] I have added relevant notes to the CHANGELOG.md file (See https://keepachangelog.com/)

here we go. Good job, team!


Sheets Quick Start Not Working

Expected Behavior
Run script and be brought to oauth screen that has code you enter on the command line.
Actual Behavior
Run script and get Error: "Missing required parameter: redirect_uri"
Steps to Reproduce the Problem

Download file sheets/quickstart/index.js
Create project and download credentials.json and put it in the same directory as index.js
run node index.js and click click

Specifications

Node version (9.3.0)
OS (Mac)

Did you make any edits? I just ran this quickstart with node 10 and a test account but couldn't reproduce your issue.
It looks similar to this:
https://stackoverflow.com/questions/32924963/missing-required-parameter-redirect-uri-with-passport-google-oauth

hi all,
please help me on this issue
i added a function to run the code and its showing error while running such as:
{ message: 'Request had insufficient authentication scopes.',
domain: 'global',
reason: 'forbidden' }
Code is here:
`const fs = require('fs');
const readline = require('readline');
const {google} = require('googleapis');
console.log("its start working...");
// If modifying these scopes, delete token.json.
const SCOPES = ['https://www.googleapis.com/auth/script.projects'];
const TOKEN_PATH = 'token.json';
// Load client secrets from a local file.
fs.readFile('credentials.json', (err, content) => {
if (err) return console.log('Error loading client secret file:', err);
console.log("content::::",JSON.parse(content));
// Authorize a client with credentials, then call the Google Apps Script API.
authorize(JSON.parse(content), callAppsScript);
});
/**

Create an OAuth2 client with the given credentials, and then execute the
given callback function.
@param {Object} credentials The authorization client credentials.
@param {function} callback The callback to call with the authorized client.
*/
function authorize(credentials, callback) {
const {client_secret, client_id, redirect_uris} = credentials.installed;
const oAuth2Client = new google.auth.OAuth2(
client_id, client_secret, redirect_uris[0]);

// Check if we have previously stored a token.
fs.readFile(TOKEN_PATH, (err, token) => {
console.log("Token path:::",TOKEN_PATH);
if (err) return getAccessToken(oAuth2Client, callback);
oAuth2Client.setCredentials(JSON.parse(token));
callback(oAuth2Client);
});
}
/**

Get and store new token after prompting for user authorization, and then
execute the given callback with the authorized OAuth2 client.
@param {google.auth.OAuth2} oAuth2Client The OAuth2 client to get token for.
@param {getEventsCallback} callback The callback for the authorized client.
*/
function getAccessToken(oAuth2Client, callback) {
const authUrl = oAuth2Client.generateAuthUrl({
access_type: 'offline',
scope: SCOPES,
});
console.log('Authorize this app by visiting this url:', authUrl);
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.question('Enter the code from that page here: ', (code) => {
rl.close();
oAuth2Client.getToken(code, (err, token) => {
if (err) return console.error('Error retrieving access token', err);
oAuth2Client.setCredentials(token);
// Store the token to disk for later program executions
fs.writeFile(TOKEN_PATH, JSON.stringify(token), (err) => {
if (err) console.error(err);
console.log('Token stored to', TOKEN_PATH);
});
callback(oAuth2Client);
});
});
}

/**

Creates a new script project, upload a file, and log the script's URL.
@param {google.auth.OAuth2} auth An authorized OAuth2 client.
*/
function callAppsScript(auth) {
const script = google.script({version: 'v1', auth});
script.projects.create({
resource: {
title: 'My Script',
},
}, (err, res) => {
if (err) return console.log(The API create method returned an error: ${err});
script.projects.updateContent({
scriptId: res.data.scriptId,
auth,
resource: {
files: [{
name: 'hello',
type: 'SERVER_JS',
source: 'function myApp(){\n var form = FormApp.create('New Form'); \n var item = form.addCheckboxItem(); \n item.setTitle('What condiments would you like on your hot dog?');\n item.setChoices([item.createChoice('Ketchup'),\n item.createChoice('Mustard'),\n item.createChoice('Relish')]);\n}',
}, {
name: 'appsscript',
type: 'JSON',
source: '{"timeZone":"America/New_York","exceptionLogging":' +'"CLOUD", "oauthScopes":["https://www.googleapis.com/auth/forms\",\"https://www.googleapis.com/auth/drive\",\"https://www.googleapis.com/auth/forms.currentonly\",\"https://www.googleapis.com/auth/spreadsheets\",\"https://www.googleapis.com/auth/analytics.readonly\",\"https://www.googleapis.com/auth/spreadsheets.readonly\"]}',
}],
},
}, {}, (err, res) => {
if (err) return console.log(The API updateContent method returned an error: ${err});
console.log(https://script.google.com/d/${res.data.scriptId}/edit);
if(res.data.scriptId){
script.scripts.run({
scriptId:res.data.scriptId,
auth,
resource: {
"function": 'myApp',
"parameters": [res.data.scriptId],
"sessionState": '',
"devMode":true
},
})
}
});
});
}`

Closed due to inactivity.


[FLINK-4631] Fixed stream task that was interrupted before it was initialized.

I think this is the best solution for this issue - to check that initialization was finished before call cleanup method. May be some tests is needed to check this piece of code.

I would actually not do that change. Partially initialized operators should receive a call to cleanup().
The cancellation/shutdown logic is quite tricky - mainly because of some legacy way to instantiate the tasks and operators.
The right way to fix this is to actually follow the proper RAII pattern. That means:

going away from instantiating a blank invokable class, but having an invokable with a constructors that takes the ExecutionEnvironment
Change the StreamOperator to be more a factory for the actual operator, and instantiate it in the constructor of the task.

If you are okay with that, I would suggest to not apply this change.
If you agree, can you close the pull request?


Problem while running rc_driver.py

Hey Hamuchiwa,
Thanks again for the marvelous project.
I have encountered a problem while running the file rc_driver.py
You have passed two ports in the server class like this
`if name == 'main':
h, p1, p2 = "<IP_ADDRESS>", 22
ts = Server(h, p1, p2)
ts.start()`

I cant understand what will be my p2 since p1=22 has been working for me since start except this (rc_driver.py) file.
Please reply soon, I have a presentation to give on this project day after tomorrow.
Thanks 👍

@V1shishta You can pick two big port number as long as they are free to use, eg. 8000 and 8002 (as in project), or 10000 and 10001.

Thanks for the reply.
So any port number will work on p2 regardless of what I give on p1?
Thanks again.

@V1shishta Correct, as long as those two ports are different and available.

Hey hamuchiwa,
This is the error I am encountering while running rc_driver.py and stream_client.py
Traceback (most recent call last):   File "/home/pi/camstream.py", line 27, in <module>     connection.write(stream.read())   File "/usr/lib/python3.5/socket.py", line 594, in write     return self._sock.send(b) BrokenPipeError: [Errno 32] Broken pipe
In stream_client.py , I have given port no 22 which is p1 in rc_driver.py
Please reply fast.

@V1shishta This error is a bit unclear, what's the error on computer? Make sure start the server on computer first, then start the client on pi.


idea: make code importable with native ES Modules.

Alternatively, we can update the webpack build to output a single ESM file like build/three-mesh-ui.esm.js, and also publish that to NPM.

Alternatively I think we could add .js to all the module identifiers inside of src/.
Then we could import from src directly:
import('https://unpkg.com/three-mesh-ui@1.3.0/src/three-mesh-ui.js').then(console.log)

In Chrome you should currently get an error like
Uncaught (in promise) TypeError: Failed to resolve module specifier "three". Relative references must start with either "/", "./", or "../".

Besides changing import specifiers to use .js, we would also need to release an importmap so that it knows how to resolve three (we can have it point to https://unpkg.com/three@0.115.0).
Maybe the first option is easier, but requires a build step.

TBH I'm a bit lost in all these ways of importing libraries, if you have an idea on how to improve this feel free to file a PR !

TBH I'm a bit lost in all these ways of importing libraries

Yeah. It'd been a mess! Things are starting to stabilize now that Node.js has ESM. It'll be a while before things converge better.

Yeah, I don't know... When I hear about deno.js that doesn't support NPM...

Deno is a whole 'nother beast. I think this weekend I'll start with this issue first, to help me get more familiar with everything. :)

Welp! ^ "this weekend" was a bad estimate, but I ended up starting with https://github.com/felixmariotto/three-mesh-ui/pull/31 which helped get more familiar with stuff.

No problem, anyway as you probably have seen the lib structure wildly changed at its beginning. It's finally in a more mature and stable state, so it makes more sense to contribute now.
I'm actually working on games now, which I needed three-mesh-ui for.


Fix completion signatures of ignore_all_values

This commit fixes the computation of completion signatures for ignore_all_values.
ignore_all_values can complete with any error or stop signal either from its input sequence or from any of its items.
This PR adds a test that fails prior to this change

/ok to test


Connect using Azure Active Directory credential?

Is it possible to connect using Azure Active Directory credential?

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

ID: 4998b228-9ad4-4aa2-91a8-a5dc948975d4
Version Independent ID: b37ea4d7-319a-67b5-f317-561f34ef2cac
Content: Use VS Code to connect and query - Azure SQL Database
Content Source: articles/sql-database/sql-database-connect-query-vscode.md
Service: sql-database
Sub-service: service
GitHub Login: @stevestein
Microsoft Alias: sstein

@baatch  Thanks for the question! We are investigating and will update you shortly.

@baatch Thank you for reaching out.
Azure AD Authentication is not available in mssql extension for VS Code yet.
Meanwhile you can use Azure Data Studio or SSMS if you need to login via Azure AD Authentication

@baatch We will proceed to close this issue now.
If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Can't find some files in separate installation

i'm trying to install jsxc, but when i try an example, i can't see roaster and any others, except login page or page with message "You are logged in :-)."
in log i see
2014/12/26 16:10:51 [error] 9747#0: *2944 open() "/www/hum.itjunky.ws/jsxc/build/jsxc.dep.js" failed (2: No such file or directory), client: <IP_ADDRESS>, server: hum.itjunky.ws, request: "GET /jsxc/build/jsxc.dep.js HTTP/1.1", host: "hum.itjunky.ws", referrer: "http://hum.itjunky.ws/jsxc/example/index.html"
Or
2014/12/26 16:09:19 [error] 9747#0: *2928 open() "/www/hum.itjunky.ws/jsxc/lib/otr/build/otr.js" failed (2: No such file or directory), client: <IP_ADDRESS>, server: hum.itjunky.ws, request: "GET /jsxc/lib/otr/build/otr.js HTTP/1.1", host: "hum.itjunky.ws", referrer: "http://hum.itjunky.ws/jsxc/example/login.html"
2014/12/26 16:09:19 [error] 9747#0: *2929 open() "/www/hum.itjunky.ws/jsxc/lib/otr/build/dep/salsa20.js" failed (2: No such file or directory), client: <IP_ADDRESS>, server: hum.itjunky.ws, request: "GET /jsxc/lib/otr/build/dep/salsa20.js HTTP/1.1", host: "hum.itjunky.ws", referrer: "http://hum.itjunky.ws/jsxc/example/login.html"
2014/12/26 16:09:19 [error] 9747#0: *2929 open() "/www/hum.itjunky.ws/jsxc/lib/strophe.jingle/strophe.jingle.js" failed (2: No such file or directory
Why this files doesn't contain in repo?

GET /jsxc/build/jsxc.dep.js

You are right, this should be /jsxc/build/lib/jsxc.dep.js.

Wtf, why i don't see any words in Readme about separatly needed clone repo otr and repo strophie.jingle? NEED info about it in Readme!

Please see "Developer notes" in README.md.

Who need to create dir http-bind? And what files it contain?

/http-bind/ refers to your bosh interface. Have a look to our manual and bosh.

GET /jsxc/build/jsxc.dep.js

You are right, this should be /jsxc/build/lib/jsxc.dep.js.

Wtf, why i don't see any words in Readme about separatly needed clone repo otr and repo strophie.jingle? NEED info about it in Readme!

Please see "Developer notes" in README.md.

Who need to create dir http-bind? And what files it contain?

/http-bind/ refers to your bosh interface. Have a look to our manual and bosh.

Thanks for reply :+1:


Implement RuntimeThread.CurrentOSThreadId

This internal API is required to support the new EventSource public API EventWrittenEventArgs.OSThreadId which is implemented in https://github.com/dotnet/coreclr/pull/19002.
The internal API RuntimeThread.CurrentOSThreadId is also implemented in CoreCLR as part of the above referenced PR.

@MichalStrehovsky This may need matching closed source change during master->nmirror integration

Thanks @jkotas.

@MichalStrehovsky This may need matching closed source change during master->nmirror integration

Thanks for the heads-up. I've just ported it over with the necessary adjustments.


Log when approaching linux kernel limits

Proposal:
Periodically (by default once per minute, but configurable) check for breaches of a list of kernel limits. This would be a linux-only feature (at least initially), and checks on other operating systems would be no-ops.
Log a warning if within 30% of OS limits.
Current behavior:
Users run out of file handles / mmaps with no warning
Desired behavior:
Log a warning if within 30% of OS limits.
Unix commands for checking these are given below - these unix commands should be translated to go-specific idioms.
File Handles
Check cat /proc/sys/fs/file-nr - this gives 3 numbers. The first is the total file handles on the system, and the last is the maximum.
Check cat /proc/$(pidof influxd)/limits for the per-process file handle limit, and ls /proc/$(pidof influxd)/fd | wc -l for the number of file handles the process owns.
MMAP regions
Check cat /proc/sys/vm/max_map_count for the per-process limit on memory maps, and cat /proc/$(pidof influxd)/maps | wc -l for the total number of maps used by influxd.
Alternatives considered:
N/A
Use case:
Often users run out of file handles or mmaps, both of which are limited in various places within the kernel, and the error messages are not good.

See https://github.com/influxdata/influxdb/issues/23246 for more general details.


Feature/viewinweek

Yeah,making mistakes in the busy,there really existed some issues.The old version was used in my project.Now I fix them and maybe you can have a look at it...

Now that I can more clearly see what your changes do, I don't think I can add this. I have to draw a line for which features do or do not get added, and different modes (like showing weeks instead of months) isn't something I want to add or maintain in this library. Thank you for wanting to contribute, but I can't accept this pull request :disappointed: