proposal/fix: StackNavigator RESET action replaces with no animation unless action.direction = 'back' | 'forward' is supplied

Currently the StackNavigator's RESET functionality is half-baked. The various problems are highlighted in this older issue:
https://github.com/react-community/react-navigation/issues/351#issuecomment-303285227
I think I've come up with the simplest solution that solves the most use-cases:
StackNavigator RESET Behavior Proposal

by default the RESET action replaces "in place" with no animation
an action.direction key lets you choose which way to animate (regardless of whether there are more or less routes on the stack than before). Possible values are: forward or back, and a third auto option, whose direction will automatically be determined based on whether more or less routes were added than existed before.
the animation is always one slide forward or one slide back. Animating through many pages at once (like it currently does) is NEVER the correct user experience.
lastly, you can reset a stack without taking the user there in the UI. Often you may want to reset a stack, but the let user manually navigate back to the given stack as a natural course of using the app. This is configurable via: action.quiet === true. By default it's falsy. But if it's set to true, then all other indexes in your router tree state stay the same :). And the user sees nothing unless he happens to be looking at the reset StackNavigator (i.e. because all other indexes in the state happened to stay the same) 💯

Notes:
Overall, this solves all problems regarding developer-control of whether the stack is replaced in place without animation vs having animation when it makes sense for the user. In addition, being able to choose direction is important because it's not always the case that if you have less routes you want a back transition. That's the developer's business, not the user's. There may be a perfectly good reason for this. That said auto is a must since when you want the reset animated, most of the time the difference in routes gets it right (and since having to dig into current state to make the comparison is a waste of developer energy). Lastly, as far as the 2 new keys introduced--perhaps for consistency they can simply be specialized keys on the params object.

Here are some other github issues related to reset:
https://github.com/react-community/react-navigation/issues/1672
https://github.com/react-community/react-navigation/issues/1493

@ppong excellent, maybe that will inspire the maintainers to hit all these birds/issues at once. ...my proposal solves both of those.

hey @faceyspacey, did anyone submit a PR for this yet?

@nicgutierrez no, not yet. I got a few PRs for various things--mainly router related. I'm working my way through understanding the codebase. Soon I'll get to transitioners and animations, which such a PR would rely on. I'll hopefully make a PR at that point in time. But don't let that stop you if you have the time.

@faceyspacey that's great to hear. I'm currently very busy at work but I will definitely look into this as well if I can find some time! in the meantime, thank you for taking the time and making the proposal :)

+1

+1

+1

merge pls. i want

+1

+1

Rather than keep adding "+1" you can just simply add a 👍 reaction to first comment.

Any news about this?

Is there any mews about that ? Or a known workaround ? Thanks

+10

@faceyspacey  I feel like that's a MAJOR problem .. I'm actualy trying to find anoter navigation plugin because of this .. does anyone know of any workaround or just a plain different navigation solution ?

Considering making you own one.
All the navigators I've tried (4 in total) for React Native have all been convoluted and terrible.
react-navigator is full of bugs and missing documentation.

@NSshentu recently posted this code change in #1493; perhaps it will help inspire a fix for this proposal? One can argue about the approach, but it works quite well for many of us.
gorokhovich/react-navigation@30e6d0c

Anyone else tried gorokhovich/react-navigation@30e6d0c?

I can suggest Wix react-native-navigation, it's the best one I've used so far.

I just landed https://github.com/react-navigation/react-navigation/pull/3400, which addresses a common concern with the reset action, allowing you to specify the key of the navigation state to be reset. Eventually we hope to support immediate options on most of the navigation actions, which will allow you to perform navigations without animation

@ericvicenti  I added immediate: true to both reset and action push, I still get an animation back. Is there anything I'm missing?

almost 2 years and we still don't have a solution for this?

Solution: Don't use this library.
I downloaded version v2 recently for a new project, though I'd give it a try. Don't bother, use another navigator. I suggest https://github.com/wix/react-native-navigation it has native transitions and lots of functionality out of the box, keep it simple.

Don't be too harsh on the devs, guys. A year ago, the project had 50% of the issues opened, now it is down to only 96 (with nearly 4k issues closed). A phenomenal work indeed! What I did as a workaround (a year ago) was to create a git patch and apply it. Surely, it's not ideal but it's better than nothing. Finally, from what I can tell is that this issue will be addressed in v1 source.

Solution: Don't use this library.
I downloaded version v2 recently for a new project, though I'd give it a try. Don't bother, use another navigator. I suggest https://github.com/wix/react-native-navigation it has native transitions and lots of functionality out of the box, keep it simple.

I think this is not my reality since I already made a lot of screens on the app based on this lib.
@alexkuc  I like the project, I saw the grow this library had in past year, I just want to know if this problem is fixed, nothing more, maybe I can study the stack structure and try to add a solution upon it and make a PR.

I think it's important to warn people though. I know a CTO who has abandoned React Native because of this library and other developers who hate RN because of this navigator.
I mean it still doesn't include basic navigation functionality :-|
@iagorm it's not too hard to replace the whole navigation, they have some similarities and if you're using TypeScript it'll tell you what you need to change when pushing/popping/resetting etc.
There is away to animate the reset, I have done it but it requires a vast amount of spaghetti code.

@voidstarfire @iagorm Consider looking at this - react-native-router-flux. This should be ridiculously good as not only it is v4, it had 1.3.k commits and 233 contributors. As far as I could tell, this is a very mature router indeed. As a bonus tip: from what I recall, the shortcomings and missing features are available in this router.

@alexkuc thanks for the tip but this is based of this lib (code on code, bugs on bugs) and as you can see from the demo there is no support for reset animation. It's the same issue. :-)

Hello !
I'm beginner with react navigation.
@faceyspacey Does your solution still work?
I can not make it work.
Would you have an example ?

Hi Guys, Any update or solution here?

We still would like disable the animation...

Any updates on the reset transition? Thanks

The animation logic has been rewritten to avoid such unexpected behaviour. You ca use stack 2.0 (https://reactnavigation.org/docs/en/stack-navigator-2.0.html) or react-navigation 5 (https://reactnavigation.org/docs/en/next/stack-navigator.html) to get proper animation behaviour.

The animation logic has been rewritten to avoid such unexpected behaviour. You ca use stack 2.0 (https://reactnavigation.org/docs/en/stack-navigator-2.0.html) or react-navigation 5 (https://reactnavigation.org/docs/en/next/stack-navigator.html) to get proper animation behaviour.

stack 2.0 link is not working

@satya164 - do you have the correct link for stack navigator 2.0 or react-nav 5 per above? getting 404s on those links.


Fix FishingEvent$Stop listener throwing IooBException

This PR resolves an issue where the FishingEvent$Stop listener would throw an exception on newer builds of Sponge, due to a change in behavior which specifies that the transaction set is not necessarily non-empty.

Thank you very much!


Adding a thanking workflow

After success of the PR there should be a message of Thankyou for contributing to this repository.

@Akshat111111 I would like to work on this as part of GSSOC'24. Please assign this to me.

Also, please note that the labels should be gssoc and level3. Only then the contributions will be counted towards the leaderboard.


Check Zone tooltip

Description
Adding tooltip to 'check zone' action on domains.
Type of Change

Non breaking change ('update')

@martinmckenna addressed your feedback, thanks!


refactor: merge internal functions

Codecov Report

Merging #134 into master will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #134      +/-   ##
==========================================
- Coverage   98.29%   98.29%   -0.01%
==========================================
  Files          15       15
  Lines         938      936       -2
  Branches      205      205
==========================================
- Hits          922      920       -2
  Misses         16       16

Impacted Files
Coverage Δ

src/Decoder.ts
99.14% <ø> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 606710e...4d8ea0c. Read the comment docs.


Crystal command line tool leaves terminal in bad state

Here's a little screencast showing what I'll describe: https://vimeo.com/233411965
When I run the Crystal compiler, it's doing something to the terminal that causes vim to redraw incorrectly. Specifically, in that video you see:

I run vim with all plugins and my .vimrc disabled (vim --noplugin -u /dev/null), to ensure that it's not a configuration issue.
I run the Crystal compiler on an empty file "hello.cr".
After Crystal exits, vim's UI is mangled: some but not all of the bars below and between splits are missing. The mangling appears random; changing the terminal size will change how it gets mangled. I created the two splits before running Crystal because that makes the mangling more apparent.
If I background and foreground vim (^z followed by fg), it redraws correctly.
The terminal seems to work correctly after that.

Here are some things that I tested:

It still happens if I execute crystal run hello.cr && reset, resetting the terminal after crystal exits.
Likewise for && clear.
I thought that crystal might be printing control codes on stdout or stderr, but it's not. I faked a TTY output using expect's unbuffer command to make a realistic check: unbuffer crystal build hello.cr 2>&1 | wc -c gives 0, indicating no output to stdout or stderr.

If it's not writing control codes, it must be messing with the TTY directly somehow. Unsurprisingly, redirecting stdout to dev null (crystal run hello.cr >/dev/null) doesn't fix the problem; nor does redirecting stderr to dev null (crystal run hello.cr 2>/dev/null). However, redirecting both descriptors (crystal run hello.cr >/dev/null 2>&1) does fix it. This makes sense, since crystal can't see the TTY without a stdout or stderr.
It seems like crystal is grabbing the terminal (via stdout or stderr; whichever it can get its hands on), then doing something to it that doesn't involve writing any data, but does change the terminal state such that vim redraws incorrectly. I assume that this happens via stty, or maybe via ioctl or fcntl.
I searched for issues and didn't find this mentioned; hopefully I didn't miss one. I don't feel confident digging into crystal itself to do further analysis, since I have only five minutes of experience with crystal so far. Pardon my wordiness; this seems like a very subtle bug and I didn't want you to have to duplicate my experiments.

I forgot to mention the most basic thing: I'm running the latest release (0.23.1) installed via homebrew on a Mac. My terminal is iTerm 2, but this also happens in Apple's Terminal.app.
$ crystal --version
Crystal 0.23.1 (2017-09-08) LLVM 4.0.1

Probably a duplicate of https://github.com/crystal-lang/crystal/issues/2713

Interesting. I agree that they probably have the same root cause. I also noticed that binaries built from crystal source (even from an empty source file) cause the same problem, which points toward it being a deeper issue with TTY IO in crystal, not the command line tool.

Almost certainly #2713.


Add option to take HRID from legacy item

Use legacy identifier as hrid

This works out-of-the-box.

...by setting hrid in the item mapping. Else, the hrid will get assigned at posting


Static location for bundle.Dockerfile with generate bundle --output-dir?

Question
What did you do?
kustomize build config/manifests | operator-sdk generate bundle --version=0.1.0 --output-dir ./test/bundle
What did you expect to see?
Possibly the bundle.Dockerfile to be written to a location relative to the --output-dir path?
What did you see instead? Under which circumstances?
./bundle.Dockerfile is always written in the project root.
Environment

operator-sdk version:

operator-sdk version: "v1.0.0-alpha.2-23-gcd3ad08f-dirty", commit: "cd3ad08f30c33bc63b67fb3ddc294eae6e08b4ed", kubernetes version: "v1.18.2", go version: "go1.13.10 linux/amd64", GOOS: "linux", GOARCH: "amd64"

Kubernetes version information: N/A

Kubernetes cluster kind: N/A

We decided to leave this unchanged for 1.0.  The make bundle target assumes the bundle.Dockerfile is in the project root, so there would be other complexities with making this more flexible.


Can't open

sudo python3 kickthemout.py
CRITICAL: Can't open /proc/net/dev !
CRITICAL: Can't open /proc/net/route !
CRITICAL: Can't open /proc/net/dev !
Traceback (most recent call last):
File "/root/kickthemout/kickthemout.py", line 756, in
defaultInterface = getDefaultInterface()
File "/root/kickthemout/kickthemout.py", line 154, in getDefaultInterface
network, netmask, _, interface, address, _ = max(iface_routes, key=lambda item:item[1])
ValueError: max() arg is an empty sequence

1 year ago and no response...


HDDS-9243. Add assertions to BlockOutputStream.

What changes were proposed in this pull request?
Add assertions to BlockOutputStream for verifying request order.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-9243
How was this patch tested?
By existing tests.

This is very much needed. Are trying to protect against a client skipping an offset or a bug in the chunk streaming?

... Are trying to protect against a client skipping an offset or a bug in the chunk streaming?

Yes, this is to assert that the chunk offset are set correctly.

@duongkame , @kerneltime , @errose28 , thanks a lot for reviewing this!


Minor wish: support for url-parameters

I have an issue with web-server / framework cache not refreshing as often as I'd like to. I would be perfectly fine with having daily cache-flush, which is easy to enable by writing:
'editor': httpVueLoader(LR.contextPath + '/js/views/event/editor.vue?ts=' + moment().format('DDMMYYYY')),
Basically browser cache would be skipped when timestamp-parameter changes. For some reason these parameters are parsed away by httpVueLoader, so that it always ends fetched url to be "something/something.vue", without questionmark  & parameters. What changes would be needed in order to support url-parameters, and what is the original reason for parsing 'em out?

Hi,
thanks for noticing this! I'v been successfully using this plugin for few months now and it has proved to be great support for my project. Still, this caching issue has proved to be an nuisance. Even when developing components which rely on components it seems that those inner .vue gets are being cached, so I have to use force-refresh -action by having multiple tabs open (which each target individual .vue source-files). I think this problem could be avoided by using few guidelines while developing (such as var devMode = true, which would control what kind of timestamp variable would be used - daily or per second).

As for now, I fixed this by simply overwriting one line of code:
`	function parseComponentURL(url) {
	var comp = url.match(/(.*?)([^/]+?)\/?(\.vue)?(?:\?|#|$)/);
	return {
		name: comp[2],
		url: comp.input
		//url: comp[1] + comp[2] + (comp[3] === undefined ? '/index.vue' : comp[3])
	};
}`

Would you happen to see any problem by using comp.input instead of building it from pieces? I simply couldn't figure that regexp and how to enable all the parameters on split-results. It seemed to me that comp.input did point to correct path, be it root or sub-path on server.

Can you try with:
	function parseComponentURL(url) {

		var comp = url.match(/(.*?)([^/]+?)\/?(\.vue)?(\?.*|#.*|$)/);
		return {
			name: comp[2],
			url: comp[1] + comp[2] + (comp[3] === undefined ? '/index.vue' : comp[3]) + comp[4]
		};
	}

thanks

Seems to work well. What's the difference between using simply the input vs one with regexp-parsing?

the idea is to support index.vue when the vue file name is omitted.
parseComponentURL('http://www.test.com/app')
returns: {name: "app", url: "http://www.test.com/app/index.vue"}


Switch to ParameterSchedulers.jl?

ParameterSchedulers.jl started in response to the limitations of Animations.jl for hyper-parameter scheduling. The API for ParameterSchedulers.jl has started to stabilize, so maybe we can consider swapping the backend?
The following snippet is some code that worked for a previous version of FluxTraining.jl. Perhaps an enterprising user can adapt it into a complete PR? If not, I'm filing this so that I remember to come back when I have the time.
"""
    Scheduler(schedules...)

Callback for hyperparameter scheduling.
Takes a pair of hyperparameters and schedules from ParameterSchedulers.

## Example
```julia
lrschedule = Exp(0.1, 0.5)
scheduler = Scheduler(
    LearningRate => lrschedule
)
```
"""
mutable struct Scheduler <: Callback
    schedules::Dict{Type{<:HyperParameter}, ParameterSchedulers.AbstractSchedule}
    step::Int
    Scheduler(args...; kwargs...) = new(Dict(args...; kwargs...), 1)
end

Base.show(io::IO, scheduler::Scheduler) =
    print(io, "Scheduler(", join(keys(scheduler.schedules), ", "), ")")

function FluxTraining.stateaccess(scheduler::Scheduler)
    # TODO: implement proper merging of permissions
    if length(keys(scheduler.schedules)) == 0
        hpstateaccess = (;)
    else
        hpstateaccess = merge(FluxTraining.stateaccess.(keys(scheduler.schedules))...)
    end
    return (data = Read(), cbstate = (; hyperparams = Write(), history = Read()),
            hpstateaccess...)
end

function FluxTraining.init!(scheduler::Scheduler, learner)
    if !haskey(learner.cbstate, :hyperparams)
        learner.cbstate.hyperparams = ValueHistories.MVHistory()
    end
    scheduler.step = 1

    return scheduler
end

function FluxTraining.on(::StepBegin, phase::AbstractTrainingPhase, scheduler::Scheduler, learner)
    for (H, schedule) in scheduler.schedules
        value = schedule(scheduler.step)
        FluxTraining.sethyperparameter!(learner, H, value)
        push!(
            learner.cbstate.hyperparams,
            Symbol(H),
            learner.cbstate.history[phase].steps,
            value)
    end
    scheduler.step += 1
end

Sounds good to me!


[EventHubs&ServiceBus] add amqp transport info into user-agent

Anna: "I think there might be some value in us adding transport information into the user-agent?
That way (with service team cooperation) we can get some insight into uamqp usage over time and how long support for it should be maintained."

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Storage:0.3899515,Service Bus:0.21016374,Event Hubs:0.09587776'

EH user agent changes copied over to SB


Any possibility to display results on html preview tab with scrollable datagrids?

SQL Results -> Scrollable HTML Datatable

What more do you need?


Create PR template with documentation section

PR Description
Fixed Issue(s)

The doc-change-required label is used to indicate that documentation updates are required.
Created a template to use the doc-change-required label.
Documentation

[x] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[x] I thought about adding a changelog entry, and added one if I deemed necessary.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Calling a variable "data" breaks mutation

You can find a see the bug using this repository: https://github.com/michaelchiche/prisma-variable-name-data
then running these two mutations:
mutation Works($post: PostCreateWithoutAuthorInput!) {
  createPostOK(post: $post) {
    id
  }
}

mutation Fails($post: PostCreateWithoutAuthorInput!) {
  createPostKO(data: $post) {
    id
  }
}

with this data for post:
{
  "post": {
    "title": "OK",
    "text": "I work fine with post",
    "isPublished": false
  }
}

and both mutations call this function:
function createPost(
  parent,
  post: PostCreateWithoutAuthorInput,
  context: Context,
  info,
) {
  const p: PostCreateInput = {
    ...post,
    author: {
      connect: {
        slug: 'michael',
      },
    },
  };
  return context.db.mutation.createPost({ data: p }, info);
}

I believe this is rooted in a bug in graphql-tools, but haven't had the chance to verify yet. If anyone wants to take a stab at looking closer into this, let me know 🙌

not sure why im getting:
Error: Variable "$_where" got invalid value {"facebookUserId":"xxxxxxxxxx"}; Field
"facebookUserId" is not defined by type UserWhereUniqueInput.

on this:
 async function facebookUser(parent, { facebookToken }, context, info) {
 let user = null
 try {
   const facebookUser = await getFacebookUser(facebookToken)
   user = await context.db.query.user(
    { where: { facebookUserId: facebookUser.id } },
    info,
   )
   if (!user) {
     user = await createUserFromFacebook(context, facebookUser)
   }
   return {
     token: jwt.sign({ userId: user.id }, APP_SECRET),
     user,
   }
 } catch (error) {
   throw new Error(error)
 }
}

Ive defined facebookUserId on my User Type
sorry if im missing something simple, long week

Hey @anonymous-coder, thanks for sharing your problem here 🙂 I believe I sent you here by mistake, now looking at your question again.
It looks like the field facebookUserId is missing the @unique directive in your datamodel.
Can you add it, then deploy again? This should make the facebookUserId argument available for the unique where selection.
Here's an example:
type User {
  id: ID! @unique
  name: String!
- facebookUserId: String!
+ facebookUserId: String! @unique
}

If that's not your issue, then additonally share your application schema schema.graphql 🙂

whenever i put @unique i get this error:
             throw new Error("Directive " + directiveName + ": Couldn't find type " + directiveName + "
    in any of the schemas.");
            ^

 Error: Directive unique: Couldn't find type unique in any of the schemas.

this was a issue i had with just the Id field.
# import Post from "./generated/prisma.graphql"

 type Query {
   feed(filter: String, skip: Int, first: Int, orderBy: PostOrderByInput): Feed!
  loggedInUser: loggedInUserPayload!
  post(id: ID!): Post!
 me: User
}

type Feed {
  posts: [Post!]!
  count: Int!
}

type Mutation {
  signup(email: String!, password: String!, firstName: String!, gender: String,  birthday: String):
 AuthPayload
  login(email: String!, password: String!): AuthPayload
  facebookUser(facebookToken: String!): FacebookUserPayload
  post(title: String!, description: String!, preference: String, tags: String): Post!
  deletePost(id: ID!): Post!
  publish(id: ID!): Post!
 }

type AuthPayload {
  token: String
  user: User
}

type FacebookUserPayload {
  token: String!
}

type loggedInUserPayload {
  id: ID!
}

  type User {
    id: ID!  @unique
    facebookUserId: String!
    email: String!
    firstName: String!
    lastName: String
    gender: String!
    birthday: String!
    locale: String
    picture: String
    posts: [Post!]!
   }

type Subscription {
  newPost: PostSubscriptionPayload
}

You need to add @unique to your datamodel, which is often called prisma.graphql, or types.graphql, not your application schema, which is often called schema.graphql 🙂

Thanks a lot @divyenduz and @timsuchanek for digging into this. Looking forward to a fix @freiksenet! 🎉

Just to confirm, this does happen with where as well. For example, when trying to compound a where clause in a resolver, this compounded where in the resolver is completely ignored:
return context.db.query.games({ where: { AND: [{ active: true }, { ...args.where }] } }, info)

To chime in here, I am seeing the same with a variable called after. If I change the variable to afterDate then all works fine.
    posts: async (
      parent,
      { author, first, after },
      context: Context,
      info
    ) => {
      return context.db.query.posts(
        {
          where: {
            author: { id: author },
            time: { start_gte: after },
          },
          first,
        },
        info
      );
    },


cluster service shouldn't use image name for service name.

Effect Summary:
If you change the image name, PD/PF clusters will not be created properly.
Cause:
https://github.com/pingidentity/helm-charts/blob/master/charts/ping-devops/templates/pinglib/_service-cluster.tpl
uses pinglib.fullimagename

**this also brings up a good point that we should test with different image names. Taken further, we could identify other common changes and add those to the test suite.


WAF custom rules comparison

My understanding is that custom rules are only supported in WAF for v2. Perhaps that particularly feature could be added to the comparison to clarify that not every WAF function is available in v1?

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

ID: faa5b8a2-11a1-6a2d-07cb-ffcf39643ed4
Version Independent ID: 298a134e-fb27-f16d-bff2-d43eb0f766fd
Content: Autoscaling and Zone-redundant Application Gateway v2
Content Source: articles/application-gateway/application-gateway-autoscaling-zone-redundant.md
Service: application-gateway
GitHub Login: @vhorne
Microsoft Alias: victorh

@dcbrown16 Thanks for the feedback. We are currently investigating into the issue and will update you shortly.

@dcbrown16 Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

fixed
#please-close


Documentation Bias: Introduction and metrics

intro description definitions
all metrics description (group)
add table

Working in progress on #145


strandqueue: de-const for stricter Xcode 9 rules

Hi, I'm a maintainer for the Homebrew package manager and we are encountering build problems on Xcode 9 (macOS 10.12 and 10.13).
The issue lies in StrandQueue and presumably the new version of clang's stricter handling of const rules. I do not think const member functions are allowed to "see" the same view of a class that a non-const member function does--or the standard library's implementation of priority_queue has changed, leading to the following build errors when any const member function from the StrandQueue class is called:
StrandQueue.cpp:13:26: note: in instantiation of template class 'std::__1::priority_queue<Record *, std::__1::vector<const Record *, std::__1::allocator<const Record *> >, RecordPtrSortDescFunctor>' requested here
                queueType *queue = new queueType();
                                       ^
StrandQueue.cpp:32:47: error: no member named 'top' in 'std::__1::priority_queue<Record *, std::__1::vector<const Record *, std::__1::allocator<const Record *> >, RecordPtrSortDescFunctor>'
        return const_cast<Record *>(_queues[minIdx]->top());
                                    ~~~~~~~~~~~~~~~  ^

and so on.
This patch fixes the build issues by purging const from the StrandQueue class.
Fixes https://github.com/arq5x/bedtools2/issues/573
Fixes https://github.com/Homebrew/homebrew-science/issues/6334
c.f. https://github.com/Homebrew/homebrew-core/pull/18486

@arq5x once this pull request is merged (or the build error fixed in some other way) a new release should be tagged for inclusion in Homebrew.

Downloading the new commit works for me now. Thanks a million!

Hello,
I changed the StandQueue.cpp and StrandQueue.h files and am still having trouble building on OSX 10.12.6 and am still get an error when trying to build Bedtools. I am relatively new to Command Line builds.
The error I am getting is as follows:
make[1]: Nothing to be done for `all'.

Building main bedtools binary.
Undefined symbols for architecture x86_64:
"StrandQueue::pop(Record::strandType) const", referenced from:
FileRecordMergeMgr::tryToTakeFromStorage(Record::strandType) in FileRecordMergeMgr.o
"StrandQueue::top(Record::strandType) const", referenced from:
FileRecordMergeMgr::tryToTakeFromStorage(Record::strandType) in FileRecordMergeMgr.o
"StrandQueue::top() const", referenced from:
FileRecordMergeMgr::tryToTakeFromStorage() in FileRecordMergeMgr.o
"StrandQueue::empty() const", referenced from:
FileRecordMergeMgr::eof() in FileRecordMergeMgr.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [all] Error 1

Any help would be greatly appreciated!

I think you need to 'make clean; make'


The Quick Introduction doesn't seem to work for me? The program just hangs and outputs nothing, nor errors out

Quick introduction at https://entgo.io/docs/getting-started/
So my steps were the following:

mkdir enttest
cd enttest
go mod init enttest
go get github.com/facebook/ent/cmd/ent
entc init User
edit the Fields() function in ent/schema/user.go to:

func (User) Fields() []ent.Field {
	return []ent.Field{
		field.Int("age").
			Positive(),
		field.String("name").
			Default("unknown"),
	}
}

run go generate ./ent
created a main.go file that looks like this:

package main

import (
	"context"
	"enttest/ent"
	"fmt"
	_ "github.com/lib/pq"
	"log"
)

func CreateUser(ctx context.Context, client *ent.Client) (*ent.User, error) {
	u, err := client.User.
		Create().
		SetAge(30).
		SetName("adriano").
		Save(ctx)
	if err != nil {
		return nil, fmt.Errorf("failed creating user: %v", err)
	}
	log.Println("user was created: ", u)
	return u, nil
}

func main() {
	var ctx context.Context
	client, err := ent.Open("postgres", "host=localhost port=5432 user=adriano dbname=enttest password=XXXXXXXXXXXXXX sslmode=disable")
	if err != nil {
		log.Fatalf("failed opening connection to sqlite: %v", err)
	}

	defer func() {
		err := client.Close()
		if err != nil {
			log.Fatalf("failed to close client")
		}
	}()

	// Run the auto migration tool.
	if err := client.Schema.Create(context.Background()); err != nil {
		log.Fatalf("failed creating schema resources: %v", err)
	}

	u, err := CreateUser(ctx, client)
	if err != nil {
		log.Fatalf("called CreateUser(), got error: %v", err)
	}
	log.Println(u)
}

run go run main.go

At this point I'd expect it to either print out the created user or error out somehow. But it doesn't. go run main.go just keeps running infinitely, no console output or errors or anything. I opened the postgres table in pgadmin4 and the schema was created correctly but the user row didn't get created. Same thing happens with sqlite. Go version go1.15.5 darwin/amd64 if that matters.

OK I found the issue.
var ctx context.Context is incorrect. It should be ctx := context.Background() and the issue goes away. Ideally ent should error out on the wrong context usage but it does not.

Ent can't check context is correct or not, that caused by design of context module.


Default to reproduce executable manifests hashes

payu has the ability to require reproducibility of executables, inputs and restarts by checking manifest hashes match.
The ability to specify reproducibility separately for each of these was introduced in https://github.com/payu-org/payu/issues/203 but the default was False for all three.
There is a suggestion to make manifest/exe.yaml reproduce default to true. See https://github.com/payu-org/payu/issues/379#issuecomment-1807259497 for details.
This makes it safer, by default, for users who don't ever intend to compile their own model executables. By default they are ensuring the executables they're using are the same as those listed in the exe manifest.
This can be circumvented by setting reproduce False in config.yaml.
(Note that just deleting manifest/exe.yaml doesn't work to circumvent this check. payu reports an error because there is no hash to compare against)
The biggest drawback to making this change would be for users who are compiling their own executables, or changing executables to other versions. With the code as it is this would require them to set this in config.yaml:
manifest:
   reproduce:
      exe: False

which is slightly annoying, and would then lead to the situation where they would have to either change it back to True or delete it to enable the exe reproduce checking again.
If it was decided to make this change then I would advocate for a command line option to override it, to make generating new exe manifests easier, but also require active input from the user.

Note the relevant code changes would have to be made here:
https://github.com/payu-org/payu/blob/master/payu/manifest.py#L277-L281

I think this would be a good change.

If it was decided to make this change then I would advocate for a command line option to override it, to make generating new exe manifests easier, but also require active input from the user.

Fully agree with this.

I like the idea of defaulting to reproducible exe, with CLI override


xhr.response is undefined on blob/arraybuffer response type

Trying to get this file with your nodejs xmlhttprequest
$ curl -X GET -I http://localhost/test/foo.bin
HTTP/1.1 200 OK
Date: Wed, 20 Jun 2018 11:58:51 GMT
Server: Apache/2.4.33 (Unix)
Last-Modified: Tue, 19 Jun 2018 18:37:07 GMT
ETag: "6-56f02f8230618"
Accept-Ranges: bytes
Content-Length: 6
Content-Type: application/octet-stream

using the following code:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

        var xhr = new XMLHttpRequest;
        xhr.open("GET", "http://localhost/test/foo.bin");
        xhr.setRequestHeader("Accept", "application/octet-stream");
        xhr.responseType = "blob";
        xhr.onreadystatechange = function(e) {
                if (xhr.readyState == 4) {
                        console.log(xhr.response);
                        console.log(xhr.responseText);
                }
        };
        xhr.send();

Result is undefined for the logline with xhr.response and correct value in xhr.responseText.
Does your module only work for text?

Hi @nolash I met the same problem here, do you have any solution now?

Had the same issue with responseType "text".
For me this worked as a workaround:
Object.defineProperty(
    XMLHttpRequest,
    'response',
    { get: () => this.responseText }
);

Note that you could change get function to check this.responseType and choose the appropriate property instead of just running this.responseText blindly ;)

Is this fixed yet.. I want to get this to work.. I also get "undefined".  The whole purpose of this lib is to run code already written and not change it.

Just use http.get.

Any updates in that?

i'm just using the node library for file reads now


Offer a way to just login without using XMPP

Reason:
Save memory and bandwidth when using fortnitepy to just fetch some data.
Implementation:
Similar to Discord.py a connect() and login() method can be useful. Connect connects to XMPP, Login just handles authorization.
.start() and .run() will execute both.

I was originally against this as it seemed too complicated and would only further confuse users of the library, but after thinking about it for some time I arrived at a solution I feel fits this library. Instead of having to mess around with methods, you can choose to use either BasicClient or Client.
I have only tested that basic functionality works in both. I'm yet to test all methods, but since I might be gone for a few days I decided to push the commit so others can test it if they want. I will also get around to creating an example for the usage of this new client.
I will leave this issue open until both clients have been tested properly.


add support for SRV discovery for permissions-api host

To better support failover to other regions without adding load balancer hops and latency, permissions hosts can now support SRV record discovery to discover additional hosts which can serve requests.
SRV records are looked up host configured for the permissions client. The SRV service looked up is permissions-api with protocol tcp. An example SRV lookup request would be for _permissions-api._tcp.iam.example.com. Where iam.example.com is the host configured for permissions.host.
For best backwards compatibility, these SRV records are optional and will fallback to using the value provided in permissions.host.

Codecov Report
Attention: Patch coverage is 64.45013% with 278 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@abb6932). Learn more about missing BASE report.

Files with missing lines
Patch %
Lines

internal/selecthost/selector.go
71.73%
86 Missing and 7 partials :warning:

internal/selecthost/options.go
0.00%
84 Missing :warning:

internal/permissions/config.go
0.00%
59 Missing :warning:

internal/selecthost/http.go
58.53%
13 Missing and 4 partials :warning:

internal/selecthost/host.go
93.03%
11 Missing and 3 partials :warning:

internal/permissions/client.go
0.00%
11 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #98   +/-   ##
=======================================
  Coverage        ?   35.12%
=======================================
  Files           ?       27
  Lines           ?     1711
  Branches        ?        0
=======================================
  Hits            ?      601
  Misses          ?     1090
  Partials        ?       20

Flag
Coverage Δ

unittests
35.12% <64.45%> (?)

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

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


Just spins when I try to log in

Hi, I’ve got a WordPress site, and after I filled in my URL it just sits with the spinner on the “Authorizing with server” message. I put in my blog URL, http://devilgate.org/blog/ , because that’s where WordPress is hosted.

Seems like it's an IndieAuth set up issue. Have you ever used an IndieAuth login before?
So it looks like the authorization endpoint is set to indieauth.com. IndieAuth.com is an IndieAuth authorization endpoint that uses RealMeAuth.
Option 1: You could either set up RealMeAuth on your site for IndieAuth.com by adding rel=me to your blog url http://devilgate.org/blog/
Option 2: You could have your WordPress installation become it's own authorization endpoint for the IndieAuth authentication.
I'm not as familiar with Option 2, but if that's the way you want to go we can definitely get you set up that way.

Hi Edward,
I haven't really used IndieAuth before -- or maybe I have, since I have
various rel=me references set up on my home page. But it's mentioned
whenever WordPress prompts me for login, so I figured WP would know
about it.
However, I tried going to indieauth.com and
logging in using just my domain, http://devilgate.org/, without the
blog/ suffix, where WordPress is installed. It found the rel=me
reference for Twitter and logged me in using that.
So I tried the same thing on Indigenous -- using http://devilgate.org/
-- and I still get it spinning on "Authorizing with Server".
Any other thoughts?
Cheers,
Martin
Martin McCallion
http://devilgate.org/blog/
@devilgate
On 14 Nov 2017, at 0:45, Edward Hinkle wrote:

Seems like it's an IndieAuth set up issue.
Have you ever used an IndieAuth login before?
So it looks like the authorization endpoint is set to indieauth.com.
IndieAuth.com is an IndieAuth authorization endpoint that uses
RealMeAuth.
Option 1: You could either set up RealMeAuth on your site for
IndieAuth.com by adding rel=me to your blog
url http://devilgate.org/blog/
Option 2: You could have your WordPress installation become it's own
authorization endpoint for the IndieAuth authentication.
I'm not as familiar with Option 2, but if that's the way you want to
go we can definitely get you set up that way.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/EdwardHinkle/indigenous-ios/issues/32#issuecomment-344107989

How do you currently post to your site for micro.blog? Is that through wordpress or the micro.blog app?

Both. Either. It’s a self-hosted WP installation, and posting from Micro.blog and through traditional WP methods both work.
Cheers,
Martin
Martin McCallion
http://devilgate.org/blog/
@devilgate
On 15 November 2017 at 16:23:31, Edward Hinkle (notifications@github.com(mailto:notifications@github.com)) wrote:

How do you currently post to your site for micro.blog? Is that through wordpress or the micro.blog app?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub(https://github.com/EdwardHinkle/indigenous-ios/issues/32#issuecomment-344646199), or mute the thread(https://github.com/notifications/unsubscribe-auth/AEnjKHFwzF58t6hDI29qDzRoaFQzanGIks5s2xACgaJpZM4Qch3P).

It seems like micro.blog is likely using the wordpress API rather than the micropub endpoint.
I would recommend logging in to https://quill.p3k.io/ it is a micropub client that walks through all the steps to ensure that everything is connected correctly.
I'm thinking the likely scenario is you'll want to copy the following from the  of your blog and add it to your devilgate.org site as well:
<link rel="micropub" href="http://devilgate.org/blog/?micropub=endpoint">
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
<link rel="token_endpoint" href="https://tokens.indieauth.com/token">

The micropub endpoint on wordpress should accept any posts when you login using IndieAuth from your primary domain http://devilgate.org as long as that is the "profile url" of your user within your wordpress.
I haven't used Wordpress with micropub before so I'm not the best at diagnosing Wordpress issues, but I can try my best. I think next steps would be to try posting using Quill as that provides a lot of initial IndieAuth/Micropub set up information. There is also a Wordpress community on the IndieWeb slack that probably knows more than I do about getting micropub working :) https://indieweb.org/discuss


Errors in callback functions passed to playlist methods are mishandled

When managing playlists, if you have some error in your callback method, such as a missing module import in your own code, the bot will print 11 REST Warnings before giving the error back to the console.
Example:
06:48:16s 627ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 2/10
06:48:20s 673ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 3/10
06:48:26s 271ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 4/10
06:48:40s 841ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 5/10
06:49:07s 728ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 6/10
06:49:53s 825ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 7/10
06:51:55s 726ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 8/10
06:55:44s 864ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 9/10
07:00:10s 859ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 10/10
07:10:49s 242ms [Warning]   [REST Warning]  Route: https://plug.dj/_/playlists/9084662/media/insert sendREST attempt 11/10
07:10:49s 386ms [Error]     [REST Error]    Route: https://plug.dj/_/playlists/9084662/media/insert ReferenceError: logger is not defined Guest Mode: false

Needing to wait 12 minutes to get a ReferenceError from your own code is not condusive to rapid development ;)

issue should be resolved with https://github.com/plugCubed/plugAPI/commit/6b449073cf149759b17ef23c6dd641580b8beedd
Will release once done fixing other bugs that pop up

Hasn't this landed?


Instant buy updates every order in the orders array

The database.InstantBuyer() appends the ordered product to the order_list field of every order in the orders array. It should update only the associated order.

This error occurs because of the use orders.$[].order_list in the update.


Passing the object to object cells & updating refs

@jarekwg is this going to have any problem with react-dnd? https://github.com/uptick/react-object-table/commit/d4c50254fef7cf3fe025e712c901db91677ba2bc

looks like it might be fine, but the work i did there was a bit fiddly, so would recommend double checking that everything still works. (ie lineitems can be rearranged on invoices/quotes/POs)


Set Client Hints to match Google Chrome

Currently it is: sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="92"
We want it to be: sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"

Would appreciate if this was configurable, but I understand if that'd be too difficult.

Might also be worth making those hints less unique; on BrowserLeaks, client hints are shown to reveal the point-release of the Linux kernel; that's way too unique.
In this screenshot, BrowserLeaks labels "low-entropy" hints with an asterisk.

Might also be worth making those hints less unique; on BrowserLeaks, client hints are shown to reveal the point-release of the Linux kernel; that's way too unique.
In this screenshot, BrowserLeaks labels "low-entropy" hints with an asterisk.

that can be a another issue, i dont really have an interest in doing that though, but i would welcome the change

https://github.com/GrapheneOS/Vanadium/issues/119
https://github.com/GrapheneOS/Vanadium/pull/123

GrapheneOS/Vanadium#119
GrapheneOS/Vanadium#123

Not applicable to desktop.

Should we close this?


Ctrl-A does not work outside of editor when in Normal mode

Using Ctrl-A should select existing search term. It works as expected when using Insert mode, but not in Normal mode.

This should be fixed in release https://github.com/jasonwilliams/vscode-helix/releases/tag/v0.6.2


Refactor Volumes to use InternalVolume instead of API types

@thockin Per our discussion in #6695.
I refactored the API volume types out of the volume plugin interfaces and replaced it with InternalVolume.  We agreed on an internal "volume source" but nearly all plugins also used the volume's name, so an InternalVolume construct made more sense.

cc/ @vishh

Ping this PR when you're ready for round 2.

Feedback addressed.  Round Two may commence.

LGTM. Squash please.

Rebased and squashed.  Waiting for green.

@thockin green. punch it.


Make this a Visual Studio 2017 extension

Never wrote one, could be interesting.

👍

How about a Visual Studio 2022 extension.


Question: Working with cljs and Fulcro app

First of all, thanks for this plugin!
I've been a couple of days using it with my company backend services written in Clojure and is super great!
Now I would like some help to setup an environment to play around with some cljs and fulcro.
Here is what I'm doing:

lein new fulcro app
npm install and npx shadow-cljs server
Turn On building and watching the main and workspaces
lein repl :connect 9000
Execute the following command in the repl:

(clojure.core.server/start-server {:accept 'clojure.core.server/io-prepl :address "localhost" :port 55555 :name "lein"})
(clojure.core.server/start-server {:accept 'cljs.server.node/prepl :address "localhost" :port 55556 :name "node"})

Open nvim

When I open a .clj file like server_main.clj everything is working great, but for any .cljs file I lost all the benefits like Go To Definiton, Documentation and Auto Complete.
Here is my conjure.edn file
{:conns
 {:lein {:port 55555}
  :node {:port 55556 :lang :cljs}}}

Can someone help me to find out what I'm doing wrong?
Log
conjure.log

Hmm, so evaluation works but nothing else does? I'm currently poking around
with Orchard integration which should improve the ClojureScript side a lot!
On Fri, 16 Aug 2019, 15:19 Rafael Delboni<EMAIL_ADDRESS>wrote:

First of all, thanks for this plugin!
I've been a couple of days using it with my company backend services
written in Clojure and is super great!
Now I would like some help to setup an environment to play around with
some cljs and fulcro.
Here is what I'm doing:

lein new fulcro app
npm install and npx shadow-cljs server
Turn On building and watching the main and workspaces
lein repl :connect 9000
Execute the following command in the repl:

(clojure.core.server/start-server {:accept 'clojure.core.server/io-prepl :address "localhost" :port 55555 :name "lein"})
(clojure.core.server/start-server {:accept 'cljs.server.node/prepl :address "localhost" :port 55556 :name "node"})

Open nvim

When I open a .clj file like server_main.clj everything is working great,
but for any .cljs file I lost all the benefits like Go To Definiton,
Documentation and Auto Complete.
Here is my conjure.edn file
{:conns
{:lein {:port 55555}
:node {:port 55556 :lang :cljs}}}
Can someone help me to find out what I'm doing wrong?
Log
conjure.log https://github.com/Olical/conjure/files/3509956/conjure.log
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Olical/conjure/issues/55?email_source=notifications&email_token=AACM6XKTAX4TFH6A2LH72ZTQE2ZQHA5CNFSM4IMITZR2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HFVEDEA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACM6XP4GD5W4WWKBQYTUPDQE2ZQHANCNFSM4IMITZRQ
.

So I've fixed go to definition to an extent on a branch that'll be released as part of my 1.0.0 documentation push (hopefully tomorrow!), documentation seems to work fine for me :thinking:

Waiting on Complement to release their next version that adds ClojureScript support which I think is almost there!
I've completely refactored how dependencies are prepared and injected so hopefully that'll make integration for ClojureScript easier going forward. You probably won't see many improvements in the next release but I will be giving the CLJS side more love as the tooling I depend on adds more and more support :smile:
Go to definition was broken though, it was using clojure.string internally which might not have been loaded in your environment.

Also worth noting, if you eval a function with ,ee or something then it loses it's definition information. The only way to preserve it is to eval the whole file with ,ef. I can't find a nice way to tell ClojureScript where things are right now like I do with Clojure but I may find a way some day and it'll just start working for you.
I'm working around the constraints of a ClojureScript only REPL as best I can :slightly_smiling_face:

I'm going to close this for now since you should have doc and go to definition (for some symbols) again. To keep go to definition working consistently you should evaluate the entire file from disk (<localleader>ef), if you just evaluate the form it'll lose it's definition information.
It's annoying but I can't find a way around that just yet, I'll see what I can do to improve that eventually! Autocompletion will start working soon I hope, I'm waiting on a new release of Compliment.

Is there any special setup for this, or only updating to 1.0.0 should be fin

Updating to 1.0 should just fix a few small things around the Clojure
script doc lookup and definition stuff. It won't be perfect still, but I
hope it'll be slightly better.
I've got more to do around here but updating to 1.0 is all you need to do
for now. My main concern was that you could eval, everything else in CLJS
isn't amazing just yet but it'll improve 😄
On Wed, 4 Sep 2019, 22:15 Rafael Delboni<EMAIL_ADDRESS>wrote:

Is there any special setup for this, or only updating to 1.0.0 should be
fin
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Olical/conjure/issues/55?email_source=notifications&email_token=AACM6XME46SLC3ZP3FTQSZ3QIAQOZA5CNFSM4IMITZR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD55AJPY#issuecomment-528090303,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACM6XN5EFUINH42QZQEA5TQIAQOZANCNFSM4IMITZRQ
.

Go to definition and docs is a great progress, I will try it out and give you an feedback, just  a last question in this thread: Which prepl should I use node or browser?

I'll need to have a proper look tomorrow, I'm too tired tonight I'm afraid.
You might need to start up fulcro, then ask it for the ClojureScript
environment then give that to a prepl.
I'd recommend you go and read the source of Propel, there isn't much but
what I'm doing with figwheel you might need to do here.
I'm assuming fulcro starts your ClojureScript builds and serves then to the
browser for you? If so, you need to do the stuff I did with figwheel.
If it's up to you to start the environment you can use any prepl you want,
browser will be fine.
My point being, starting a browser prepl is its own ClojureScript
environment, like starting a fresh JVM. If fulcro starts their own one...
it's like having two JVM instances, evals in one won't effect the other. I
hope that makes sense?
On Wed, 4 Sep 2019, 22:25 Rafael Delboni<EMAIL_ADDRESS>wrote:

Go to definition and docs is a great progress, I will try it out and give
you an feedback, just a last question in this thread: Which prepl should I
use node or browser?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Olical/conjure/issues/55?email_source=notifications&email_token=AACM6XIKHA7B6NDN6KRKMN3QIARWDA5CNFSM4IMITZR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD55BENY#issuecomment-528093751,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACM6XKUF6DT6MSOHXYUF2LQIARWDANCNFSM4IMITZRQ
.


Unnecessary Comments LOG INFO

Is it really necessary to display 'INFO not enough comments None' at
https://github.com/adbar/trafilatura/blob/ebb4ab5523b536e8a66f82645e09f328cd062f58/trafilatura/core.py#L947
This should be a .debug() message. Seeing this in all the logs is annoying.

Hi @andremacola you're right, I'll review the log messages as a whole, the levels are not always clear.


[Bug] Recyclarr: Incorrect usage of reset_unmatched_scores

Which Guide
https://trash-guides.info/Recyclarr/recyclarr-configs
Describe the Error in the Guide
The configs use reset_unmatched_scores for quality_profiles where they shouldn't.
Expected behavior
According to the documentation and schema, there are two kinds of quality profile.
Example schema:
radarr: [string]: {
    quality_profiles: [...{
        name: string
        reset_unmatched_scores: bool
    }]
    custom_formats: [...{
        quality_profiles: [...{
            name: string
            score: int
        }]
    }]
}

The field reset_unmatched_scores is incorrectly being used for the custom format quality profile, which doesn't exist.
It looks like it used to, though.
https://github.com/recyclarr/recyclarr/blob/503cb7500a81076ff0c1e9279152ebf23418fd62/src/Recyclarr.TrashLib/Pipelines/QualityProfile/PipelinePhases/QualityProfileConfigPhase.cs#L97-L100
Screenshots
N/A
Additional context
N/A

This was deprecated with the latest release of recyclarr, which only came out 7 hours ago 😄 I should be able to take a look at this today.

These will be updated with PR #1257


Spinner with manual ticking

I wan't to tick manually the spinner.
For sample
var countdown  = new CLI.Spinner('Running...  ', ['⣾','⣽','⣻','⢿','⡿','⣟','⣯','⣷']);
countdown.start();

let's run automatic. But i want to "move" the spinner programatically like
var countdown  = new CLI.Spinner('Running...  ', ['⣾','⣽','⣻','⢿','⡿','⣟','⣯','⣷']);

setInterval(function() {
    countdown.tick();
}, 1000); // each second, the spinner moves...

Well the symbols are in the order they are to be animated, so why not just output and replace each symbol every tick?
So something like
var spinnerSymbols = ['⣾','⣽','⣻','⢿','⡿','⣟','⣯','⣷'];
var i = 0;
setInterval(function() {
  process.stdout.clearLine();  // clear line
  process.stdout.cursorTo(0); // move to the start of the line
  process.stdout.write(spinnerSymbols[i]); // write the symbol

  // Increase the counter until it reaches the end of the array
  if(i >= (spinnerSymbols.length - 1)) {
    i = 0;
  } else {
    i++;
  }
}, 1000); // each second, the spinner moves...


[SPARK-44742][PYTHON][DOCS][FOLLOWUP] Upgrade pydata_sphinx_theme to 0.8.0 in spark-rm Dockerfile

What changes were proposed in this pull request?
The pr is followup https://github.com/apache/spark/pull/42428.
Why are the changes needed?
To fix issue:
When our pydata_sphinx_theme version is 0.4.1, there may be issues with not recognizing some configuration items.

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual testing.
Was this patch authored or co-authored using generative AI tooling?
No.

Merged to master/3.5.
Also, cc @xuanyuanking because he is the release manager of Apache Spark 3.5.0 who reports this issue.

Thanks for the quick fix! @panbingkun


Let the crawler wait until a dynamic page is loaded

I can not fetch the content links of a dynamically loaded page. In selenium the way to do it is
wait = new WebDriverWait(webDriver, 30);  wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div[class='ltk-publisher-info']")));
is there a equivalent for crawler4j?
Thanks

The crawler4j PageFetcher class does not have a technique for running the JavaScript on a page to allow dynamic content loading. It just makes the http call to the server and parses the page the server returns, as-is.
For dynamic pages Selenium may be a better choice.  I'd also suggest looking at PhantomJS which is a headless browser, doesn't use the display screen. If you google "phantomjs web crawler" you'll get some leads.


awaitMessages() breaking with a filter

Please describe the problem you are having in as much detail as possible:
TextChannel#awaitMessages does not work when a filter function is passed as the first arg.
Include a reproducible code sample here, if possible:
const check = await msg.channel.awaitMessages(m => m.author.id === msg.author.id, { time: 10000 })
console.log(check)

The above code returns an empty collection.
Further details:

discord.js version: master commit 1598efa
node.js version: 8.6.0
Operating system: Linux
Priority this issue should have – please be realistic and elaborate if possible: Medium

[ ] I found this issue while running code on a user account
[X] I have also tested the issue on latest master, commit hash:

Is the channel a dm or guild channel?
Also for clarity: The issue is that you actually send a message which you expect to be collected?
And not that you are sending no messages and expecting the promise to reject or similar.
Can you also please fill in an actual commit hash?
I assume it's current latest, which will be outdated the second something new will be comitted.

It was tested on a guild channel.
And yes I am sending messages. Using it without a filter, like
await msg.channel.awaitMessages(() => true, { time: 30000 })
``` works as usual.

I'm on commit 1598efa

I cannot reproduce this issue in the music-rewrite branch (assuming the changes in the MessageCollector are minimal or non-existent with latest master). That method works in both DMs and guilds. Please fill the details to match this repository's issue template (in this issue's description, and full commit hash). I might test it on latest master later when I come back home.

Can't reproduce on latest master.

https://cdn.discordapp.com/attachments/339944237305036812/390829487484436482/Screenshot_2017-12-14-11-56-35-720_com.discord.png
This is on latest master.

Closing this because I found out it was related to the framework I use and it has been fixed.


Not able to set defaults using new cmds

When trying to set a default arrowhead it ignores it if I use the edge command:
This is ignored:
edge @{arrowhead='none'}
This works:
'edge [arrowhead=none]'

I had a -Default for the node command. I reworked the logic to allow for defaults to be specified more like the DOT notation and removed the -Default.

Resolved with pull request #13
Published to PSGallery, Release 0.1.7


V-model:content is not working

Version
"@vueup/vue-quill": "^1.1.1"
Describe the bug
it is not detecting v model value, i have to get the by custom function
let rawHtml = ref(null);
let getHTML = () => {
  rawHtml.value = document.querySelector(".ql-editor").innerHTML;
  console.log(rawHtml.value);
};

To Reproduce
import { ref } from "vue";
 import { QuillEditor } from "@vueup/vue-quill";
import<EMAIL_ADDRESS>const content = ref("Hello");
//template code
 <QuillEditor
      v-model:content="content"
      style="height: 456px"
      toolbar="essential"
      theme="snow"
    />

Expected behavior
It should take value from the content variable
Browser (please complete the following information):

Browser chrome latest macos

Hi, please fix this issue soon.
I can't retrieve content changes.
Thanks

The same in 1.0.1

@BombaraGianluca By default VueQuill uses 'delta' as it's content format see docs.
So you've gotta explicitly set the content-type to either text or in your case html
This should work (works for me)👇
import { ref } from "vue";
 import { QuillEditor } from "@vueup/vue-quill";
import<EMAIL_ADDRESS>const content = ref("Hello");
//template code
 <QuillEditor
      v-model:content="content"
      content-type="html"
      style="height: 456px"
      toolbar="essential"
      theme="snow"
    />

And if you decide to use the default content type -> delta. Then you have to create an instance of a Delta as a default value
import { QuillEditor, Delta } from "@vueup/vue-quill";
...
const content = ref(new Delta({ ops: [{ insert: '' }] }))
// or perhaps
const content = ref(new Delta({ ops: [] }))

it would help if this is in the DOCs.... since using v-model is the most common use case

I've had same issue and my workaround, with fetching the right content from this.$refs.myQuillEditor.getContents()
<template>
  <QuillEditor
    ref="myQuillEditor"
    content-type="html"
    :content="modelValue"
    :options="editorOption"
    @textChange="() => onEditorChange()"
    @blur="() => onBlur()"
  />
</template>

<script>
import { QuillEditor } from '@vueup/vue-quill'
...
  methods: {
    onBlur(editor) {
      this.emitUpdate()
    },
    onEditorChange(delta) {
      this.emitUpdate()
    },
    emitUpdate() {
      this.$nextTick(() => {
        this.$emit('update:modelValue', this.$refs.myQuillEditor.getContents())
      })
    },
  },
...

thanks @colenocks
for those who have had the following error : "delta.slice is not a function" , it's because the content of the editor should be initialized.
I did the following witht the composition api and inside a single file component
onMounted(() => {
MyEditorContent.value = new Delta(props..whatever)
});


PLEASE publishes the latest version v2.3.0 to JetBrains Plugin Marketplace

Should be fixed in 2.3.0


F-Droid release

F-Droid is a great place for open-source apps. It allows to install your apps on the devices doesn't has a Play Services.
Please consider releasing your app on F-Droid. Thanks!

I second this. An F-Droid release would be really appreciated.

Developers don't release their apps on F-Droid; F-Droid grabs the source code from developers' repos and then builds it themself. Requesting this here is mostly pointless, you need to request it on the F-Droid requests tracker, although developers can apparently request a merge directly, if they want to quicken the pace.
Either way, F-Droid explicitly forbids Google Firebase/Analytics.
So long as Firebase is pulled in the source code for PxView, it cannot be added to F-Droid. A better request would be to replace Firebase with ACRA; if ACRA is used, or Firebase removed, PxView can be added to F-Droid (I'm fairly sure; I don't think there's any other proprietary libraries bundled).

@alphasp Please consider releasing a F-Droid release with analytics replaced or removed then. An open source, easy to install version would go a long way. Thanks.

@alphasp Hello, is this project still alive? Or it would be better to search for forks w/o analytics?

@Rult This project is still alive, I am working on some big updates, stay tuned.
For next version, I am going to migrate Fabric Crashlytics with Firebase Crashlytics as Fabric will be deprecated soon. Unfortunately, F-Droid release is not my priority and I need crash reporting that is free and easy to use for me.

Hope that this can get processed

Can you make a proprietary version that includes Crashlytics and an F-Droid version that does not include it?
I would like to be able to switch between them in the build options.

Can I patch out firebase in F-Droid build metadata and submit it to F-Droid?


No mines to reinforce for user XXX; No mines to close for user XXX;

Hey guys, thank you for your amazing work.
I've been trying to set up crabada.py for mining + reinforcement for 58 teams with 5% donations to support your work.
I've tried setting .env both with all my teams independently line by line as well as grouping them. In both scenarios they get sent to mine, but won't find any games to reinforce although they are instantly there, and neither close any of the finished mines.
USER_1_TEAM_1_TASK="mine"
USER_1_TEAM_1_REINFORCE_STRATEGY="HighestMp"
USER_1_TEAM_1_REINFORCEMENT_TO_PICK="2"

USER_1_TEAM_2="23326"
USER_1_TEAM_2_TASK="mine"
USER_1_TEAM_2_REINFORCE_STRATEGY="HighestMp"
USER_1_TEAM_2_REINFORCEMENT_TO_PICK="2"

USER_1_TEAM_3="523526"
USER_1_TEAM_3_TASK="mine"
USER_1_TEAM_3_REINFORCE_STRATEGY="HighestMp"
USER_1_TEAM_3_REINFORCEMENT_TO_PICK="2"

USER_1_TEAM_4="236726"
USER_1_TEAM_4_TASK="mine"
USER_1_TEAM_4_REINFORCE_STRATEGY="HighestMp"
USER_1_TEAM_4_REINFORCEMENT_TO_PICK="2"```

USER_1_GROUP_1_TEAMS="2367,1252,15242,55123,12552,56723,12566,125561"
USER_1_GROUP_1_TASK="mine"
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="2"````

Using Python 3.9
The errors returned are as in the issue title No mines to reinforce for user XXX; No mines to close for user XXX;.  I've tested the API and I can find my mines at https://idle-game-api.crabada.com/public/idle/mine/mineID
Do you have any ideas what might be wrong with my setup?

Make sure that ur TEAM IDs are correct. Doesn’t look like it if ur on swimmer having team ID number 50000

Make sure that ur TEAM IDs are correct. Doesn’t look like it if ur on swimmer having team ID number 50000

Those are random numbers as an example, the ID's are ok. I successfully send them to mine, but they won't reinforce or close.

Ensure that you are using master and the wallet address when using the command is correct. Make sure also that ur using infinite gas on swimmer network as it is using 10000 gwei or something

Confirming: gas is set at "inf"; I'm on latest commit 1db3d6d on master; Address is correct;

That’s weird. Start fresh and follow the instructions correctly. Bot is working for 2 of my wallets and 1 friend’s wallet.

Could it have something to do with the large number of teams? It's weird that mines start fine, just close and reinforce having trouble. I've followed the instructions from the wiki, is there any specific instructions I should follow?

Could it have something to do with the large number of teams? It's weird that mines start fine, just close and reinforce having trouble. I've followed the instructions from the wiki, is there any specific instructions I should follow?

I doubt. I have 17 teams in 1 wallet.

😱  54 teams
I just pushed new branch for the : https://github.com/coccoinomane/crabada.py/tree/FIX/api-for-large-number-of-teams
Can you please try the latest code from this branch and report back if the issue is solved?

😱 54 teams
I just pushed new branch for the issue here: https://github.com/coccoinomane/crabada.py/tree/FIX/api-for-large-number-of-teams Can you please try the latest code from this branch and report back if the issue is solved?

Unfortunately, getting the same output. Thanks for trying to help!

@hubbabubish I made one more change. Please check again.
It's hard to debug without an example, I will ask for your public key if that doesn't work either.

@hubbabubish I made one more change. Please check again.
It's hard to debug without an example, I will ask for your public key if that doesn't work either.

No change, here is my public address: 0xC37c3037161aed77BbDBFc36213a93d588025676

@hubbabubish  oops, used max instead of min value.
Can you please try the latest code from this branch again? Hopefully for the last time 🤞

@hubbabubish oops, used max instead of min value. Can you please try the latest code from this branch again? Hopefully for the last time 🤞

Issue solved, thank you so much! I'm activating the donate, cheers!

Thank you @hubbabubish for your generous donation!
As far as I know, you are the biggest crab-whale of crabada.py 😁
... and thanks to @yigitest for the quick fix 💪


Preview action is listed twice for images/videos/mp3

Describe the bug
Preview option is listed twice for image/videos/mp3 files
Steps to reproduce
Steps to reproduce the behavior:

As user Einstein upload an image file
Open the Actions in sidebar panel or open the details panel of the file

Expected behavior
The Preview action should be listed only once
Actual behavior
The Preview option is displayed twice

Setup
OCIS_COMMIT_ID = 381b6f8ac2f363f7b572506a4253f21ed54b6514

Started ocis with the following bash command

#!/bin/bash

export OCIS_URL="https://host.docker.internal:9200"
export OCIS_INSECURE="true"
export OCIS_LOG_LEVEL="error"
export OCIS_LOG_PRETTY="true"
export OCIS_LOG_COLOR="true"
export OCIS_CONFIG_DIR="$HOME/.ocis/config"
STORAGE_DRIVER=${STORAGE_DRIVER:-"ocis"}
export STORAGE_USERS_DRIVER=$STORAGE_DRIVER
export STORAGE_USERS_DRIVER_LOCAL_ROOT="/tmp/ocis/local/root"
export STORAGE_USERS_DRIVER_OCIS_ROOT="/tmp/ocis/storage/users"
export STORAGE_SYSTEM_DRIVER_OCIS_ROOT="/tmp/ocis/storage/metadata"

export PROXY_ENABLE_BASIC_AUTH=True

export SHARING_USER_JSON_FILE="/tmp/ocis/shares.json"

export WEB_UI_CONFIG="$HOME/www/scripts/web-ocis.json"

#export IDP_IDENTIFIER_REGISTRATION_CONF="$HOME/www/useful/ocis-config/idp.yml"

export SETTINGS_DATA_PATH="/tmp/ocis/settings",

export IDM_CREATE_DEMO_USERS=True
export IDM_ADMIN_PASSWORD="admin"
export FRONTEND_SEARCH_MIN_LENGTH="5"

OCIS_ROOT=${OCIS_ROOT:-"$HOME""/www/ocis"}

while test $# -gt 0
do
	key="$1"
	case ${key} in
		-h|--help)
			echo "==============================="
			echo "Welcome to start ocis script ;)"
			echo "==============================="
			echo "Start ocis server at https://host.docker.internal:9200"
			echo ""
			echo "Options:"
			echo "--------"
			echo "-h, --help   ➡  shows brief help about the script"
			echo "-f, --fresh  ➡  start 'ocis' server with fresh code"
			echo ""
			echo "Environments:"
			echo "-------------"
			echo "STORAGE_DRIVER  ➡  storage driver to use for the server"
			echo -e "\t\t   DEFAULT: 'ocis'"
			echo -e "\t\t   OPTIONS: 'ocis' & 'owncloud'"
			echo "OCIS_ROOT       ➡  path where the 'owncloud-test-middleware' repository is cloned"
			echo -e "\t\t   DEFAULT: $HOME/go/src/github.com/owncloud/ocis"
			echo -e "\t\t   CAUTION: please do not include the last trailing slash"
			echo ""
			exit 0
			;;
		-f|--fresh)
			cd "$OCIS_ROOT" || exit
			rm -rf "$HOME"/.ocis
			make clean
			make generate
			cd "$OCIS_ROOT""/ocis" || exit
			make clean
			if make build
			then
        echo "ocis build successful"
      else
        echo "ocis build failed"
        exit 1
      fi
			IDM_ADMIN_PASSWORD="admin" bin/ocis init --insecure true
			shift
			;;
		esac
		shift
done

"$OCIS_ROOT""/ocis/bin/ocis" server

WEB_UI_CONFIG

{
  "server": "https://host.docker.internal:9200",
  "theme": "https://host.docker.internal:9200/themes/owncloud/theme.json",
  "openIdConnect": {
    "metadata_url": "https://host.docker.internal:9200/.well-known/openid-configuration",
    "authority": "https://host.docker.internal:9200",
    "client_id": "web",
    "response_type": "code",
    "scope": "openid profile email"
  },
  "options": {
    "topCenterNotifications": true,
    "disablePreviews": true,
    "displayResourcesLazy": false,
    "sidebar": {
      "shares": {
        "showAllOnLoad": true
      }
    }
  },
  "apps": [
    "files",
    "draw-io",
    "text-editor",
    "preview",
    "pdf-viewer",
    "search"
  ]
}

Additional context
Add any other context about the problem here.

Please remove preview from your apps array. Has recently been moved to apps_external in ocis config defaults. Since you don't provide the apps_external key in your config.json the default from oCIS is added as well.

Please remove preview from your apps array. Has recently been moved to apps_external in ocis config defaults. Since you don't provide the apps_external key in your config.json the default from oCIS is added as well.

Thanks, it's woking now.


Bazel and Git in intellij

Hi,
It seems that due to the fact that the plugin builds a project in a different directory than the source code then one loses the ability to work with IntelliJ's git support.
Is that true?
Can that be changed?
It's a real setback...

I can't reproduce any problems working with IntelliJ's git support (we have several teams using it without an issue, AFAIK).
What git support features are you seeing a problem with?
Some things I've just verified WAE:

local changes
git history (integrated with 'show history' action)
VCS > Git > fetch / rebase commands (rebase actually allows you to specify the git root, though this is prefilled correctly for me)

How do you import a project? When I import a project it creates one in a
sibling directory next to the code and then the project just doesn't have a
changes facet
On Wed, 10 May 2017 at 18:31 brendandouglas<EMAIL_ADDRESS>wrote:

I can't reproduce any problems working with IntelliJ's git support (we
have several teams using it without an issue, AFAIK).
What git support features are you seeing a problem with?
Some things I've just verified WAE:

local changes
git history (integrated with 'show history' action)
VCS > Git > fetch / rebase commands (rebase actually allows you to
specify the git root, though this is prefilled correctly for me)

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/intellij/issues/87#issuecomment-300520454,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIFxeSImMNlH5dq65OleEk26itWig9ks5r4dhqgaJpZM4NWNzZ
.

I see the same thing, but in addition I've never come across a changes facet.
Perhaps we're talking about a different Git plugin? I'm using JetBrains' Git Integration plugin (https://plugins.jetbrains.com/plugin/3033-git-integration) which comes bundled with the IDE.
I don't see any project facet code in that plugin, so perhaps you're using a different one?

I'm using the regular git client, I was just using incorrect terms. I'm sorry.
I don't see this view when I import copybara for example.

I'm not sure what might cause that -- I just tried importing copybara as well, but can't reproduce.
If you go to Settings > Version Control, do you see the copybara source directory, listed as a Git VCS?

I think so. Is this what you mean?

Not sure why it's 'unregistered', but that's likely the cause of the problems. Try adding your project to the registered VCS roots (some instructions here: http://blogs.candoerz.com/question/164960/configure-intellij-idea-such-that-source-detected-in-git-but-unregistered-vcs-root-detected.aspx)

The instructions were a bit confusing but I managed to find that selecting the unregistered git root and pressing + on the middle of the dialog solved it.
Thanks!
My question now becomes, why doesn't this work out of the box? I've tried it on a fresh copybara copy (and I'm seeing other issues but I think I'll open a separate ticket about them) and the issue persists.
Would the list of my plugins help?

I'm not sure why it doesn't pick it up as part of project import. Possibly there's an IntelliJ setting to manage this? -- I haven't been able to reproduce the problem yet (e.g. by importing the copybara project into a newly installed IntelliJ).

If it's not clear then this works for other maven projects on my
installation
On Mon, 15 May 2017 at 22:48 brendandouglas<EMAIL_ADDRESS>wrote:

I'm not sure why it doesn't pick it up as part of project import. Possibly
there's an IntelliJ setting to manage this? -- I haven't been able to
reproduce the problem yet (e.g. by importing the copybara project into a
newly installed IntelliJ).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/intellij/issues/87#issuecomment-301583814,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIF-doeQlwA5fWJz0q8R71tmSvIzX5ks5r6KwpgaJpZM4NWNzZ
.

Closing for now since there are workspaces where this works.
If I'll be able to have a definitive definition of the problem I'll reopen.
Thanks.


addCustomRequestHeaders doesn't work

Originally submitted to Google Code by chmielsster on 21 Jun 2012

With current version command:
selenium.addCustomRequestHeaders doesn't work - it does return success but is ineffective - user specified headers are not added to requests. Selenium server is missing parameter addCustomRequestHeaders=true when initializing new session.
Proposed patch:
--- selenium.py	2012-03-19 19:57:19.000000000 +0100
+++ selenium.py	2012-06-21 16:02:41.666887363 +0200
@@ -186,7 +186,6 @@
start_args = [self.browserStartCommand, self.browserURL, self.extensionJs]
if browserConfigurationOptions:
start_args.append(browserConfigurationOptions)

   start_args.append("addCustomRequestHeaders=true")
   result = self.get_string("getNewBrowserSession", start_args)
   try:
       self.sessionId = result

Originally submitted to Google Code by chmielsster on 25 Jun 2012

Of course patch above is reversed - simple mistake.

Originally submitted to Google Code by @yanne on 6 Aug 2012

This issue was updated by revision 6ec1a4cb0bf2.


fix(overlay): Adding more contrast to the overlays

Small changes to the overlay styles which make them more legible to blind users. Waiting on designer's final approval before merging.

LGTM. Ready to merge?


Add GNS3 versions of the symbols to this repository?

I've created GNS3 optimized versions of your fine symbol set by using the Inkscape program, see https://github.com/ehlers/affinity/tree/GNS3
Changes:

size changed to 60x60px
reduced the number of waypoints by Inkscape path simplify, that reduces the size of the symbols
blue symbols created from the gray version by text replacement (using sed)

Two symbols are missing in the svg directory, for GNS3 I recreated them:

svg/circle/blue/c_client_vm_blue.svg
svg/square/gray/sq_switch.svg

I see two options now, both are fine for me.
I can create a pull request, that allows an easy integration of the GNS3 symbols into your repository.
Or I keep the GNS3 symbols in my repository and update them, when you change the originals.
What do you think?

Nice! If you feel like running a GNS3-optimized repos that would be great. I will focus on getting a few more symbols out and new colors.
The client vm symbol I'm not happy with, it should not be there. I will re-design it but I have no good idea right now what it should look like. The switch symbol is added.

Fine, I will run a repo with GNS3 optimized symbols added.

@ehlers
Hello,
Can you please give your sed command for change color of SVG ?
I will like help this project with my small skills :)

Gray: HUE: 0,0,30, RGB: 77,77,77
Blue: HSL: 216,61,45, RGB: 45,103.185
sed -e "s/rgb(77,77,77)/rgb(45,103,185)/" c_shield_gray.svg >c_shield_blue.svg


Different output local vs server

Hello,
I'm running into an issue where the local (windows) wkhtmltopdf is giving me a correct PDF layout while on the server (CentOS) I get a messed up layout. The configurations and the versions on both machines are the same <IP_ADDRESS> (with patched qt). I've attached a PDF sample from each source, the page being sent to the PDF is displaying correctly locally and online.
Does it matter if i have a 64-bit or 32-bit installed? on windows i have the 64 bit, however i'm unable to determine which is installed on CentOS
Thanks for the help
local.pdf
server.pdf

You're reporting this to the wrong project. We only provide the PHP wrapper and are not related to the wkhtmltopdf project itself. You should report your problem there.


No error message is shown when deletion fails

If a user tries to delete a message which is too old to be deleted, no error message is shown when the attempt fails.
(See also #2902.)

Can I work on this issue?

(Where #2902 was a similar issue affecting editing a message, rather than deleting.)

I would like to contribute to this issue.

I would like to take this up. @ray-kraesig please can I be assigned to this?

I have identified where the error is being swallowed. Its in apiFetch.js:76 Im working to show a meaningful error message instead of a silent ignore.
What is the correct place to discuss the best practices fixes for this. In this issue thread or in the #mobile thread of Zulip community server?

Catching the error in src/api/apiFetch.js:76 might also possibly fix other issues where API failures are silently ignored.

I have created a PR that should fix this. Please have a look at it.

@ray-kraesig @gnprice Wouldn't it be better if we can disable edit/delete feature from the client-side as well? (as done by other messaging apps like WhatsApp)

@awasthishubh I think this can be confusing to users, as they expect a delete message dialog box to be shown. You referred to WhatsApp, which still shows a delete for me option on selecting delete. Zulip does not have a 'delete for me' feature AFAIK.
An alternative would be to pre-fetch editing time limit at app startup, and to still show the delete option, but not actually send the request to the server, but locally show a dialog instead.

Regardless of how we choose to handle the timeout issue, if the deletion fails due to any reason at all, it is currently unhandled.
The PR that I have made is a catch-all for all possible reasons ( including timeout ).

@agrawal-d I was just putting an idea of making it a client-side feature as well. Maybe we can just grey-out the text according to time.
In no way, I meant to oppose your PR. Sorry if you felt like that. I too believe Catch is needed there. :)

Please do not apologize! If my PR is not a good solution, the by all means I wouldn't want it to get merged. I was just putting forward my opinion on your suggestion.

Wouldn't it be better if we can disable edit/delete feature from the client-side as well? (as done by other messaging apps like WhatsApp)

For reference, this is #2972 (edit) and #2793 (delete).

Thanks @ray-kraesig and @agrawal-d !
On this point:

Wouldn't it be better if we can disable edit/delete feature from the client-side as well?

Absolutely so. In general, when there's something the user won't be able to do in certain cases, the way we ideally want to handle it is:

(a) The client disables that bit of the UI, with an explanation as appropriate.
(b) If the user does somehow make the request, the server rejects it.
(c) If the server somehow ends up rejecting a request that we make, the client shows an informative error message.

Case (a) is important because that's the nicest experience for the user. Case (b) is important so policies apply regardless of client. Case (c) is important, even with (a), because the client may not always succeed in predicting whether the server will allow the request: the server may have features this version of the client doesn't have yet, and there's always also the possibility of a race, where something changed just before the user tried the request.
This issue was to do (c), but it would also be good to do (a).