Extracting data behaves weirdly

Dear author,
I have used successfully your code with ChemDataExtractor2 to extract bandgap values. However, I have spotted some weird behaviour that I have not yet been able to find out why it happens: I have a set of 600 texts and when I run your code through these texts I get in total 114 extracted bandgap values, but, when I slip the text set into 120 text chunks and run the code separately through these 5 chunks, I get in total over 300 values.
The scrip and texts are completely same, only thing that changes is the amount of text is processed with one run. Has this kind of behavior happened before or do you have any idea what would be causing this?
Best,
Matilda

Hi, thanks for pointing this out. This behavior is unexpected, but I'm not entirely sure what you mean by "600 texts". Is that 600 word tokens or 600 sentences? I believe that in this version of the Snowball parser, there are constraints that limit the maximum length of one sentence, specifically no more than 300 tokens per sentence, if my memory is correct. If you send multiple sentences at once without splitting them, that limit can be easily reached, and the whole chuck will be skipped. Ideally I would like to see your code and texts to pinpoint the exact cause of this issue, but my initial guess is that you need to pass one sentence at a time, instead of cutting everything into 5 batches. Hope this helps.
Best wishes,
Qingyang

Aha, this is good to know, but I am still wondering if this is the reason since I am splitting my text into sentences. In my case, this "600 texts" means snippets of text, so that one snippet is 7 sentences long and then there 600 of those 7 sentence long snippets in total. I am using your code 'extract.py' from repository BandgapDatabase1 quite without changes (here is the file I am using
extract_Matilda.txt
), so that the "list of articles" mentioned in code is in my case a folder with 600 .txt-files where every file contains a 7-sentence snippet.

I have looked through your code, but I still couldn't figure out how this issue occurs. Sentence splitting was not the cause, apparently. I may have to recreate this problem if we are to solve this issue for good. If you could send me one of your .txt files that consistently yields more data records when sent as small batches, I can have a closer look. In the mean time, if processing files in smaller chunks gives you more results, I would presume that processing one file at a time might give even better results.

Yes, I could actually send my whole 600 text dataset since this is the one I have been able to repeate the problem. Would it be possible to get your email in order to send the texts?

Of course, please send everything to<EMAIL_ADDRESS>and I will get back to you if I find anything. Meanwhile, Snowball 2.0 was just released two days ago, which also works with ChemDataExtractor2. Please give that a try. The code is under my project Snowball_2.0, and the link to the paper can be found in the manual (https://pubs.acs.org/doi/10.1021/acs.jcim.3c01281).


fix: add clang to dockerfile

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
#14761 introduced a clang dependency at build time. It was missing in the main dockerfile.
Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

The docker build succeeded, but the release job started to fail. 😕
https://buildkite.com/risingwavelabs/docker/builds/15062#_

The docker build succeeded, but the release job started to fail. 😕
https://buildkite.com/risingwavelabs/docker/builds/15062#_

I will fix it.


IPv6 socket family error

I'm trying to run aiohttp server with debug toolbar and i'm getting this error
Traceback (most recent call last):
  File ".../site-packages/aiohttp/server.py", line 272, in start
    yield from self.handle_request(message, payload)
  File ".../site-packages/aiohttp/web.py", line 85, in handle_request
    resp = yield from handler(request)
  File ".../site-packages/aiohttp_debugtoolbar/middlewares.py", line 49, in toolbar_middleware
    remote_host, remote_port = request.transport.get_extra_info('peername')
ValueError: too many values to unpack (expected 2)

I found that this happens because

For AF_INET6 address family, a four-tuple (host, port, flowinfo, scopeid) is used
(link)

I didn't dig too deeply in the code, but possible fix is #15

Thanks! I will play with your PR bit later today, from the first glance looks good!

Merged. Thanks @stormandco !


[OTHER] Non-inclusive word "bruh" repeated twice.

What would you like to share?

Additional information
No response

if it is a valid issue i would like to fix this

@eddiejaoude can you check if this issue is valid i would like to work on it

yes it looks like a duplicate, thank you for spotting and raising 👍
Sure, I have assigned it to you

Thanks will start working on it today☺

@eddiejaoude can you review the PR that I have made.

Sure, merged 👍 thanks


TypeError: empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType), but expected one of:

I'm encountering a TypeError in our project and would like to inquire about it. The error message is as follows:
TypeError: empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType), but expected one of:

(tuple of ints size, *, tuple of names names, torch.memory_format memory_format, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)
(tuple of ints size, *, torch.memory_format memory_format, Tensor out, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)

The error occurs on line 23 of /data/test/IEEE_TIP_SDEnet/network/discriminator.py. It seems that the nn.Linear() function is causing the error due to receiving incorrect arguments when calling torch.empty().
We would appreciate any help or advice you could offer regarding this issue. Thank you very much:)

Traceback (most recent call last):
File "/data/test/IEEE_TIP_SDEnet/train.py", line 257, in
experiment()
File "/data/test/IEEE_TIP_SDEnet/train.py", line 166, in experiment
D_net = discriminator.Discriminator(inchannel=N_BANDS, outchannel=args.pro_dim, num_classes=num_classes,
File "/data/test/IEEE_TIP_SDEnet/network/discriminator.py", line 23, in init
self.cls_head_src = nn.Linear(dim, num_classes)
File "/usr/local/anaconda3/envs/hyper_image/lib/python3.9/site-packages/torch/nn/modules/linear.py", line 86, in init
self.weight = Parameter(torch.empty((out_features, in_features), **factory_kwargs))
TypeError: empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType), but expected one of:

(tuple of ints size, *, tuple of names names, torch.memory_format memory_format, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)
(tuple of ints size, *, torch.memory_format memory_format, Tensor out, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)

修改discriminator.py中第23行为self.cls_head_src = nn.Linear(dim, int(num_classes))

修改discriminator.py中第23行为self.cls_head_src = nn.Linear(dim, int(num_classes))


added the hotel information

first push where i had no issues at all with push commands ;-;

Yay!


Create django backend

This will provide of a basic API in which users can create an User and upload models, that can later be downloaded and shown in the frontend. Once this is finished, we only have to connect the frontend.

[x] Environment Creation with YML file.
[x] Use of Django Rest Framework.
[x] Method to Create ERD Diagrams of the database.
[x] Definition of User.
[x] Definition of Model.
[x] Admin Page Customization.
[x] API Method to List Users.
[x] API Method to List Models.
[x] API Method to Create Users.
[x] API Method to Create Models.
[x] API Method to Retrieve Models.
[x] Add .gitignore file.
[x] API testing.
[x] Internationalization/localization. (Before error handling, so error messages can directly be implemented using i18n).
[x] Error handling.
[x] Generate documentation.
[x] Create readme.md file with setup instructions.

@aymanhab Should I create a new repository for the django backend?
As soon as I finish with the remaining items I will upload everything. I think the Internationalization/localization, API testing and Generate documentation items could take some time since it is something I have never done in django before.
Right now I am running everything locally, so we can easily test and connect with the frontend.

Thanks @AlbertoCasasOrtiz Is it possible to use the backend folder I created in this PR https://github.com/opensim-org/opensim-viewer/pull/54
I read some discussion regarding using 2 separate repos but seemed an overkill in this case especially that the backend is rather thin though I'm open to be convinced otherwise

The backend right now is very small and I don't think it will grow too much, so I agree. I'll upload to the backend folder then.

@aymanhab Since I had some problems uploading it, I have uploaded everything to a new repo in my account, so everything is backed up. Next week first thing I'll do is to fix it and upload it to the backend folder in the opensim-viewer repo.


Book travel - Book travel animation becomes blank while RHP is dismissed

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

Version Number: 9.0.40-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Open FAB
Click Book travel
Dismiss the RHP

Expected Result:
Book travel animation will not become blank while RHP is dismissed
Actual Result:
Book travel animation becomes blank while RHP is dismissed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/962378ab-7d61-4d27-90c2-77675bb02f37
View all open jobs on GitHub

don't know what caused it, but def NOT A BLOCKER

Thanks for looking! Demoting from blocker, but let's try if we can fix it

@MonilBhavsar @neonbhai the reasons mentioned here suggest that we should do nothing. Or it may cause issues 1, 2, 3
https://github.com/Expensify/App/blob/a4a344b7cedd0ab9cafb4857db15de8eea409689/src/components/Lottie/index.tsx#L82-L88

Since this was reported as a regression, may be it comes from https://github.com/Expensify/App/pull/48040 🤔
Going to check

Not reproducible after reverting https://github.com/Expensify/App/pull/48040
@Krishna2323 @hungvu193 if you could please take a look

Not reproducible after reverting #48040 @Krishna2323 @hungvu193 if you could please take a look

No. It came from this one (https://github.com/Expensify/App/pull/48444). It shows empty view while navigating away.
https://github.com/Expensify/App/blob/33818a904e9db22d3e06feaab8b5419993f322bd/src/components/Lottie/index.tsx#L88
Long story short, While working on  #48040 with @Krishna2323, we found a bug, and it from PR of https://github.com/Expensify/App/issues/47273, I commented there https://github.com/Expensify/App/issues/47273#issuecomment-2317717050. After that, the contributor of https://github.com/Expensify/App/issues/47273 submitted another PR to fix the issue that we found which is https://github.com/Expensify/App/pull/48444

https://github.com/Expensify/App/pull/48444 was deployed to production 2 weeks ago and this bug was only reproducible on staging. I don't think so it has caused this, unless I am missing something.
The bug stems from one of the PR from checklist https://github.com/Expensify/App/issues/49662

#48444 was deployed to production 2 weeks ago and this bug was only reproducible on staging. I don't think so it has caused this, unless I am missing something

It's because we used static images for the BookTravel placeholder before. We switched to use LottieAnimation recently that's why you saw this issue. That being said, this issue will happen with any RHP that has Lottie animation because we hide them while navigating away to fix https://github.com/Expensify/App/issues/47273
cc @QichenZhu and @suneox

@hungvu193 Previously, playing animations in the background made the user interface unresponsive (#47273), so we stopped them after navigating away.
Now, after some updates in the app (possibly the RN upgrade), performance has improved. Although background animations still consume CPU, they no longer make the interface unresponsive.
If the high CPU usage is acceptable, we could allow animations to play in the background again.
cc @suneox

I commented there #47273 (comment).

@hungvu193 I have another comment to verify behavior on PR still works as expected after your comment

After that, the contributor of https://github.com/Expensify/App/issues/47273 submitted another PR to fix the issue that we found

Nope, the PR is fix crashed issue

This issue will happen with any RHP that has Lottie animation because we hide them while navigating away to fix https://github.com/Expensify/App/issues/47273

Before this PR, we didn’t have any use cases similar to this issue.

https://github.com/Expensify/App/pull/48444 was deployed to production 2 weeks ago and this bug was only reproducible on staging. I don't think so it has caused this, unless I am missing something.

@MonilBhavsar  Actually, I don’t think the PR from 2 weeks ago is a regression of the new feature because, at the time of the old PR, we didn’t have any context for the new feature. So, I believe this should be considered a new issue, and the scope of the old PR doesn’t cover the new one.

@QichenZhu  I believe our PR shouldn’t cover the new feature introduced several weeks later, so you can go provide a new proposal for this issue.

@suneox  Hey I'm not trying to be picky here. This issue is clearly a regression from https://github.com/Expensify/App/pull/48444.
We can reproduce this issue even when we reverted https://github.com/Expensify/App/pull/48040. It happened with every single Lottie animation, but it can be easily reproducible with RHP.
https://github.com/user-attachments/assets/5b6d4c08-d953-4b67-aac4-f4273de738cd
https://github.com/user-attachments/assets/dd58121c-0308-4aa4-a22b-23fa91b6d8d5
That means, QA didn't find it during regression period of https://github.com/Expensify/App/pull/48444. Since regression period was over for https://github.com/Expensify/App/pull/48444. We can consider this as a new issue.

@hungvu193 Yes, you're right that similar issues exist on other pages too. It wasn’t considered a problem before, probably because it’s not noticeable to the human eye. I have to use a slow motion camera to catch it.
Why is this issue noticeable on the travel page? Because the page slides out more softly. Below is a comparison video of the Preference and Travel pages at 8x slower speed.
https://github.com/user-attachments/assets/648c9b4c-0234-4abb-9862-a026ca82816f

it’s not noticeable to the human eye, I have to use a slow motion camera to catch it.

Agreed, I only caught the issue by recording and replaying it on a different page.  So I think it should be handled as a new issue
@neonbhai proposal is straightforward for fixing the issue.

Okay @suneox assigning you to the issue as a C+

@neonbhai mind providing the ETA when you have a moment please

pause the lottie animation view while navigating away

@layacat Just a little heads up, the animation needs to resume playing after navigating back.

@MonilBhavsar We have another solution that also resolves this issue.

@neonbhai proposal is to delay setting the navigation state to away.
@layacat proposal is to trigger a pause in animation when the state change to away.

Both proposals seem to resolve the issue, but @layacat approach looks better than @neonbhai approach, so Should we consider changing the current selected proposal to @layacat proposal at this time?
🎀 👀 🎀 C+ reviewed

Summarizing payment on this issue:
Contributor: @layacat $250, please apply to the Upwork job or comment with your Upwork profile
Contributor+: @suneox $250, paid via Upwork
@suneox please complete the BZ checklist.

Checklist

[x] [@suneox] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/47960
[x] [@suneox] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment
[x] [@suneox] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[x] [@suneox] Determine if we should create a regression test for this bug: N/A
[x] [@suneox] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. N/A

@layacat thanks! I didn't realize you had already applied. I sent an offer via Upwork.

Perfect, thanks! All contracts have been paid out now.


navigateNextItem should wait for feedback before navigating.

if an item generates feedback on completion, that feedback is immediately hidden by the navigation to the next item.
if i set a breakpoint inside navigateNextItem i can see feedback being shown but then it is immediately cleared when the navigation happens.
i'm using https://github.com/1EdTech/qti-examples/blob/master/qtiv3-examples/packaging/feedbackTest/id-fa3ee5852723/Example01-modalFeedback.xml for testing this. (submissionMode must be individual for it to try to do the feedback, which is not what this example's assessment.xml specifies, which is a whole different conversation)

this may be related to another issue where its not possible to trigger response processing without trying to go to a new question. in your monty hall example you add a "continue" button that triggers EndAttempt and handles this, but other examples like this one don't have that button and are impossible to progress in the player. this example can be tested in the player sandbox which has the "end attempt" button

Before I get to your point, a small diversion.
As you may have noticed, there are two ways in QTI to End an Attempt.
When submission mode is "individual" then an item controller should invoke
the QTI 3 Player's endAttempt method which ends the attempt, collects the
item's responses and state, validates the state (if validate responses is
set to true), and then runs response processing.  Feedback is displayed if
showFeedback is set to true.
When submission mode is "simultaneous" then an item controller should
invoke the QTI 3 Player's suspendAttempt method which ends the attempt,
collects the item's responses and state, validates the state (if validate
responses is set to true).  However, no response processing is executed.
These two methods (endAttempt and suspendAttempt) are documented here:
https://github.com/amp-up-io/qti3-item-player?tab=readme-ov-file#6-retrieving-item-state
Getting to your point, yes, you are correct about the QTI 3 Item Player
Controller's navigation method and how feedback is displayed (it's not)
when navigating between items following an endAttempt.  This is
intentional.  The example items which show feedback or are adaptive are not
suitable (IMO) in the context of a typical test.  Consequently, I've added
an End Attempt interaction button to all of the items in this sample set:
https://qti.amp-up.io/testrunner/start/1
On the other hand, if one were to design an item controller such as the
Sandbox which does not navigate between items, then yes the player does
function properly as you've noted.  Such an item controller is typically
found in an LTI item player.
On Fri, May 17, 2024 at 10:55 AM Thomas Woodward @.***>
wrote:

this may be related to another issue where its not possible to trigger
response processing without trying to go to a new question. in your monty
hall example you add a "continue" button that triggers EndAttempt and
handles this, but other examples like this one
https://github.com/1EdTech/qti-examples/blob/master/qtiv3-examples/packaging/feedbackTest/id-9c33d141576e/Example05-feedbackBlock-adaptive.xml
don't have that button and are impossible to progress in the player. this
example can be tested in the player sandbox which has the "end attempt"
button
—
Reply to this email directly, view it on GitHub
https://github.com/amp-up-io/qti3-item-player-controller/issues/7#issuecomment-2118123460,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG3MLNUGA2GFGO2EEPZBVDZCZABPAVCNFSM6AAAAABH4RPOE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJYGEZDGNBWGA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

putting aside the simultaneous submission, i feel like what you're saying is that this project's main navigation, where all submission is done via navigation to another item, is just not compatible with questions that have completion feedback or are adaptive, unless those items have submission controls built into them.
is there a good way to detect if response processing has resulted in showing feedback? would the best way to handle feedback at the player level be to always have a stationary submit button and then show a "next" button when the item's state becomes completed? this would have the downside of requiring two clicks to progress a question even if it doesn't have feedback.

Hey,
I've had this issue too, and there seems little ways to do that as the "modals" themselves do store "hidden" attributes, instead they directly add and remove "hide" classes. Maybe I did overlook something, but I came up with a solution (which is hacky in my opinion)
First of i've used Vue's mixin so I don't have to overwrite the Qti3ItemPlayer source code:
Vue.mixin({
    mounted() {
        if ( this.$options.name == 'ModalDialog' ){
            this.isHide = function(){
                return !this.$refs.mymodal.classList.contains( 'show' );
            }

            this.isShow = function(){
                return this.$refs.mymodal.classList.contains( 'show' );
            }
        }

    },
    created() {
        if ( this.$options.name == 'ModalDialog' ){
            const originalHide = this.hide;
            const originalShow = this.show;

            this.isModalVisible = reactive( { value: false } );

            this.hide = function(){
                originalHide.apply( this, arguments );
                this.isModalVisible.value = false;
                this.$emit( 'hide' );
            },

            this.show = function(){
                originalShow.apply( this, arguments );
                this.isModalVisible.value = true;
                this.$emit( 'show' );
            }
        }
    }
});

Then in TestRunner.vue:
I've created 2 new data attributes:
feedbacks: [],
feedbackWatchers: [],

Created a method to list all modals:
`getFeedbacks(){
const assesmentItem = this.qti3Player.item;
const store = assesmentItem.catalogFactory.store;
return store?.getFeedbacks() ?? [];

},`
Then edit the other navigation methods, i'll give an example with navigateNextItem method (had to get it from source code as my controller is veeeery different now):
navigateNextItem (state) {
    console.log('[NavigateNextItem]', state)

    const navigate = () => {
        this.currentItem += 1
        this.loadItemAtIndex(this.currentItem)
        this.updateButtonState()
    };

    this.handleNavigation( navigate );
},

the handleNavigation method is:
`handleNavigation( navigateCallback ){
let feedbackSpecificCallback = null;
try{
    const feedbacks = this.getFeedbacks();

    const feedbacksCollection = [];
    let shownFeedbacksLength = 0;

    if( feedbacks.length ){
        feedbacks.forEach(feedback => {
            const node = feedback?.node;
            const modal = node?.$refs?.modal;

            if( modal.isModalVisible.value == true ){
                const watcher = this.watchFeedback( modal );

                feedbacksCollection.push( modal );
                this.feedbackWatchers.push( watcher );
                shownFeedbacksLength++;
            }
        });
    }

    if ( shownFeedbacksLength > 0 ) {
        this.feedbacks = feedbacksCollection;

        feedbackSpecificCallback = () => {
            navigateCallback();

            this.$off( 'navigateAfterFeedbacks', feedbackSpecificCallback );
        };

        this.$on( 'navigateAfterFeedbacks', feedbackSpecificCallback );
    }else{
        navigateCallback();
    }

}catch( error ){
    console.error( '[Handle feedbacks] Error: ' + error + '. [Skipping validation, using navigateCallback method.]' );

    this.feedbackWatchers   = [];
    this.feedbacks          = [];

    if( feedbackSpecificCallback ){
        this.$off('navigateAfterFeedbacks', feedbackSpecificCallback);
    }

    navigateCallback();
}

}`
watchFeedback method:
`watchFeedback( feedback ) {
const checkAllFeedbacksGone = () => {
const allRemoved = this.feedbacks.every( feedback => feedback.isModalVisible.value == false );
    if ( allRemoved ) {

        console.warn( '[Handle feedbacks] All feedbacks are removed.' );

        console.warn( '[Handle feedbacks] Destroying watchers...' );

        this.feedbackWatchers.forEach( ( unwatch, index ) => {
            console.warn( '[Handle feedbacks] Destroying watcher ' + ( index + 1 ) );
            unwatch();
        } );

        console.warn( '[Handle feedbacks] Emitting navigateAfterFeedbacks...' );

        this.$emit( 'navigateAfterFeedbacks' );

        console.warn( '[Handle feedbacks] Clearing feedback watchers...' );
        this.feedbackWatchers = [];
    }
};

return this.$watch(
    () => feedback.isModalVisible.value,
    ( newValue ) => {
        if ( newValue == false ) {
            console.warn( '[Handle feedbacks] Feedback removed.' );
            checkAllFeedbacksGone();
        }
    }, { immediate: true }
);

},`
And I think that's it, let me know if you need for me to explain any of this, I know it's not the best but it definitely works (if I didn't miss anything haha)

Yes, this is exactly what I'm trying to convey:
this project's main navigation, where all submission is done via navigation

to another item, is just not compatible with questions that have completion
feedback or are adaptive, unless those items have submission controls built
into them.

In the context of a typical test with this type of navigation, we can't
provide a good UX if all we have are Item navigation buttons and the items
sometimes have Modal Feedback (there are 3 types of Feedback in QTI:
inline, block, modal).
Consequently, when we choose to include Modal feedback in an item, or when
we have an adaptive item, we also have to account for how this will likely
hijack the Item navigation experience.  If the item is to be presented
along with other items then we have to add extra goodies to the item such
as an End Attempt Interaction as you've seen in this collection:
https://qti.amp-up.io/testrunner/start/1
This is the approach taken by several educational publishers.
On Mon, May 20, 2024 at 6:48 AM Thomas Woodward @.***>
wrote:

putting aside the simultaneous submission, i feel like what you're saying
is that this project's main navigation, where all submission is done via
navigation to another item, is just not compatible with questions that have
completion feedback or are adaptive, unless those items have submission
controls built into them.
is there a good way to detect if response processing has resulted in
showing feedback? would the best way to handle feedback at the player level
be to always have a stationary submit button and then show a "next" button
when the item's state becomes completed? this would have the downside of
requiring two clicks to progress a question even if it doesn't have
feedback.
—
Reply to this email directly, view it on GitHub
https://github.com/amp-up-io/qti3-item-player-controller/issues/7#issuecomment-2120500938,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG3MLLGOJRCR3I4BCNIAYTZDH5LTAVCNFSM6AAAAABH4RPOE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRQGUYDAOJTHA
.
You are receiving this because you commented.Message ID:
@.***>

i'm considering the requirement of hiding answer information from the client, and if i were going to try to move response processing and item templating to the server, at that point it would probably be trivial to detect if feedback were being added and require pressing next again to continue to the next question.
i'm just trying to figure out how much i care because i'm not sure the player really supports async templating and the use case for feedback/adaptive in a summative assessment where you care about protecting answers may not be that big

@paulgrudnitski let me try to triage the various thoughts i've been raising in this issue. the core of it, i think, the part that could be considered a bug, is that it attempts to show feedback and it just doesn't work.
i think it might be appropriate to either...
if keeping the player navigation as-is, then non-adaptive feedback is unsupported, and could be stripped or suppressed from non-adaptive items
or...
it could be argued that the "next" button on individual submissions is a confusing ui, because students may sometimes be allowed to switch questions without submitting, and a next button might cause some students to submit without intending to. it might be more clear just to have a separate submit button in the ui, which solves several problems
the player also, relatedly, does not support adaptive questions that have no embedded qti-end-attempt-interaction, which are a real thing. having a separate submit button addresses this. you could even change the label of it to "continue" or something if the item is adaptive.
i'm not sure if this is really the best plan, but you could potentially accomplish this by injecting your endattempt-controller-bar element into the item if the submission mode is individual and it doesn't already contain a qti-end-attempt-interaction. this creates a consistent UI experience for submitting while respecting the item format if defined.
i understand that the player-controller isn't necessarily supposed to be a drop-in testing ui, more of an example implementation, but it seems valuable to try to get this right as part of the example.

Being mindful that the QTI 3 Item Player Controller - and also the Sandbox

is intended as a demonstration of capabilities of the QTI 3 Item Player
component, I believe that the Controller is very successful in this regard.

If anyone wants to use the Controller as a basis for other use-cases then I
think that's wonderful and completely encouraged.
For example, it might make the most sense in your UX to introduce a
separate "Submit" button that separates item navigation from ending or
suspending an attempt.  This is essentially what the "End Attempt" button
does on the Sandbox where there are no navigation buttons.
In regard to the comment about Adaptive items, the Player component exposes
the item's isAdaptive attribute.  Consequently, a controller that has a
"Submit" button can examine an item's isAdaptive attribute and then
continue to evaluate the value of the built-in QTI outcome variable
"completionStatus".  Submit should stay enabled (acting like a "continue"
button) until completionStatus has the value of "completed" - as per the
QTI standard.
Here, in the famous "Monty Hall - Take 2" item, we can see that
"completionStatus" is not yet set to "completed" after hitting Submit the
first time.
[image: image.png]
But after further interaction and hitting Submit a second time, we can see
that the response processing has set the completionStatus variable to
"completed", which means that there are no further adaptations.
[image: image.png]
At that point, modal feedback is displayed, and the Submit button should
probably be disabled as it's pointless to continue to end the attempt.
I could be wrong, but I'm confident the Player has all of the capabilities
for adaptive items that one would expect.
On Wed, May 22, 2024 at 6:59 AM Thomas Woodward @.***>
wrote:

@paulgrudnitski https://github.com/paulgrudnitski let me try to triage
the various thoughts i've been raising in this issue. the core of it, i
think, the part that could be considered a bug, is that it attempts to show
feedback and it just doesn't work.
i think it might be appropriate to either...
if keeping the player navigation as-is, then non-adaptive feedback is
unsupported, and could be stripped or suppressed from non-adaptive items
or...
it could be argued that the "next" button on individual submissions is a
confusing ui, because students may sometimes be allowed to switch questions
without submitting, and a next button might cause some students to submit
without intending to. it might be more clear just to have a separate submit
button in the ui, which solves several problems
the player also, relatedly, does not support adaptive questions that have
no embedded qti-end-attempt-interaction, which are a real thing. having a
separate submit button addresses this. you could even change the label of
it to "continue" or something if the item is adaptive.
i'm not sure if this is really the best plan, but you could potentially
accomplish this by injecting your endattempt-controller-bar element into
the item if the submission mode is individual and it doesn't already
contain a qti-end-attempt-interaction. this creates a consistent UI
experience for submitting while respecting the item format if defined.
i understand that the player-controller isn't necessarily supposed to be a
drop-in testing ui, more of an example implementation, but it seems
valuable to try to get this right as part of the example.
—
Reply to this email directly, view it on GitHub
https://github.com/amp-up-io/qti3-item-player-controller/issues/7#issuecomment-2124873685,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG3MLLJY2SI2NPMLSRRYY3ZDSQFZAVCNFSM6AAAAABH4RPOE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUHA3TGNRYGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

i don't explicitly disagree with anything you said, but in the player controller project i think you'll find that it does not support adaptive items that don't contain a built in qti-end-attempt-interaction
i ran into these in the qti-examples repo and i can track them down if you like, but i think it would be best if the player controller's example test flow handled these items, do you not agree?

I agree with your statement that the current Player Controller "collection"
navigation buttons do not properly support adaptive items.  Those buttons
also do not properly support new template generation.
The current functionality of the navigation buttons is completely
intentional and influenced by the real-world use-case of at least one very
prominent educational publisher with over 100,000 adaptive/templated
items.  For adaptive/templated items, that educational publisher is focused
on formative assessment settings where the collections of items are used to
support instruction.  Each of the 100,000 items has its own end attempt
interaction so as to keep the adaptive capabilities separate from
collection navigation.  Clearly, I have agreed with this educational
publisher that adding Submit and New Template buttons to the navigation
button UX is not the best UX.
On the other hand, we probably agree that it would be good if we could add
all of the QTI examples - which were developed almost 20 years ago -
somewhere into the app.  For this, I would suggest perhaps the Sandbox is a
more suitable place because there are no navigation buttons.  There are End
Attempt and New Template buttons, as well as additional controls over item
session settings.
[image: image.png]
Isn't the Sandbox a better place to demonstrate the Player's capabilities
for the QTI Sample items that are templated, or adaptive and templated?
On Fri, May 24, 2024 at 1:25 PM Thomas Woodward @.***>
wrote:

i don't explicitly disagree with anything you said, but in the player
controller project i think you'll find that it does not support adaptive
items that don't contain a built in qti-end-attempt-interaction
i ran into these in the qti-examples repo and i can track them down if you
like, but i think it would be best if the player controller's example test
flow handled these items, do you not agree?
—
Reply to this email directly, view it on GitHub
https://github.com/amp-up-io/qti3-item-player-controller/issues/7#issuecomment-2130307379,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG3MLL47GI4XQRNEXU7VZLZD6O25AVCNFSM6AAAAABH4RPOE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZQGMYDOMZXHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I built the Player Controller - which first started as the Test Runner
only, but has now evolved into the Test Runner and the Sandbox - as an app
that developers and QTI authors could use to examine and exercise the
methods, properties, and capabilities of the QTI 3 Item Player component
and of QTI 3 itself.  For these two purposes, the Player Controller has
been a massive success (according to the overwhelming feedback I've
received).
But I also agree with you that there are scenarios - fringe or not - where
the Test Runner part of the Player Controller app may not be a suitable UX.
As you know, the Player and the Player Controller are completely free, open
source, and MIT-licensed.  I would encourage you to use these repo's and
adapt them to your use-case(s).
On Tue, May 28, 2024 at 7:00 AM Thomas Woodward @.***>
wrote:

i think the sandbox is a great resource, but i still think that the
usefulness of the test runner as an example of test ui is limited pretty
severely if you make assumptions about the structure of the qti items.
i don't see completion feedback or minimally formatted adaptive items as
particularly fringe use cases.
it seems like you don't really want to update it, which is fine, this is
just my opinion, and maybe your new test runner project will address my
concerns. feel free to close the issue if you don't intend to make any
changes.
—
Reply to this email directly, view it on GitHub
https://github.com/amp-up-io/qti3-item-player-controller/issues/7#issuecomment-2135291203,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG3MLO3KDRZ3IP4NKGEFS3ZESEWXAVCNFSM6AAAAABH4RPOE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZVGI4TCMRQGM
.
You are receiving this because you were mentioned.Message ID:
@.***>


vcf2db error messages

Hi Brad,
While testing the latest development version I noticed vcf2db throws the following errors:
[2017-01-23T10:58Z] GEMINI: create database with vcf2db
[2017-01-23T10:59Z] skipping 'AC' because it has Number=A
[2017-01-23T10:59Z] skipping 'AF' because it has Number=A
[2017-01-23T10:59Z] skipping 'MLEAC' because it has Number=A
[2017-01-23T10:59Z] skipping 'MLEAF' because it has Number=A
...

I've encountered this issue before (quinlan-lab/vcf2db#14) and this can easily be solved with a small sed replacement > sed -e 's/Number=A/Number=1/g'
I've found several places in the code where this could be added, but I don't know where you'd prefer it. Currently I think the best place to add this would be here, right after decomposition.
Your thoughts? If this step isn't taken, all of the above columns would be missing from the db.
Thanks
M

Fixed via #1777


[PE-D][Tester E] Find: unable to find person with no clan and description

There could be a scenario where the user would like to find a person with no clan and description (such as entry 3). However, this is currently not supported.

Labels: type.FunctionalityBug severity.Medium
original: solomonng2001/ped#9

mention in doc that it is not intended for our app to find anyone with no cat and description.

Throw an error that says both fields cannot be empty.

Ask prof regarding this error.


Test for browsers other than Chrome

It would be handy to have a matrix with browsers and versions we wish to test.
The Firefox driver fails on execute, for no apparent reason.

Probably want karma + browserify


change event sometimes never fires on Safari

Hard to reproduce this one and is likely tied to specific hardware and time (i.e. SSD access speed).
On my Macbook M1 it does reproduce from time to time in this CSB (preview), especially on fresh loads:
https://codesandbox.io/s/reverent-yalow-tk2rp?file=/src/App.js
One way to handle this is to add an interval checking the input.files and resolving if it contains any file:
https://codesandbox.io/s/determined-scott-wfp6o?file=/src/App.js
Strange thing is once this interval is set up it pretty much never reproduces (though it's really hard to disprove a false negative).
Using the setInterval hack would require having an abort handler again. Provided we don't want to do all that here, I propose passing the input into the setupLegacyCleanupAndRejection() (and rename the method to something like legacySetup) so that we can do these hacks ourselves in the host apps.

Diff: https://github.com/dwelle/browser-fs-access/commit/02e0fd2d263beeb3eb15d4e9757cf4250674b430
Works swimmingly on Excalidraw (at least on my machine™): 6b51b61 (#4011) (preview: https://discord.com/channels/@me/725324592683548683/893945201972891671 — I've only applied the fix to the insert-image tool).


Service firestore is not available

Bug report

Extension name: [e.g. firestore-stripe-payments]

Describe the bug
I got this error: Uncaught (in promise) Error: Service firestore is not available when I trigger this function
const _getProducts = useCallback(async (): Promise<any> => {
    return await getProducts(stripePayments, {
        includePrices: true,
        activeOnly: true,
    });
}, []);

If I don't use the extensions and implement a classic way like this one, I got an empty array, but no error.
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);

const _getProducts = useCallback(async (): Promise<any> => {
    const productCol = collection(db, 'products');
    const productSnapshot = await getDocs(productCol);
    return productSnapshot.docs.map(doc => doc.data());
}, []);

I notice that when I use Firebase auth to register, everything works fine. I got my entries in Firestore, and I'm logged in.
To Reproduce
Follow steps to install stripe Firebase extensions on the Firebase dashboard.
Then
const firebaseApp = initializeApp({
    apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
    appId: process.env.REACT_APP_FIREBASE_APP_ID,
    authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
    messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
    projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
    storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET
});

const stripePayments = getStripePayments(firebaseApp, {
    productsCollection: "products",
    customersCollection: "customers",
});

const _getProducts = useCallback(async (): Promise<any> => {
    return await getProducts(stripePayments, {
        includePrices: true,
        activeOnly: true,
    });
}, []);

Then fire _getProducts()
Expected behavior
Working :)
System information

OS: [e.g. macOS]
"@stripe/firestore-stripe-payments": "^0.0.6"
"firebase": "9.17.1"
"react": "18.2.0"
"react-dom": "18.2.0"

Additional context
I tried the solution of #468 but not working

I am having the same problem, but I get the error even sooner -- for me, getFirestore(app) throws Service firestore is not available.  I know my app is initialized properly, because I can getAuth(app), log in users, etc.  I first built my code about 10 days ago and it worked smoothly from the start, then a few days ago, it suddenly stopped and now always throws this error.  My code around this has not changed, but just to be sure I rolled back to the first commit where I first got it working and the problem is still there.  On the Firebase dashboard I can see the collections, the users, etc., just the same as when it previously worked.

macOS 13.2.1
"@stripe/firestore-stripe-payments": "0.0.6"
"firebase": "9.18.0"
react 18.1
react-dom 18.1

Have you tried accessing your Firestore collection outside of this package, by just importing the regular Firebase package?  When I did that I got the exact same error, which leads me to believe the problem is not with stripe-firebase-extensions, but is a problem on Google's side.  I created a brand new Firebase app, then in a web app started with create-react-app, I installed this in package.json:
"firebase": "9.18.0",
These sample lines show how the bug appears with Google's own package:
import { initializeApp } from "firebase/app";
import { getFirestore, collection } from "firebase/firestore";
const fbApp = initializeApp(firebaseConfig);
const auth = getAuth(fbApp);  // works fine, can log users in, etc.
const firestore = getFirestore(fbApp);  // EXCEPTION THROWN: Service firestore is not available
I am going back and forth with Google support now to try to get them to see the problem.

Upon further testing, I don't believe this is a Firestore issue, but is a problem with this library.  I found that the getFirestore(fbApp) call mentioned in the previous post only throws an exception if @stripe/stripe-firebase-extensions is installed, even though that code does not invoke any code in the @stripe package.  If I rebuild node_modules without the @stripe package, the regular calls to Firestore work fine.

@ksnyder hi, sorry for the delay !
I was just working and since 2 days it's not working anymore ! The only thing I changed is to re-install node_modules, so I think you write about something with the @stripe/stripe-firebase-extensions
What do you remove? The entire @stripe/stripe-firebase-extensions ?
I tried that
import {initializeApp} from 'firebase/app';
import {firebaseConfig} from 'src/config';
import {getStripePayments} from "@stripe/firestore-stripe-payments";
import "firebase/auth";
import "firebase/firestore";

export const firebaseApp = initializeApp(firebaseConfig);
export const stripePayments = getStripePayments(firebaseApp, {
    productsCollection: "products",
    customersCollection: "customers",
});

But nothing working ...

@valentso  Yes, after removing @stripe/firestore-stripe-payments, I found that the firebase 9.18.0 package started working again.  I have not yet figured out how to replace the functionality provided by @stripe/firestore-stripe-payments, the first step was just to determine the cause of the problem.
To summarize my situation:  I started with just firebase 9.18.0 and was able to authorize users and read Firestore collections without a problem.  When I first installed @stripe/firestore-stripe-payments, it seemed things were working correctly, but within a few days all calls to Firestore stopped working and instead throwing the error "Service firestore is not available".  It's possible this happened when the Firebase extension asked to be upgraded to<EMAIL_ADDRESS>(I think it had been 0.3.2).
In any case, it seems like this library is no longer maintained and not worth investing more time in, since there are longstanding major issues like  that have received no attention from Stripe.  It seems @jsteele-stripe is the only Stripe rep looking at this package.
I also contacted Stripe support and they said they could do nothing, that GitHub issues was the only forum, so I think this means this package is dead.

Yes, I am still getting the same error, even with extension version 0.0.7. It is as if using the extension SDK causes firebase package to downgrade (?) and the v9 firebase SDK API is no longer valid.
That said, a workaround I've found is to first install firebase and all other necessary packages, specified in package.json, and only then install @invertase/firestore-stripe-extension. However, this is not sustainable. I think there are some serious compatibility issues at the moment, and the extension need to upgrade to using firebase v10 API.

Doing my imports like this solved the issue for me with firebase 10.13. I am also bundling my assets with webpack:
// Import the functions you need from the SDKs you need
import { initializeApp } from "@firebase/app";
import { getAuth } from '@firebase/auth';
import { getFirestore } from "@firebase/firestore";
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: process.env.FIREBASE_API_KEY,
authDomain: process.env.FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.FIREBASE_DATABASE_URL,
projectId: process.env.FIREBASE_PROJECT_ID,
storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.FIREBASE_APP_ID,
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);
const firestore = getFirestore(app)
export { auth, firestore }

Moving "firebase/app" to "@firebase/app" resolved my issue. The same applies to "@firebase/database," "@firebase/auth," and others.


MSID: 87523 DOI: 2<IP_ADDRESS>0841

[PLACE MANUSCRIPT AND EDITOR DETAILS HERE WHEN AVAILABLE] See step 3
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[ ] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v1/get-by-doi?preprint_doi=10.1101%2F2<IP_ADDRESS>0841)

or (only one should be ticked. remove other from description.)

[ ] Confirmed with Ted at bioRxiv that MECA archive is available

Send the following email to Ted and wait for his reply.
Hi Ted,

Please can you prepare the preprint MECA for 10.1101/2<IP_ADDRESS>0841

Thanks

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/10.1101/2<IP_ADDRESS>0841)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[x] Pull request created to enhanced-preprint-data
[x] Post link to pull request below

Pull request: https://github.com/elifesciences/enhanced-preprints-data/pull/72
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews
Who can help: Editorial team

[ ] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>0841)
[ ] Manuscript and editor details at the top of this issue (Supplied by Editorial team)

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/87523)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/87523

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/87523

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/10.1101/2<IP_ADDRESS>0841/2<IP_ADDRESS>0841.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/87523)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

@QueenKraken, please can you contact Ted about this one? The preprint they've provided via their API is the wrong one (which is very worrying)!
Here's the response from their API after checking "https://api.biorxiv.org/meca_index/elife/all/2<IP_ADDRESS>0841":
{
  "status": [
    {
      "count": 1,
      "messages": "ok"
    }
  ],
  "results": [
    {
      "msid": "520841",
      "tdm_doi": "10.1101/2<IP_ADDRESS>0841",
      "ms_version": "2",
      "filedate": "2023-03-07",
      "tdm_path": "s3://transfers-elife/biorxiv_Current_Content/January_2019/Batch_45/60724578-6c17-1014-a672-9e89098a8dc1.meca",
      "transfer_type": "api"
    }
  ]
}

The content within 60724578-6c17-1014-a672-9e89098a8dc1.meca is for https://doi.org/10.1101/520841, not 10.1101/2<IP_ADDRESS>0841, which is a preprint from 2019 published in F1000.
@acollings, FYI we'll need to put this one on hold while we get this sorted and QC again (presumably the reviews can still be posted if you wish).

@QueenKraken, any update from Ted on this?

(Reviews posted!)

Emailed him this morning, will keep you posted.

Thanks - looking good.

Spoke too soon, @QueenKraken, I'm getting a 404 when trying to retrieve the object.
The API returns:
{
  "status": [
    {
      "count": 1,
      "messages": "ok"
    }
  ],
  "results": [
    {
      "msid": "520841",
      "tdm_doi": "10.1101/2<IP_ADDRESS>0841",
      "ms_version": "2",
      "filedate": "2023-03-07",
      "tdm_path": "s3://transfers-elife/biorxiv_Current_Content/March_2023/09_Mar_23_Batch_1546/e12b4833-6c42-1014-8d37-df9ed0be0e9e.meca",
      "transfer_type": "api"
    }
  ]
}

But trying to retrieve that MECA file yields
fatal error: An error occurred (404) when calling the HeadObject operation: Key "biorxiv_Current_Content/March_2023/09_Mar_23_Batch_1546/e12b4833-6c42-1014-8d37-df9ed0be0e9e.meca" does not exist

Can you please check with Ted again?

I've emailed Ted.

Ted has responded saying it should be there now @fred-atherden


Adding support for create table t (like t2)

MySQL allows the like t2 clause in create table t like t2 to be enclosed in optional parens. We already support create table t like t2 without parens; this PR adds support for optional parens.
https://dev.mysql.com/doc/refman/5.7/en/create-table.html
Found via: MySQL Grammar Crawler

This one turns out to introduce many shift/reduce conflicts. Not a high priority fix, so I'm closing this PR for now and we can revisit bigger changes to resolve the shift/reduce conflicts if we do need to support this syntax.


Optimize the BCL

The work here is to:

[x] Setup illink on the project.
[x] Run the linker through the app.
[ ] Determine what references are left behind on the app and what of those things are potential candidates to strip.

So far I've been able to run this on StandaloneApp and I've been able to trim the BCL to

The command that i've used is
illink.exe -a .\Microsoft.AspNetCore.Blazor.Browser.dll \
 -a .\Microsoft.AspNetCore.Blazor.dll -a .\StandaloneApp.dll \
-d .\dist\_framework\_bin\ -c link -out .\optimized --skip-unresolved true

mscorlib is by a large margin the biggest assembly here. Zipping the remaining files leaves them at around 590K

Above is the remaining namespaces left on the assembly.
The next step is to determine what of those things can go away and see how much we save.

@javiercn IMHO anything that would in essence be anything that would break outside the browser sandbox? things like Win32, file IO etc. these could be placed with interop with browser APIs which could save quite a bit of space ;)
loving the work on this now it's an official project of research; can't wait to see what the teams direction is on the feature roadmap @SteveSandersonMS +1

Done<PHONE_NUMBER>1dc8496c7cd5958552dec24d1b0ffd.
https://github.com/aspnet/Blazor/issues/245 Tracks further improvements


UTF-8 in Jackson.hs and Travis

Failing with
htfpp: src/Striot/Jackson.hs: hGetContents: invalid argument (invalid byte sequence)

quick fix (we've done before) would be to strip the UTF-8 out of Jackson.hs., however I might try to fix this properly. Need to check htfpp sources to see which hGetContents it is using, then ensure the encoding is set properly; either in a Pragma, or the environment (LANG,LC_ALL etc) or both (or something else)

resolved with 8aa7f78a83996b9f7b6efa1608b73f8366cce06a

resolved with 8aa7f78a83996b9f7b6efa1608b73f8366cce06a

Now need to do something similar in the Dockerfile I think. Just seeing if I can reproduce the failure locally.

Now need to do something similar in the Dockerfile I think. Just seeing if I can reproduce the failure locally.

closed (again) with 4f12319818c643176ed4d9f86fa158c2898d7c9c

closed (again) with 4f12319818c643176ed4d9f86fa158c2898d7c9c


STM32 IAR8.2 - Does not pass unit tests.

When checking encode_unittests.c fails with the following error in the console.
----Test pb_encode with int32 array----
�[31;1mFAILED:�[22;39m ..\..\..\FOTO_2load_v1.2\Src\main.c:127 WRITES(pb_encode(&s, IntegerArray_fields, &msg), "\x0A\x05\x01\x02\x03\x04\x05")
�[32;1mOK:�[22;39m WRITES(pb_encode(&s, IntegerArray_fields, &msg), "")
�[32;1mOK:�[22;39m !pb_encode(&s, IntegerArray_fields, &msg)

----Test pb_encode with float array----
�[31;1mFAILED:�[22;39m ..\..\..\FOTO_2load_v1.2\Src\main.c:144 WRITES(pb_encode(&s, FloatArray_fields, &msg), "\x0A\x04\x00\x00\xc6\x42")
�[32;1mOK:�[22;39m WRITES(pb_encode(&s, FloatArray_fields, &msg), "")
�[32;1mOK:�[22;39m !pb_encode(&s, FloatArray_fields, &msg)

----Test pb_encode with packed array in a submessage.----
�[31;1mFAILED:�[22;39m ..\..\..\FOTO_2load_v1.2\Src\main.c:160 WRITES(pb_encode(&s, IntegerContainer_fields, &msg), "\x0A\x07\x0A\x05\x01\x02\x03\x04\x05")

----Test pb_encode_delimited.----
�[31;1mFAILED:�[22;39m ..\..\..\FOTO_2load_v1.2\Src\main.c:170 WRITES(pb_encode_delimited(&s, IntegerContainer_fields, &msg), "\x09\x0A\x07\x0A\x05\x01\x02\x03\x04\x05")

----Test pb_get_encoded_size.----
�[31;1mFAILED:�[22;39m ..\..\..\FOTO_2load_v1.2\Src\main.c:179 pb_get_encoded_size(&size, IntegerContainer_fields, &msg) && size == 9

----Test string pointer encoding.----
�[32;1mOK:�[22;39m WRITES(pb_encode(&s, StringPointerContainer_fields, &msg), "\x0a\x00")
�[31;1mFAILED:�[22;39m ..\..\..\FOTO_2load_v1.2\Src\main.c:196 WRITES(pb_encode(&s, StringPointerContainer_fields, &msg), "\x0a\x01Z")

Some tests FAILED!

The rest of the tests are passed successfully.
What could be the reason?

Hmm, this seems like some trouble with the pb_size_t typedef. If you are using PB_FIELD_32BIT or PB_FIELD_16BIT compilation options, make sure that they apply to all files in your project.
Otherwise, could you set a breakpoint after the failed test cases and print out the data in buffer and the message length in s?

I don't use PB_FIELD_32BIT and PB_FIELD_16BIT.
I can write data buffer. Where to put the stop point?
                  uint8_t buffer[10];
	          pb_ostream_t s;
	          IntegerArray msg = {5, {1, 2, 3, 4, 5}};

	          COMMENT("Test pb_encode with int32 array")
	          TEST(WRITES(pb_encode(&s, IntegerArray_fields, &msg), "\x0A\x05\x01\x02\x03\x04\x05"))

	          msg.data_count = 0;
	          TEST(WRITES(pb_encode(&s, IntegerArray_fields, &msg), ""))

	          msg.data_count = 10;
	          TEST(!pb_encode(&s, IntegerArray_fields, &msg))

Variables
Point

Hmm yeah, it still looks like some compilation option is different between unittestproto.pb.c and the main c file. Can you also print out the IntegerArray_fields variable?

IntegerArray_fields

IntegerArray_fields

Sorry for the trouble of remote debugging; I'll need a few more things:
&msg
sizeof(msg.data_count)
&msg.data_count
&msg.data[0]
&msg.data[1]

You need the addresses of the variables?

addresses

Tested in simulator, not a real processor. The result is the same. :(

Thanks.
So in IntegerArray_fields, data_offset is 4, which means that address of msg.data should be 4 bytes from msg. But actually it appears to be 1.
Because unittestsproto.pb.c fills in data_offset using the offsetof macro, the only way this can happen is if the compilation options differ.
In this case, it seems that the struct packing differs. I suggest you recompile unittestproto.pb.c, making sure that you use the same compilation options for all files.
If that doesn't help, you can try debugging further by copying the IntegerArray_fields definition from .pb.c file to your main file with different name, and using that in the pb_encode() call instead. Then atleast the compilation options should always be the same if they are defined in the same file.

download
Two projects for mingw(untitled) and iar.
The code in untitled, written in mainwindow.cpp
The code in iar CanParser.c

When you build with macro PB_FIELD_32BIT. Unit tests passed. But binary messages are different from harvested under minGW.

When you build with macro PB_FIELD_32BIT. Unit tests passed. But binary messages are different from harvested under minGW.

Unfortunately I don't think I'll have enough time to try to run that any time soon.

Gathered project under the GNU ARM Embedded Toolchain. The error is not disappeared. The data does not differ from the model in IAR. There is an assumption that the error of the processor HAL or libraries.

The problem was found. The second programmer, who wrote the analysis of our Protocol, used #pragma pack(push,1) and forgot to close it. For this reason, the following code worked correctly.

Nice to hear that you found the problem :)

Thanks for the help


 Why do we do stuff with a SortedCollisionEvent struct BUT NEVER CALL .sort(). Wild. Ill profile it later. The name on the named for-loop is now extraneous since this function now has 1 for loop. Everything else is now if-statements. Let's talk about what to do next here. Calling .get() is definitely the right move over iteration.
We must take audio out of this function. It is having enough trouble "tagging" collisions and doing dynamic dispatch. There should be an audio effects module that consumes these SortedCollisionEvents
I think this PR removes 15 for-loops.
I have every reason to believe this is faster because:
calling query.get(entity_id) ultimately boils down to an index-based lookup in a Vec<EntityMeta>  whereas doing query.iter().filter(|x| x == other_entity) loops through a "sparse array" and checks if "an index is in the dense array", which is almost one of the few things sparse arrays are good for in the first place.

f7db2aa shows the main change.


Configuration converter

Want to add main_NERSC_ILDG_Converter

why are we adding a new executable when we already have a configuration converter here: https://github.com/LatticeQCD/SIMULATeQCD/blob/main/src/applications/main_configConverter.cpp
it also already does nersc to ILDG


Obsidian Portal API

Get the JSON from the Obsidian Portal API working with the app.

Obsidian Portal API is not workable for the timeframe we're working in.


Metering.sample queues grows in a larger environment.

In a larger cloud topology ceilometer rabbitmq queue at times grows quite a bit. This causes our monitoring alerts to go off. Given we only enable ceilometer on a dedicated controllers we are increasing ceilometer collecter workers to 4 from 1.

Will backport this to RELEASE-3.1.x one this is merged.

@paulczar @scoop206 please review.


Missing 'request' argument for python3.5

The virtualenv fixture isn't working for me with python3.5 and pytest 3.0.2
fixturefunc = <function virtualenv at 0x105c15a60>
request = <SubRequest 'virtualenv' for <Function 'test_go'>>, kwargs = {}

    def call_fixture_func(fixturefunc, request, kwargs):
        yieldctx = is_generator(fixturefunc)
        if yieldctx:
>           it = fixturefunc(**kwargs)
E           TypeError: wrapper() missing 1 required positional argument: 'request'

../.virtualenvs/dot/lib/python3.5/site-packages/_pytest/fixtures.py:689: TypeError

thanks for opening this, I'll try and reproduce this sometime over the next week and then issue a fix

@dusktreader  with the latest release a lot of changes went into the codebase, and the tests run in 2.7, 3.4 and 3.5. You should try it out and let us know if its still not working for you.

@bmoscon I'll try to test this out soon, but I'm not actively working on that code right now, so it might be a while.

as far as I've determined (via local testing) this is now fixed. Please let me know if this is not the case and re-open the issue.


Remove finn config #133

finn now uses the release unleash-server module and injects it quirks. We can thus clean up unleash-server a bit. I might still miss something.

Coverage remained the same at 93.072% when pulling cd845040694f545b344b4a3f63277fced5e90991 on remove_finn_stuff into 350dbdcd31dcdf2d55841d0b5d567012265addc1 on master.

Coverage remained the same at 93.072% when pulling cd845040694f545b344b4a3f63277fced5e90991 on remove_finn_stuff into 350dbdcd31dcdf2d55841d0b5d567012265addc1 on master.

Coverage remained the same at 93.072% when pulling 90b690c6ec9ea02acdf0c1bd4e9b1be0a74581a8 on remove_finn_stuff into 350dbdcd31dcdf2d55841d0b5d567012265addc1 on master.


How to use TagUI to automation IE Internet Explorer?

from user query

Hello Sir, I'm a test engineer in an Indian based company Happiest minds. I have a need to use Tag UI for automation and I can't seem to find any adapter for using internet explorer for Tag UI. I would appreciate your input very much.I hope to hear from you soon. Thank you

TagUI controls Chromes directly through DevTools protocol via WebSocket, but there is no connection to Internet Explorer. You can explore using visual automation to use computer vision to control Internet Explorer but I don't think you can do very powerful automations with that. You probably can do more using other frameworks like Selenium or commercial RPA software.


fix(plugin: graphql-requests): Add missing import

This issue was causing compilation issues when using the generated ts file.

Thanks @ike18t , there was a missing changeset in your PR, and it needed fixes (because you removed the import for Headers). Fixed and merge manually in this commit: https://github.com/dotansimha/graphql-code-generator/commit/d10803aea8168f3d013d2b6ae6853a5d890d874a (since there was no permissions for me to push to yours).
Thanks!

Thanks @ike18t , there was a missing changeset in your PR, and it needed fixes (because you removed the import for Headers). Fixed and merge manually in this commit: https://github.com/dotansimha/graphql-code-generator/commit/d10803aea8168f3d013d2b6ae6853a5d890d874a (since there was no permissions for me to push to yours).
Thanks!

@dotansimha Thanks!
That import was left off intentionally due to this previous commit to that file which replaced the usage of Headers with HeadersInit:
https://github.com/dotansimha/graphql-code-generator/commit/4b1ca6246a21b5578959d0bfa6c0b3aaacf71396#diff-39e6bfc99fa7a24980e9c025f9f2d4bfbb5803c6ed492f898b89105b4f9aff0a
I searched the remainder of the file and spec for the existence of the Headers(no Init) type but it wasn't being used and was cleaning it up...leaving it doesn't hurt anything though.
Again thanks!

@dotansimha Thanks!
That import was left off intentionally due to this previous commit to that file which replaced the usage of Headers with HeadersInit:
https://github.com/dotansimha/graphql-code-generator/commit/4b1ca6246a21b5578959d0bfa6c0b3aaacf71396#diff-39e6bfc99fa7a24980e9c025f9f2d4bfbb5803c6ed492f898b89105b4f9aff0a
I searched the remainder of the file and spec for the existence of the Headers(no Init) type but it wasn't being used and was cleaning it up...leaving it doesn't hurt anything though.
Again thanks!

@ike18t You are right, thank you, will push an additional fix :)

@ike18t You are right, thank you, will push an additional fix :)


⚠ Cioos Pacific CKAN Sitemap has degraded performance

In c267bf4, Cioos Pacific CKAN Sitemap (https://catalogue.cioospacific.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 8084 ms

Resolved: Cioos Pacific CKAN Sitemap performance has improved in 7206060 after 5 minutes.


[Enhancement] Why the need for your own javascript initalize file?

A bit of an unfortunate for MaterializeCSS, is that it requires a init javascript file for the toggles and other javascript related features to operate. I love Materialize, but the problem is that it requires the extra work that I'm not entirely familiar with. Where as Bootstrap, allows all these toggles and things to immediately work by implementing the scripts in the HTML file. Just a suggestion and piece of my mind, but other than that regard.. everything else is great.

You can initialize all the functions from within a script tag in a html file aswell


Use ((internal_ip)) for dns.address in powerdns.yml

https://github.com/cloudfoundry/bosh-deployment/blob/master/powerdns.yml#L17
Deployed VMs (in my case, CloudFoundry from an existing and functional manifest) will have their primary resolver set to <IP_ADDRESS>. To get a properly functioning system, i needed to change this to the ((internal_ip)) provided during deployment.
I might suggest considering an option to provide dns_domain_name as a variable interpolation as well.

i needed to change this to the ((internal_ip)) provided during deployment.

merged.

I might suggest considering an option to provide dns_domain_name as a variable interpolation as well.

will be covered in upcoming local dns work.


Removing or closing inline comments

Is there a way to mark comments as resolved/closed, or remove them completely?
For quick todos, it would be good to filter them out of the list of comments once they've been handled. Also, when a file with comments gets deleted, the comments remain in the list without a valid target.
On a related note, I've had one instance where a chain of comments disappeared from the list. The LiveShare sidebar Session Details panel still showed Comments (n) with n including those comments. The comment window could be opened and read in the file, but did not reappear in the list. I haven't been able to reproduce this.
Windows 10
Live Share 1.0.488
VSCode 1.36.0

Hey! Thanks for reaching out. Out of curiosity: have you been mostly using the comments feature for tracking todos during long-running Live Share sessions? This is a fairly new feature, so we’re always keen to hear how folks are using it.
Regarding your issue: the code comments don’t currently support being  “resolved”, but you can delete them. If you hover over a comment in the editor, you should see a delete icon in the upper-right of the comment UI. Let us know if you aren’t seeing that or if it’s not working. Also, let us know if being able to delete comments would be sufficient for your usecase or if you’d also need the ability to resolve a comment without deleting it.
We should definitely be clearing comments for files that are deleted, so that’s a good bug. Thanks for reporting that, and we’ll look into getting that fix in an upcoming release.

thanks for the quick response!
We've been using comments for todos and quick reviews in long-running sessions. For most cases, deleting would work fine. It might be nice to keep history with a resolved comment if some major decision is made during discussions, but we haven't actually run into that yet, and it may be better to copy such discussions to some other location (pull request or other documentation).
I do not see a delete button, only the collapse button for the thread. I'm attaching a quick test image - my cursor is hovering (clicked, actually) on the first comment in the second thread. I tried toggling the minimap but that had no effect.

I also managed to recreate the disappearing comments from the list, shown at bottom, although I'm still not sure what the trigger is. Some comments actually are gone from the file, as you can see in the screenshot. There's another interesting thing going on, where two threads somehow merged onto the same line and are toggled by the same gray box by the line number. Anyhow, there's a mismatch between the file (3 comments), the session details (8 comments), and the comments list (two comments). This is the only file with comments. I also tried deleting the file and creating a new file with the same name, which resulted in comments from the old file reappearing in the new, empty file.

The issue with missing comments in COMMENTS list is a VSCode bug, https://github.com/microsoft/vscode/issues/74589
The issue with missing delete button on the comments is another VSCode bug
https://github.com/microsoft/vscode/issues/75647
The behavior of the collapsing/expanding comment threads when several of them exist on the same line is a good feedback for VSCode too. Live Share acts as a comment provider, and VSCode manages UI and interaction with the user.
I submitted it as https://github.com/microsoft/vscode/issues/77155
As for the recommendation for "resolving" the comments, we may provide additional buttons on comments (when https://github.com/microsoft/vscode/issues/75647 is fixed), and have "like", "+1", "resolve", "won't fix", and other custom buttons on each comment or comment thread. It would be of limited use though, there is no filtering capability for the comments in editors or on the COMMENTS list. Sure, if there is enough votes for that feature, VSCode guys may be able to add this filtering.

Closing this issue out.


Feature/core/78

Pull Request Test Coverage Report for Build 240

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 99.885%

Totals

Change from base Build 238:
-0.1%

Covered Lines:
637

Relevant Lines:
637

💛  - Coveralls


Testing multilingual branch (EN-DA)

Hello Casimiro,
I've been testing the most recently updated multilingual branch and ran into many issues due running the code on a Windows 10 machine. However, I eventually managed to install all the dependencies and tested the translation script on the dev-v1.1 dataset by running:
python src/retrieve/translate_squad.py --squad_file C:\Users\jacob\TranslateAlignRetrieve\src\tar\corpora\squad-en\dev-v1.1.json  --output_dir C:\Users\jacob\squad-da --lang_target da --overwrite_cached_data --answers_from_alignment
Although I had to alter translate_squad.py slightly as my machine is not capable of utilizing NVIDIA/CUDA GPU processing, it seems to run as intended:

For the dev-v1.1 the script requires ~4500 iterations of which I got to 1 % in about 6 minutes. Assuming the same CPU computation speed throughout, that means roughly 10 hours of running time for translation of dev-v1.1 dataset. For the train-v1.1 ~32000 iterations were required amounting to just under 3 days of computation time for my CPU.
I'm curious of your machines running speed on translate_squad.py for any of the SQuAD datasets when utilizing your GPU.
As I lack access to a GPU machine, I will test running translate_squad.py through a Google Colab GPU-enabled notebook and report back.
All the best,
Jacob

Hi again.
From testing translate_squad.py in a Google Colab GPU-enabled notebook, I find dev-v1.1 is translated from en-da in roughly 4 hours.
Unfortunately I'm unable to run the /compute_alignment.sh script with the subprocess.run Python command in translate_squad.py through Google Colab. I'm unable to run it because shell commands are invoked with !cmd in a Google Colab cell environment and therefore struggling to find a work around, as the shell command running /compute_alignment.sh is run inside translate_squad.py.
Sorry if this is confusing to you. I was wondering if you would consider making translate_squad.py more flexible for non-Linux users. Specifically, if there is a way to avoid running /compute_alignment.sh but instead running align.py from within translate_squad.py - that may prove very valuable to some users.
All the best,
Jacob

Hi Jacob,

About performance:
Unfortunately, the translation in CPU is unfeasible for a dataset as large as the SQuAD training set.
However, using a GeForce RTX 2080 with 12G RAM memory took almost 3 hours.

About the non-Linux extensibility
I need a python-based implementation of an alignment model to make the code Linux independent.
I am currently using the eflomal alignment model since it proved to be one of the fastest and accurate.  So, the alternative implementation should perform at least as good as eflomal, since the alignment component is crucial for the TAR method. I will check out if there are some valid python solutions.

In the meanwhile, to provide you with the datasets asap, I am going to generate the SQuAD-da train and dev sets and push them to the repo.
Regards,
Casimiro

You're a life saver Casimiro - I'm not sure how to properly thank you..
I've been stuck for a while getting the eflomal module to work in my Google Colab notebook environment. I seem to be unable to load the module attributes correctly:
Google Colab:

I was however able to install the eflomal module in a virtual env on my Windows 10 machine using the Ubuntu Terminal. And below all the module attributes loads just fine:
Windows 10

Hi Jacob,
No worries, I am happy my project turns out to be valuable for your work.
Here the translated datasets: squads-tar/da
Try to train a QA model and let me know how it goes!
Regards,
Casimiro


⚠ 한경주요지수-코스피200 has degraded performance

In f93bd65, 한경주요지수-코스피200 (https://markets.hankyung.com/indices/kospi200) experienced degraded performance:

HTTP code: 200
Response time: 9417 ms

Resolved: 업종등락 performance has improved in 5dad33e.


fix: make video in blog post responsive to page width

Thanks!

recheckcla

@miedziak can you rebase to develop? I had to push a fix to copy in a commit that made this out of date. I should have checked open PRs before I pushed it. Sorry for the hassle


Add support for record-jar files

This pull-request adds support for the record-jar format, the best-known example of which (and the only one with sufficient distribution) is the IANA language subtag registry.
More background on this format can be found at a 7-year old repository of mine, which actually does a pretty good job of explaining it.
Distribution

528 code results (harvested here, with most dupes removed)
360 repositories
274 users

Syntax highlighting samples

language-subtag-regsitry
nametable

Origin of sample
Freely distributed by IANA and released to the public domain.
Rationale for colour choice
I picked #0673ba from IANA's logo, because record-jars (like most Unix text-file formats) don't have any "branding" so to speak.

Origin of sample
Freely distributed by IANA and released to the public domain.

Whooopsie, looks like we're missing a commit as there isn't a sample on this PR at the mo 😉

@lildude Whoops. Fixed.

Woah! It's hooog!! But I see it's pretty much the same file in every repo.

Woah! It's hooog!! But I see it's pretty much the same file in every repo.

Holy hell, why didn't you tell me I was committing a 48,149-line sample??? :| That was supposedto be a cropped version of the database in the order of bytes, not minutes (spent waiting on your browser if you open the sample on GitHub). 😁
I'll make a note to remedy my brainfart later, because a 694.19 KB sample is simply unacceptable. Hell, 69.4 KB would've been unacceptable.


[MINOR] RocksDBConfigSetter docs: warn users to (re)set Filter

Currently when opening a new instance of RocksDB, we first set the default options before reading in any user supplied ones through RocksDBConfigSetter. One such option is the TableFormatConfig, for which we create a new BlockBasedTableConfig object, set its specific options, and then pass to the options#setTableFormatConfig.
A new TableFormatConfig has its filter parameter initialized to null, which we set to a new BloomFilter() by default and which most users probably want to keep even if they override the other defaults. The problem is if they do override other defaults involving tableConfig, they must do so by making a new BlockBasedTableConfig and then calling options#setTableFormatConfig with it.
If they only change e.g. the block cache size through this parameter, they override the default tableConfig with their custom one which has its filter set to null. So we should warn users whose RocksDBConfigSetter involves setting a new BlockBasedTableConfig that they should probably also set the filter on this object as well.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Unfortunately we can't just read out the Filter and check for null after setting all the user's configs, because RocksDB forgot to include a getter for that parameter. I submitted a PR to add this in later versions and it was just merged, but that doesn't really help us right now
@bbejeck @mjsax @cadonna @guozhangwang @vvcephei

Unfortunately we can't just read out the Filter and check for null after setting all the user's configs, because RocksDB forgot to include a getter for that parameter.

Could we wrapt he object we pass to the user to intercept their calls and monitor what they are doing?

The problem is we only pass the 'options' object to the user; they will then create a new BlockBasedTableConfig and set (or not) its parameters such as filter, block cache size, etc. Then they pass their new tableConfig to options, but if we can't read out the filter, it doesn't help us to intercept the tableConfig option itself.
Alternatively we could tell users to read out and modify the existing tableConfig option through option#tableFormatConfig(), rather than create a new one. WDYT @mjsax

I see. That's a tricky one... Users often don't read docs... But it seems hard to build a bullet proof solution for this case, base on your explanation.
I guess we can't to much more a proposed in this PR. \cc @guozhangwang @bbejeck
LGTM.

Merged #6578 into trunk


feat: Restricting visibility of contact attributes to approved accounts

Making sure that contact information attributes for PD endpoints are restricted and only user with approved account can see them.
Testing instructions
You can trust tests or rswag ui :)
Tracking
https://vizzuality.atlassian.net/browse/LET-318

Are there any API specs for logged-in user? I see all snapshots changing those attributes to null so those are for public users.

You should be able to see filled values for example at https://github.com/Vizzuality/heco-invest/blob/feature/restrict-visibility-contacts/backend/spec/fixtures/snapshots/api/v1/accounts-project-developer.json#L27 where response is returned for user with approved account.

@martintomas but this is a different controller, the private/account one. I'm talking about some one extra spec for public controller to for logged-in user. To make sure contact info is returned.

@martintomas but this is a different controller, the private/account one. I'm talking about some one extra spec for public controller for logged-in user. To make sure contact info is returned.

Aha, okay, I guess there is no one. I though that private/account one is enough, because serializer is still same, but I can add new test to public endpoint too, np


Emacs Lisp not recongized in -g mode

(Original issue 1155 created by theoden8 on 2015-10-05T23:21:09.587424+00:00)
Hello,
I'd like to report that emacs lisp is wrongly recognized by pygmentize -g. pygmentize -l elisp works correct. The file is ~/.emacs (it's content is no kind of secret and is shown on the picture).

I am sure that Pygments will remain my favorite syntax-highlighting utility. Hope this was helpful. Thanks in advance!
Best regards.

(Original comment by tshatch on 2015-10-07T12:28:22.454086+00:00)
Can you provide a paste with that text, and I'll look into it?


Maintain Field of View

I added "Maintain FOV" as an option to the settings. I was tired of having to maintain it myself every time I opened the game or rezoned. Let me know if this isn't the legitimate way to do this.
closes #168

We tried to implement this in the past, with a similar implementation (if (GetFov() != fov) SetFov(fov) ) and it caused subtle bugs and crashes on map change.
It is possible that since then the CameraMgr and overall GWCA robustness improved, but I would still like to make sure this change is stable. Have you (extensively) tested it?

I had it crash once while I was developing it. However it hasn't crashed since I had this working code. When it crashed I was doing something a little different by changing values in GWCA,

Well I've been zoning for awhile with no crashes, but I suppose we need it tested on other machines than mine.

Closing and resubmitting on different branch


Cannot update wordpress or install/delete plugins

I am on OSX and this seems to be a permission related issue. Neither can I upgrade wordpress nor install/delete any plugin.
I think apache tries to access wp-content on the host system. Since apache is running as  www-data:www-data and such user/group does not exist on OSX, writing to wp-content fails.
I modified envvars in /etc/apache2 and changed the user to a user known to OSX. I even did a chmod -R 777 😄 however it did not solve the problem?
Does anyone have a solution for this?

Same issue here

@braisgil ssh into the wordpress container:
docker exec -it "container_name" sh
and set permissions:
sudo chown -R www-data:www-data /var/www/html

I believe this is a container specific issue since I'm still using wordpress:4.7.5-apache.  For some reason that container doesn't have the same permission issue.  Though, two commands to fix the permissions isn't too much of a hassle; I just run the updater as I'm setting up the rest of wordpress.

You can also add whole wp-content as volume in docker-compose.yml
`...

./wp-content/:/var/www/html/wp-content/
...`

Confirmed that the @artjomzab solution worked for me except that sudo was not required as I ended up logged in as root.


Bump gds api adapters

This changes the user agent to include the app
name in API requests.
https://trello.com/c/qkHdtob4/247-bump-gds-api-adapters-everywhere-it-s-used-to-include-user-agent-information

LGTM :+1:

@tadast Is this repo self-merge like whitehall?  Haven't contributed to it before.

I don't know, that's why I haven't merged. I'm happy to do so. However, it is not a very active repo, so I think it's best if you merge and deploy it yourself :)


CDK-982: Modified DatasetDescriptor updates to be atomic using FS renami...

...ng.

Thanks @ben-roling for the feedback.  Also looking through the SchemaManager class seems like it would be good to make a similar change there to make sure partially written files don't affect running code.

This looks like a good addition to me, but I'm not sure what guarantees we need to make for Schemas. Currently, the last schema in the schemas folder is considered current, and we keep a copy of it in .metadata/schema.avsc. Should a reference to the current schema be part of the descriptor so that a schema update is atomic as well?
Otherwise, I think we might be open to cases where a new schema is in the repository that isn't compatible with the partition strategy in the file. Maybe this isn't something we should worry about though.

This looks like a good addition to me, but I'm not sure what guarantees we need to make for Schemas. Currently, the last schema in the schemas folder is considered current, and we keep a copy of it in .metadata/schema.avsc

So the code actually does the write twice, first in the .metadata/schema.avsc and then again in the schemas/ folder.  So this actually raises the problem where the .metadata/schema.avsc could be updated but the historical schema is not written so you lose that for schema compatibility checking.
While retconning the compatibility with hadoop-1 how far back in Kite versions are you compatible?  The change I was thinking was excluding/dropping the .metadata/schema.avsc completely.  Then when writing always write out the file to be .metadata/schemas/.temp#.avsc and then rename once completed.  Then the load only looks for the newest schema.  If an update to the schema succeeds but descriptor fails since you know it is compatible it shouldn't affect anything.  It would just be a schema for data that could exist.

The change I was thinking was excluding/dropping the .metadata/schema.avsc completely

I think we need to keep this for compatibility, but it wouldn't carry atomicity guarantees. In other words, lets ignore it in terms of this discussion. I think we can just be concerned about the schemas directory and the previous metadata conventions just continue to be not atomic.

Also note that using FileContext would break S3A filesystem support (until HADOOP-11262)


The code listed has typos

the %s 's need to be removed

or fixed my bad

local owner = "Upbolt"
local branch = "revision"
local function webImport(file)
return loadstring(game:HttpGetAsync(("https://github.com/Upbolt/Hydroxide/blob/revision/init.lua"):format(owner, branch, file)), file .. '.lua')()
end
webImport("init")
webImport("ui/main")

that should be the fixed code.

the current webimport function also doesnt work.

what are you talking about? do you mean the %s 's in https://raw.githubusercontent.com/%s/Hydroxide/%s/%s.lua?
those are intentional, its how string.format works

idk but generally speaking his tool sucks ass.

well the current code seemed to have typos since it wont execute at all.


icon uses correct event handling for blrClick - fixes password

text-Input password functionality was broken

great thing, the only thing i noticed is that when the focus is active, you have to click twice on the icon for anything to happen

true, but i wouldt not fix it here. my aim was not to fix text-input but rather finish the icon refactoring :)


Add prefixIds plugin

This PR adds the prefixIds plugin which prefixes all identifiers (IDs, class names) and
also updates the url(...) references.
Additionally support for extra information is added that can be optionally used by the plugins,
currently containing the path to the input SVG file or that mode is text (when text input is used).
Related issues: https://github.com/svg/svgo/issues/494 https://github.com/svg/svgo/issues/595 https://github.com/svg/svgo/issues/623 https://github.com/svg/svgo/issues/673 https://github.com/svg/svgo/issues/674
Similar approach would be inlining all styles (see the inlineStyles plugin) -
though this is not possible with elements that are <used/> (see https://github.com/svg/svgo/issues/651).
This prefixing approach could be viewed as a "polyfill" (partially) for scoped styles.

Currently all attribute values are checked for url(...) / ID references.
Maybe this can be made more efficient by only checking attributes that can actually reference to other elements, as defined in https://github.com/svg/svgo/blob/master/plugins/_collections.js#L2286.

@GreLI: Code style adjusted, this can be merged now.

@GreLI: Merge?

Sorry for the delay. I'll take a look eventually.

@GreLI Any chance this could be reviewed? Would love to be able to use this feature!

@GreLI merge and release would be so great! We're struggling heavily with the deployment of a huge svg library and that's exactly what we need!
Resolving conflicting id's manually is really a pain..

@funklos: You can install it already from this PR branch:
$ npm install github:strarsis/svgo#prefixIds

@strarsis sure, thanks for the suggestion.. we'll do this to perform some tests.
But I really can't reconfigure multiple CI systems and change multiple package.json to enable this for all our projects and revert all the changes once this branch is merged. Especially since I'm the one enforcing the usage of only stable packages.. ;)

guys, why doesnt the plugin enabled when i pass
plugins: [
    {convertPathData: false},
    {prefixIds: true}
  ]

try {prefixIds: {active: true}}

looks like the plugin should be added to svgo\.svgo.yml

can you add
if(extra && typeof opts.prefix === 'function'){
        prefix = opts.prefix(node, extra)
    }
else if (extra && extra.prefix && extra.path.length > 0) {......

so we can create our own prefix?

Yes, the plugin isn't enabled by default. Does it make sense to have it always enabled?

Travis build issue, re-opening PR...

im not sure what's the purpose of " .svgo.yml" but following the code, it only adds plugins that are in there.
didn't fully understand the question.
the usecase is that we have some svgs with same classes that override each other, so i want a special prefix for each file.

ok looks like its not useful in my use case unless we add some indication that we are in the same file...

@vzaidman: So you got a set of files and you want to use the same prefix for that set of files?
The callback function could accept the filename/path as argument so it can decide what prefix to use?

sorry i confused the svg sprites plugin with svgo. its confusing to work on a library inside a library inside a library.
i just need the same prefix for all, so the fix with the function can be reverted. my mistake.

you can also, for this kind of svg processing (not necessarily minification), do:
const {JSDOM} = require('jsdom')
const svg = new JSDOM(svgStr).window.document.querySelector('svg');
svg.querySelectorAll('[id]').forEach(el => {
  const id = el.id, re = new RegExp(`#(${id})\b`);
  svg.querySelectorAll(`[fill="url(#${id})"], [xlink:href="#${id}"]`).forEach(el => {
    if (el.hasAttribute('fill')) el.setAttribute('fill', el.getAttribute('fill').replace(re, `#${prefix}${id}`));
    if (el.hasAttribute('xlink:href')) el.setAttribute('xlink:href', el.getAttribute('xlink:href').replace(re, `#${prefix}${id}`))
  });
  svg.querySelectorAll('style').forEach(s => { s.textContent=s.textContent.replace(re, `#${prefix}${id}`) })
})

The API additions from the inlineStyles plugin PR also allow to use querySelectorAll(...) and getting/setting style element content.

FWIW, I just noticed that Illustrator CC offers 'Unique' for 'Object IDs' in SVG export options.

Jeah we also found this option but we also noticed that illustrator export is not suitable in every case.
In cooperation with our graphics department we decided to use sketch for SVG exports, since sketch is gaining more and more traction for reponsive screen design this was the logical consequence.
So the combination of sketch with svgo for batch optimization on deployment is our way in the future..

Ready to merge!

👍 Yes!

Awaiting for the version bump!

Very good!

I want to cancel the class prefix in the svg file, What should I do?

@TongDaDa: You can disable plugins you don't want to use.


Use case 3

Dataset and pre-trained models for multi-task learning on HR data

Need to look for alternative HR data sources, maybe https://satellogic.com/2024/05/01/satellogic-open-source-release-a-large-dataset-of-high-resolution-imagery-for-ai-model-training/