Troubleshoot a record that won't update in Solr

This item (https://geo.btaa.org/catalog/9f959750-994e-0134-2096-0050569601ca-a) has the wrong language code. However, editing it in GEOMG does not result in changes in the Geoportal. This behavior is not being observed by other records so far.
to check:

[x] does this record have weird coordinates?
- [ ] is there missing required metadata?
- [ ] is the IIIF link throwing errors?

I deleted the Bounding Box value for this record and it immediately updated in Solr. The value was the default of -180,-90,180,90. I tested other records that have this value and they also will not update. I can edit them in GEOMG, but the changes are not pushed to Solr.
These records previously were blank in the Bounding Box field. When we reindexed for the multiple geometry work, we must have added -180,-90,180,90 as a default value.  However, Solr must not like this calculated value POLYGON((-180 90, 180 90, 180 -90, -180 -90, -180 90)) in the new geometry field. Options:

batch replace -180,-90,180,90 to something like -179.9,-89.9,179.9,89.9
OR
remove -180,-90,180,90 altogether

I should be able to do all of this via exports & imports via GEOMG.

This Lucene issue describes why it is ultimately a bad polygon: https://github.com/apache/lucene/issues/9568
We don't see these kinds of errors in GEOMG because of how Kithe/Traject index documents into Solr via batches and with configuration settings to skip errors to continue processing large batches. More info here:
https://github.com/traject/traject/issues/221
We could take a couple directions here:

Write a database migration to remove these Bounding Boxes from the database
Update our Solr index mapping to remove these Bounding Boxes from Solr -- essentially, not send them if they're the entire world.

Thoughts?

Fixing these retroactively shouldn't be too hard. However, we will likely get batches of metadata in the future that contain this value. Would option 2 be a persistent fix? That would be ideal.

https://geomg.lib.umn.edu/documents/p16022coll230:605

Tested these options on IDs p16022coll230:605 and 05d-03 and all these seem to be working;

[ ] deleted Bounding Box and Geometry values to leave empty
[ ] manually added-180,-90,180,90 to BBox; -> ENVELOPE(-180,180,90,-90) is generated by the app
[ ] manually added ENVELOPE(-180,180,90,-90) to Geometry, left BBox blank
[ ] manually added POLYGON((-180 90, 180 90, 180 -90, -180 -90, -180 90)) to Geometry, received the helpful error message:

Locn geometry Invalid polygon: all points are coplanar input, Solr will not index

Closing via v0.15.1


SW-5290  Console - Participant Project Species view

TODO: Additional Species Data is not added to the view yet

I merged in my branch that was based on this, I'll fix up the merge conflicts and get this merged in!


Reset button doesn't reset everything

For instance, the tree type is saved from the previous session.

And leaf dots...

This should be fixed (cd1a13f236e9114011b60a2be6ffc6196fbc8033).  @seanmcallister Could you close the issue if it is working for you now?

The issue from before was fixed.


Add EmbeddedOptions to weaviate.init

Add EmbeddedOptions to weaviate.init

Oh actually I see this is in the list of deprs


Build post process fails on ILCPP

With latest release Unity Post Process build fails on finding the correct path to the project.
Looks like file extension isnt set correctly for IL2CPP.
In previous releases XBoxLivePostProcessing.cs contained this. now its removed
        string projectFile = null;
        if (scriptingBackend == ScriptingImplementation.WinRTDotNET)
        {
            projectFile = Path.Combine(projectFolder, Application.productName + ".csproj");
        }
        else if (scriptingBackend == ScriptingImplementation.IL2CPP)
        {
            projectFile = Path.Combine(projectFolder, Application.productName + ".vcxproj");
        }

Which release are you using?  This check (and support for il2cpp) was only added in the 1802 preview release and I don't think it has been removed.

Hi @GregLukosek Were you able to resolve this issue? Please let us know if you still need assistance. Thanks!

Sorry for late reply. Imported prerelease version 1802 and it’s working correctly now with IL2CPP and .net 4.6
My suggestion would be to mark this support a bit better In documentation. Other than that excellent work on the Unity plugin. Very easy to integrate.


Errors in blas-using code with gcc-6, need -flax-vector-conversions

I get errors in blas-using code (e.g. SOL) when compiling with gcc-6.1.0 on Homebrew, e.g.:
In file included from /Users/sinclairs/.local/Cellar/gcc/6.1.0/lib/gcc/6/gcc/x86_64-apple-darwin15.2.0/6.1.0/include/xmmintrin.h:1249:0,
                 from /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Headers/vecLibTypes.h:91,
                 from /System/Library/Frameworks/Accelerate.framework/Headers/../Frameworks/vecLib.framework/Headers/vecLib.h:21,
                 from /System/Library/Frameworks/Accelerate.framework/Headers/Accelerate.h:20,
                 from /Users/sinclairs/projects/siconos/externals/blas_lapack/SiconosBlas.h:44,
                 from /Users/sinclairs/projects/siconos/externals/SOL/lumod-c/lumod_dense.c:8:
/Users/sinclairs/.local/Cellar/gcc/6.1.0/lib/gcc/6/gcc/x86_64-apple-darwin15.2.0/6.1.0/include/emmintrin.h:1262:1: note: expected '__m128i {aka __vector(2) long long int}' but argument is of type 'vUInt32 {aka __vector(4) unsigned int}'
 _mm_srl_epi64 (__m128i __A, __m128i __B)
 ^~~~~~~~~~~~~
In file included from /System/Library/Frameworks/Accelerate.framework/Headers/Accelerate.h:20:0,
                 from /Users/sinclairs/projects/siconos/externals/blas_lapack/SiconosBlas.h:44,
                 from /Users/sinclairs/projects/siconos/externals/SOL/lumod-c/lumod_dense.c:8:
/System/Library/Frameworks/Accelerate.framework/Headers/../Frameworks/vecLib.framework/Headers/vecLib.h: At top level:
/System/Library/Frameworks/Accelerate.framework/Headers/../Frameworks/vecLib.framework/Headers/vecLib.h:26:0: warning: subframework include vecLib/vBigNum.h conflicts with framework include
 #endif

The solution seems to be to tell GCC to allow such type conversions by setting CMAKE_C_FLAGS=-flax-vector-conversions

(Note, that solves the compilation error, but doesn't get rid of the warnings about "subframework include conflicts"..)

This is a known issue with the latest BLAS-Accelerate on Darwin. I believe that even with gcc 4.9 it does not work without adding the extra flag.
For me the fix is to use clang on Darwin. I'm not sure we want to explicitly support compiling with gcc on recent version of OS X.

Fair enough, in any case it's just one flag to add if we change our minds.  In the meantime it is documented here.


update TAG leads and TOC Liaisons

Alois stepped down as Chair
Lian was voted in and confirmed by TOC
Add Lin Sun as TOC Liaison
Add Alois as Emeritus Lead

Please also update:

https://github.com/cncf/people/blob/main/config.yaml

https://github.com/cncf/toc/blob/main/tags/cncf-tags.md#chairs

leadership is also listed here: https://github.com/cncf/toc/blob/main/tags/tag-charters/app-delivery.md#operations

You might consider following the guide lines of the  template document  h
With the planned updates to TAG charter and README's we aim to have it in less places.


subtitle using low latency canvas instead of DOM

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.
I been notice that on chrome, subtitle don't work as expected, I manually sync subtitle with sounding. However when playing, the behavior are undeterministic - sometimes it work perfectly, some other time it get delay 0.5 or as much as 1s. (tweaking around with https://github.com/google/shaka-player/blob/master/lib/text/ui_text_displayer.js#L69 does not help).
This behavior do not happen on Firefox or VLC or MPV (it does on Edge - I suspect all chromium based will get this).
Describe the solution you'd like
For something as sensitive as sound and subtitle, I suggest we use low latency canvas https://developers.google.com/web/updates/2019/05/desynchronized
I'm already working on custom build with custom dom-util module and many thing - But I'll try to make it work first.
Additional context
touch https://github.com/google/shaka-player/issues/3188

A separate text displayer plugin for this would be possible. It'd be a lot of work, though. I don't think there's any native way to draw DOM elements in a canvas (their example of the video playing in a canvas is actually just drawing copying the actual video element into the canvas every 20s), so the text displayer plugin would need to have its own rendering logic.
I'm also a bit concerned by this section:

A translucent canvas element, one where alpha is set to true, can still be desynchronized, but it must not have any other DOM elements above it.

A text displayer plugin that's based on a canvas is going to have to have a transparent background, so that the video element and the UI and such can go beneath it. In our UI, the text container does sit on top of every other DOM element inside the video container, so it's not going to be occluded by anything else. However, for developers using Shaka Player, that could easily be a source of confusing problems.

In our UI, the text container does sit on top of every other DOM element inside the video container, so it's not going to be occluded by anything else.

Just realize we have .shaka-controls-container with z-index: 1, that is on top of everything
If I change .shaka-text-container to z-index: 2, I can even select the subtitle text :laughing:

In our UI, the text container does sit on top of every other DOM element inside the video container, so it's not going to be occluded by anything else.

Just realize we have .shaka-controls-container with z-index: 1, that is on top of everything
If I change .shaka-text-container to z-index: 2, I can even select the subtitle text 😆

Ah, that's a good point. I had forgotten about z-index.
I tried testing this in our UI, to see what exactly is expected to go wrong if another DOM element is on top of the canvas. Just a little barebones example, a canvas element that copies the video state into a box in the corner of the video. But it turns out that low latency canvas isn't supported in Chrome on Mac yet; ChromeOS and Windows only at the moment, according to MDN.

quick update, I manage to get it working - with or without desynchronized to my eye and ear, sub and sound perfectly sync with each other, this suggest we don't have to use desynchronized and could avoid the whole z-index issue.

It work now :smile: , will start compose pull request

I don't think this should be merged into the repo.  This is a complex feature that adds little difference.  I would want to double check that this is actually caused by browser latency and can't be fixed in the normal text displayer.
First, check that the times in the Cue object match the expected times.  You check the append(cues) method on the displayer to check the cue.startTime value to see if it matches what you expect.  Your encoder could be adjusting the times slightly or we could be parsing it incorrectly.
If the times are correctly, you should check the delay between when the video time changes and the cue appears.  You can use the timeupdate event to accurately get when the video time updates.  You can record your screen to see how long it takes.
video.addEventListener('timeupdate', () => {
  if (video.currentTime >= 4.56) {  // Use the value of cue.startTime here
    console.log('Hit');
    video.pause();
  }
});

You can also update the updatePeriod you linked to to reduce the delay when updating the cues.  Setting to 0.001 would make the delay non-existent.
I'd also suggest adding logs to updateCaptions_ to see when we update the cues.  You could also check how long the method takes to see if it takes a long time and causing latency.  You can use Date.now() to get the millisecond current time to measure how long the method takes.

@TheModMaker , I done most of that, let me explain below and I can prove it to you:

I console.log the cue.payload text and see if DOM text appear on the screen relative close to console.log, the result is - sometime it is, sometime it is not - the most extreme case is it getting delayed almost a second (or not appear at all - because it already pass time it should) - I dig into css too to see if we have any transition effect, but setting to 0ms to all have no effect (I'm not very good with CSS - I check using computed tab on transition.
setting updatePeriod doesn't work either - that lead me to believe that is a chrome bug - because even leave 0.25, on firefox it work correctly.
I don't have a reliable way to measure the delay, however I can do this, I will write a canvas_feat_ui_text_displayer.js, and display both text at the same time using the same config, and video clip it - you will get that.

So...This is the code https://gist.github.com/kocoten1992/3ce134d7dd977e623193854e9d24d953, but I've figure out the root core reason of this - and I've fix it.

This surprisingly is caused by bad content, when audio and video out-of-sync - somehow chrome internal bug and causing subtitle out of sync with audio too.
Timeline of event:

video and audio encode (mistakenly encode audio without aresample=async=1000)
notice strange behavior on chrome subtitle
report bug
test out canvas/svg (and canvas are not effect by bad content)
notice after watching for a while, audio mis-sync with video
reencode audio with aresample=async=1000 + generate new mpd
write canvas_feat_ui_text_displayer.js
notice the problem is gone after fix audio encoding

The fix is to apply https://github.com/google/shaka-player/issues/2810#issuecomment-695169959
I'm sorry for wasting everyone time on this :sob:

Thank you for updating us on the outcome!  Not a waste of our time at all, and we have certainly learned something.  Also, I really appreciate your taste in movies.  (Ravenclaw for life.)

Hello @joeyparrish  , @TheModMaker
When I thought it was cause by audio mis-sync, I was mistaken again :(!
Because when I switch back to default ui_text_displayer.js, the problem is still there.
Then I think why the hell canvas_feat_ui_text_displayer.js cannot caught that, I tinker with it for a whole day and conclude that - it because the position of canvas relative to text div. If the position of canvas is on top of text div, chrome get it right, otherwise, please check my video.
Honestly, without this video, it start sound like I'm seeing thing. (I'm not recordind sound - it irrelevant - however the big white text in canvas 100% display on point).
So to fix this issue it relative easy, just have a canvas on top of text div (even it does nothing), I would like to hear your opinion first!
https://user-images.githubusercontent.com/7130705/120714196-1a272b80-c4ed-11eb-88bf-671ab65fe06c.mp4

I'll reopen, but I'm still not entirely convinced this is the problem.  Can you reproduce with one of our sample assets or can you send us the asset you are testing with?  You can send it privately to<EMAIL_ADDRESS>if you can't share it publicly.
How long does the updateCaptions_ method take?  Can you run Chrome profiler and see what is happening?  If this is DOM layout delay, I'd expect to see a lot of time spend doing DOM layout.

I may have reproduced something similar.  I noticed that sometimes there is a delay when the cue is visible.  When this happens, I noticed that the cue was being added multiple times.  This happens because the ResizeObserver is firing multiple times and we add and remove the cue multiple times.  Try commenting out the following line to see if it helps:
https://github.com/google/shaka-player/blob/e1b3debb331528135dbca382e161fe269efc07d4/lib/text/ui_text_displayer.js#L90

Thanks, we are getting somewhere!!
Comment out ResizeObserver does not help (put a blank canvas on top text div does help though), like:
// in constructor ui_text_displayer.js

/** @type {HTMLCanvasElement} */
this.canvasContainer_ = shaka.util.Dom.createHTMLCanvasElement();
this.canvasContainer_.classList.add('shaka-text-canvas-container');

this.videoContainer_.appendChild(this.canvasContainer_); // this need to be on top of text div

.shaka-text-canvas-container {
    position: absolute;
    width: 100%;
    height: 100%;
}

It's possible that this has to do with how and when the browser chooses to update or composite layers.  If the addition of a canvas layer on top of the text improves sync, there may be a more straightforward solution.  (I recall having memory issues in a web-based project many years ago that were solved by changing CSS to avoid the creation of layers in the compositor.)

A PR for adding a canvas on top?  That feels hacky to me, and doesn't address the root cause, whatever that might be.  We would probably not merge that.
A PR for some CSS-based or JS-based solution to fix layout timing?  Yes, that would be great.


requests.exceptions.TooManyRedirects: Exceeded 30 redirects

./add_mirror.sh --git --project-name Mirror/project_name --mirror http://gitlab.example.com/Group/project

Resolving gitlab remote.
Traceback (most recent call last):
  File "lib/manage_gitlab_project.py", line 131, in <module>
    found_group = find_group(name=gitlab_namespace)
  File "lib/manage_gitlab_project.py", line 53, in find_group
    groups = git.groups.list()
  File "/usr/lib/python2.7/dist-packages/gitlab/exceptions.py", line 246, in wrapped_f
    return f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/gitlab/mixins.py", line 133, in list
    obj = self.gitlab.http_list(path, **data)
  File "/usr/lib/python2.7/dist-packages/gitlab/__init__.py", line 573, in http_list
    **kwargs))
  File "/usr/lib/python2.7/dist-packages/gitlab/__init__.py", line 682, in __init__
    self._query(url, query_data, **kwargs)
  File "/usr/lib/python2.7/dist-packages/gitlab/__init__.py", line 687, in _query
    **kwargs)
  File "/usr/lib/python2.7/dist-packages/gitlab/__init__.py", line 481, in http_request
    result = self.session.send(prepped, timeout=timeout, **settings)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 668, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 165, in resolve_redirects
    raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp)
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
There was an unknown issue with manage_gitlab_project.py

Can anyone help with this ?..
I don't know what's the issue...

Sounds like a frontend misconfiguration on your GitLab host.  30 redirects is a lot and is likely an infinite loop.


chore: v0.0.5

This PR is a preparation for v0.0.5 (updating docs, diagrams, fixing typos)

@jessicaschilling mind taking a quick look at docs/descriptions that changed since v0.0.4?
Diff is at: https://github.com/ipfs/pinning-services-api-spec/compare/v0.0.4...cleanup-before-v0.0.5


Save local message

Hello. Does RainLoop support pushing mail to the client server (where RainLoop is installed) to free up space on the mail server? For example how it is done in Thunderbird.

Hello,
I think it is better that rainloop does not save the mails locally. Imagine that the users using rainloop decide to do it, the consequence is that the disk partition of the server could very quickly be full.

When the mail server has a very small user quota, then saving messages locally would be a much better solution than deleting mail from the server permanently. In addition, you can always make an option: on / off saving letters locally, as well as a quota of the local storage of letters for 1 user.
It also all depends on how many users are served by 1 mail client, maybe 100 GB will be used up in 5 years.


[FEATURE] multi tenant dynamic flow

Describe the feature you'd like
Create one bot who will support multi tenant customers.
Additional context
I'd like to have one flow/bot which is similar to various customers which controlled by parameters.
For example, assuming I have sql query the only thing I'd like to change is a provided customer_id parameter. So let's say this bot is embedded in multi pages, each page differ by its provided params which will guide the bot to behave accordingly.
@HenryHengZJ how may I achieve such capability instead of duplicating that?
Thanks

@niztal You could accomplish that using overrideConfig. You'd have crossover issues. For example, what if accidentally place the customer_id 12345 on the website that's supposed to have customerId of 56789? But overrideConfig will allow you to pass vars that you can then ingest in the flow.

Hi @niztal, you want to achieve this using API or Embed Chat?

@chungyau97 via embed chat would be fine for me.
@Jaredude can you elaborate further about the override config, maybe provide some simple example? Not sure I'm following you..
Thanks

@niztal Using the embedded chat, you'd set your variable in the chatflowConfig < link to docs.
You would then use that variable in your flow to adjust your sql query accordingly

@Jaredude thank you so much
Can you please provide a very basic example how to provide dynamic param (e.g. 'customer_id') via this chatflowconfig entity?
It is not so clear from the documentation you mentioned above.
Thanks

This is an example using Postman and overrideConfig. chatflowConfig for the embed is a straight pass through to overrideConfig, so the concept would work the same with an embed.

It's just passing an object in with properties. You'd then just need to use $vars.customer_id within a node that has access to $vars (custom tool, custom js, if/then) and use it in your query.

@Jaredude awesome 😎
One last question, how about the log? Would I be able to differ that somehow via the provided param (e.g. customer_id)?

@Jaredude another question please,
How about Pinecone's namespace? Do you think it's doable to send an overrideConfig param which will override the Pinecone's namespace? For example:
"overrideConfig": {
...
"vars": {"customer_id": "test", "pinecone_ns": "test_ns"}
}
and over the pinecone's node I will put over the namespace field: $vars.pinecone_ns
Do you find it possible?
Thanks

@Jaredude awesome 😎
One last question, how about the log? Would I be able to differ that somehow via the provided param (e.g. customer_id)?

I'm not sure what you mean by log

I mean chat_messages table.
Assuming I have one bot which serves multiple customers, I'd like to differ those chat-messages by some unique ID
@Jaredude

@Jaredude another question please,
How about Pinecone's namespace? Do you think it's doable to send an overrideConfig param which will override the Pinecone's namespace? For example:
"overrideConfig": {
... "vars": {"customer_id": "test", "pinecone_ns": "test_ns"} }
and over the pinecone's node I will put over the namespace field: $vars.pinecone_ns
Do you find it possible?
Thanks

AFAIK that would not be possible given the current structure of the Pinecone node. The pinecone node would need to be modified to allow for replacement of the namespace via a $var value... or maybe a simple js formula that would allow for ternary like $vars.pinecone_namespace? $vars.pinecone_namespace: 'default_namespace'

I mean chat_messages table.
Assuming I have one bot which serves multiple customers, I'd like to differ those chat-messages by some unique ID
@Jaredude

@niztal I see what you mean... While the sessionId is unique, you want to have a field in the chat history that would allow for grouping so that you could see all chat history for a given tenant. That's an interesting use case. The chat history logging is currently a fixed schema. The chat memory nodes could be refactored to allow for a custom logging schema (defaulting to the existing schema for those who want to just use the existing loggin schema). Each node would need to be modified to support custom logging, and there would need to be failsafes to ensure that the schema meets the minimum (default) requirements.
Another use case I could see for custom logging would be for storing some sort of value based on the message content. For example, you have a bot that performs a database search for the user and you store a hash of that search in your database and have searchId returned by the bot. The custom logger could parse the bot response and include the searchId value in the custom log entry so that you don't have to parse the message every time to find the searchId values and can quickly reference them later when querying the DB for some sort of reactivation campaign. Another use case for the human input would be using a custom logger for real-time intent detection and logging that intent when the user sends a new message. This way, you can then easily use it for reinforcement learning (ie. the intent algorithm at time of message detected A and now the algorithm is better and detected X instead). Or even just basic input classification: e.g. The bot asks the user for their address and when they respond, you detect that it's an address and set a flag in the custom logger so that you can easily identify contact information.
@HenryHengZJ Is anything on the roadmap for custom logging for chat history? If not, are you open to contributions for that as a new feature?

@Jaredude that's a very interesting feature you're talking about.
I wonder if for the bare minimum we would just store the overrideConfig json as part of additional new column we'll add for the chat_messages table?
This way anyone could query anything he would per his own dynamic schema and correct me if I'm wrong it may cover some/most of your cases above.
If you find it valuable I can do this feature.

@niztal storing the overrideConfig json in a new field for chat history would handle the original use case you mentioned. For the custom logging, it wouldn't cover any of the scenarios I mentioned, but the two are not mutually exclusive. A custom logger would extend any default schema. If the default schema changed to add an nullable field for overrideConfig, a custom logger would just be required to expand on the default schema. In other words, a complex custom logger feature is not dependent on an overrideConfig column and the overrideConfig column is not dependent on the custom logger.

@Jaredude appreciate your comment, so I think I'll work on storing the overrideConfig and the customer logger would be a different feature.

@Jaredude appreciate your comment, so I think I'll work on storing the overrideConfig and the customer logger would be a different feature.

@Jaredude https://github.com/FlowiseAI/Flowise/pull/1709 please review

This issue has been solved via PR https://github.com/FlowiseAI/FlowiseChatEmbed/pull/129


package.json should not cache resolver options

Need to continue the work on https://github.com/oxc-project/oxc-resolver/pull/134, all other fields need to be dynamically retrieved instead of cached.
The horror of dynamic values :rage:

Only thing left:
https://github.com/oxc-project/oxc-resolver/blob/d345d3d1db6a4c4ac37ab6b6d73f23a2940e5086/src/cache.rs#L291

Most programs have either symlinks turn on or off for the entirety of the program execution.
Close as resolved.


SearchResults using ViewComponents

Hi
I tried using this demo code  in a ViewComponent and it is not returning me any result.

I tried using the exact same code in a View, injecting the FullTextSearchHelper and it works well.

Anything I am doing wrong?
Poornima

Hi Poornima, thanks for trying out my package :)
The second parameter of _searchService.Search() is for specifying which page of the search results you want, but you've put in the id of a published content. That could be why, although I'm not really sure what happens if you put in a pagenumber, that won't exist.
Also, the way you get you search terms from the querystring differs. Not sure if that means anything :)

Hi Soren,
That might be why! Let me see. I mistook the demo code completely!
I love this package. I have used it in v7.
Poornima

Yup! That was it! I mistook the current page to be the page in Umbraco.  No two ways about it :-)


[BUG] Generator/Coroutine code in shared ABI may not be reproducible

Describe the bug
I'm not completely sure that this is a real bug, but: bits of the coroutine code depend on the macros __Pyx_AsyncGen_USED, __Pyx_Coroutine_USED and __Pyx_Generator_USED. This generator code is put into the shared ABI module. Therefore, it seems to me like the shared ABI module generated by a Cython module where these these macros is defined will not be the same as one defined where they aren't defined.
They mostly look like they're for "known type shortcuts" so possibly it doesn't matter and the code will still work, but it struck me as a slightly dodgy on first look.
Environment (please complete the following information):

Cython version: current master branch

I think I've convinced myself that this is a non-issue and that the copy of the functions attached to each individual type will always have the right checks


Centering the logo once more

The removal of header.lml's minimise/close buttons in 56ba529 resulted in the title going all wonky. Should you wish for this to be fixed, that's what this pull request does. At least, until the buttons get added back again next year.
Haven't updated the README because I don't have a C: drive.

Looks like it does what it says on the tin. Merging!


Paid games

This can only remove free games right?

No, it can remove any game from the account.

No, it can remove any game from the account.

Thank you :) .


Do not print file names when in the quiet mode

The current help for the --quiet option says that it enables "extra
quiet output, only errors are outputted".  However, isort still prints
Fixing spam/eggs.py messages to stdout.

Codecov Report

Merging #884 into develop will increase coverage by 0.19%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #884      +/-   ##
===========================================
+ Coverage    88.65%   88.85%   +0.19%
===========================================
  Files            8        8
  Lines         2319     2333      +14
  Branches       414      417       +3
===========================================
+ Hits          2056     2073      +17
+ Misses         176      175       -1
+ Partials        87       85       -2

Looks great, thank you!


Allow Categories to Automatically Add Manga/Doujins based on tags from the sources.

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version 1.7.0.
[X] I will fill out all of the requested information in this form.

Describe your suggested feature
Example:
When In Category Options click edit categories, bringing you to a list of your custom categories.
While in this list you would select one of your custom categories leading you to a list of your extensions.
After selecting an extension you would be able to choose a tag that the extension uses (ie. Drama), which would then add any manga/doujin with that matching tag to the your custom categories, in this case, drama.
How I think it would play out in settings:

Navigate to "Categories" in "Library Settings"
Click "Edit Categories"
User Custom Categories displays, click the desired category.
Select an extension.
Input or choose a tag that the selected extension uses (ie. Drama)
After saving, the categories should automatically place items from the desired extension with matching tags under the desired category.

Other details
No response

I believe this could piggyback off of the
"tag sorting" feature somehow.


Code improvements in SQLServerDataTable > 'internalAddRow()'

Fixes issue #531
Code improvements done to improve readability and performance.

Codecov Report

Merging #538 into dev will decrease coverage by 0.02%.
The diff coverage is 55.55%.

@@             Coverage Diff              @@
##                dev     #538      +/-   ##
============================================
- Coverage     46.68%   46.66%   -0.03%
+ Complexity     2228     2224       -4
============================================
  Files           108      108
  Lines         25308    25304       -4
  Branches       4175     4167       -8
============================================
- Hits          11815    11807       -8
- Misses        11463    11471       +8
+ Partials       2030     2026       -4

Flag
Coverage Δ
Complexity Δ

#JDBC41
46.49% <55.55%> (+0.04%)
2213 <16> (ø)
:arrow_down:

#JDBC42
46.52% <55.55%> (-0.06%)
2219 <16> (-5)

Impacted Files
Coverage Δ
Complexity Δ

...m/microsoft/sqlserver/jdbc/SQLServerDataTable.java
64.75% <55.55%> (+6.02%)
24 <16> (+1)
:arrow_up:

...om/microsoft/sqlserver/jdbc/SimpleInputStream.java
51.11% <0%> (-1.49%)
11% <0%> (-1%)

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
46.06% <0%> (-1.13%)
17% <0%> (+1%)

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
32.65% <0%> (-0.49%)
240% <0%> (-5%)

...rc/main/java/com/microsoft/sqlserver/jdbc/dtv.java
63.05% <0%> (-0.19%)
0% <0%> (ø)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
53.79% <0%> (-0.07%)
0% <0%> (ø)

...om/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java
52.64% <0%> (+0.12%)
239% <0%> (-1%)
:arrow_down:

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
42.42% <0%> (+0.21%)
46% <0%> (ø)
:arrow_down:

...n/java/com/microsoft/sqlserver/jdbc/Parameter.java
62.44% <0%> (+0.42%)
63% <0%> (ø)
:arrow_down:

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
61.19% <0%> (+0.44%)
88% <0%> (+1%)
:arrow_up:

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 5c75147...4fd2ed9. Read the comment docs.

Pretty much exactly what I was thinking for the linked issue.

Fix added for #539 - Support for Bit values (1,0) added for Boolean datatype in TVP.

I think this introduces regressions, see my comment on https://github.com/Microsoft/mssql-jdbc/issues/539

I think this would benefit from some more tests, perhaps similar to the examples I gave on #539.
As for the implementation, something like this is what I had in mind:
    private static long coerceToLong(Object val, String fieldTypeName) {
        if (val instanceof Byte) {
            return ((Byte) val).longValue();
        } else if (val instanceof Short) {
            return ((Short)val).longValue();
        } else if (val instanceof Integer) {
            return ((Integer)val).longValue();
        } else if (val instanceof Long) {
            return (Long) val;
        } else if (val instanceof BigDecimal) {
            return ((BigDecimal)val).longValueExact();
        } else if (val instanceof BigInteger) {
            return ((BigInteger)val).longValueExact();
        } else if (val instanceof Float || val instanceof Double) {
            throw new IllegalArgumentException(String.format("%s fields cannot be set with floating point numbers",
                    fieldTypeName));
        } else {
            throw new IllegalArgumentException(String.format("%s fields cannot be set with object %s of type %s",
                    fieldTypeName, val, val.getClass().getName()));
        }
    }

    private static boolean coerceToBoolean(Object val, String fieldTypeName) {
        long l = coerceToLong(val, fieldTypeName);
        if (l == 0) {
            return false;
        } else if (l == 1) {
            return true;
        } else {
            throw new IllegalArgumentException(String.format("Cannot coerce value %s of type %s to %s", val,
                    val.getClass().getName(), fieldTypeName));
        }
    }

    private static short coerceToShort(Object val, String fieldTypeName) {
        Long l = coerceToLong(val, fieldTypeName);
        if (l.shortValue() == l) {
            return l.shortValue();
        } else {
            throw new IllegalArgumentException(String.format("Cannot coerce value %s of type %s to %s", val,
                    val.getClass().getName(), fieldTypeName));
        }
    }

    private static int coerceToInt(Object val, String fieldTypeName) {
        Long l = coerceToLong(val, fieldTypeName);
        if (l.intValue() == l) {
            return l.intValue();
        } else {
            throw new IllegalArgumentException(String.format("Cannot coerce value %s of type %s to %s", val,
                    val.getClass().getName(), fieldTypeName));
        }
    }

And likewise for other types. Then call these from the jdbcType switch, eg:
switch (jdbcType) {
  [ ... ]
  case BIT:
    rowValues[pair.getKey()] = coerceToBoolean(val, "BIT");
    break;
  [ ... ]
  case SMALLINT:
    rowValues[pair.getKey()] = coerceToShort(val, "SMALLINT");
    break;
  case TINYINT:
    rowValues[pair.getKey()] = coerceToShort(val, "TINYINT");
    break;
}

As a disclaimer I haven't tested this.

Hi @alexnixon Thanks for your suggestions above. I agree to check for object instance for specific types for casting, but with this code, there are 2 downsides:

Support for String datatype will be gone for setting all numeric types. Is that intended?
(Will be a breaking change for support to String values in TVP)
If not, I would like to add another layer of conversion from String values to support String inputs.

There will be an extra data conversion to long and then to desired type again (for else cases) - can anything be done to prevent that?
(Not a major impact, just an observation)

Thanks for the reply @cheenamalhotra
Indeed it would break support for strings. If I was designing from scratch I would omit it, but I understand you might want to keep that for backwards compatibility. So I guess that's a choice for the project maintainer (which might be you?).
But if it is to be included I would still argue for being strict, i.e. ensure it throws an exception for out-of-range values and decimals.
I think the time/memory of an extra long conversion would be negligible, especially given we're about to write to a database, I just wrote the example code that way as it's shorter.


Consider integration with MetaGraphs.jl

A MetaGraph is a concrete subtype of Graphs.jl AbstractGraph abstract type that allows metadata on all of its components.
https://github.com/JuliaGraphs/MetaGraphs.jl
In this sense, it looks like a TensorNetwork would be a particular case of MetaGraph.
Some questions:

How can we store hyperindices?
How can we force edge-index and vertex-tensor relations?
Does functionality improve?
How can we dispatch on Ansatz type?

Superseded by #55


backup to multiple destinations at the same time

In order to prevent backup corruption due to a faulty destination, restic could get the feature to backup to two destinations in one run.

why in one run? why can't you just backup twice with different destinations?

If the underlying data changes, you might not get exactly the same snapshots.

That seems like an acceptable risk to me... Isn't worth the additional complexity this would add to the codebase, imho. But maybe I'm overestimating this.

I've already thought about having something like a "sync" function that is able to copy data from one repo to another, maybe that's interesting...

Would be neat to be able to cluster one backup across multiple targets with limited space, but often you want to spend as little time as possible uploading the backup from your primary machines (especially if that's a laptop or a production machine which needs to handle resource load). A capability/signature-aware replication daemon that could do append-only balancing, or "keep newest, purge unneeded objects" operations would be useful.
I believe #256 about ECC could be relevant for the discussion of use cases for this feature.

This feature request could be superseded by #323

@fw42

why in one run? why can't you just backup twice with different destinations?

As fd0 mentioned, it's essentially because I want just one backup in two different places; I want one snapshot, not two. Another reason though, is because I don't want to use all the CPU for two backups when just one will do.
@fd0: If I may, I would like to take a stab at implementing this, if it won't be too difficult. I would need some guidance though. What do you think will be involved?
As I think on this, I wonder if it is even possible to do reliably? Of course it is possible if the multiple destinations/backend repositories are in the exact same state, then it's very easy. But if for some reason one of the repositories is in a different state -- for example, network was down, so only the local destination was backed up to last time -- then I wonder if it is possible to make backing up to the two destinations "at the same time" even worth it. Does that make sense? Restic would be comparing two different sets of diffs, and performing essentially dual backup operations, and combining them into a single invocation just sounds complicated. What do you think?
But if it's possible to get the repositories to be identical before beginning the "hard" or "expensive" part of the backup, maybe then it would be worth it? Can I get your thoughts on this?

I'd like to investigate first if this can be achieved with just rclone. Make a backup to one backend (e.g. local), then synchronize the changes to all the others. Then you'll end up with identical snapshots and data.
When you sync file deletions, too, then you can run forget and prune on your local backend and sync the changes back to the other backends.
It's a two-step process, but it'll keep restic much simpler, and I can't see any downsides...

@fd0 I'd fully support that. I've been thinking about this more and I agree, I don't see why restic should try to do this. If the repos are at all different, they will be effectively two different backups anyway.
As long as rclone can also be used in a proxying configuration similar to restic -> rclone -> backend  (and for the second, synchronizing step, it would be rclone -> rclone -> backend then I think we'd be good to go.
I am already doing this manually when I run automated backups to a local destination then sync to the cloud (minus the proxying, but I will need that for my family members!) -- so I know it works. One good question to consider is whether the sync should happen just BEFORE or just AFTER a backup takes place.
If rclone can proxy to another instance of itself and if we're OK with the two-step process, then I'm OK with closing this issue. :+1:

Hm. I'm not sure we're talking about the same thing here. My suggestion was:

Make a backup to local:/srv/backup
Use rclone (locally) to sync /srv/backup to S3 and B2

When rclone is running somewhere else, it's a bit different:

Locally restic backup rclone:/foo, on the other end on a server this rclone serve restic /data/storage/repo
On the server, via cron, call rclone copy /data/storage/repo b2:bucketname:/ and then rclone copy /data/storage/repo s3:otherbucket:/

Then you'll end up with three copies of the repo, one on your server, one on S3, and one on B2.
If you'd like people to be able to access the cloud repositories, give them a way to access an rclone process started with the right remote, like rclone serve restic s3:otherbucket:/.
I'm not sure what you mean with rclone -> rclone -> backend...
Maybe it's helpful to discuss the concrete situation that you'd like to solve in the forum or so.

Sure -- I will post in the forum, although, since this is about rclone, I've posted it in the rclone forum: https://forum.rclone.org/t/proxying-through-a-remote-rclone-instance/5318/1
Basically, my scenario is your first suggestion:

Make a backup to local:/srv/backup
Use rclone (locally) to sync /srv/backup to S3 and B2

Except that using rclone locally to sync directly to S3 and B2 requires rclone to have credentials, which in this case the computer doing the backup cannot have access to the credentials. Hence I need a way to rclone to another remote rclone that does have the credentials.
Your second suggestion is good too, except that it involves the server storing the backup on it before it copies to B2 and S3. Might be desirable for some, but I'm trying to avoid an intermediate storage place.
Thanks again! Hope that clarifies some insight into my use case.

Hey all,
so I would also very much like the feature of having multiple repositories for one run.
The reasons being:

scenario "restic backup to backup server and rclone from there": I don't necessarily trust backup location one or two. Either one of them could have a corrupt harddrive, network chipset, a encrypt-all-my-data-on-the-fly-ransomware, ..whatnot.
scenario "make a local restic backup and then rclone" just simply doesn't work due to limited disk space. Also again the question: what happens if the whole backup gets scrambled by ransomware and I don't realise before I rclone? Will I simultaneously destroy both remote backups?
lastly: I still would like to tackle the #16  issue.
However due to the reasons stated above and also the idea that a config with multiple repos could just do all the work (instead of me having to create another script that will then chain rclone to restic) I think this here should be done before.

I will totally try to create a PR, but I wanted to make sure it wasn't moot work, so I would like to hear your opinion first @fd0 and others.
cheers :)

Closing this as the new copy command can be used to sync snapshots between repositories, which also verifies the snapshot integrity while doing so. To clean up snapshots it's e.g. possible to just run forget --keep-something 42 ... for both repositories. Actively using multiple repositories in a single backup run is discussed in #679.
@mholt If this is still relevant, for your use case restic -o rclone.program="ssh remote-host rclone" -r rclone:target-path-passed-to-rclone might work (possibly using a forced command on the server-side).

Hm. I'm not sure we're talking about the same thing here. My suggestion was:

Make a backup to local:/srv/backup
Use rclone (locally) to sync /srv/backup to S3 and B2

When rclone is running somewhere else, it's a bit different:

Locally run restic backup rclone:/foo, on the other end on a server this runs rclone serve restic /data/storage/repo
On the server, via cron, call rclone copy /data/storage/repo b2:bucketname:/ and then rclone copy /data/storage/repo s3:otherbucket:/

Then you'll end up with three copies of the repo, one on your server, one on S3, and one on B2.
If you'd like people to be able to access the cloud repositories, give them a way to access an rclone process started with the right remote, like rclone serve restic s3:otherbucket:/.
I'm not sure what you mean with rclone -> rclone -> backend...
Maybe it's helpful to discuss the concrete situation that you'd like to solve in the forum or so.

Is there any recent docker image with cron to trigger a scheduled copy as suggested ?


[QUESTION] Mock SecurityInsightsWatchlistResource/Collection

Library name and version
Azure SecurityInsights
Query/Question
I am trying to create a test suite and part of my code uses OperationalInsightsWorkspaceSecurityInsightsResource to call GetSecurityInsightsWatchlists. I am trying to create a mocked WatchlistResource and WatchlistCollection but they both have protected constructors. How can I utilize these constructors?
Environment
No response

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Hi @cmarq07 we have implemented a new feature called Model Factory to support mock resources, it's in private preview now, and will release to public soon.

@ArthurMa1978 this is awesome thanks.


Feature: New grammar for casting funcitons.

API
Other
Description
I think it is better for us to create a new grammar for casting functions to make it more user friendly.
Our current grammar: cast(521, 'int64')
I think a better grammar is cast (521 as int64)

Just curious, is this common convention in some other database?


NCMC bug

This line:
https://github.com/pgrinaway/perses/blob/run_example/perses/annihilation/ncmc_switching.py#L279
        self.addComputeGlobal('initial_total_energy', 'ke + potential')

should be
        self.addComputeGlobal('final_total_energy', 'ke + potential')

Ok, fixed by pushing to #14 , but it looks like ncmc_elimination_logp and ncmc_insertion_logp are both 0.0... investigating further...

Thanks!


Use Attribute Casting in Exception Model

No need for the boilerplate code, Laravel 5.0+ has support for array type cast which handles JSON properly.

Wow thanks for this! Learn something new everyday :)


How did you get R and t from matches?

Hello,
I am trying to reproduce your results for the strecha dataset, and was wondering if the benchmark code is available. Since their are hundreds of ways to get the R and the t from the matches, can you please let me know how you retrieved the pose? or the fundamental matrix?
Cheers,
Kwang

Hey,
You can use OpenCV function "findEssentialMat" and "recoverPose " to get R and t. The benchmark code is now partially available in my other repository "Image-Matching-Benchmark". I will update it step by step.
Best,
JiaWang

Hello,
Did you use the default options for findEssentialMat in your experiments?
As the options do affect the results quite a lot.
For example, LMEDS and RANSAC give different results, as well as the RANSAC threshold having a big impact.
Cheers,
Kwang

In GMS paper, we use a MATLAB code to compute R and t, which is not released for many reasons. However, if you want to evaluate your algorithm, I suggest that you can use the code in "Image-Matching-Benchmark", where I provide all that you need.

Hi,

I suggest that you can use the code in "Image-Matching-Benchmark", where I provide all that you need.

Unfortunately, we would like to test on a different dataset than yours, and without knowledge on how the essential matrix is extracted from the matches, we cannot have a fair comparison. Can you please detail the essential matrix computation? For example, if it's the Matlab version, only the norm8point option gives results that are without additional outlier rejection. Which is why we tried using your matches with the 8point algorithm and could not get proper R, t estimated. Do you use any additional outlier rejection on top?
Cheers,
Kwang

I just use 5points method. You can use opencv functions with default thresholds. The whole estimation code of GMS is covered in the benchmark repository , and please check the folder “Algorithm”.

I see... I've checked the code. So you are in fact using RANSAC on top.
Thanks,
Kwang

Yes, RANSAC


ISPN-13945 Blocked call to docker API after stopping containers

https://issues.redhat.com/browse/ISPN-13945

Thanks @diegolovison


Component code replaced when fast change tabs while formatting

Hello @supnate.
I've found a bug thats when I format a component, before the format has done, if I click on another tab, when format finishes, the code of the actual tab is replaced by the content of the formatted component.
Can you confirm that is a bug?
Steps do reproduce:

open the tab of the Comp1;
open another tab of the Comp2;
with the Comp2 selected, change the code and hit format on shortcut;
in the middle of processing the format, click on the tab of Comp1;
when the formatting finishes, the code of Comp1 is replaced by the code of Comp2;

Tks so much!

Thanks @marceloadsj , this is really a bug. Will fix it soon.


Fix manager loggers

Pull Request
Description
Fix satellite logger - the logger was called the wrong name
Fixes #467
How Has This Been Tested?
add a unittest test to check logs are appended to

[ ] No
[x] Yes

Checklist:

[x] My code follows OCF's coding style guidelines
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked my code and corrected any misspellings

Great work implementing this failing test!
Before trying to fix this failing test, maybe we could wait until we merge the Optical Flow PR into main, because I might have fixed the logging stuff in the Opt Flow PR :slightly_smiling_face:

Great work implementing this failing test!
Before trying to fix this failing test, maybe we could wait until we merge the Optical Flow PR into main, because I might have fixed the logging stuff in the Opt Flow PR 🙂

Will wait for #314
although in general im always a bit worried about waiting for a big PR - especially if small PRs are focused on one issue

yeah, I think PR #314 already includes this fix :slightly_smiling_face:   (sorry, in order to debug the optical flow stuff, I had to fix a bunch of logging error)
I'll submit PR #314 for review in an hour or so


Feature Request - Time picker to open with currently selected time

In my application, users are often importing data, so [defaultTime] works as an initial starting point. However there are occasions where they will want to update the time more than once in a session. If they select a new time [defaultTime] does not capture the time change. The documentation didn't seem to catch this scenario. From a very cursory overview of the code, I see a couple ways this could be addressed:

Create a new input that will take an observable or behavior subject that can update the time
Enable open() to take a partial config object.

If there is already a pretty simple way to accomplish this, enlighten me.
EDIT: While this is accomplishable through using ngx-mat-timepicker-field, forcing the timepicker itself to be a form-control removes the user's agency to have this capability with their own easily configurable input styling.

The solution is not as simple as it seems, because of how this was originally implemented.
What I have in mind is recreating this library from scratch, solving its architectural issues and also working with formControls.
I have no idea why the original author worked this way, honestly I have a completely different approach...
In the meantime, hoping I understood what you're trying to do, could you try something like:
...
[defaultTime]="selectedTime || defaultTime"
...

and let me know?

@ot-esteinecke

@ot-esteinecke

You should describe better your problem
You should report all the required data (see the bug template)
I can't reproduce your problem in the demo website, the dialog opens with the selected time (I also recently fixed a bug that was preventing the time from showing correctly when you had min/max)
You should create a blitz reproducing your problem

This issue will be deleted in 48 hours

It is a little bit complicated, so I can understand what appears to look like frustration. Please pardon me as I am far more used to fixing issues than reporting them. I have frustrations with bad or incomplete reports many times. It actually took me a bit of effort to reproduce since in most situations, [defaultTime] captures the change. I have a custom listener on the control that updates the variable used for [defaultTime]. Instead of linking <input /> to the form control directly, I update it with a [value] input. The reason for this is the formgroup is untyped, defined through an @Input. I am sure that if I were to directly link the control directly to the <input /> we would not be having this conversation.
I don't see this as a bug, but an enhancement, so that's why I did not follow that template. I apologize I do not have a clear definition of what you see as a bug. If you see it that way, I will make this a bug. Please let me know.
Answered with 4.
Here you go

You don't need to project, if you're frustated it's your problem. I'm not frustrated, I just gave you the rules to a good reporting
You made something convoluted but it could be handled way easier than that (sending the updated blitz in a bit)
I didn't say it's not an enhancement, I only said you should report all the info in the bug template, which would have helped me knowing from the beginning that the fix I was talking about was not made in v16.

Cheers

UPDATE
Basically this bug was born when I switched to standalone components.
I'm 99% sure that until version 15 there shouldn't be any issue.
By the way.
Here dear @ot-esteinecke you can see that less is more.
I didn't quite get all the stuff with observables...even if the formGroup is defined by an @Input at that point I would update the inner formGroup when the @Input changes.
I'm publishing the fix in a few minutes for both v17 and v16.
Cheers

Released


unbound-control reload does not pick up changes to auth-zone

This is very nitpicky, but I noticed this when testing a change in my confiiguration management:
Unbound 1.10.0 is configured with an auth-zone that lacks a zonefile parameter. Later, a zonefile directive is added to the configuration. When the daemon is reloaded with unbound-control reload, the indicated file is not created. If the daemon is terminated and restarted, it does write the configured zonefile.

Hi there!. As far as I can see in the code, file writes happen after zone updates. If you wish to immediately output the file after a reload you could try issuing an
unbound-control auth_zone_transfer <zone> command.
Is that scenario you are describing common and you would prefer a different approach?

I don't think it's common, but it's unexpected and causes the user (i.e., me) to doubt their sanity while testing the configuration. The preferred behavior would be to immediately write the file on the configuration state transition from no-zonefile to zonefile.


Projects

https://docs.github.com/en/github/managing-your-work-on-github/about-project-boards
https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/project-board-permissions-for-an-organization
https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/managing-access-to-a-project-board-for-organization-members
https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/managing-team-access-to-an-organization-project-board

https://docs.github.com/en/github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-project-boards
https://docs.github.com/en/github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones


Release v0.3.3 (Patch)

Release a new version of timeline-chart, bundled with a clean version of webpack.

The following 1 GitHub releases will be created once this pull request got merged.
Release v0.3.3 with changes since v0.3.2

Release v0.3.3 (Patch) 9f684c1
Perform yarn upgrade, upgrade webpack 51b2cd5

Thanks for the review!


Cannot assign value to variable of the same type

TypeScript Version:  3.5.0-dev.20190504
Search Terms:
Two different types with this name exist, but they are unrelated.
Code
type Type<G extends boolean, T> = G extends true ? (input: number) => T : (input: T) => number
type U = <T>(x: <G extends boolean>() => Type<G, T>) => void;
const i: U = <T>(x: <G extends boolean>() => Type<G, T>) => {};

Expected behavior:
No error
Actual behavior:
Error
Type '<T>(x: <G extends boolean>() => Type<G, T>) => void' is not assignable to type 'U'.
  Types of parameters 'x' and 'x' are incompatible.
    Type 'Type<G, T>' is not assignable to type 'Type<G, number>'.
      Type '(input: number) => T' is not assignable to type '(input: number) => number'.
        Type 'T' is not assignable to type 'number'.

Playground Link:
link
Related Issues:
https://github.com/Microsoft/TypeScript/issues/26627
https://github.com/Microsoft/TypeScript/issues/25373

This is fixed: playground

So it is.


Next release?

Hi,
I am looking at the latest release, and it doesn't contain https://github.com/go-nv/goenv/pull/343. From reading https://github.com/go-nv/goenv/blob/master/RELEASE_PROCESS.md, it looks like the release process is supposed to be fully automated, so maybe that isn't working properly, but I don't understand the full details about how this is supposed to work.

Could you release a new version, cut from master?
You may want to look into your release process automation.

While not the most ideal (if relying on Homebrew to manage goenv), I ran an rm -rf ~/.goenv and performed the manual installation:
git clone https://github.com/go-nv/goenv.git ~/.goenv

which allowed me to install go1.21.1:
$ goenv install 1.21.1; goenv global 1.21.1; goenv version
Downloading go1.21.1.darwin-arm64.tar.gz...
-> go1.21.1.darwin-arm64.tar.gz
######################################################################################################################### 100.0%######################################################################################################################### 100.0%
Installing Go Darwin arm 1.21.1...
Installed Go Darwin arm 1.21.1 to /.../.../.goenv/versions/1.21.1
1.21.1 (set by /.../.../.goenv/version)

Published. It will take a while to make it through homebrew.

This is released now.


Compatibility with Hazelcast version 4.0

Is your feature request related to a problem? Please describe.
The ShedLock Hazelcast provider is not compatible with Hazelcast v4 (Hazelcast has moved some classes). So I cannot use the new evolution "CPSubsystem" of Hazelcast and ShedLock together.
Describe the solution you'd like
Be compatible with Hazelcast from 4.0 version
Describe alternatives you've considered
I have to take a choice.
Either I use Shedlock and my own leader election system with Hazelcast v3.6 or I no longer use Shedlock and I simply use the leader election in order to perform my scheduled tasks on a single node.
Clearly I would prefer to keep both libraries.
Thanks

Thanks for reporting, will take a look at it.

I had to create a new lock provider module since the changes in Hazelcast are not backward-compatible. Will release it over the weekend

Many thanks :)

Released as 4.7.0


Feature request: Set date and time in HyperDecks

The internal clock on the Hyperdeck gets reset whenever you connect it to a computer, but it drifts faster than a Tokyo street racer. I'd love to see a way to set the date/time to current on demand!

Bump.

Unfortunately, there is no published API for setting date and time, so I don't think this is possible. There are commands to toggle the appending of a timestamp to filenames, and the timecode preset can be set, but not the clock.

ah, that's really a shame. OK, thank you for looking into that.


removeChorus regex is not working, regex fix

As per issue #38
Here's a proposed fix for the removeChorus option. This regex matches Chorus, Post-Chorus and Pre-Chorus blocks, allowing to remove them all.

Why wasn't the previous working though? Due to trailing whitespaces? Something that is a bit more simple like /\[[^\]]+\]\S*\n?/g would work?

Your solution seems to match the whole chorus lyrics, which is not actually the behavior I was having in mind. That option was implemented only to remove things like [Chorus] and [Pre-Chorus 2]. Anything beyond that is left to the user themselves. Thank you for opening this pull request though, really appreciate it. If you really want, open a pull request containing additional options to lyrics method.

Hi, yes indeed, I understood your intention as removing the chorus text themselves, not the various headers (because of the name of the option / function)
Note that there's more to headers than chorus (including Verse, and many others!) so you might want to rename this option/function removeBracketedHeaders to be self-documenting.
Cleaning up duplicate blocks (typically chorus) would be a different option that can be useful in some use cases (like sentiment analysis for example). I have something similar in my code that I could try a port to the lib.

Hi, yes indeed, I understood your intention as removing the chorus text themselves, not the various headers (because of the name of the option / function)
Note that there's more to headers than chorus (including Verse, and many others!) so you might want to rename this option/function removeBracketedHeaders to be self-documenting.
Cleaning up duplicate blocks (typically chorus) would be a different option that can be useful in some use cases (like sentiment analysis for example). I have something similar in my code that I could try a port to the lib.

I only realised that recently but since I don't want to make breaking changes, I currently am not going to rename this. I will make sure to include this if I ever make a breaking change to this library. Thank you.


Create pre-release version of ap-loader

Async-profiler didn't have a release for a while, so maybe we should create sub-releases of ap-loader.

Now that we have a release, there is less pressure.


Issue #7122 Burmese Flag correction

Issue Titles
https://github.com/Semantic-Org/Semantic-UI/issues/7122
[Flag] - Shows the Flag of Taiwan when try to use Burmese Flag #7122
Description
Was reading the documentation here:
https://react.semantic-ui.com/elements/flag/#types-flag
but realized that the main example uses the Taiwan flag but in the code, it says Myanmar
Testcase
Expected
When using Myanmar flag:
Instead of Showing 🇹🇼 should show 🇲🇲
Result
Currently shows 🇹🇼 when using the Myanmar flag

Most of the add/deletion is based on the rc settings from the original library to just make css prettier.
However, the key update here is:
SemanticUI was showing 🇹🇼 when the user wanted a Burmese flag. It should show 🇲🇲
Fixed with this PR!

is the project abandoned?

is the project abandoned?

honestly I am not sure. the PR was approved last December, but no one merged it.


futurecoder

Just sharing my own project for learning Python online: https://futurecoder.io/

Very interesting! 🐍 🐍 🐍


Update test CI to run on PRs from forks

Runs CI on PRs and pushes to master or tags

Are any of the tests non-deterministic? If not, then it's probably Node being Node as you say.
Let me re-run the tests just in case. The tests seem to pass on master, and as you said this PR doesn't touch any JS, so they should pass here too.
@SilentCicero in the meantime can you disable requiring all status checks to pass before merging, so if tests fail again we can at least merge?

Ah, tests passed this time.


BigQuery connector

User story
As a user, I quickly want to connect my BigQuery data warehouse with Kuwala to start applying transformations. I only want to put in my credentials and establish the connection. Once connected, I want to see the database schema to see all available tables. For every existing table, I want to see a preview of the data and the column types.
Acceptance criteria

[ ] The user can establish a connection to their BigQuery data warehouse by providing the necessary credentials.
[ ] The user can retrieve the database schema and explore all available tables.
[ ] The user can preview the data in the table and its data types.

Non-functional requirements

[ ] Connecting to BigQuery takes less than 5 seconds.
[ ] Loading the list of all available tables takes less than 5 seconds.
[ ] Loading the preview of a table takes less than 5 seconds.
[ ] In the preview of a table, up to 200 columns are displayed instantly.
[ ] In the preview of a table, up to 300 rows are displayed instantly.

Resources and technical details
Airbyte offers open-source data connectors, and it has a source connector for BigQuery, which we could integrate.

Airbyte BigQuery connector

The leanest solution will be to use PySpark or pip packages like python-bigquery as we don't sync data to a destination.
Designs
The designs are identical to #80.

The API routes are adjusted to be able to connect to BigQuery and preview the data. See #107

Closed with #113


Traffic lights could use black bg

U+1F6A5 :traffic_light: U+1F6A6  :vertical_traffic_light: Emojipedia

Well, it took more than a few days 😅 8b754e03bd3b2b82dd2a35632b73965fafb20ff3


Outdated Anaconda package

The latest version is 1.2.0, but in Anaconda it's 1.1.0: https://anaconda.org/conda-forge/bayesian-optimization.

Sorry, the package is now up-to-date. Updated here. Please let me know if you still can not install the most recent version.

@volpatto it seems that while the merge went through, conda-forge is still not updated. See here, where it is still listed as 1.1.0 -- any idea why this could be the case?

Thanks for pointing this out, @till-m. Somehow the feedstock was not rendered, maybe I have missed something while enabling the automerging there. I'll have a look.

@till-m I hope it is fixed now. Please let me know if it is not working properly.

Seems to work! Thanks for taking care of this, @volpatto.
@bwheelz36 I think this can be closed now :)

Cool :-)


Update import path

Changes the import path of the repository
to match its new home at github.com/pulumi/go-change.

fixing changelog bot

I have a PR pending on changelog-bot to fix this.

Fix to changelog bot deployed.

bors merge

🤨  I don't think bors works here anymore.

Did we fire bors? :(

bors r+

bors merge

bors retry

goreleaser replacements are deprecated

bors merge

bors merge


Change Story Time Dynamically

Hey, I want to dynamically change the story time according to the video duration. However, there are both images and videos. The time for images is constant. Well, how can I implement different time for different story?

did you found any solution ?

No

I suggest adding the following functionality to solve this case:

Set duration only for a specific index, since setStoriesDuration() updates all progress bars it's no good for that case.
Preserve the current progress of that index, so we can dynamically update the duration keeping the progress preserved
Add a possibility to set progress and duration, so we can use it alongside buffering players.

Hello shts,
Any solution for the above functionality??