Flickering - no double buffering..?

I ported from claylib to claw-raylib, and I'm seeing flickering. Not sure what's going on here. Even at target-fps 1, I can see lot's of fast flickering. I'm drawing a grid of characters, and it's just as if no double buffering is used at all, and I can see cells flickering. But how can this be? Does Raylib even support non-double buffering?

Can you provide the program where you encountered the issue?

Hmm..  Just writing a grid doesn't trigger the problem. Maybe I have to read some input or do some other work. I recorded a video to show the issue.
https://github.com/bohonghuang/claw-raylib/assets/351519/164bc2dc-196b-4c65-8a19-534f915384fa

Ok, I found it. It seems struct values isn't initialized to a default value, so because I didn't supply an alpha to make-color I guess it just used whatever was located in memory, causing the flicker.
This shows the problem (but it's far from minimal). claw-raylib is a bit too low-level for my liking with issues like this :/ But I guess this is as intended and you're focusing on your engine and not a more lispified API for raylib?
#+(or)(ql:quickload :claw-raylib)
(defpackage :flicker
  (:use #:cl)
  (:local-nicknames (#:r #:raylib)))

(in-package :flicker)

(cffi:defcstruct cint
  (value :int))

(cobj:define-cobject-class (:struct cint))

(defun flicker ()
  (r:with-window ("test" (1920 1080))
    (r:set-target-fps 60)
    (let* ((+y-factor+ (/ 25 (/ 3129 64)))
           (size 36)
           (y-size size)
           (x-size (* size +y-factor+))
           (font (r:load-font-ex (uiop:unix-namestring (asdf:system-relative-pathname :sijo-ion "DejaVuSansMono.ttf"))
                                 size
                                 (cobj:pointer-cobject (cffi:null-pointer) 'cint)
                                 250)))
      (do ()
          ((r:window-should-close))
        (r:with-drawing
            (r:clear-background r:+blank+)
          (dotimes (x 80)
            (dotimes (y 50)
              (r:draw-text-ex font "#" (r:make-vector2 :x (coerce (* x x-size) 'single-float)
                                                       :y (coerce (* y y-size) 'single-float))
                              (coerce size 'single-float)
                              (coerce 0 'single-float)
                              ;; NOTE: No alpha causes the flicker
                              (r:make-color :r 255 :g 255 :b 255)))))))))

Ok, I found it. It seems struct values isn't initialized to a default value, so because I didn't supply an alpha to make-color I guess it just used whatever was located in memory, causing the flicker.

Because C structs do not have default values, we cannot set appropriate default parameters for their constructors during code generation. If we were to initialize fields to 0 by default, it would not be suitable for raylib:color because all of its constructor parameters should have a default value of 255. My choice is to leave the unspecified fields uninitialized, which allows for consistent APIs and significantly reduces the overhead of allocating large objects. In fact, cl:make-array has a similar design. This is similar to cl:make-array. This is similar to cl:make-array. If you specify :element-type as fixnum, single-float, etc., but do not specify :initial-element, the values in the array are undefined.

This shows the problem (but it's far from minimal). claw-raylib is a bit too low-level for my liking with issues like this :/ But I guess this is as intended and you're focusing on your engine and not a more lispified API for raylib?

I'm not quite sure what you mean by "lispified," but I believe I have struck a good balance between performance and a Lisp-like API. I rarely encounter the issues you mentioned in actual projects because Raylib provides additional creation functions for many types. For example, for raylib:vector2, I often use (raylib:vector2-zero) and (raylib:vector2-one) instead of (raylib:make-vector2 :x 0.0 :y 0.0 :z 0.0). Similarly, for raylib:color, I use (raylib:get-color #xFFFFFF7F) or (raylib:fade raylib:+white+ 0.5) instead of directly using (raylib:make-color :r 255 :g 255 :b 255 :a 127).

I'm not quite sure what you mean by "lispified," but I believe I have struck a good balance between performance and Lisp-like APIs. I rarely encounter the issues you mentioned in my projects because Raylib provides additional creation functions for many types.

Yes, I'm probably using it wrong.
I have things like the following in my codebase:
(cffi:defcstruct cint
  (value :int))

(cobj:define-cobject-class (:struct cint))

(cffi:foreign-enum-value enum keyword)

(raylib:make-vector2 :x (coerce (column 0) 'single-float) :y (coerce (row (+ i +map-height+)) 'single-float))

(cobj:pointer-cobject (cffi:null-pointer) 'cint)

I think I understand what you mean. You want to avoid using C-related code and pointers in the code, right? However, it's difficult to avoid them when directly interacting with C libraries like Raylib.

The class definition of cffi-object:
Many functions require pointers as arguments and may modify them. I use cffi-object to change them to accept Lisp objects (which actually contain a C pointer) as arguments, and then pass the pointers to the C functions. Therefore, this object itself cannot be used as a value in Lisp. To access its value, you must use accessors like cint-value, as it involves taking the address. That's why you need to use the following definition:
(cffi:defcstruct cint
  (value :int))

(cobj:define-cobject-class (:struct cint))

In other words, we need to use something like a box to hold the reference. If you don't like these two definitions, you can define a defstruct-style macro to wrap them, which can be used to define data structures specifically for interacting with the Raylib API. I plan to develop a DSL for Raygui bindings in claw-raylib, and I will likely use similar macros to address this issue.

Usage of enumeration types:
(cffi:foreign-enum-value enum keyword)

It is very simple to define Lisp-style constants for enumerations in claw-raylib, so you can define them for claw-raylib yourself:
(defmacro define-cenum-constants (package)
  (let ((package (find-package package)))
    `(progn . ,(loop :for name :being :the hash-key :in cffi::*default-type-parsers* :using (hash-value type-getter)
                     :nconc (when (find-symbol (symbol-name name) package)
                              (alexandria:ignore-some-conditions (warning)
                                (let ((type (funcall type-getter)))
                                  (when (and (not (typep type 'cffi::foreign-enum))
                                             (typep (cffi::ensure-parsed-base-type type) 'cffi::foreign-enum))
                                    (loop :for keyword :in (cffi:foreign-enum-keyword-list (funcall type-getter))
                                          :for constant := (intern (format nil "+~A-~A+" name keyword) package)
                                          :nconc `((defconstant ,constant ,(cffi:foreign-enum-value type keyword))
                                                   (export ',constant ,package)))))))))))

(define-cenum-constants :raylib)
(define-cenum-constants :raygui)
(define-cenum-constants :rlgl)

However, I prefer to directly use the keyword access method of cffi:foreign-enum-value for the following reasons:

Consistency with bitfields:
We can define constants for enumeration types, but this obviously doesn't apply to bitfields, as it involves combinations of each bit.
(cffi:foreign-bitfield-value 'raylib:config-flags '(:window-resizable :window-undecorated))

With keywords, I can perform key mapping in my engine, for example:
(defparameter *key-mapping-table* (make-hash-table :test #'eq))
(defun key (key)
  (cffi:foreign-enum-value 'raylib:keyboard-key (gethash key *key-mapping-table* key)))
(setf (gethash :w *key-mapping-table*) :up)
(assert (eq (key :up) (key :w)))

Type coercion?
(raylib:make-vector2 :x (coerce (column 0) 'single-float) :y (coerce (row (+ i +map-height+)) 'single-float))

If you need automatic type coercion, you can define your own utility function similar to 3d-vectors:
(declaim (inline vec))
(defun vec (x y &optional (z nil vector3-p) (w nil vector4-p))
  (cond
    (vector4-p (raylib:make-vector4 :x (float x) :y (float y) :z (float z) :w (float w)))
    (vector3-p (raylib:make-vector3 :x (float x) :y (float y) :z (float z)))
    (t (raylib:make-vector2 :x (float x) :y (float y)))))

Using null pointers
(cobj:pointer-cobject (cffi:null-pointer) 'cint)

You expect (cobj:pointer-cobject (cffi:null-pointer) 'cint) to be replaced with nil, right?
This is actually possible by modifying the wrapper, where you can check the pointer arguments in the function and pass (cffi:null-pointer) to the foreign function if an argument is nil. However, I personally don't like this approach as it introduces overhead. I prefer:
(alexandria:define-constant nullptr (cobj:pointer-cpointer (cffi:null-pointer) nil)
  :test #'cobj:cobject-eq)

And then pass nullptr to the called function.

You want to avoid using C-related code and pointers in the code, right?

Yes, I don't need to squeece out any performance at all, so I prefer convenience over performance.

If you don't like these two definitions, you can define a defstruct-style macro to wrap them, which can be used to define data structures specifically for interacting with the Raylib API. I plan to develop a DSL for Raygui bindings in claw-raylib, and I will likely use similar macros to address this issue.

Yes, I just don't want to define such things myself, only to update the library later to find out you've done the same work just better ;)

It is very simple to define Lisp-style constants for enumerations in claw-raylib, so you can define them for claw-raylib yourself:
[ snip defmacro define-cenum-constants .. ]

I had the following macro to define +key-...+ fields, but I found out raygui had these fields defined, so I deleted my code again. I see your point about bitfields, but it's very verbose for little gain imo.
(eval-when (:compile-toplevel :load-toplevel :execute)
  (defmacro intern-enum (enum &optional (prefix ""))
    `(progn
       ,@(mapcar (lambda (keyword)
                   `(defconst ,(intern (str:concat "+" (string-upcase prefix) (symbol-name keyword) "+")) ,(cffi:foreign-enum-value enum keyword)))
               (cffi:foreign-enum-keyword-list enum)))))

With keywords, I can perform key mapping in my engine, for example:

I do this for nkeymaps with a custom conversion function so I can state raylib keys using <the-key> syntax. This way I have C-j for control + j, and C-<up> for control + raygui:+key-up+.

If you need automatic type coercion, you can define your own utility function similar to 3d-vectors:

Thanks, I'll look into that. It's more that I'd like an easy to use API rather than an actual need. claw-raylib seems to work just fine.

(alexandria:define-constant nullptr (cobj:pointer-cpointer (cffi:null-pointer) nil) :test #'cobj:cobject-eq)
And then pass nullptr to the called function.

Thanks, I'll add this. But is there a reason why this, cint and so on couldn't be added to the library itself? I notice you define them in the example application too, which is where I found the usage.

I see your point about bitfields, but it's very verbose for little gain imo.

Of course, I'm just giving an example to illustrate that it cannot be implemented using constants. In practice, you can write it like this to avoid redundancy:
(defun config-flags (&rest flags)
  (cffi:foreign-bitfield-value 'raylib:config-flags flags))

(raylib:set-config-flags (config-flags :window-resizable :window-undecorated))

As the name of the repository suggests, I want claw-raylib to remain as minimal as possible and not opinionated. Because in Common Lisp, you can easily add your own extensions to a library (for example, you can put your favorite functions in a library called claw-raylib-pro). Just like the define-cenum-constants macro I wrote above, you can export your own extensions from the raylib package, so using your own extensions is no different from using the original interface of the library.

Yes, I don't need to squeece out any performance at all, so I prefer convenience over performance.

But is there a reason why this, cint and so on couldn't be added to the library itself? I notice you define them in the example application too, which is where I found the usage.

If performance is not a concern, you can also omit the definitions of cint and cfloat in my example and use cobj:make-carray instead. You can build a very generic C type container based on it.
(defun make-cbox (value
                  &optional
                    (type
                     (typecase value
                       (integer '(signed-byte 32))
                       (string 'string)
                       (t (type-of value)))))
  (cobj:make-carray 1 :element-type type :initial-element value))

(defun cbox-pointer (cbox)
  (cobj:cobject-pointer cbox))

(defun cbox-value (cbox)
  (cobj:caref cbox 0))

(defun (setf cbox-value) (value cbox)
  (setf (cobj:caref cbox 0) value))

(let ((box (make-cbox 0.0)))
  (setf (cbox-value box) 1.0)
  (assert (typep (cbox-pointer box) 'cffi:foreign-pointer))
  (assert (= (cbox-value box) 1.0)))


Maps from shared tables don't use table schema for instantiation

In the EDITOR
Maps created from a shared dataset don't use the schema in the default query. This prevents the map from working since the dataset cannot be found the user database.
STR
1 - user_1: share a dataset with a colleague in the same org.
2 - user_2: create a map from the shared dataset --> The map won't load and you will see an error loading rows. Check your SQL query message. Also There is a problem with your connection afterwards.
3 - Use the SQL editor to write: SELECT * FROM user_1.table_name (note that the schema was not present before) --> The map should load as usual
Context
The request payload sent to the Maps API does not include the schema either
{version: "1.0.1", layers: [{type: "cartodb", options: {sql: "select * from world_borders_2",…}}]}

so the map instantiation returns an error:
{"errors":["relation \"world_borders_2\" does not exist"] ...

cc/ @juanignaciosl

Duplicated: #8974. Fix will be deployed today.


Order: traderID

First of all, thanks for your great work!

Created orders have no indication of who created them. It follows that I, as a trader, can buy from myself or sell to myself. It seems to me that this is not entirely logical.
I think it would be great to add a Trader ID for each order and just skip orders with the same Trader ID in the matching process.

Hi @vanodevium thank you for your interest in this project.

Created orders have no indication of who created them. It follows that I, as a trader, can buy from myself or sell to myself. It seems to me that this is not entirely logical.

It seems wrong at first, but I'm not entirely sure this actually did not happens on real exchanges. Did you have any technical documentations about that? I think these are choices to make at application level. The maching engine is just part of an exchange, all the logic around you needs to work out.

You're right. I already investigate logic of different matching engines and they allow to trade himself.
Thanks!


Allow ember-cli-rails-assets 0.7

It will be release in https://github.com/seanpdoyle/ember-cli-rails-assets/pull/18.

@tricknotes I've pinged you on https://github.com/seanpdoyle/ember-cli-rails-assets/pull/18#issuecomment-1425884550, but you might not've received a notification since it's a different repository.

@seanpdoyle
Oh, I'm sorry for miss your comment.
Just I just find a solution for failure of https://github.com/seanpdoyle/ember-cli-rails-assets/pull/18.
This is a dependency issue.
Since ember-cli-rails restricts only ember-cli-rails-assets 0.6.x, ember-cli-rails-assets wouldn't match released any versions of ember-cli-rails.
https://github.com/thoughtbot/ember-cli-rails/blob/v0.12.0/ember-cli-rails.gemspec#L18
A new version of ember-cli-rails with this change will fix CI of https://github.com/seanpdoyle/ember-cli-rails-assets/pull/18.
To make ready this PR, I fixed rails main CI in https://github.com/thoughtbot/ember-cli-rails/pull/601.
Could you review the both of them?

Thanks for merge https://github.com/thoughtbot/ember-cli-rails/pull/601, @seanpdoyle !
I rebased this PR.
Please wait a minutes to pass all of CIs.


Release request (aka move v1 to v1.7.0)

Are we ready for v1.7.0? If so, I'm proposing it happens.

@paulo-ferraz-oliveira I agree

@paulo-ferraz-oliveira let's make a 1.7.0 tag, then I will try that out on verl and rebar3_hex

@paulo-ferraz-oliveira While we create a tag, we should wait until at Monday to do a "release". It's a holiday today for a lot of people.

Sure. Is there any process for tagging? Or is it just pushing the tag on top of master, when the time comes?

@paulo-ferraz-oliveira Just normal tagging. When release time comes we re-write the v1 tag.

v1.7.0 and v1.7 are now published and at least 20 pull requests (Erlang + rebar3) show no issues with the current implementation. Will wait for v1 to close this.

It's too late to roll back now but I would have liked to test this more since it's a major rewrite. Remember that there is no such thing as releases for actions, when you push the tag it is released and people can/will start using it.
You don't have to tag the action to test it, you can test the branch or commit ref directly.

@ericmj does not seem to be the case. I had<EMAIL_ADDRESS>as seen here : https://github.com/jelly-beam/verl/actions/runs/714773107
I just tried changing it to @v1 which still does not work (i.e, the tag has not been re-written yet).

Tags will of course not change unless you actually change them, but users will see the pushed tag and assume it is stable since 1.7.0 is a stable version.
If we want to test the action there is no reason to tag it to test it since you can use actions without tags.

@ericmj Ahh, I see your point and quite fair.

If we want to test the action there is no reason to tag it since you can use actions without tags.

I assumed it was enough tested; to be clear, I didn't tag it for testing purposes, but to actually use it elsewhere (as stable).
I asked quite a few times if any of you wanted more tests added. What can I do more to make sure it's as battle-hardened as you want? (it's never too late - you find errors, you go back and fix them, you re-release, ...).

The tests go like:

download this Erlang + that Elixir and run this mix test
download this Erlang + that rebar3 and run this rebar3 test
(and this is done in a combination of versions, already)

Since we're testing the action itself, not Erlang, Elixir, mix or rebar, the only real tests I can imagine adding are more around obtaining the versions from the listing. What did you have in mind?

Per recent changes we would be best to wait a few weeks and do moar testing before cutting on v1 IMO.

I assumed it was enough tested (I'd tested in in 20 private repo.s, for example); to be clear, I didn't tag it for testing purposes, but to actually use it elsewhere (as stable).

That's great, I didn't realize you had done such extensive testing (sorry if I missed you saying that). Did you also test the existing functionality with just Elixir? I think that's the most important to test since it can break existing users, unlike the new Erlang support which only have new users trying it.
I am currently testing it on https://github.com/hexpm/hex/pull/873.

@ericmj I did testing with elixir via erlef/website, but not easy to test combos with that per deps, but I felt good about it. That said, I think it would still be good to wait a few so we can be sure and get in any other small changes that we see as needed. I believe @paulo-ferraz-oliveira is about to add more tests around OTP 19 and ubuntu as an example.

I am seeing dialyzer errors after upgrading to 1.7 - can submit bug report if required. https://github.com/brianmay/tp_link_hs100/runs/2293025513

@brianmay I usually see this error when I built PLTs for version X, but then tried to use them using version Y. This might allude to bugs in previous versions vs a bug in 1.7.0, but I can not say for certain. Definitely appreciate you commenting here though! ❤

@paulo-ferraz-oliveira Yes, that is correct. This is a dependabot pull request that is failing, that only makes that change. No changes to erlang versions, elixir versions, or anything else. Without the change, master is fine. https://github.com/brianmay/tp_link_hs100/pull/19
I have made to invalidate the PLT cache. Will be interesting to see what happens. Currently rebudiling the PLTs. My understanding is that upgrading the action should not invalidate the cached data however,

OK, recreating the PLT cache appeared to work... Go figure...

The reason I asked about the versions, specifically, is because the plugin potentially changes the downloaded ones (by "trying to guess" - which it probably doesn't need to). While previously you might have been downloading v1.11.3 you are now most surely downloading v1.11.3-otp-23 and that might justify the change 🤷♂. I'm OK to revert this change, if there's no further impact. @ericmj?
Also, AFAIK the cached PLT should be compatible for that one small change, yes, but also I'm not exactly sure what this change is for.

Not sure why the confusion. There are two changes here. One bumps the version of action, and the other invalidates the existing PLT cache.

@brianmay @paulo-ferraz-oliveira here is my hunch. And @paulo-ferraz-oliveira can answer this better than me, but iirc we found a bug where the wrong OTP version might have been brought in prior to 1.7.0. But let's hear what @paulo-ferraz-oliveira says since he did 99% of the work.

@starbelly Oh, OK, I get you know. The logs do give the correct version. But depending on where the bug is, that may not matter:
Run erlef/setup-elixir@v1
  with:
    elixir-version: 1.11.3
    otp-version: 23.2.7
    install-hex: true
    install-rebar: true
Installing OTP OTP-23.2.7 - built on ubuntu-20.04
  /home/runner/work/_actions/erlef/setup-elixir/v1/dist/install-otp OTP-23.2.7 ubuntu-20.04

Installing Elixir v1.11.3
  /home/runner/work/_actions/erlef/setup-elixir/v1/dist/install-elixir v1.11.3
  Archive:  v1.11.3.zip
[...]

After the update I get:
Run<EMAIL_ADDRESS>  with:
    elixir-version: 1.11.3
    otp-version: 23.2.7
    install-hex: true
    install-rebar: true
  env:
    MIX_ENV: test
Installing Erlang/OTP OTP-23.2.7 - built on ubuntu-20.04
  /home/runner/work/_actions/erlef/setup-elixir/v1.7/dist/install-otp ubuntu-20.04 OTP-23.2.7

  Installed Erlang/OTP version follows
  Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.1.8
Using Elixir / -otp- version v1.11.3-otp-23
Installing Elixir v1.11.3-otp-23
  /home/runner/work/_actions/erlef/setup-elixir/v1.7/dist/install-elixir v1.11.3-otp-23
  Installed Elixir version follows
  IEx 1.11.3 (compiled with Erlang/OTP 23)

Not 100% sure what I am looking at here, but guessing that while it installed the right erlang, it didn't install the right elixir.

@brianmay Hmm yeah that invalidates my hunch. Thank you for sharing that.

the old version didn't install the right elixir.

I wouldn't say it was "wrong", since it was working (and the Elixir version, by itself, was as expected), but it wasn't the one built with the pull Erlang/OTP version (which is now the case). This was the reason why I wrote @ericmj, because if there's no reason to add -otp-... in v1.7.0 (at the expense of invalidating PLTs and the like) we might decide to go back on that decision.

@paulo-ferraz-oliveira I see. Requires testing.

Not sure I fully understand the difference between 1.11.3 and 1.11.3-otp-23. I think I would expect to get the later. But maybe make it a config option that is disabled by default, meaning you get the old behaviour by default?

@brianmay, I'm not sure we want to add an option to get the old behaviour; we might either decide what you reported leads to a necessary consumption change (and we keep as-is - i.e. the consumer adapts) or it doesn't (and we revert to previous behaviour - the producer adapts). I'm open to all options, but we have to decide first.

I am happy either way. But ideally we should stick to any decision (unless we have a really good reason to change).

Replicated! : https://github.com/starbelly/test-setup-elixir/runs/2301526919?check_suite_focus=true

Thinking about it a bit more, I tend to think v1.11.3-otp-23 holds least surprise. So I would tend to maybe prefer that version. Even if it does mean having to fix my CI builds.

Yeah, so my personal take is thus :

I like how the behavior tries to do what you want that is. Instead of pulling in elixir 1.x build with OTP say 21, it will not do it's best to bring in elixir 1.x built with OTP 23 (in the case you're specifying this).

It's going to be no fun for some to bust their cache, but I can think of worse things. In addition, if we make it clear (via this issue or release notes) this is why you might run into this, then I think most people will be fine with that and happy with the change.

Need to hear from both @paulo-ferraz-oliveira and @ericmj ofc.

I am happy either way. But ideally we should stick to any decision (unless we have a really good reason to change).

I saw the previous change as a bug fix, so I stuck to that decision (it was my really good reason to change). 😄

@starbelly, regarding https://github.com/erlef/setup-beam/issues/29#issuecomment-816299477, I'm OK to keep stuff as-is (I see it as the path of least surprise). I'd like to have @ericmj pitch in too, though.

Can you explain the dialyzer issue? It looks like doesn't find hipe-4.0.1/ebin/erl_bif_types.beam, how did we come to the conclusion that it is related to how we now select the correct precompiled Elixir?

@ericmj oooh, that's possible. I hope that's not that case as that implies it should have been version 2.

Do you have better explanation for the issue? The error says it cannot find a file in .setup-elixir/otp/... and we have changed the path to .setup-beam/otp so it seems likely the issue is that dialyzer can no longer find the files it based the PLT on. It could be argued that dialyzer should bust the cache instead of erroring out in that case, but it doesn't.
If this is an important issue we can revert the paths back to .setup-elixir since they are internal only.

I see. I missed that @ericmj.  So yes, that seems to very much be the issue. Thus, we should probably add a section in the readme, thoughts?

how did we come to the conclusion that it is related to how we now select the correct precompiled Elixir?

I've not come to a conclusion, but some speculation 😄 which is why I referred to you (@ericmj), explicitly, four times.

If this is an important issue we can revert the paths back to .setup-elixir since they are internal only.

I'm OK with this change. But I'm not sure on "is an important issue". For me it's not, but I'm not the only one judging it.
If we do that change, though (the folder name) supposedly we wouldn't need what @starbelly proposes (a change to the README). I'll let you guys decide.
My votes go for:

it's kept unchanged,
no notes in README,
if an issue surfaces we steer developers to this one and tell them the cache should be busted.

So, in summary, I believe everyone agrees the current bahaviour should be kept unchanged, right?
I do believe this should be clearly documented. Under release notes or something similar. Nothing more annoying then spending ages debugging a known problem. If an issue arises and the developer contacts this project, then yes, they can get steered in the right direction. But, the nature of this problem makes it look like a dialyzer problem, not a problem with the action that successfully completed earlier. Dialyzer maintainers, dialyzer support groups, and general elixir support groups will probably get consulted first, and these groups cannot help (In fact I did that). Maybe, just maybe, adding something to the release notes could help somebody work out the problem faster without going through all that.

I agree with:

Don't change it
Document in release notes and/or README (Paulo not in favor of README)

To be clear.
Input from @ericmj needed.

I went ahead and added this to the release notes. Let me know if any of it has to be changed.

here: https://github.com/erlef/setup-beam/releases/tag/v1.7.0,
and here: https://github.com/erlef/setup-beam/releases/tag/v1.7

Looks good to me. I guess I should fix my builds now :-)

Ok, so I think we've waited long enough and we should re-write @v1 at this point. I start a new job in a week and I'd rather cut this now, have to respond to some issues this week vs next.
I know @paulo-ferraz-oliveira is ready, @ericmj ?

Go for it!

Congrats and thanks to you ANC everyone involved!

Congrats and thanks to you and everyone involved!

I'll celebrate in a month 🤞 haha


MakeMove() produces illegal moves when searching

I'm implementing a search function (very similar to the one Sebastian shows in the first coding adventure video) and I'm getting that the bot is making illegal moves on the board and the game is over on the spot.
I think that what's happening is that MakeMove() doesn't update the FEN string of the current position and when I search with depth >= 3, the bot can make moves that are impossible in the current position.
For example, if the bot is black, I play 1.e4 and it starts searching. In that process it plays 1.e5 and it evaluates after white's next move the move e1e2, but the game's FEN string shows there's a pawn there.
Maybe I'm wrong, I'm very new to C# and chess programming. If you need to look at my code I can show it.

this is accurate to my experience too, yesterday i left off because even though i never feed illegal moves into the system i kept getting illegal moves sent back after a depth of around 4. it could very well still be my fault but have definitely been confused for a few days now.

MakeMove works fine to me, make sure you call UndoMove(move) each time you call MakeMove

I am doing that which is why i find it weird.

Another weird thing is that it says it's playing illegal moves that shouldn't even be possible in any position.
"Illegal move: d1h5 in position: rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1"
d1h5 moves the queen not even in the same diagonal

grr i have taht pronblem too

its so anoying how would you even make a bot without that feature

How do you get your moves to make? Do you use the board's method GetLegalMoves()?

yes

its board.GetLegalMoves()

Whenever you do a MakeMove you should have a corresponding UndoMove, before you can do a MakeMove of its 'siblings legalMoves'.
wrong
foreach(var m in board.GetLegalMoves())
{
    board.MakeMove(m);
    // do other stuff
}

right
foreach(var m in board.GetLegalMoves())
{
    board.MakeMove(m);
    // do other stuff
    board.UndoMove(); // undo move m
}

also wrong
foreach(var m in board.GetLegalMoves())
{
    board.MakeMove(m);
    // do other stuff
    // nested calls to GetLegalMoves()
    foreach(var m2 in board.GetLegalMoves()) // these are other legal moves than above
    {
        board.MakeMove(m2);
        // do more stuff
    }
}

also right
foreach(var m in board.GetLegalMoves())
{
    board.MakeMove(m);
    // do other stuff
    // nested calls to GetLegalMoves()
    foreach(var m2 in board.GetLegalMoves()) // these are other legal moves than above
    {
        board.MakeMove(m2);
        // do more stuff
        board.UndoMove(); // undo move m2
    }
    board.UndoMove(); // undo move m
}

I did that but somehow it doesn't want to work
On Wed, 20 Sept 2023, 18:23 Ryan Heath, @.***> wrote:

Whenever you do a MakeMove you should have a corresponding UndoMove,
before you can do a MakeMove of its 'siblings legalMoves'.
wrong
foreach(var m in board.GetLegalMoves())
{
board.MakeMove(m);
// do other stuff
}
right
foreach(var m in board.GetLegalMoves())
{
board.MakeMove(m);
// do other stuff
board.UndoMove(); // undo move m
}
also wrong
foreach(var m in board.GetLegalMoves())
{
board.MakeMove(m);
// do other stuff
// nested calls to GetLegalMoves()
foreach(var m2 in board.GetLegalMoves()) // these are other legal moves than above
{
board.MakeMove(m2);
// do more stuff
}
}
also right
foreach(var m in board.GetLegalMoves())
{
board.MakeMove(m);
// do other stuff
// nested calls to GetLegalMoves()
foreach(var m2 in board.GetLegalMoves()) // these are other legal moves than above
{
board.MakeMove(m2);
// do more stuff
board.UndoMove(); // undo move m2
}
board.UndoMove(); // undo move m
}
—
Reply to this email directly, view it on GitHub
https://github.com/SebLague/Chess-Challenge/issues/427#issuecomment-1728066498,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCPILCSATCP2E6NUGQMPZ5LX3MKA7ANCNFSM6AAAAAA3CVHTYY
.
You are receiving this because you commented.Message ID:
@.***>


Proposed documentation structure

Please find a proposed table of contents with (largely) empty placeholder files).
I would hope that it's good enough that people could review and work out where they might write their documentation, and call out out when that is not obvious.
The general principle is that there is

a quickstart landing area
a section per persona (I will create a separate issue to discuss consistent naming for them)
an anatomy area to hold detailed notes on components of the infrastructure
an FAQ to drop off short mixed notes
a vignettes section to hold short exemplar notebooks

Looks good @docsteveharris 👍
Only suggestion would be to use 1st person for the personas, e.g.

As a steward I am responsible for X, Y, Z

Just stylistic but is a more common form for persona writing in software dev Feel free to ignore

Edits made in #e5a75dd

@anastasiakuzn we ok to merge?

@docsteveharris , okay to merge from my perspective. @damoodamoo , okay with you as well ?


replace ext-bcmath with phpseclib/bcmath_compat

See #558

I am not sure why we would want this? I rather depend on the extension than on a compat lib. We are only talking of require-dev for bcmath. It is not a dependency that is required by require.


[UnexpectedValueException] Could not parse version constraint >=0.90 <3.0: Invalid version string "0.90 <3.0"

Hi!
A little while ago faced with problem installing the package via composer:
[RuntimeException]
Could not load package monolog/monolog in http://packagist.org: [UnexpectedValueException] Could not parse version constraint >=0.90 <3.0: Invalid version string "0.90 <3.0"

What version of composer are you using?
In https://github.com/composer/composer/blob/master/CHANGELOG.md

Added support for npm-style semver operators (^ and - ranges,   = AND, || = OR)

after 2015-04-14. Try to composer self-update.

@Seldaek, what do you think about depending on the composer inside composer.json? :) Not the first time I've seen similar bug reports.

That wouldn't help.. And yeah many people still use outdated composer versions which is a shame, but not much we can do except tell them to upgrade.

That wouldn't help.. And yeah many people still use outdated composer versions which is a shame, but not much we can do except tell them to upgrade.

Maybe there could be a "harder" error then the current warning (which appears after 30days) after e.g. 100days?

That wouldn't help..

In this case, users would see a message about outdated dependencies (for example, when you specify php >= 5.5), and not the parsing error (UnexpectedValueException).

Updating the Composer resolved that problem, thanks!

Maybe there could be a "harder" error then the current warning (which appears after 30days) after e.g. 100days?

this would only help for people having a version of composer created after we add this new warning. It won't help for people not upgrading

@kamilsk no. the error happens when composer is loading the monolog metadata from packagist. There is nothing we can change in monolog requirements (which are part of the metadata) to impact the fact that old versions of composer will be unable to read these metadata because their version does not support features used in them.


No crashlytics reporting if using same bundle id across different projects

[REQUIRED] Please fill in the following fields:

Unity editor version: 2020.1.8f1
Firebase Unity SDK version: 6.16.1
Source you installed the SDK: UPM (.unitypackage or Unity Package Manager)
Problematic Firebase Component: Crashlytics (Auth, Database, etc.)
Other Firebase Components in use: NA (Auth, Database, etc.)
Additional SDKs you are using: NA (Facebook, AdMob, etc.)
Platform you are using the Unity editor on: Mac (Mac, Windows, or Linux)
Platform you are targeting: iOS/Android (iOS, Android, and/or desktop)
Scripting Runtime: IL2CPP (Mono, and/or IL2CPP)

[REQUIRED] Please describe the issue here:
(Please list the full steps to reproduce the issue. Include device logs, Unity logs, and stack traces if available.)
If you have two firebase projects that use the same bundle id, then you don't receive any crash reports from Crashlytics.
Steps to reproduce:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)? Yes
What's the issue repro rate? (eg 100%, 1/5 etc) 100%
What happened? How can we make the problem occur?
This could be a description, log/console output, etc.
We have two firebase projects - dev and prod. They share the same bundle id. I enabled crashlytics on both projects and then integrated it in the dev unity app following all the steps indicated in the docs. Even after triggering a crash repeatedly I received no crash reports in the firebase console.
I then downloaded the quickstart app and pointed it to the same dev firebase project. Again no reports came in.
I then created a fresh firebase project with a unique bundle id. I pointed this quickstart app to this new project. Reports started coming in.
I then created another fresh firebase project. This time I set its bundle id to be the same as the dev bundle id (from my original project). I pointed the quickstart app to this new project. No reports came in.
If you have a downloadable sample project that reproduces the bug you're reporting, you will
likely receive a faster response on your issue.
Relevant Code:
// TODO(you): code here to reproduce the problem

I was able to reproduce this issue, so I'll leave it open as a bug. But I think I have a workaround and an explanation:
You need a number of elements to associate a game or application with the Firebase backend. In addition to the google-services.json file, you have a package id and an optional sha-1 which must be a unique combination. When I have two projects with the same package id and the same sha-1, it's expected that Firebase won't work. It looks like if you have two matching package id's and no sha-1, the same restriction applies at least for crashlytics reporting.
I was able to work around this issue by, in my second project, adding a sha-1 key.
I know that it looks like I just moved the goalposts on your issue, but this does mean that if you use different signing certificates for dev and prod you should be able to just upload the sha-1 of your production signing certificate to your production Firebase backend to get it all to work. You should be then be good leaving the SHA-1 empty on your dev backend for dev work (or using a different signing cert if you need features like Authentication).
Let me know if this helps and works for you!

Hello,
I have the same issue, it also effects somehow analytics retentions look "0" and i see some error reports in googleplay vitals console, only Huawei phones gets this error crash below ;
About @patm1987 work around; if I changed production app sha-1 code, does it effect all current users already using app? to change firebase development server sha-1 code seems more convenient to me. When i change dev to different code, will prod server be okay? By the way I use auth, db, host, functions etc. for both.
java.lang.NoSuchMethodError: at com.google.firebase.crashlytics.internal.network.HttpRequest.(com.google.firebase:firebase-crashlytics@@17.0.0:46)
at com.google.firebase.crashlytics.internal.network.HttpRequestFactory.buildHttpRequest(com.google.firebase:firebase-crashlytics@@17.0.0:43)
at com.google.firebase.crashlytics.internal.common.AbstractSpiCall.getHttpRequest(com.google.firebase:firebase-crashlytics@@17.0.0:113)
at com.google.firebase.crashlytics.internal.settings.network.DefaultSettingsSpiCall.invoke(com.google.firebase:firebase-crashlytics@@17.0.0:80)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(com.google.firebase:firebase-crashlytics@@17.0.0:200)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(com.google.firebase:firebase-crashlytics@@17.0.0:193)
at com.google.android.gms.tasks.zzo.run(com.google.android.gms:play-services-tasks@@17.2.0:2)
at java.util.concurrent.ThreadPoolExecutor.processTask (ThreadPoolExecutor.java:1187)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run
at java.lang.Thread.run (Thread.java:784)

@patm1987  i have the same issue, my prod firebase application has sha-1 keys already, dev firebase has no keys, but both of them not working now. They have same bundle id so, how will it work, any idea?
@shekit could you solve that?

@mrwillis21 @mrichards
This seems to be either backend issue or Android/iOS SDK level issue.  Is this an unsupported case? Or is there any in development to alleviate this?

Any updated info on this? I spent hours trying to get Crashlytics to work without success (my project already has Firebase Analytics working for years). I have 2 projects under the same bundle ID so maybe Im affected by this problem.


Test workbench.hover.delay

Refs: https://github.com/microsoft/vscode/issues/117894

[x] macOS @digitarald
[x] linux @chrmarti
[ ] windows @fiveisprime (Optional)
[x] windows @connor4312

Complexity: 1
Create Issue

The delay before custom tree view hovers show is now configurable via workbench.hover.delay. Currently, only custom trees use this setting. Verify that the setting name and description are clear.
Verify that the default on mac is 1500 ms or verify that the default on other systems is 500 ms.
Verify that the setting is respected.

Confirmed with Issues list in the GitHub extension.

Closing for bookkeeping but feel free to test @fiveisprime


A complete example

I tried to use the complete example here. The author mentioned that it is working with the older version of RML-Mapper however after running the same code for the newer version, it is not working. It would be of great help if you can provide a complete example for the latest version. @pheyvaer

Hi @hridaydutta123
The Hydra ontology is not yet supported in the new version. However, the RML rules in that specific example can also be written without Hydra. The mapping file is
@prefix rr:     <http://www.w3.org/ns/r2rml#>.
@prefix rml:    <http://semweb.mmlab.be/ns/rml#> .
@prefix crml:   <http://semweb.mmlab.be/ns/crml#> .
@prefix ql:     <http://semweb.mmlab.be/ns/ql#> .
@prefix mail:   <http://example.com/mail#>.
@prefix xsd:    <http://www.w3.org/2001/XMLSchema#>.
@prefix ex:     <http://www.example.com/> .
@base <http://example.com/base> .

<LogicalSource1>
    rml:referenceFormulation ql:JSONPath;
    rml:iterator "$.author[*]".

<#Author>
    rml:logicalSource <LogicalSource1>;

    rr:subjectMap [
        rr:template "http://www.ex.com/author/{ugent_id}";
        rr:class ex:Author
    ];

    rr:predicateObjectMap [
        rr:predicate ex:firstName;

        rr:objectMap [
            rml:reference "first_name" ;
            ]
    ];

    rr:predicateObjectMap [
        rr:predicate ex:lastName;

        rr:objectMap [
            rml:reference "last_name" ;
            ]
    ].

and you can the RMLMapper with the following parameters: -m "mapping.rml.ttl" "<LogicalSource1> rml:source \"https://biblio.ugent.be/publication/{publication_id}.json\"; rml:referenceFormulation ql:CSV .", where you change the publication_id to the want that is needed.

Thanks @pheyvaer for the prompt response.

Hi Pieter,
I used this example to generate an rdf file. I then loaded RDF file into neo4j to check the nodes and relationships. But it says ""Expected '.', found '<' [line 1]"". Any idea why am I facing this?
Regards
Prashanti

Hi @prashantimaktala
Which RDF file do you mean? The mapping file or the generated output? And could you maybe put this in a separate issue if it is different from this one?


client:only support for Astro Angular components

Which scope/s are relevant/related to the feature request?
astro-angular
Information
I'd like to be able to add a client:only directive to Angular components within Astro pages.  Relevant Astro docs.
Describe any alternatives/workarounds you're currently using
None
I would be willing to submit a PR to fix this issue

[ ] Yes
[X] No

Form looking through the source code, the client:only directive is only supported by official Astro integrations.

Example
Works
import { defineConfig } from 'astro/config';
import angular from "@analogjs/astro-angular";

// https://astro.build/config
export default defineConfig({
  outDir: '../../dist/apps/astro-app',
  integrations: [
    angular(),
  ]
});

Does not work
import { defineConfig } from 'astro/config';
import angular from "@analogjs/astro-angular";
import react from '@astrojs/react';

// https://astro.build/config
export default defineConfig({
  outDir: '../../dist/apps/astro-app',
  integrations: [
    angular(),
    react()
  ]
});


mod:usr: Made changes to final report for P002

you for got to rebase, we can not accept checkins that did not rebase


gatekeeper operator bundle doesn't work on openshift 4.4

CSV stuck in pending state due to Policy rule not satisfied for service account. It works on ocp 4.5 and 4.6.
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "operator.gatekeeper.sh/v1alpha1",
          "kind": "Gatekeeper",
          "metadata": {
            "name": "gatekeeper"
          },
          "spec": {
            "audit": {
              "logLevel": "INFO",
              "replicas": 1
            },
            "image": {
              "image": "docker.io/openpolicyagent/gatekeeper:v3.2.2"
            },
            "validatingWebhook": "Enabled",
            "webhook": {
              "logLevel": "INFO",
              "replicas": 2
            }
          }
        }
      ]
    capabilities: Basic Install
    olm.operatorGroup: gatekeeper-operator
    olm.operatorNamespace: openshift-gatekeeper-operator
    olm.targetNamespaces: ''
    operators.operatorframework.io/builder: operator-sdk-v1.2.0
    operators.operatorframework.io/project_layout: go.kubebuilder.io/v2
  selfLink: >-
    /apis/operators.coreos.com/v1alpha1/namespaces/openshift-gatekeeper-operator/clusterserviceversions/gatekeeper-operator.v0.0.1
  resourceVersion: '126038'
  name: gatekeeper-operator.v0.0.1
  uid: 74ae41cc-dc64-480f-b2a4-20fb89efd2fe
  creationTimestamp: '2021-01-06T00:40:14Z'
  generation: 1
  namespace: openshift-gatekeeper-operator
  labels:
    olm.api.f3883f973f52868e: provided
spec:
  customresourcedefinitions:
    owned:
      - description: Gatekeeper is the Schema for the gatekeepers API
        displayName: Gatekeeper
        kind: Gatekeeper
        name: gatekeepers.operator.gatekeeper.sh
        version: v1alpha1
  apiservicedefinitions: {}
  keywords:
    - Gatekeeper
  displayName: Gatekeeper Operator
  provider:
    name: Red Hat
  maturity: alpha
  installModes:
    - supported: false
      type: OwnNamespace
    - supported: false
      type: SingleNamespace
    - supported: false
      type: MultiNamespace
    - supported: true
      type: AllNamespaces
  version: 0.0.1
  icon:
    - base64data: ''
      mediatype: ''
  links:
    - name: Gatekeeper Operator
      url: 'https://github.com/gatekeeper/gatekeeper-operator'
  install:
    spec:
      clusterPermissions:
        - rules:
            - apiGroups:
                - '*'
              resources:
                - '*'
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - admissionregistration.k8s.io
              resources:
                - validatingwebhookconfigurations
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - apiextensions.k8s.io
              resources:
                - customresourcedefinitions
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - config.gatekeeper.sh
              resources:
                - configs
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - config.gatekeeper.sh
              resources:
                - configs/status
              verbs:
                - get
                - patch
                - update
            - apiGroups:
                - constraints.gatekeeper.sh
              resources:
                - '*'
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - operator.gatekeeper.sh
              resources:
                - gatekeepers
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - operator.gatekeeper.sh
              resources:
                - gatekeepers/finalizers
              verbs:
                - delete
                - get
                - patch
                - update
            - apiGroups:
                - operator.gatekeeper.sh
              resources:
                - gatekeepers/status
              verbs:
                - get
                - patch
                - update
            - apiGroups:
                - policy
              resources:
                - podsecuritypolicies
              verbs:
                - create
                - delete
                - update
                - use
            - apiGroups:
                - rbac.authorization.k8s.io
              resources:
                - clusterrolebindings
                - clusterroles
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - status.gatekeeper.sh
              resources:
                - '*'
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - templates.gatekeeper.sh
              resources:
                - constrainttemplates
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - templates.gatekeeper.sh
              resources:
                - constrainttemplates/finalizers
              verbs:
                - delete
                - get
                - patch
                - update
            - apiGroups:
                - templates.gatekeeper.sh
              resources:
                - constrainttemplates/status
              verbs:
                - get
                - patch
                - update
            - apiGroups:
                - ''
              resources:
                - namespaces
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - security.openshift.io
              resourceNames:
                - anyuid
              resources:
                - securitycontextconstraints
              verbs:
                - use
            - apiGroups:
                - authentication.k8s.io
              resources:
                - tokenreviews
              verbs:
                - create
            - apiGroups:
                - authorization.k8s.io
              resources:
                - subjectaccessreviews
              verbs:
                - create
          serviceAccountName: default
      deployments:
        - name: gatekeeper-operator-controller-manager
          spec:
            replicas: 1
            selector:
              matchLabels:
                control-plane: controller-manager
            strategy: {}
            template:
              metadata:
                creationTimestamp: null
                labels:
                  control-plane: controller-manager
              spec:
                containers:
                  - args:
                      - '--secure-listen-address=<IP_ADDRESS>:8443'
                      - '--upstream=http://<IP_ADDRESS>:8080/'
                      - '--logtostderr=true'
                      - '--v=10'
                    image: 'gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0'
                    name: kube-rbac-proxy
                    ports:
                      - containerPort: 8443
                        name: https
                    resources: {}
                  - args:
                      - '--metrics-addr=<IP_ADDRESS>:8080'
                      - '--enable-leader-election'
                    command:
                      - /manager
                    image: 'quay.io/gatekeeper/gatekeeper-operator:latest'
                    imagePullPolicy: Always
                    name: manager
                    resources:
                      limits:
                        cpu: 100m
                        memory: 30Mi
                      requests:
                        cpu: 100m
                        memory: 20Mi
                terminationGracePeriodSeconds: 10
      permissions:
        - rules:
            - apiGroups:
                - ''
              resources:
                - configmaps
              verbs:
                - get
                - list
                - watch
                - create
                - update
                - patch
                - delete
            - apiGroups:
                - ''
              resources:
                - configmaps/status
              verbs:
                - get
                - update
                - patch
            - apiGroups:
                - ''
              resources:
                - events
              verbs:
                - create
                - patch
            - apiGroups:
                - apps
              resources:
                - deployments
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - ''
              resources:
                - secrets
                - serviceaccounts
                - services
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - rbac.authorization.k8s.io
              resources:
                - rolebindings
                - roles
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
          serviceAccountName: default
    strategy: deployment
  maintainers:
    - email<EMAIL_ADDRESS>      name: Ivan Font
  description: Operator for OPA Gatekeeper
status:
  conditions:
    - lastTransitionTime: '2021-01-06T00:40:14Z'
      lastUpdateTime: '2021-01-06T00:40:14Z'
      message: requirements not yet checked
      phase: Pending
      reason: RequirementsUnknown
    - lastTransitionTime: '2021-01-06T00:40:14Z'
      lastUpdateTime: '2021-01-06T00:40:14Z'
      message: one or more requirements couldn't be found
      phase: Pending
      reason: RequirementsNotMet
  lastTransitionTime: '2021-01-06T00:40:14Z'
  lastUpdateTime: '2021-01-06T00:40:14Z'
  message: one or more requirements couldn't be found
  phase: Pending
  reason: RequirementsNotMet
  requirementStatus:
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is not present
      name: gatekeepers.operator.gatekeeper.sh
      status: NotPresent
      version: v1beta1
    - dependents:
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            namespaced
            rule:{"verbs":["get","list","watch","create","update","patch","delete"],"apiGroups":[""],"resources":["configmaps"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            namespaced
            rule:{"verbs":["get","update","patch"],"apiGroups":[""],"resources":["configmaps/status"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            namespaced
            rule:{"verbs":["create","patch"],"apiGroups":[""],"resources":["events"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            namespaced
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apps"],"resources":["deployments"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            namespaced
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":[""],"resources":["secrets","serviceaccounts","services"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            namespaced
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["rolebindings","roles"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["get","list","watch"],"apiGroups":["*"],"resources":["*"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["admissionregistration.k8s.io"],"resources":["validatingwebhookconfigurations"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apiextensions.k8s.io"],"resources":["customresourcedefinitions"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["config.gatekeeper.sh"],"resources":["configs"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["get","patch","update"],"apiGroups":["config.gatekeeper.sh"],"resources":["configs/status"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["constraints.gatekeeper.sh"],"resources":["*"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["operator.gatekeeper.sh"],"resources":["gatekeepers"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["delete","get","patch","update"],"apiGroups":["operator.gatekeeper.sh"],"resources":["gatekeepers/finalizers"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["get","patch","update"],"apiGroups":["operator.gatekeeper.sh"],"resources":["gatekeepers/status"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","update","use"],"apiGroups":["policy"],"resources":["podsecuritypolicies"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterrolebindings","clusterroles"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["status.gatekeeper.sh"],"resources":["*"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["templates.gatekeeper.sh"],"resources":["constrainttemplates"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["delete","get","patch","update"],"apiGroups":["templates.gatekeeper.sh"],"resources":["constrainttemplates/finalizers"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["get","patch","update"],"apiGroups":["templates.gatekeeper.sh"],"resources":["constrainttemplates/status"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":[""],"resources":["namespaces"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["use"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["anyuid"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"]}
          status: NotSatisfied
          version: v1beta1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: >-
            cluster
            rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"]}
          status: NotSatisfied
          version: v1beta1
      group: ''
      kind: ServiceAccount
      message: Policy rule not satisfied for service account
      name: default
      status: PresentNotSatisfied
      version: v1

This is because we have a couple of CRDs using apiextensions.k8s.io/v1 which doesn't exist on ocp 4.4.
https://github.com/gatekeeper/gatekeeper-operator/blob/master/bundle/manifests/operator.gatekeeper.sh_gatekeepers.yaml#L1

This is because we have a couple of CRDs using apiextensions.k8s.io/v1 which doesn't exist on ocp 4.4.
https://github.com/gatekeeper/gatekeeper-operator/blob/master/bundle/manifests/operator.gatekeeper.sh_gatekeepers.yaml#L1

no need to support ocp 4.4. no work required.

no need to support ocp 4.4. no work required.


Release 3.1.3

• Updates to the latest version of the iOS SDK (Android SDK updates are automatically distributed via gradle)
• Adds a new badge handling system in iOS which uses the OneSignalNotificationServiceExtension to perform badge handling logic instead of relying on the backend server
• Removes podfiles which are no longer used to distribute the iOS SDK

iOS
Lets add a link to the App Group setup in the README that will be need for the badge inc feature in the future.
Android
Also lets update this file to fix the Android decencies
https://github.com/geektimecoil/react-native-onesignal/blob/3.1.2/android/build.gradle
buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://maven.google.com' }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

apply plugin: 'com.android.library'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName '1.0'
        // Do not set onesignal_app_id here, it will be set in the app project.
        // Leave onesignal_google_project_number as it is now pulled from the dashboard.
        manifestPlaceholders = [onesignal_app_id: "",
                                onesignal_google_project_number: "REMOTE"]
    }
    buildTypes {
        release {
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.facebook.react:react-native:+'
    testCompile 'junit:junit:4.12'
    compile 'com.onesignal:OneSignal:3.+'
}

// Add the following to the top (Line 1) of your app/build.gradle if you run into any issues with duplicate classes.
// Such as the following error
//   Error: more than one library with package name 'com.google.android.gms.license'
/*

plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

*/

@Nightsd01 Please test this android/build.gradle however just to be sure I didn't miss anything.
Let's also add the onesignal-gradle-plugin to the "FAQ / Repeating Issues" section noting the Error: more than one library with package name 'com.google.android.gms.license' error as well so it is easy to find this solution.
plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'


Spirv translator build script

This builds spirv translator with a prebuilt llvm, worked for me with llvm 12, though I've seen many sanity tests failures with llvm 12.0.0

I also had to modify the build script for it to successfully compile llvm12 (hence the second commit)


Set ssl and sslverifcation to catalog or db credentials

Description
Connect into a trino/presto db using catalog and credential file.
In datagrip and dbeaver I can connect only with two params:
SSL=True
SSLVerification=NONE
I am trying to find out how to fill this params in catalog definition or credentials file.
When I add to con url the pipeline not even start to run.
Context
Id like to get data using catalogs through trino/presto. I installed sqlalchemy-trino and change the con url to trino://
But to connect in database I need to set ssl params even in datagrip or dbeaver.
Then I am trying to find out how to pass this params in credentials con.
I tried ssl, ssl_context, ssl_verification and a few more but any param that I add I get an error of not recognized params.
kedro.io.core.DataSetError: Failed while loading data from data set SQLQueryDataSet(load_args={}, sql=BIG_QUERY_HERE.
HTTPSConnectionPool(host='presto.address.com', port=8446): Max retries exceeded with url: /v1/statement (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f183810d520>, 'Connection to presto.address.com timed out. (connect timeout=30.0)'))

Your Environment
sqlalchemy==1.4.15
sqlalchemy-trino==0.3.0
psycopg2-binary

Kedro version used: 0.17.3
Python version used: 3.8.5
Operating system and version: Manjaro 21

Hi @Soufraz, thanks for reaching out!
Could you paste the catalog entry you tried?

trino_connection:
  con: trino://user:pass@presto.address.com:8446/hive

attachments:
  type: pandas.SQLQueryDataSet
  credentials: trino_connection
  sql: 'query here'

Params Ive tried:
load_args:
  ssl:
    fake_flag_to_enable_tls: True
    verification: None

Under the hood we use pandas read_sql_query to pass on the load_args. You can find here which arguments are supported: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_sql_query.html

I cant only connect in this way on trino and I didnt found how to pass things like _http_session.verify and auth in kedro catalogs.
Is there a way to create this connection in code and use as a connection in some catalog?
from trino import dbapi, auth
conn = dbapi.connect(
    host=host,
    port=port,
    user=username,
    catalog=dialect,
    schema=database_name,
    http_scheme='https',
    auth=auth.BasicAuthentication(username, password),
)
conn._http_session.verify = False

For now I built a custom dataset. Thanks.

@Soufraz we're always happy to accept PRs if you'd like to contribute a sql.PrestDataSet?

I can try. Hahaha. I'll send until the end of this week.


解析flag调用代码, 生成clop的结构体

持续开发中...

Codecov Report

Merging #63 (4c54321) into master (aa4752f) will decrease coverage by 0.23%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #63      +/-   ##
==========================================
- Coverage   79.61%   79.37%   -0.24%
==========================================
  Files           9       10       +1
  Lines         672      674       +2
==========================================
  Hits          535      535
- Misses         99      101       +2
  Partials       38       38

Impacted Files
Coverage Δ

pflag.go
0.00% <0.00%> (ø)

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 aa4752f...4c54321. Read the comment docs.


V8ResourceImpl error message after disconnect

Description of the problem
After logout of a player, log will display 2-4x this error message on the server:
V8ResourceImpl::GetEntity: Invalid entity with type
Reproduction steps
log out on our gamemode (not reproduced yet on clean freeroam server)
Expected behaviour
no error message
Additional context

Operating system
Windows Server 2022 Standard
Version
RC altmp/altv-issues#13.0-RC11
Reproduction tested

[X] I confirm that I have made sure that this issue is also present on the newest dev version

Fixed in newest dev


fix: use hiring site to determine permissions for ros status

http://hcapemployers.local.freshworks.club:4000/
We learned that ROS site is not what determines if an HA can see a participant or not, but more the hiring site.
This will conflict with Tara's PR

After resolve merge conflict, check:

sign in with MoH
make sure that RoS start date column in participants table has date properly (need at least 1 ros participant)


Adjust ABI

Adjust to https://github.com/wsmoses/Enzyme/pull/486

Codecov Report

Merging #223 (1da1da2) into main (f149757) will decrease coverage by 1.97%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main     #223      +/-   ##
==========================================
- Coverage   81.09%   79.12%   -1.98%
==========================================
  Files          13       13
  Lines        2957     2936      -21
==========================================
- Hits         2398     2323      -75
- Misses        559      613      +54

Impacted Files
Coverage Δ

src/compiler/interpreter.jl
34.14% <ø> (-54.23%)
:arrow_down:

src/api.jl
44.53% <25.00%> (-1.43%)
:arrow_down:

src/compiler.jl
84.15% <100.00%> (-0.37%)
:arrow_down:

src/compiler/orcv2.jl
0.00% <0.00%> (-77.39%)
:arrow_down:

src/logic.jl
75.00% <0.00%> (-5.00%)
:arrow_down:

src/Enzyme.jl
88.60% <0.00%> (-0.42%)
:arrow_down:

src/compiler/optimize.jl
97.74% <0.00%> (-0.05%)
:arrow_down:

... and 2 more

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 5f448ea...1da1da2. Read the comment docs.


issues with <c-r> after the recent update

Since the recent breaking change, when I try to redo some changes, the prompt opens up in the bottom left corner (see the image) and there are no highlights. This type of prompt has never appeared before.

The basic functionality and mechanism for undo and redo did not change. I have no idea what triggers this...
Are you using any other plugins? Can you try disabling them and see if this persists?
Can you also please check if one of your global options triggers this?

The one strange thing that I found in the short time I was testing this (I deleted all of the plugins I use except oil.nvim and highlight-undo) is the following:

open a folder in neovim (with something like nvim .) - if the file is opened then there are no problems
2.1. if using oil.nvim then I get the prompt from my first comment
2.2. if using netrw then I get this: E81: Using <SID> not in a script context
all of this happens only if highlight-undo is lazy-loaded, but if highlight-undo isn't lazy-loaded then it doesn't work at all (doesn't show highlights) about 50% of the time

This is my config:
return {
    {
        "tzachar/highlight-undo.nvim",
        -- event = "VeryLazy",
        lazy = false,
        opts = {
            duration = 300,
            keymaps = {
                Paste = { disabled = true },
                paste = { disabled = true },
            },
        },
    },
}

Note that I didn't have that much time to test this more thoroughly, it could be another issue.

@tzachar probably something similar to #28 (I provided a bit more context/info there)

Can you try to load the plugin last, after all other plugins?
If you are using lazy.nvim, try loading the plugin using the keys option and see if this persists

Can you try to load the plugin last, after all other plugins? If you are using lazy.nvim, try loading the plugin using the keys option and see if this persists

I'm sorry for not getting back to you sooner. I tried to load it last and it works as expected.

Can you be a bit more specific? what did you change? So I can add to the Readme..

Here is my config (using lazy):
return {
    {
        "tzachar/highlight-undo.nvim",
        keys = { { "u" }, { "<C-r>" } },
        opts = {
            duration = 300,
            keymaps = {
                paste = { disabled = true },
                Paste = { disabled = true },
            },
        },
    },
}


LinuxSuRen.HTTPdownloader version 0.0.55

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

hi @ItzLevvie , thanks for helping do the review work. I am wondering if you have any references about this issue.

hi @ItzLevvie , thanks for helping do the review work. I am wondering if you have any references for this issue.

It should be solved now; this was from Microsoft Defender:


Add broken condition

In some scripts, I just want to check that the return code of some command is falsey.  This adds is broken [cmd ...] to allow easy checking for that.

Thank you for your contribution. Your PR looks O.K., except missing description in the README file, could you add it?

On second thought, how it's better than simply ! [cmd]?


🐛 Fix 836 Ensure workload-projector uses Kubestellar locations.edge.kcp.io instead of KCP's locations

Summary
pkg/placeholder/workload-projector.go needs to use Kubestellar edge.kcp.io rather than TMC scheduling.kcp.io. This should have been included in Feature 814's changes, but was overlooked.
Related issue(s)
814
836
Fixes #
836

@MikeSpreitzer re-making and removing a few comments, will ping when done

@MikeSpreitzer I think/hope this should be ok now. I don't quite know what happened with codegen, but it looks like the tests passed now.

@fileppb : I am not sure what you mean by "what happened with codegen".  Perhaps you are referring to https://github.com/openshift-eng/openshift-goimports/issues/16 .

This is good enough to merge.
/lgtm
/approve
Thanks!

fixed #836


expose sort_topologically function

I wanted to use this function in rattler-server but could not (or did I do something wrong?) :)

You should be able to use PackageRecord::sort_topologically


Update versioning in new packages

New packages use CreatePackages.proj instead of the dirs.proj.  This just updates the versioning logic to match what was previously done in master so that these packages will have the same versioning.

Update version of Nerdbank.GitVersioning in our dir.props
Add release branch of xplat for now

Related to #1039
FYI @OmarTawfik

I have launched a build and if the versions are correct I'll publish to MyGet and NuGet.


[SPARK-20543][SPARKR][WIP] skip tests when running on CRAN

What changes were proposed in this pull request?
General rule on skip or not:
skip if

RDD tests
tests could run long or complicated (streaming, hivecontext)
tests on error conditions
tests won't likely change/break

How was this patch tested?
unit tests, R CMD check --as-cran, R CMD check

Test build #76342 has started for PR 17817 at commit fc4965a.

Test build #76342 has finished for PR 17817 at commit fc4965a.

This patch fails R style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76342/
Test FAILed.

Test build #76343 has started for PR 17817 at commit 2c5e267.

Test build #76343 has finished for PR 17817 at commit 2c5e267.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76343/
Test PASSed.

Merged build finished. Test PASSed.

Test build #76346 has started for PR 17817 at commit bd3295a.

Test build #76346 has finished for PR 17817 at commit bd3295a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76346/
Test PASSed.

Skipping 153 tests ON CRAN
Jenkins, all tests: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/76346/console
CRAN: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/76343/console

merged to master/2.2


Fix PyTorch mixin doc

The docs for the PyTorch Hub mixin pointed to the generic one instead of the PyTorch one. This PR fixes that and adds new section for the generic class

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Hmm, the docstrings aren't rendering for the PyTorch mixin for some reason:

Looking at the code for ModelHubMixin, I also noticed it makes reference to PyTorch in the from_pretrained() method:

Instantiate a pretrained PyTorch model from a pre-trained model

I guess that's legacy from the pre-{TF,JAX} days right? Happy to correct that in this PR too if you want me to :)

Thanks @lewtun for bringing this up ! It is indeed a bit messy between ModelHubMixin and PyTorchModelHubMixin. I think a good way to clean this would be:

move the PyTorchModelHubMixin.__init__ docstring to the PyTorchModelHubMixin class docstring itself -> should be rendered by default by doc-builder
Mention in PyTorchModelHubMixin docstring that it is a specific implementation of ModelHubMixin
add all, _save_pretrained and _from_pretrained to  [[autodoc]] ModelHubMixin and remove them from PyTorchModelHubMixin
modify "Instantiate a pretrained PyTorch model from a pre-trained model" to something more generic in ModelHubMixin

What do you think ? And thanks a lot in advance !

The Python 3.10 tests are failing for what appear to be unrelated reasons to this PR. OK to merge once the rest of the CI is green?

The Python 3.10 tests are failing for what appear to be unrelated reasons to this PR. OK to merge once the rest of the CI is green?

Yes yes, you can merge ! CI is broken for this specific test. I realized yesterday but did not have time to fix that yet.


fix: unable to navigate to some screens after entering PIN on iOS

Description
The PIN entry screen is displayed with the native modal presentation style on iOS.
The problem is that in the force backup flow, after the PIN is entered, it navigates to the AccountKeyScreen which is in the same native stack but since that screen isn't itself displayed with the native modal style, it is inserted below the modal.
Though maybe surprising as we'd expect the modal to be dismissed in that case, this is how native iOS navigation behaves with React Navigation.
To prevent similar issues from happening in the future, I've moved all screens that don't need the native modal presentation to MainStack. Navigating to a screen within that stack always closes the top level modal.
Also all screens in the ModalStack now don't need to manually specify the modal presentation style in their navigation options. This way we don't inadvertently add a screen there without the modal style. Avoiding new instances of that bug.
One small thing to note is that RegulatoryTerms and LanguageModal screens now use the native modal presentation style on iOS (with the stacking effect, instead of being full screen), like the PIN screen. Since I haven't moved them to MainStack as I think they belong in the ModalStack.
Test plan
Tested manually. We don't yet have an easy way to test the force backup flow from the e2e test. But maybe we should work on that?
before
https://user-images.githubusercontent.com/57791/235169348-5a145417-d354-443d-9e79-0ec8df70c802.mp4
after
https://user-images.githubusercontent.com/57791/235169389-54992693-5282-4db5-8f5d-95b5550ec41e.mp4
Related issues

Fixes ACT-752

Backwards compatibility
Yes

I did more manual testing with the affected screens. Seems ok so far.
Merging it.


Project Reactor API - Flux and Mono (~spring webflux enabler for aspnet)

Description
maybe could be interesting for Java/Spring webflux developers which desire to migrate to .NET/aspnet, to have an API in C#/F# similar to the one provided by project reactor and spring webflux, meaning Flux and Mono and potentially an integration with aspnetcore making it possible to define "reactive controllers" or reactive middleware endpoints and "reactive infrastructure" (http clients, db etc..)
https://www.infoq.com/articles/reactor-by-example/
https://www.baeldung.com/spring-webflux
maybe this could become useful ideally in some integration scenario with Giraffe or Aspnet in background, providing devs with a Java reactive-like experience?
Reactor types: Flux<T> and Mono<T>
Flux and Mono.
A Flux is the equivalent of an RxJava Observable, capable of emitting 0 or more items, and then optionally either completing or erroring.
A Mono on the other hand can emit at most once. It corresponds to both
Single and
Maybe types on the RxJava side. Thus an asynchronous task that just wants to signal completion can use a Mono.
So i guess a Mono in F# would be an Option where IObservable is a single one
Cheers!

My experience with .NET side is that they are not interested in reactive backpressure as we do it in RxJava/Reactor. They opted for async enumerables and some other technologies (https://reaqtive.net/) instead.
There was a port of Project Reactor to C# that got recently shut down apparently: https://github.com/spring-attic/reactor-core-dotnet . In general, reactive streams is in bad shape on .NET because they never fixed the TCK bugs related to the unit test framework. (https://github.com/reactive-streams/reactive-streams-dotnet/issues/47). Otherwise, such an idea is pretty much DIY.


Discord not working on Franz

Hi! Is discord not working on Franz? Everyone shows up as muted on discord while using Franz.

This repository is only for the Franz client. Please report issues in the dedicated recipe repository.
www.github.com/meetfranz/recipe-discord


Metrics missing 0.3.0

Hi,
Metrics missing .

The screenshot does not show anything relevant for debugging the error. I am assuming that there's some configuration issue preventing the exporter from actually getting the data from your Nextcloud server, in which case nextcloud_up should be 0.

The last build has missed metrics too and doesn't connect to the http://ip:9205/metrics.
nextcloud_auth_errors_total
nextcloud_exporter_info
nextcloud_scrape_errors_total
nextcloud_up

Only these 4 metrics are available.

@UAnton If nextcloud_up == 0 this means that the exporter has trouble connecting to Nextcloud. The *_errors_total counters should roughly show you what the issue is. The exporter also outputs an error message with more details when an error happens.

Closing this because of inactivity. I'm still assuming that this was a configuration issue.


Identify performance bottlenecks

Specific issues:

We have about 20-30 views in the application, and indexing the views can be costly, 2-6 seconds per view.  Is there a strategy to index the views together as the data is written, rather than when the view is called?

Slow update and delete speeds. We're seeing slow speeds (20+ seconds) to delete 200 or so documents.  This is running as a transaction as well.  Is there a strategy to speed up the deletions or updates to the document?

Notes to myself:
In this ticket, we will identify bottlenecks. Based on this result, we will tackle specific issues from next sprint.

Index update performance measurement result  => https://github.com/couchbase/couchbase-lite-java-core/issues/491#issuecomment-79863629

View.updateIndex() performance

With fix of #502,  Test12_IndexView performance test with 10K docs improves from 9sec to 5sec. (Detailed test results => #491)
Fix for #502 is only effective for JSON string that contains ASCII characters. For international languages, we need native Unicode collator. This will be tracked by #504
View.updateIndex() is to update single view. But iOS supports multi-view index update. This ticket will be tracked by #501

In general, current version of CBL Android/Java is faster than when this issue was reported. I will close this.


Requires Double Tap to Play Video in Mobile

To start video, requires double tap in mobile browser,

to initiate iframe and
to start actual video

Also Auto play seems not working as, there is no way to pass mute option.

Hi, that is because YouTube embed doesn't autoplay on mobile, so if you want to force it, you need to use this parameter https://developers.google.com/youtube/player_parameters#playsinline


Keyboard navigation through the left-side tree

This PR adds keyboard navigation functionality to the left-side tree
When focus is in the search box,

Down arrow selects next item, either a leaf node or group header
Up arrow selects previous item, either a leaf node or group header
Ctrl+down expands the group, if collapsed group header is selected
Ctrl+up collapses the group, whether user selected leaf node or group header

Selected item is automatically scrolled into view, if necessary
For example, to get this screenshot, I typed code down ctrl up down down

Did you consider using Left to select the header when on a child and collapse when on a header? And using Right to expand a collapsed header?

Ah, I see, makes sense.

Merged into feature/monaco branch in ddc76f19e49249511bdf22480681fa9932dd94f0


vue-loader link on newly scaffolded project 404s

Version
3.0.0-beta.6
Reproduction link
https://codesandbox.io/s/vue
Steps to reproduce

Scaffold a new project with vue create hello-world
yarn serve
Click the vue-loader link

What is expected?
It should open a correct url (https://vue-loader.vuejs.org/ ?)
What is actually happening?
It links to https://vue-loader.vuejs.org/en which 404s

Fixed in #1229


JES Job Execution: Failed requests on each execution attempt

There seem to be two failed requests on each job execution attempt:

One for uploading tables as files
One for posting the actual job

This is likely CSRF related and should be easily fixed as we're handling it okay in the other approaches.

This means it does not use token that is stored, instead it is retrying every request with goal of capturing it?


Create button in modal

Hi.
Just wondering if you'd be open to a PR that added control over the display and href of a "Create" button within the instance-selection modal? Off the top of my head, I'm thinking of something like
def create_url(request):
    return '...'

@register_model_chooser(create_url=create_url)
class Foo(models.Model):
    # ...

I'm totally open to any suggestions you might have around the API, etc.
We'll need this functionality on a project, so if you're open to it, I can justify spending another hour or two to make it less hacky and send a PR. No worries, if you're reluctant or not enthused by the idea.
Cheers,
Mark.

Small aside, my implementation suggestion was made under the assumption that the modal would have a "Create" button, but it's entirely feasible that it might appear elsewhere within the UI. If so, I'd imagine that the wiring may occur at the field definition within the panel declaration.

Hey I know I'm entirely too late, I just stumbled across your instance-selector which brought me back here. Looks like a good project!
If anyone else is looking into this, I'm definitely open to the idea of a create new link, they can usually be inferred if modeladmin is being used too which makes it nice and easy to generate


Cannot repost, ad file...1525673021.xml does not exist

Full error:
Cannot repost, ad file C:\Users\Admin PC\kijiji-manager\instance\user\86515264\1525673021.xml does not exist
I don't have a "user" folder in my instance folder: https://i.imgur.com/RaLo8QR.png
I'm able to delete ads without issue.
When I try to post a new ad it gives me 500 internal server error in the browser, in Git Bash it gives me a long list of errors:
https://pastebin.com/gkpcpReg

When kijiji-manager tried to post the image data from the ad, the local server timed out waiting for a response. This is also why it did not create the ad file or user directory, because it got an exception before that step.
I can try increasing the timeout period so that the local server will wait longer for a response from the remote Kijiji server.

I wonder why the image data isn't transferring. Could it be a folder permissions issue or something? My internet and computer are quite fast. Should I manually edit the timeout period or do I want to delete the kijiji master file then re-clone?

Are you attempting to repost an ad that was originally created by kijiji-manager? If not, then reposting will not work because kijiji-manager does not have the ad file saved, which is usually created when you first post an ad using the web interface.

Yes, I've been trying to re-post ads that I created manually through kijiji a while back.
Originally I got 500 server error but I tried again and was able to post a new ad! I'm going to keep playing around with it. If I run into any more issues I'll update you.
Appreciate your help!

https://pastebin.com/bJxr09Cg
I tried to post 3 ads:

car for sale - worked perfectly

kids toys - got 500 internal server error

kids toys - got 500 internal server error

#2 and #3 gave a server error but actually ended up posting on kijiji successfully
I saved the error logs: https://pastebin.com/bJxr09Cg

I've also forced utf-8 encoding when reading and writing the ad file, so now non-ascii characters are also supported in ad files.

Awesome, thanks!
This bot is a huge time saver. A "repost all" feature would be amazing, not sure this is the right place to request that.
Regardless thanks again for your help. Everything is working now!

A "repost all" feature would be amazing, not sure this is the right place to request that.

Implemented in commit cebf216f


"Hide" Mapillary markers at low zoom levels

See mapillary/mapillary_issues/issues/496

As of 2729241 / #2730 this is working really well now.
iD will download all the Mapillary data it can, and will selectively show more images as you zoom in and the viewport is less cluttered.  You'll at least be able to see the data coverage out to z12.


Footer issue

Hey @arnab2001 , I would like to open this issue under JWOC. Here links are appearing two times instead of one

ok go ahead


Send message async

I am wondering how can I send back  a message from an async call.
ejem
controller.hears(['balance'], 'direct_message', function(bot, message){
    var url = baseUrl + '/procesess';
    requestify.get(url, options).then(function(response) {
      var data = JSON.parse(response.body);
      bot.reply('Your new balance for account *' + account + '* is: *$1.300.000.00*'); //This doesn't get sent
    }, function(err){
      console.log(err);
    });
});

How should we handle something like that?

@juanpasolano You have to pass in the message as the first argument to bot.reply like:
bot.reply(message, 'Your new balance for...')

should work after you make that change!

Thank you very much!


Rename 'view' attr for directive

It would be nice to rename "view" attribute since it causes the issues when man use it with angular ui-router.
Error: $compile:multidir
Multiple Directive Resource Contention

That's odd, as the ui-router namespaces their directives with the ui- prefix. I will have a play with it tonight and see if I can find a fix.

I can't seem to reproduce the error you're experiencing. Any chance you could create a (plunkr)[http://plnkr.co/] or something similar to show me the error you're experiencing.

Ok. I will create a (plunkr) when have a minute.

Thanks!

It's definitely working with the ui-router, here's an example with the ui.router module loaded it it's working fine. I'm 99% sure it's a bug your end, but if you're still having problems and can give me a plunker then I'll happily assist.


Typo two # instead of one # mantle produces error

https://github.com/ozwaldorf/carburetor/blame/eb561878104a0ec51a0df0b7e4f478e27c396559/src/nvim.lua#L64
I believe this is a typo, produces error when trying to use mantle = "##090b0c", I think it should be with one # removed. Thank you.

Thanks!